@tamagui/sheet 1.110.5 → 1.111.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 (91) hide show
  1. package/dist/cjs/SheetContext.native.js +1 -43
  2. package/dist/cjs/SheetContext.native.js.map +2 -2
  3. package/dist/cjs/SheetController.native.js +2 -23
  4. package/dist/cjs/SheetController.native.js.map +2 -2
  5. package/dist/cjs/SheetImplementationCustom.native.js +89 -158
  6. package/dist/cjs/SheetImplementationCustom.native.js.map +2 -2
  7. package/dist/cjs/SheetScrollView.native.js +7 -63
  8. package/dist/cjs/SheetScrollView.native.js.map +1 -1
  9. package/dist/cjs/createSheet.native.js +27 -82
  10. package/dist/cjs/createSheet.native.js.map +2 -2
  11. package/dist/cjs/nativeSheet.native.js +5 -39
  12. package/dist/cjs/nativeSheet.native.js.map +1 -1
  13. package/dist/cjs/useSheetOffscreenSize.native.js +1 -1
  14. package/dist/cjs/useSheetOffscreenSize.native.js.map +1 -1
  15. package/dist/cjs/useSheetOpenState.native.js +4 -46
  16. package/dist/cjs/useSheetOpenState.native.js.map +2 -2
  17. package/dist/cjs/useSheetProviderProps.native.js +7 -59
  18. package/dist/cjs/useSheetProviderProps.native.js.map +2 -2
  19. package/dist/esm/Sheet.native.mjs +92 -0
  20. package/dist/esm/Sheet.native.mjs.map +1 -0
  21. package/dist/esm/SheetContext.native.js +1 -42
  22. package/dist/esm/SheetContext.native.js.map +1 -1
  23. package/dist/esm/SheetContext.native.mjs +6 -0
  24. package/dist/esm/SheetContext.native.mjs.map +1 -0
  25. package/dist/esm/SheetController.native.js +2 -22
  26. package/dist/esm/SheetController.native.js.map +2 -2
  27. package/dist/esm/SheetController.native.mjs +26 -0
  28. package/dist/esm/SheetController.native.mjs.map +1 -0
  29. package/dist/esm/SheetImplementationCustom.native.js +88 -156
  30. package/dist/esm/SheetImplementationCustom.native.js.map +2 -2
  31. package/dist/esm/SheetImplementationCustom.native.mjs +347 -0
  32. package/dist/esm/SheetImplementationCustom.native.mjs.map +1 -0
  33. package/dist/esm/SheetScrollView.native.js +8 -63
  34. package/dist/esm/SheetScrollView.native.js.map +1 -1
  35. package/dist/esm/SheetScrollView.native.mjs +107 -0
  36. package/dist/esm/SheetScrollView.native.mjs.map +1 -0
  37. package/dist/esm/constants.native.mjs +9 -0
  38. package/dist/esm/constants.native.mjs.map +1 -0
  39. package/dist/esm/contexts.native.mjs +7 -0
  40. package/dist/esm/contexts.native.mjs.map +1 -0
  41. package/dist/esm/createSheet.native.js +27 -82
  42. package/dist/esm/createSheet.native.js.map +2 -2
  43. package/dist/esm/createSheet.native.mjs +161 -0
  44. package/dist/esm/createSheet.native.mjs.map +1 -0
  45. package/dist/esm/helpers.native.mjs +13 -0
  46. package/dist/esm/helpers.native.mjs.map +1 -0
  47. package/dist/esm/index.native.mjs +12 -0
  48. package/dist/esm/index.native.mjs.map +1 -0
  49. package/dist/esm/nativeSheet.native.js +4 -37
  50. package/dist/esm/nativeSheet.native.js.map +1 -1
  51. package/dist/esm/nativeSheet.native.mjs +56 -0
  52. package/dist/esm/nativeSheet.native.mjs.map +1 -0
  53. package/dist/esm/types.native.mjs +2 -0
  54. package/dist/esm/types.native.mjs.map +1 -0
  55. package/dist/esm/useSheet.native.mjs +6 -0
  56. package/dist/esm/useSheet.native.mjs.map +1 -0
  57. package/dist/esm/useSheetController.native.js +2 -2
  58. package/dist/esm/useSheetController.native.js.map +1 -1
  59. package/dist/esm/useSheetController.native.mjs +15 -0
  60. package/dist/esm/useSheetController.native.mjs.map +1 -0
  61. package/dist/esm/useSheetOffscreenSize.native.js +1 -1
  62. package/dist/esm/useSheetOffscreenSize.native.js.map +1 -1
  63. package/dist/esm/useSheetOffscreenSize.native.mjs +35 -0
  64. package/dist/esm/useSheetOffscreenSize.native.mjs.map +1 -0
  65. package/dist/esm/useSheetOpenState.native.js +4 -45
  66. package/dist/esm/useSheetOpenState.native.js.map +2 -2
  67. package/dist/esm/useSheetOpenState.native.mjs +29 -0
  68. package/dist/esm/useSheetOpenState.native.mjs.map +1 -0
  69. package/dist/esm/useSheetProviderProps.native.js +7 -59
  70. package/dist/esm/useSheetProviderProps.native.js.map +2 -2
  71. package/dist/esm/useSheetProviderProps.native.mjs +103 -0
  72. package/dist/esm/useSheetProviderProps.native.mjs.map +1 -0
  73. package/dist/jsx/SheetContext.native.js +1 -42
  74. package/dist/jsx/SheetContext.native.js.map +1 -1
  75. package/dist/jsx/SheetController.native.js +2 -22
  76. package/dist/jsx/SheetController.native.js.map +2 -2
  77. package/dist/jsx/SheetImplementationCustom.native.js +88 -156
  78. package/dist/jsx/SheetImplementationCustom.native.js.map +2 -2
  79. package/dist/jsx/SheetScrollView.native.js +7 -62
  80. package/dist/jsx/SheetScrollView.native.js.map +1 -1
  81. package/dist/jsx/createSheet.native.js +27 -82
  82. package/dist/jsx/createSheet.native.js.map +2 -2
  83. package/dist/jsx/nativeSheet.native.js +4 -37
  84. package/dist/jsx/nativeSheet.native.js.map +1 -1
  85. package/dist/jsx/useSheetOffscreenSize.native.js +1 -1
  86. package/dist/jsx/useSheetOffscreenSize.native.js.map +1 -1
  87. package/dist/jsx/useSheetOpenState.native.js +3 -44
  88. package/dist/jsx/useSheetOpenState.native.js.map +2 -2
  89. package/dist/jsx/useSheetProviderProps.native.js +7 -59
  90. package/dist/jsx/useSheetProviderProps.native.js.map +2 -2
  91. package/package.json +16 -16
@@ -0,0 +1,107 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import { composeRefs } from "@tamagui/compose-refs";
4
+ import { ScrollView } from "@tamagui/scroll-view";
5
+ import { useSheetContext } from "./SheetContext.mjs";
6
+ var SHEET_SCROLL_VIEW_NAME = "SheetScrollView",
7
+ SheetScrollView = /* @__PURE__ */React.forwardRef(function (param, ref) {
8
+ var {
9
+ __scopeSheet,
10
+ children,
11
+ onScroll,
12
+ ...props
13
+ } = param,
14
+ context = useSheetContext(SHEET_SCROLL_VIEW_NAME, __scopeSheet),
15
+ {
16
+ scrollBridge
17
+ } = context,
18
+ scrollRef = React.useRef(null),
19
+ state = React.useRef({
20
+ lastPageY: 0,
21
+ dragAt: 0,
22
+ dys: [],
23
+ // store a few recent dys to get velocity on release
24
+ isScrolling: !1,
25
+ isDragging: !1
26
+ }),
27
+ release = function () {
28
+ if (state.current.isDragging) {
29
+ state.current.isDragging = !1, scrollBridge.scrollStartY = -1, state.current.isScrolling = !1;
30
+ var vy = 0;
31
+ if (state.current.dys.length) {
32
+ var recentDys = state.current.dys.slice(-10),
33
+ dist = recentDys.length ? recentDys.reduce(function (a, b) {
34
+ return a + b;
35
+ }, 0) : 0,
36
+ avgDy = dist / recentDys.length;
37
+ vy = avgDy * 0.04;
38
+ }
39
+ state.current.dys = [], scrollBridge.release({
40
+ dragAt: state.current.dragAt,
41
+ vy
42
+ });
43
+ }
44
+ };
45
+ return /* @__PURE__ */_jsx(ScrollView, {
46
+ ref: composeRefs(scrollRef, ref),
47
+ flex: 1,
48
+ scrollEventThrottle: 8,
49
+ // scrollEnabled={scrollEnabled}
50
+ onScroll: function (e) {
51
+ var {
52
+ y
53
+ } = e.nativeEvent.contentOffset;
54
+ scrollBridge.y = y, y > 0 && (scrollBridge.scrollStartY = -1), onScroll?.(e);
55
+ },
56
+ // This assures that we do not skip the "scrollBridge" values processing
57
+ // when passing this prop into a <Sheet.ScrollView /> overriding it here
58
+ // Useful when using this ScrollView with lists such as "FlashList", i.e.
59
+ // ```
60
+ // renderScrollComponent={Sheet.ScrollView}
61
+ // ```
62
+ onStartShouldSetResponder: function () {
63
+ return scrollBridge.scrollStartY = -1, state.current.isDragging = !0, !0;
64
+ },
65
+ // setting to false while onResponderMove is disabled
66
+ onMoveShouldSetResponder: function () {
67
+ return !1;
68
+ },
69
+ // somehow disabling works better, regression, no more nice drag continue scroll
70
+ // onResponderMove={(e) => {
71
+ // const { pageY } = e.nativeEvent
72
+ // if (state.current.isScrolling) {
73
+ // return
74
+ // }
75
+ // if (scrollBridge.scrollStartY === -1) {
76
+ // scrollBridge.scrollStartY = pageY
77
+ // state.current.lastPageY = pageY
78
+ // }
79
+ // const dragAt = pageY - scrollBridge.scrollStartY
80
+ // const dy = pageY - state.current.lastPageY
81
+ // state.current.lastPageY = pageY // after dy
82
+ // const isDraggingUp = dy < 0
83
+ // const isPaneAtTop = scrollBridge.paneY <= scrollBridge.paneMinY
84
+ // if ((dy === 0 || isDraggingUp) && isPaneAtTop) {
85
+ // state.current.isScrolling = true
86
+ // setScrollEnabled(true)
87
+ // return
88
+ // }
89
+ // setScrollEnabled(false)
90
+ // scrollBridge.drag(dragAt)
91
+ // state.current.dragAt = dragAt
92
+ // state.current.dys.push(dy)
93
+ // // only do every so often, cut down to 10 again
94
+ // if (state.current.dys.length > 100) {
95
+ // state.current.dys = state.current.dys.slice(-10)
96
+ // }
97
+ // }}
98
+ onResponderRelease: release,
99
+ className: "_ovs-contain",
100
+ ...props,
101
+ children: React.useMemo(function () {
102
+ return children;
103
+ }, [children])
104
+ });
105
+ });
106
+ export { SheetScrollView };
107
+ //# sourceMappingURL=SheetScrollView.native.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","React","composeRefs","ScrollView","useSheetContext","SHEET_SCROLL_VIEW_NAME","SheetScrollView","forwardRef","param","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"],"sources":["../../src/SheetScrollView.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAAOA,GAAA,IAAAC,IAAW;AAClB,OAAAC,KAAS;AAGT,SAASC,WAAA,QAAkB;AAI3B,SAASC,UAAA,8BAAuB;AAmE1B,SAAAC,eAAA;AA1DN,IAAAC,sBAAM,oBAAyB;EAAAC,eAElB,kBAAwBL,KAAA,CAAAM,UAAA,WAAAC,KAAA,EAAAC,GAAA;IAInC,IACI;QAAAC,YAAc;QAAAC,QAAU;QAAAC,QAAU;QAAG,GAAAC;MACvC,IAAAL,KACG;MAAAM,OAAA,GAAAV,eAAA,CAAAC,sBAAA,EAAAK,YAAA;MAAA;QAAAK;MAAA,IAAAD,OAAA;MAAAE,SAAA,GAAAf,KAAA,CAAAgB,MAAA;MAAAC,KAAA,GAAAjB,KAAA,CAAAgB,MAAA;QACHE,SAAM;QAiBqBC,MACzB;QAAWC,GACX;QAAQ;QACFC,WAAA;QAAAC,UACN;MAAa;MACbC,OAAA,YAAAA,CAAA,EAAY;QACd,IAEMN,KAAA,CAAAO,OAAU,CAAAF,UAAM;UACpBL,KAAK,CAAAO,OAAM,CAAAF,UAAQ,OAAAR,YAAA,CAAAW,YAAA,OAAAR,KAAA,CAAAO,OAAA,CAAAH,WAAA;UACjB,IAAAK,EAAA;UAEF,IAAAT,KAAM,CAAAO,OAAQ,CAAAJ,GAAA,CAAAO,MAAa;YAI3B,IAAIC,SAAK,GAAAX,KAAA,CAAAO,OAAA,CAAAJ,GAAA,CAAAS,KAAA;cAAAC,IAAA,GAAAF,SAAA,CAAAD,MAAA,GAAAC,SAAA,CAAAG,MAAA,WAAAC,CAAA,EAAAC,CAAA;gBACL,OAAMD,CAAA,GAAAC,CAAA;cACR,QAAM;cAAAC,KAAA,GAAYJ,IAAA,GAAMF,SAAQ,CAAID,MAAM;YAG1CD,EAAA,GAAAQ,KAFa,OAAU;UAGzB;UACAjB,KAAA,CAAMO,OAAA,CAAQJ,GAAA,GAAM,EAAC,EACrBN,YAAA,CAAaS,OAAA,CAAQ;YACnBJ,MAAA,EAAQF,KAAA,CAAMO,OAAA,CAAQL,MAAA;YACtBO;UACF,CAAC;QACH;MAEA;IACE,OAAC,eAAA3B,IAAA,CAAAG,UAAA;MAAAM,GAAA,EAAAP,WAAA,CAAAc,SAAA,EAAAP,GAAA;MAAA2B,IACC;MAAsCC,mBAChC;MAAA;MACezB,QAErB,WAAAA,CAAW0B,CAAA,EAAM;QACf;UAAAC;QAAA,IAAQD,CAAA,CAAEE,WAAM,CAAAC,aAAY;QAC5B1B,YAAA,CAAAwB,CAAA,GAAaA,CAAA,EAAAA,CAAI,GACb,MAAIxB,YACN,CAAAW,YAAa,QAAed,QAI9B,GAAA0B,CAAA;MAAY;MASd;MAIS;MAGuB;MAmCZ;MACV;MACN;MAEqCI,yBAAA,WAAAA,CAAA;QAC3C,OAAA3B,YAAA,CAAAW,YAAA,OAAAR,KAAA,CAAAO,OAAA,CAAAF,UAAA;MAEJ;MACF","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import { isClient } from "@tamagui/core";
2
+ var constants = {},
3
+ SHEET_NAME = "Sheet",
4
+ SHEET_HANDLE_NAME = "SheetHandle",
5
+ SHEET_OVERLAY_NAME = "SheetOverlay",
6
+ SHEET_HIDDEN_STYLESHEET = isClient ? document.createElement("style") : null;
7
+ SHEET_HIDDEN_STYLESHEET && typeof document.head < "u" && document.head.appendChild(SHEET_HIDDEN_STYLESHEET);
8
+ export { SHEET_HANDLE_NAME, SHEET_HIDDEN_STYLESHEET, SHEET_NAME, SHEET_OVERLAY_NAME, constants };
9
+ //# sourceMappingURL=constants.native.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isClient","constants","SHEET_NAME","SHEET_HANDLE_NAME","SHEET_OVERLAY_NAME","SHEET_HIDDEN_STYLESHEET","document","createElement","head","appendChild"],"sources":["../../src/constants.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,QAAgB;AAElB,IAAAC,SAAM,KAAY;EAACC,UAEb,UAAa;EAAAC,iBACb,gBAAoB;EAAAC,kBACpB,iBAAqB;EAAAC,uBAErB,GAAAL,QAA0B,GAAAM,QAAW,CAAAC,aAAS,QAAc,IAAO,IAAI;AAChFF,uBAAA,IACE,OAAOC,QAAA,CAASE,IAAA,GAAS,OAC3BF,QAAA,CAASE,IAAA,CAAKC,WAAA,CAAYJ,uBAAuB","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ var ParentSheetContext = React.createContext({
3
+ zIndex: 1e5
4
+ }),
5
+ SheetInsideSheetContext = React.createContext(null);
6
+ export { ParentSheetContext, SheetInsideSheetContext };
7
+ //# sourceMappingURL=contexts.native.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","ParentSheetContext","createContext","zIndex","SheetInsideSheetContext"],"sources":["../../src/contexts.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAA,MAAW;AAEX,IAAAC,kBAAM,GAAAD,KAAqB,CAAAE,aAAM;IACtCC,MAAA,EAAQ;EACV,CAAC;EAEYC,uBAAA,GAA0BJ,KAAA,CAAME,aAAA,CAE3C,IAAI","ignoreList":[]}
@@ -14,84 +14,31 @@ import { SheetImplementationCustom } from "./SheetImplementationCustom";
14
14
  import { SheetScrollView } from "./SheetScrollView";
15
15
  import { useSheetController } from "./useSheetController";
16
16
  import { useSheetOffscreenSize } from "./useSheetOffscreenSize";
17
- function _define_property(obj, key, value) {
18
- return key in obj ? Object.defineProperty(obj, key, {
19
- value,
20
- enumerable: !0,
21
- configurable: !0,
22
- writable: !0
23
- }) : obj[key] = value, obj;
24
- }
25
- function _object_spread(target) {
26
- for (var i = 1; i < arguments.length; i++) {
27
- var source = arguments[i] != null ? arguments[i] : {}, ownKeys2 = Object.keys(source);
28
- typeof Object.getOwnPropertySymbols == "function" && (ownKeys2 = ownKeys2.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
29
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
30
- }))), ownKeys2.forEach(function(key) {
31
- _define_property(target, key, source[key]);
32
- });
33
- }
34
- return target;
35
- }
36
- function ownKeys(object, enumerableOnly) {
37
- var keys = Object.keys(object);
38
- if (Object.getOwnPropertySymbols) {
39
- var symbols = Object.getOwnPropertySymbols(object);
40
- enumerableOnly && (symbols = symbols.filter(function(sym) {
41
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
42
- })), keys.push.apply(keys, symbols);
43
- }
44
- return keys;
45
- }
46
- function _object_spread_props(target, source) {
47
- return source = source ?? {}, Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) {
48
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
49
- }), target;
50
- }
51
- function _object_without_properties(source, excluded) {
52
- if (source == null) return {};
53
- var target = _object_without_properties_loose(source, excluded), key, i;
54
- if (Object.getOwnPropertySymbols) {
55
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
56
- for (i = 0; i < sourceSymbolKeys.length; i++)
57
- key = sourceSymbolKeys[i], !(excluded.indexOf(key) >= 0) && Object.prototype.propertyIsEnumerable.call(source, key) && (target[key] = source[key]);
58
- }
59
- return target;
60
- }
61
- function _object_without_properties_loose(source, excluded) {
62
- if (source == null) return {};
63
- var target = {}, sourceKeys = Object.keys(source), key, i;
64
- for (i = 0; i < sourceKeys.length; i++)
65
- key = sourceKeys[i], !(excluded.indexOf(key) >= 0) && (target[key] = source[key]);
66
- return target;
67
- }
68
17
  function createSheet(param) {
69
- var Handle = param.Handle, Frame = param.Frame, Overlay = param.Overlay, SheetHandle = Handle.styleable(function(_param, forwardedRef) {
70
- var __scopeSheet = _param.__scopeSheet, props = _object_without_properties(_param, [
71
- "__scopeSheet"
72
- ]), context = useSheetContext(SHEET_HANDLE_NAME, __scopeSheet), composedRef = useComposedRefs(context.handleRef, forwardedRef);
18
+ var { Handle, Frame, Overlay } = param, SheetHandle = Handle.styleable(function(param2, forwardedRef) {
19
+ var { __scopeSheet, ...props } = param2, context = useSheetContext(SHEET_HANDLE_NAME, __scopeSheet), composedRef = useComposedRefs(context.handleRef, forwardedRef);
73
20
  return context.onlyShowFrame ? null : (
74
21
  // @ts-ignore
75
- /* @__PURE__ */ _jsx(Handle, _object_spread({
22
+ /* @__PURE__ */ _jsx(Handle, {
76
23
  ref: composedRef,
77
24
  onPress: function() {
78
25
  var max = context.snapPoints.length + (context.dismissOnSnapToBottom ? -1 : 0), nextPos = (context.position + 1) % max;
79
26
  context.setPosition(nextPos);
80
27
  },
81
- open: context.open
82
- }, props))
28
+ open: context.open,
29
+ ...props
30
+ })
83
31
  );
84
32
  }), SheetOverlay = Overlay.extractable(/* @__PURE__ */ memo(function(propsIn) {
85
- var __scopeSheet = propsIn.__scopeSheet, props = _object_without_properties(propsIn, [
86
- "__scopeSheet"
87
- ]), context = useSheetContext(SHEET_OVERLAY_NAME, __scopeSheet), element = useMemo(function() {
33
+ var { __scopeSheet, ...props } = propsIn, context = useSheetContext(SHEET_OVERLAY_NAME, __scopeSheet), element = useMemo(function() {
88
34
  return (
89
35
  // @ts-ignore
90
- /* @__PURE__ */ _jsx(Overlay, _object_spread_props(_object_spread({}, props), {
36
+ /* @__PURE__ */ _jsx(Overlay, {
37
+ ...props,
91
38
  onPress: composeEventHandlers(props.onPress, context.dismissOnOverlayPress ? function() {
92
39
  context.setOpen(!1);
93
40
  } : void 0)
94
- }))
41
+ })
95
42
  );
96
43
  }, [
97
44
  props.onPress,
@@ -103,21 +50,16 @@ function createSheet(param) {
103
50
  }, [
104
51
  element
105
52
  ]), context.onlyShowFrame, null;
106
- })), SheetFrame = Frame.extractable(/* @__PURE__ */ forwardRef(function(_param, forwardedRef) {
107
- var __scopeSheet = _param.__scopeSheet, adjustPaddingForOffscreenContent = _param.adjustPaddingForOffscreenContent, disableHideBottomOverflow = _param.disableHideBottomOverflow, children = _param.children, props = _object_without_properties(_param, [
108
- "__scopeSheet",
109
- "adjustPaddingForOffscreenContent",
110
- "disableHideBottomOverflow",
111
- "children"
112
- ]), context = useSheetContext(SHEET_NAME, __scopeSheet), hasFit = context.hasFit, removeScrollEnabled = context.removeScrollEnabled, frameSize = context.frameSize, contentRef = context.contentRef, open = context.open, composedContentRef = useComposedRefs(forwardedRef, contentRef), offscreenSize = useSheetOffscreenSize(context), sheetContents = useMemo(function() {
53
+ })), SheetFrame = Frame.extractable(/* @__PURE__ */ forwardRef(function(param2, forwardedRef) {
54
+ var { __scopeSheet, adjustPaddingForOffscreenContent, disableHideBottomOverflow, children, ...props } = param2, context = useSheetContext(SHEET_NAME, __scopeSheet), { hasFit, removeScrollEnabled, frameSize, contentRef, open } = context, composedContentRef = useComposedRefs(forwardedRef, contentRef), offscreenSize = useSheetOffscreenSize(context), sheetContents = useMemo(function() {
113
55
  return (
114
56
  // @ts-ignore
115
- /* @__PURE__ */ _jsxs(Frame, _object_spread_props(_object_spread({
57
+ /* @__PURE__ */ _jsxs(Frame, {
116
58
  ref: composedContentRef,
117
59
  flex: hasFit ? 0 : 1,
118
60
  height: hasFit ? void 0 : frameSize,
119
- pointerEvents: open ? "auto" : "none"
120
- }, props), {
61
+ pointerEvents: open ? "auto" : "none",
62
+ ...props,
121
63
  children: [
122
64
  children,
123
65
  adjustPaddingForOffscreenContent && /* @__PURE__ */ _jsx(Stack, {
@@ -126,7 +68,7 @@ function createSheet(param) {
126
68
  width: "100%"
127
69
  })
128
70
  ]
129
- }))
71
+ })
130
72
  );
131
73
  }, [
132
74
  open,
@@ -151,7 +93,8 @@ function createSheet(param) {
151
93
  }),
152
94
  /* below frame hide when bouncing past 100% */
153
95
  !disableHideBottomOverflow && // @ts-ignore
154
- /* @__PURE__ */ _jsx(Frame, _object_spread_props(_object_spread({}, props), {
96
+ /* @__PURE__ */ _jsx(Frame, {
97
+ ...props,
155
98
  componentName: "SheetCover",
156
99
  // biome-ignore lint/correctness/noChildrenProp: <explanation>
157
100
  children: null,
@@ -164,27 +107,29 @@ function createSheet(param) {
164
107
  borderWidth: 0,
165
108
  borderRadius: 0,
166
109
  shadowOpacity: 0
167
- }))
110
+ })
168
111
  ]
169
112
  });
170
113
  })), Sheet = /* @__PURE__ */ forwardRef(function(props, ref) {
171
- var hydrated = useDidFinishSSR(), isShowingNonSheet = useSheetController().isShowingNonSheet, SheetImplementation = SheetImplementationCustom;
114
+ var hydrated = useDidFinishSSR(), { isShowingNonSheet } = useSheetController(), SheetImplementation = SheetImplementationCustom;
172
115
  if (props.native && Platform.OS === "ios") {
173
116
  var impl = getNativeSheet("ios");
174
117
  impl && (SheetImplementation = impl);
175
118
  }
176
- return isShowingNonSheet || !hydrated ? null : /* @__PURE__ */ _jsx(SheetImplementation, _object_spread({
177
- ref
178
- }, props));
119
+ return isShowingNonSheet || !hydrated ? null : /* @__PURE__ */ _jsx(SheetImplementation, {
120
+ ref,
121
+ ...props
122
+ });
179
123
  }), components = {
180
124
  Frame: SheetFrame,
181
125
  Overlay: SheetOverlay,
182
126
  Handle: SheetHandle,
183
127
  ScrollView: SheetScrollView
184
128
  }, Controlled = withStaticProperties(Sheet, components);
185
- return withStaticProperties(Sheet, _object_spread_props(_object_spread({}, components), {
129
+ return withStaticProperties(Sheet, {
130
+ ...components,
186
131
  Controlled
187
- }));
132
+ });
188
133
  }
189
134
  export {
190
135
  createSheet
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Users/n8/tamagui/code/ui/sheet/src/createSheet.tsx"],
4
- "mappings": ";AAAA,SAASA,uBAAuB;AAChC,SAASC,iCAAiC;AAQ1C,SAASC,aAAa;AACtB,SAASC,sBAAsBC,4BAA4B;AAC3D,SAASC,oBAAoB;AAC7B,SAASC,uBAAuB;AAEhC,SAASC,YAAYC,MAAMC,eAAe;AAE1C,SAASC,gBAAgB;AAEzB,SAASC,mBAAmBC,YAAYC,0BAA0B;AAClE,SAASC,sBAAsB;AAC/B,SAASC,uBAAuB;AAChC,SAASC,iCAAiC;AAC1C,SAASC,uBAAuB;AAEhC,SAASC,0BAA0B;AACnC,SAASC,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAU/B,SAASC,YAId,OAA+D;MAA7DC,SAAF,MAAEA,QAAQC,QAAV,MAAUA,OAAOC,UAAjB,MAAiBA,SACXC,cAAcH,OAAOI,UACzB,SAAA,QAEEC,cAAAA;QADEC,eAAAA,OAAAA,cAAiBC,QAAAA,2BAAAA,QAAAA;MAAjBD;QAGIE,UAAUd,gBAAgBJ,mBAAmBgB,YAAAA,GAC7CG,cAAc9B,gBAAgC6B,QAAQE,WAAWL,YAAAA;AAEvE,WAAIG,QAAQG,gBACH;;MAKP,qBAACX,QAAAA,eAAAA;QACCY,KAAKH;QACLI,SAAS,WAAA;AAEP,cAAMC,MACJN,QAAQO,WAAWC,UAAUR,QAAQS,wBAAwB,KAAK,IAC9DC,WAAWV,QAAQW,WAAW,KAAKL;AACzCN,kBAAQY,YAAYF,OAAAA;QACtB;QACAG,MAAMb,QAAQa;SACVd,KAAAA,CAAAA;;EAGV,CAAA,GAOIe,eAAepB,QAAQqB,YAC3BpC,qBAAK,SAACqC,SAAAA;AACJ,QAAQlB,eAA2BkB,QAA3BlB,cAAiBC,QAAAA,2BAAUiB,SAAAA;MAA3BlB;QACFE,UAAUd,gBAAgBF,oBAAoBc,YAAAA,GAK9CmB,UAAUrC,QAAQ,WAAA;AACtB;;QAEE,qBAACc,SAAAA,qBAAAA,eAAAA,CAAAA,GACKK,KAAAA,GAAAA;UACJM,SAAS/B,qBACPyB,MAAMM,SACNL,QAAQkB,wBACJ,WAAA;AACElB,oBAAQmB,QAAQ,EAAA;UAClB,IACAC,MAAAA;;;IAIZ,GAAG;MAACrB,MAAMM;MAASL,QAAQkB;KAAsB;AAMjD,WAJA9C,0BAA0B,WAAA;UACxB4B;OAAAA,8BAAAA,QAAQqB,wBAAkB,QAA1BrB,gCAAAA,UAAAA,4BAAAA,KAAAA,SAA6BiB,OAAAA;IAC/B,GAAG;MAACA;KAAQ,GAERjB,QAAQG,eACH;EAIX,CAAA,CAAA,GAuBImB,aAAa7B,MAAMsB,YACvBrC,2BACE,SAAA,QAUEmB,cAAAA;QAREC,eAAAA,OAAAA,cACAyB,mCAAAA,OAAAA,kCACAC,4BAAAA,OAAAA,2BACAC,WAAAA,OAAAA,UACG1B,QAAAA,2BAAAA,QAAAA;MAJHD;MACAyB;MACAC;MACAC;QAOIzB,UAAUd,gBAAgBH,YAAYe,YAAAA,GACpC4B,SAA6D1B,QAA7D0B,QAAQC,sBAAqD3B,QAArD2B,qBAAqBC,YAAgC5B,QAAhC4B,WAAWC,aAAqB7B,QAArB6B,YAAYhB,OAASb,QAATa,MACtDiB,qBAAqB3D,gBAAgB0B,cAAcgC,UAAAA,GACnDE,gBAAgBzC,sBAAsBU,OAAAA,GAEtCgC,gBAAgBpD,QAAQ,WAAA;AAC5B;;QAEE,sBAACa,OAAAA,qBAAAA,eAAAA;UACCW,KAAK0B;UACLG,MAAMP,SAAS,IAAI;UACnBQ,QAAQR,SAASN,SAAYQ;UAC7BO,eAAetB,OAAO,SAAS;WAC3Bd,KAAAA,GAAAA;;YAEH0B;YAEAF,oCACC,qBAAClD,OAAAA;cAAM+D,4BAAwB;cAACF,QAAQH;cAAeM,OAAM;;;;;IAIrE,GAAG;MACDxB;MACAd;MACA6B;MACAG;MACAR;MACAG;KACD;AAED,WACE,sBAAA,WAAA;;QACE,qBAAClD,cAAAA;UACC8D,cAAY;UACZC,SAASZ;UACTa,gBAAc;UACdC,QAAQ;YAACZ;;;UAETa,iBAAiB;oBAEhBV;;;QAIF,CAACR;QAEA,qBAAC/B,OAAAA,qBAAAA,eAAAA,CAAAA,GACKM,KAAAA,GAAAA;UACJ4C,eAAc;;UAEdlB,UAAU;UACVd,UAAS;UACTiC,QAAO;UACPC,QAAQ;UACRX,QAAQlC,QAAQ4B;UAChBkB,MAAM;UACNC,OAAO;UACPC,aAAa;UACbC,cAAc;UACdC,eAAe;;;;EAKzB,CAAA,CAAA,GAIEC,QAAQzE,2BAA6B,SAAeqB,OAAOK,KAAG;AAClE,QAAMgD,WAAW3E,gBAAAA,GACT4E,oBAAsBhE,mBAAAA,EAAtBgE,mBAEJC,sBAAsBnE;AAE1B,QAAIY,MAAMwD,UAAU1E,SAAS2E,OAAO,OAAO;AAEvC,UAAMC,OAAOxE,eAAe,KAAA;AAC5B,MAAIwE,SACFH,sBAAsBG;IAG5B;AAKA,WAAIJ,qBAAqB,CAACD,WACjB,OAGF,qBAACE,qBAAAA,eAAAA;MAAoBlD;OAAcL,KAAAA,CAAAA;EAC5C,CAAA,GAEM2D,aAAa;IACjBjE,OAAO6B;IACP5B,SAASoB;IACTtB,QAAQG;IACRgE,YAAYvE;EACd,GAEMwE,aAAarF,qBAAqB4E,OAAOO,UAAAA;AAK/C,SAAOnF,qBAAqB4E,OAAO,qBAAA,eAAA,CAAA,GAC9BO,UAAAA,GAAAA;IACHE;;AAEJ;",
5
- "names": ["useComposedRefs", "useIsomorphicLayoutEffect", "Stack", "composeEventHandlers", "withStaticProperties", "RemoveScroll", "useDidFinishSSR", "forwardRef", "memo", "useMemo", "Platform", "SHEET_HANDLE_NAME", "SHEET_NAME", "SHEET_OVERLAY_NAME", "getNativeSheet", "useSheetContext", "SheetImplementationCustom", "SheetScrollView", "useSheetController", "useSheetOffscreenSize", "createSheet", "Handle", "Frame", "Overlay", "SheetHandle", "styleable", "forwardedRef", "__scopeSheet", "props", "context", "composedRef", "handleRef", "onlyShowFrame", "ref", "onPress", "max", "snapPoints", "length", "dismissOnSnapToBottom", "nextPos", "position", "setPosition", "open", "SheetOverlay", "extractable", "propsIn", "element", "dismissOnOverlayPress", "setOpen", "undefined", "onOverlayComponent", "SheetFrame", "adjustPaddingForOffscreenContent", "disableHideBottomOverflow", "children", "hasFit", "removeScrollEnabled", "frameSize", "contentRef", "composedContentRef", "offscreenSize", "sheetContents", "flex", "height", "pointerEvents", "data-sheet-offscreen-pad", "width", "forwardProps", "enabled", "allowPinchZoom", "shards", "removeScrollBar", "componentName", "bottom", "zIndex", "left", "right", "borderWidth", "borderRadius", "shadowOpacity", "Sheet", "hydrated", "isShowingNonSheet", "SheetImplementation", "native", "OS", "impl", "components", "ScrollView", "Controlled"]
4
+ "mappings": "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",
5
+ "names": ["useComposedRefs", "useIsomorphicLayoutEffect", "Stack", "composeEventHandlers", "withStaticProperties", "RemoveScroll", "useDidFinishSSR", "forwardRef", "memo", "useMemo", "Platform", "SHEET_HANDLE_NAME", "SHEET_NAME", "SHEET_OVERLAY_NAME", "getNativeSheet", "useSheetContext", "SheetImplementationCustom", "SheetScrollView", "useSheetController", "useSheetOffscreenSize", "createSheet", "Handle", "Frame", "Overlay", "SheetHandle", "styleable", "param", "forwardedRef", "__scopeSheet", "props", "context", "composedRef", "handleRef", "onlyShowFrame", "ref", "onPress", "max", "snapPoints", "length", "dismissOnSnapToBottom", "nextPos", "position", "setPosition", "open", "SheetOverlay", "extractable", "propsIn", "element", "dismissOnOverlayPress", "setOpen", "undefined", "onOverlayComponent", "SheetFrame", "adjustPaddingForOffscreenContent", "disableHideBottomOverflow", "children", "hasFit", "removeScrollEnabled", "frameSize", "contentRef", "composedContentRef", "offscreenSize", "sheetContents", "flex", "height", "pointerEvents", "data-sheet-offscreen-pad", "width", "forwardProps", "enabled", "allowPinchZoom", "shards", "removeScrollBar", "componentName", "bottom", "zIndex", "left", "right", "borderWidth", "borderRadius", "shadowOpacity", "Sheet", "hydrated", "isShowingNonSheet", "SheetImplementation", "native", "OS", "impl", "components", "ScrollView", "Controlled"]
6
6
  }
@@ -0,0 +1,161 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useComposedRefs } from "@tamagui/compose-refs";
3
+ import { useIsomorphicLayoutEffect } from "@tamagui/constants";
4
+ import { Stack } from "@tamagui/core";
5
+ import { composeEventHandlers, withStaticProperties } from "@tamagui/helpers";
6
+ import { RemoveScroll } from "@tamagui/remove-scroll";
7
+ import { useDidFinishSSR } from "@tamagui/use-did-finish-ssr";
8
+ import { forwardRef, memo, useMemo } from "react";
9
+ import { Platform } from "react-native";
10
+ import { SHEET_HANDLE_NAME, SHEET_NAME, SHEET_OVERLAY_NAME } from "./constants.mjs";
11
+ import { getNativeSheet } from "./nativeSheet.mjs";
12
+ import { useSheetContext } from "./SheetContext.mjs";
13
+ import { SheetImplementationCustom } from "./SheetImplementationCustom.mjs";
14
+ import { SheetScrollView } from "./SheetScrollView.mjs";
15
+ import { useSheetController } from "./useSheetController.mjs";
16
+ import { useSheetOffscreenSize } from "./useSheetOffscreenSize.mjs";
17
+ function createSheet(param) {
18
+ var {
19
+ Handle,
20
+ Frame,
21
+ Overlay
22
+ } = param,
23
+ SheetHandle = Handle.styleable(function (param2, forwardedRef) {
24
+ var {
25
+ __scopeSheet,
26
+ ...props
27
+ } = param2,
28
+ context = useSheetContext(SHEET_HANDLE_NAME, __scopeSheet),
29
+ composedRef = useComposedRefs(context.handleRef, forwardedRef);
30
+ return context.onlyShowFrame ? null :
31
+ // @ts-ignore
32
+ /* @__PURE__ */
33
+ _jsx(Handle, {
34
+ ref: composedRef,
35
+ onPress: function () {
36
+ var max = context.snapPoints.length + (context.dismissOnSnapToBottom ? -1 : 0),
37
+ nextPos = (context.position + 1) % max;
38
+ context.setPosition(nextPos);
39
+ },
40
+ open: context.open,
41
+ ...props
42
+ });
43
+ }),
44
+ SheetOverlay = Overlay.extractable(/* @__PURE__ */memo(function (propsIn) {
45
+ var {
46
+ __scopeSheet,
47
+ ...props
48
+ } = propsIn,
49
+ context = useSheetContext(SHEET_OVERLAY_NAME, __scopeSheet),
50
+ element = useMemo(function () {
51
+ return (
52
+ // @ts-ignore
53
+ /* @__PURE__ */
54
+ _jsx(Overlay, {
55
+ ...props,
56
+ onPress: composeEventHandlers(props.onPress, context.dismissOnOverlayPress ? function () {
57
+ context.setOpen(!1);
58
+ } : void 0)
59
+ })
60
+ );
61
+ }, [props.onPress, context.dismissOnOverlayPress]);
62
+ return useIsomorphicLayoutEffect(function () {
63
+ var _context_onOverlayComponent;
64
+ (_context_onOverlayComponent = context.onOverlayComponent) === null || _context_onOverlayComponent === void 0 || _context_onOverlayComponent.call(context, element);
65
+ }, [element]), context.onlyShowFrame, null;
66
+ })),
67
+ SheetFrame = Frame.extractable(/* @__PURE__ */forwardRef(function (param2, forwardedRef) {
68
+ var {
69
+ __scopeSheet,
70
+ adjustPaddingForOffscreenContent,
71
+ disableHideBottomOverflow,
72
+ children,
73
+ ...props
74
+ } = param2,
75
+ context = useSheetContext(SHEET_NAME, __scopeSheet),
76
+ {
77
+ hasFit,
78
+ removeScrollEnabled,
79
+ frameSize,
80
+ contentRef,
81
+ open
82
+ } = context,
83
+ composedContentRef = useComposedRefs(forwardedRef, contentRef),
84
+ offscreenSize = useSheetOffscreenSize(context),
85
+ sheetContents = useMemo(function () {
86
+ return (
87
+ // @ts-ignore
88
+ /* @__PURE__ */
89
+ _jsxs(Frame, {
90
+ ref: composedContentRef,
91
+ flex: hasFit ? 0 : 1,
92
+ height: hasFit ? void 0 : frameSize,
93
+ pointerEvents: open ? "auto" : "none",
94
+ ...props,
95
+ children: [children, adjustPaddingForOffscreenContent && /* @__PURE__ */_jsx(Stack, {
96
+ "data-sheet-offscreen-pad": !0,
97
+ height: offscreenSize,
98
+ width: "100%"
99
+ })]
100
+ })
101
+ );
102
+ }, [open, props, frameSize, offscreenSize, adjustPaddingForOffscreenContent, hasFit]);
103
+ return /* @__PURE__ */_jsxs(_Fragment, {
104
+ children: [/* @__PURE__ */_jsx(RemoveScroll, {
105
+ forwardProps: !0,
106
+ enabled: removeScrollEnabled,
107
+ allowPinchZoom: !0,
108
+ shards: [contentRef],
109
+ // causes lots of bugs on touch web on site
110
+ removeScrollBar: !1,
111
+ children: sheetContents
112
+ }), /* below frame hide when bouncing past 100% */
113
+ !disableHideBottomOverflow &&
114
+ // @ts-ignore
115
+ /* @__PURE__ */
116
+ _jsx(Frame, {
117
+ ...props,
118
+ componentName: "SheetCover",
119
+ // biome-ignore lint/correctness/noChildrenProp: <explanation>
120
+ children: null,
121
+ position: "absolute",
122
+ bottom: "-100%",
123
+ zIndex: -1,
124
+ height: context.frameSize,
125
+ left: 0,
126
+ right: 0,
127
+ borderWidth: 0,
128
+ borderRadius: 0,
129
+ shadowOpacity: 0
130
+ })]
131
+ });
132
+ })),
133
+ Sheet = /* @__PURE__ */forwardRef(function (props, ref) {
134
+ var hydrated = useDidFinishSSR(),
135
+ {
136
+ isShowingNonSheet
137
+ } = useSheetController(),
138
+ SheetImplementation = SheetImplementationCustom;
139
+ if (props.native && Platform.OS === "ios") {
140
+ var impl = getNativeSheet("ios");
141
+ impl && (SheetImplementation = impl);
142
+ }
143
+ return isShowingNonSheet || !hydrated ? null : /* @__PURE__ */_jsx(SheetImplementation, {
144
+ ref,
145
+ ...props
146
+ });
147
+ }),
148
+ components = {
149
+ Frame: SheetFrame,
150
+ Overlay: SheetOverlay,
151
+ Handle: SheetHandle,
152
+ ScrollView: SheetScrollView
153
+ },
154
+ Controlled = withStaticProperties(Sheet, components);
155
+ return withStaticProperties(Sheet, {
156
+ ...components,
157
+ Controlled
158
+ });
159
+ }
160
+ export { createSheet };
161
+ //# sourceMappingURL=createSheet.native.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useComposedRefs","useIsomorphicLayoutEffect","Stack","composeEventHandlers","withStaticProperties","RemoveScroll","useDidFinishSSR","forwardRef","memo","useMemo","Platform","SHEET_HANDLE_NAME","SHEET_NAME","SHEET_OVERLAY_NAME","getNativeSheet","useSheetContext","SheetImplementationCustom","SheetScrollView","useSheetController","useSheetOffscreenSize","createSheet","param","Handle","Frame","Overlay","SheetHandle","styleable","param2","forwardedRef","__scopeSheet","props","context","composedRef","handleRef","onlyShowFrame","ref","onPress","max","snapPoints","length","dismissOnSnapToBottom","nextPos","position","setPosition","open","SheetOverlay","extractable","propsIn","element","dismissOnOverlayPress","setOpen","_context_onOverlayComponent","onOverlayComponent","call","SheetFrame","adjustPaddingForOffscreenContent","disableHideBottomOverflow","children","hasFit","removeScrollEnabled","frameSize","contentRef","composedContentRef","offscreenSize","sheetContents","flex","height","pointerEvents","width","forwardProps","enabled","allowPinchZoom","shards","removeScrollBar","componentName","bottom","zIndex","left","right","borderWidth","borderRadius","shadowOpacity","Sheet","hydrated","isShowingNonSheet","SheetImplementation","native","OS","impl","components","ScrollView","Controlled"],"sources":["../../src/createSheet.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ function resisted(y, minY) {
2
+ var maxOverflow = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 25;
3
+ if (y < minY) {
4
+ var past = minY - y,
5
+ pctPast = Math.min(maxOverflow, past) / maxOverflow,
6
+ diminishBy = 1.1 - Math.pow(0.15, pctPast),
7
+ extra = -diminishBy * maxOverflow;
8
+ return minY + extra;
9
+ }
10
+ return y;
11
+ }
12
+ export { resisted };
13
+ //# sourceMappingURL=helpers.native.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["resisted","y","minY","maxOverflow","arguments","length","past","pctPast","Math","min","diminishBy","pow","extra"],"sources":["../../src/helpers.tsx"],"sourcesContent":[null],"mappings":"AAAO,SAASA,SAASC,CAAA,EAAWC,IAAA,EAAc;EAChD,IAAIC,WAAU,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;EACZ,IAAAH,CAAA,GAAMC,IAAA;IAIN,IAAAI,IAAO,GAAAJ,IAAO,GAAAD,CAAA;MAAAM,OAAA,GAAAC,IAAA,CAAAC,GAAA,CAAAN,WAAA,EAAAG,IAAA,IAAAH,WAAA;MAAAO,UAAA,SAAAF,IAAA,CAAAG,GAAA,OAAAJ,OAAA;MAAAK,KAAA,IAAAF,UAAA,GAAAP,WAAA;IAChB,OAAAD,IAAA,GAAAU,KAAA;EACA;EACF,OAAAX,CAAA","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ export * from "./Sheet.mjs";
2
+ export * from "./useSheet.mjs";
3
+ export * from "./createSheet.mjs";
4
+ export * from "./SheetController.mjs";
5
+ export * from "./useSheetController.mjs";
6
+ export * from "./useSheetOpenState.mjs";
7
+ export * from "./useSheetOffscreenSize.mjs";
8
+ export * from "./SheetScrollView.mjs";
9
+ export * from "./nativeSheet.mjs";
10
+ export * from "./types.mjs";
11
+ export * from "./contexts.mjs";
12
+ //# sourceMappingURL=index.native.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc","ignoreList":[]}
@@ -5,40 +5,6 @@ import { View } from "react-native";
5
5
  import { SheetProvider } from "./SheetContext";
6
6
  import { useSheetOpenState } from "./useSheetOpenState";
7
7
  import { useSheetProviderProps } from "./useSheetProviderProps";
8
- function _define_property(obj, key, value) {
9
- return key in obj ? Object.defineProperty(obj, key, {
10
- value,
11
- enumerable: !0,
12
- configurable: !0,
13
- writable: !0
14
- }) : obj[key] = value, obj;
15
- }
16
- function _object_spread(target) {
17
- for (var i = 1; i < arguments.length; i++) {
18
- var source = arguments[i] != null ? arguments[i] : {}, ownKeys2 = Object.keys(source);
19
- typeof Object.getOwnPropertySymbols == "function" && (ownKeys2 = ownKeys2.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
20
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
21
- }))), ownKeys2.forEach(function(key) {
22
- _define_property(target, key, source[key]);
23
- });
24
- }
25
- return target;
26
- }
27
- function ownKeys(object, enumerableOnly) {
28
- var keys = Object.keys(object);
29
- if (Object.getOwnPropertySymbols) {
30
- var symbols = Object.getOwnPropertySymbols(object);
31
- enumerableOnly && (symbols = symbols.filter(function(sym) {
32
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
33
- })), keys.push.apply(keys, symbols);
34
- }
35
- return keys;
36
- }
37
- function _object_spread_props(target, source) {
38
- return source = source ?? {}, Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) {
39
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
40
- }), target;
41
- }
42
8
  var nativeSheets = {
43
9
  ios: null
44
10
  };
@@ -47,14 +13,15 @@ function getNativeSheet(platform) {
47
13
  }
48
14
  function setupNativeSheet(platform, Implementation) {
49
15
  platform === "ios" && (nativeSheets[platform] = function(props) {
50
- var state = useSheetOpenState(props), providerProps = useSheetProviderProps(props, state), open = state.open, setOpen = state.setOpen, ref = useRef();
16
+ var state = useSheetOpenState(props), providerProps = useSheetProviderProps(props, state), { open, setOpen } = state, ref = useRef();
51
17
  return useEffect(function() {
52
18
  var _ref_current;
53
19
  (_ref_current = ref.current) === null || _ref_current === void 0 || _ref_current.setVisibility(open);
54
20
  }, [
55
21
  open
56
22
  ]), /* @__PURE__ */ _jsx(_Fragment, {
57
- children: /* @__PURE__ */ _jsxs(SheetProvider, _object_spread_props(_object_spread({}, providerProps), {
23
+ children: /* @__PURE__ */ _jsxs(SheetProvider, {
24
+ ...providerProps,
58
25
  onlyShowFrame: !0,
59
26
  children: [
60
27
  /* @__PURE__ */ _jsx(Implementation, {
@@ -80,7 +47,7 @@ function setupNativeSheet(platform, Implementation) {
80
47
  children: props.children
81
48
  })
82
49
  ]
83
- }))
50
+ })
84
51
  });
85
52
  });
86
53
  }
@@ -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,GAI3CE,OAAkBF,MAAlBE,MAAMC,UAAYH,MAAZG,SACRC,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,qBAAAA,eAAAA,CAAAA,GAAkBW,aAAAA,GAAAA;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;",
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
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"]
6
6
  }