@tamagui/sheet 1.110.4 → 1.111.0
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.
- package/dist/cjs/SheetContext.native.js +1 -43
- package/dist/cjs/SheetContext.native.js.map +2 -2
- package/dist/cjs/SheetController.native.js +2 -23
- package/dist/cjs/SheetController.native.js.map +2 -2
- package/dist/cjs/SheetImplementationCustom.native.js +89 -158
- package/dist/cjs/SheetImplementationCustom.native.js.map +2 -2
- package/dist/cjs/SheetScrollView.native.js +7 -63
- package/dist/cjs/SheetScrollView.native.js.map +1 -1
- package/dist/cjs/createSheet.native.js +27 -82
- package/dist/cjs/createSheet.native.js.map +2 -2
- package/dist/cjs/nativeSheet.native.js +5 -39
- package/dist/cjs/nativeSheet.native.js.map +1 -1
- package/dist/cjs/useSheetOffscreenSize.native.js +1 -1
- package/dist/cjs/useSheetOffscreenSize.native.js.map +1 -1
- package/dist/cjs/useSheetOpenState.native.js +4 -46
- package/dist/cjs/useSheetOpenState.native.js.map +2 -2
- package/dist/cjs/useSheetProviderProps.native.js +7 -59
- package/dist/cjs/useSheetProviderProps.native.js.map +2 -2
- package/dist/esm/Sheet.native.mjs +92 -0
- package/dist/esm/Sheet.native.mjs.map +1 -0
- package/dist/esm/SheetContext.native.js +1 -42
- package/dist/esm/SheetContext.native.js.map +1 -1
- package/dist/esm/SheetContext.native.mjs +6 -0
- package/dist/esm/SheetContext.native.mjs.map +1 -0
- package/dist/esm/SheetController.native.js +2 -22
- package/dist/esm/SheetController.native.js.map +2 -2
- package/dist/esm/SheetController.native.mjs +26 -0
- package/dist/esm/SheetController.native.mjs.map +1 -0
- package/dist/esm/SheetImplementationCustom.native.js +88 -156
- package/dist/esm/SheetImplementationCustom.native.js.map +2 -2
- package/dist/esm/SheetImplementationCustom.native.mjs +347 -0
- package/dist/esm/SheetImplementationCustom.native.mjs.map +1 -0
- package/dist/esm/SheetScrollView.native.js +8 -63
- package/dist/esm/SheetScrollView.native.js.map +1 -1
- package/dist/esm/SheetScrollView.native.mjs +107 -0
- package/dist/esm/SheetScrollView.native.mjs.map +1 -0
- package/dist/esm/constants.native.mjs +9 -0
- package/dist/esm/constants.native.mjs.map +1 -0
- package/dist/esm/contexts.native.mjs +7 -0
- package/dist/esm/contexts.native.mjs.map +1 -0
- package/dist/esm/createSheet.native.js +27 -82
- package/dist/esm/createSheet.native.js.map +2 -2
- package/dist/esm/createSheet.native.mjs +161 -0
- package/dist/esm/createSheet.native.mjs.map +1 -0
- package/dist/esm/helpers.native.mjs +13 -0
- package/dist/esm/helpers.native.mjs.map +1 -0
- package/dist/esm/index.native.mjs +12 -0
- package/dist/esm/index.native.mjs.map +1 -0
- package/dist/esm/nativeSheet.native.js +4 -37
- package/dist/esm/nativeSheet.native.js.map +1 -1
- package/dist/esm/nativeSheet.native.mjs +56 -0
- package/dist/esm/nativeSheet.native.mjs.map +1 -0
- package/dist/esm/types.native.mjs +2 -0
- package/dist/esm/types.native.mjs.map +1 -0
- package/dist/esm/useSheet.native.mjs +6 -0
- package/dist/esm/useSheet.native.mjs.map +1 -0
- package/dist/esm/useSheetController.native.js +2 -2
- package/dist/esm/useSheetController.native.js.map +1 -1
- package/dist/esm/useSheetController.native.mjs +15 -0
- package/dist/esm/useSheetController.native.mjs.map +1 -0
- package/dist/esm/useSheetOffscreenSize.native.js +1 -1
- package/dist/esm/useSheetOffscreenSize.native.js.map +1 -1
- package/dist/esm/useSheetOffscreenSize.native.mjs +35 -0
- package/dist/esm/useSheetOffscreenSize.native.mjs.map +1 -0
- package/dist/esm/useSheetOpenState.native.js +4 -45
- package/dist/esm/useSheetOpenState.native.js.map +2 -2
- package/dist/esm/useSheetOpenState.native.mjs +29 -0
- package/dist/esm/useSheetOpenState.native.mjs.map +1 -0
- package/dist/esm/useSheetProviderProps.native.js +7 -59
- package/dist/esm/useSheetProviderProps.native.js.map +2 -2
- package/dist/esm/useSheetProviderProps.native.mjs +103 -0
- package/dist/esm/useSheetProviderProps.native.mjs.map +1 -0
- package/dist/jsx/SheetContext.native.js +1 -42
- package/dist/jsx/SheetContext.native.js.map +1 -1
- package/dist/jsx/SheetController.native.js +2 -22
- package/dist/jsx/SheetController.native.js.map +2 -2
- package/dist/jsx/SheetImplementationCustom.native.js +88 -156
- package/dist/jsx/SheetImplementationCustom.native.js.map +2 -2
- package/dist/jsx/SheetScrollView.native.js +7 -62
- package/dist/jsx/SheetScrollView.native.js.map +1 -1
- package/dist/jsx/createSheet.native.js +27 -82
- package/dist/jsx/createSheet.native.js.map +2 -2
- package/dist/jsx/nativeSheet.native.js +4 -37
- package/dist/jsx/nativeSheet.native.js.map +1 -1
- package/dist/jsx/useSheetOffscreenSize.native.js +1 -1
- package/dist/jsx/useSheetOffscreenSize.native.js.map +1 -1
- package/dist/jsx/useSheetOpenState.native.js +3 -44
- package/dist/jsx/useSheetOpenState.native.js.map +2 -2
- package/dist/jsx/useSheetProviderProps.native.js +7 -59
- package/dist/jsx/useSheetProviderProps.native.js.map +2 -2
- package/package.json +16 -16
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { styled } from "@tamagui/core";
|
|
2
|
+
import { ThemeableStack, XStack, YStack } from "@tamagui/stacks";
|
|
3
|
+
import { SHEET_HANDLE_NAME, SHEET_NAME, SHEET_OVERLAY_NAME } from "./constants.mjs";
|
|
4
|
+
import { createSheet } from "./createSheet.mjs";
|
|
5
|
+
import { createSheetScope } from "./SheetContext.mjs";
|
|
6
|
+
export * from "./types.mjs";
|
|
7
|
+
var Handle = styled(XStack, {
|
|
8
|
+
name: SHEET_HANDLE_NAME,
|
|
9
|
+
variants: {
|
|
10
|
+
open: {
|
|
11
|
+
true: {
|
|
12
|
+
pointerEvents: "auto"
|
|
13
|
+
},
|
|
14
|
+
false: {
|
|
15
|
+
opacity: 0,
|
|
16
|
+
pointerEvents: "none"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
unstyled: {
|
|
20
|
+
false: {
|
|
21
|
+
height: 10,
|
|
22
|
+
borderRadius: 100,
|
|
23
|
+
backgroundColor: "$background",
|
|
24
|
+
zIndex: 10,
|
|
25
|
+
marginHorizontal: "35%",
|
|
26
|
+
marginBottom: "$2",
|
|
27
|
+
opacity: 0.5,
|
|
28
|
+
hoverStyle: {
|
|
29
|
+
opacity: 0.7
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
defaultVariants: {
|
|
35
|
+
unstyled: process.env.TAMAGUI_HEADLESS === "1"
|
|
36
|
+
}
|
|
37
|
+
}),
|
|
38
|
+
Overlay = styled(ThemeableStack, {
|
|
39
|
+
name: SHEET_OVERLAY_NAME,
|
|
40
|
+
variants: {
|
|
41
|
+
open: {
|
|
42
|
+
true: {
|
|
43
|
+
opacity: 1,
|
|
44
|
+
pointerEvents: "auto"
|
|
45
|
+
},
|
|
46
|
+
false: {
|
|
47
|
+
opacity: 0,
|
|
48
|
+
pointerEvents: "none"
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
unstyled: {
|
|
52
|
+
false: {
|
|
53
|
+
fullscreen: !0,
|
|
54
|
+
position: "absolute",
|
|
55
|
+
backgrounded: !0,
|
|
56
|
+
zIndex: 99999,
|
|
57
|
+
pointerEvents: "auto"
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
defaultVariants: {
|
|
62
|
+
unstyled: process.env.TAMAGUI_HEADLESS === "1"
|
|
63
|
+
}
|
|
64
|
+
}),
|
|
65
|
+
Frame = styled(YStack, {
|
|
66
|
+
name: SHEET_NAME,
|
|
67
|
+
variants: {
|
|
68
|
+
unstyled: {
|
|
69
|
+
false: {
|
|
70
|
+
flex: 1,
|
|
71
|
+
backgroundColor: "$background",
|
|
72
|
+
borderTopLeftRadius: "$true",
|
|
73
|
+
borderTopRightRadius: "$true",
|
|
74
|
+
width: "100%",
|
|
75
|
+
maxHeight: "100%",
|
|
76
|
+
overflow: "hidden"
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
defaultVariants: {
|
|
81
|
+
unstyled: process.env.TAMAGUI_HEADLESS === "1"
|
|
82
|
+
}
|
|
83
|
+
}),
|
|
84
|
+
Sheet = createSheet({
|
|
85
|
+
Frame,
|
|
86
|
+
Handle,
|
|
87
|
+
Overlay
|
|
88
|
+
}),
|
|
89
|
+
SheetOverlayFrame = Overlay,
|
|
90
|
+
SheetHandleFrame = Handle;
|
|
91
|
+
export { Frame, Handle, Overlay, Sheet, SheetHandleFrame, SheetOverlayFrame, createSheetScope };
|
|
92
|
+
//# sourceMappingURL=Sheet.native.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["styled","ThemeableStack","XStack","YStack","SHEET_HANDLE_NAME","SHEET_NAME","SHEET_OVERLAY_NAME","createSheet","createSheetScope","Handle","name","variants","open","true","pointerEvents","false","opacity","unstyled","height","borderRadius","backgroundColor","zIndex","marginHorizontal","marginBottom","hoverStyle","defaultVariants","process","env","TAMAGUI_HEADLESS","Overlay","fullscreen","position","backgrounded","Frame","flex","borderTopLeftRadius","borderTopRightRadius","width","maxHeight","overflow","Sheet","SheetOverlayFrame","SheetHandleFrame"],"sources":["../../src/Sheet.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAA,QAAc;AACvB,SAASC,cAAA,EAAgBC,MAAA,EAAQC,MAAA,QAAc;AAE/C,SAASC,iBAAA,EAAmBC,UAAA,EAAYC,kBAAA,QAA0B;AAClE,SAASC,WAAA,QAAmB;AAE5B,SAASC,gBAAA,QAAwB;AACjC,cAAc;AAMP,IAAAC,MAAM,GAAAT,MAAS,CAAAE,MAAO;IAC3BQ,IAAA,EAAMN,iBAAA;IAENO,QAAA,EAAU;MACRC,IAAA,EAAM;QACJC,IAAA,EAAM;UACJC,aAAA,EAAe;QACjB;QACAC,KAAA,EAAO;UACLC,OAAA,EAAS;UACTF,aAAA,EAAe;QACjB;MACF;MAEAG,QAAA,EAAU;QACRF,KAAA,EAAO;UACLG,MAAA,EAAQ;UACRC,YAAA,EAAc;UACdC,eAAA,EAAiB;UACjBC,MAAA,EAAQ;UACRC,gBAAA,EAAkB;UAClBC,YAAA,EAAc;UACdP,OAAA,EAAS;UAETQ,UAAA,EAAY;YACVR,OAAA,EAAS;UACX;QACF;MACF;IACF;IAEAS,eAAA,EAAiB;MACfR,QAAA,EAAUS,OAAA,CAAQC,GAAA,CAAIC,gBAAA,KAAqB;IAC7C;EACF,CAAC;EAMYC,OAAA,GAAU7B,MAAA,CAAOC,cAAA,EAAgB;IAC5CS,IAAA,EAAMJ,kBAAA;IAENK,QAAA,EAAU;MACRC,IAAA,EAAM;QACJC,IAAA,EAAM;UACJG,OAAA,EAAS;UACTF,aAAA,EAAe;QACjB;QACAC,KAAA,EAAO;UACLC,OAAA,EAAS;UACTF,aAAA,EAAe;QACjB;MACF;MAEAG,QAAA,EAAU;QACRF,KAAA,EAAO;UACLe,UAAA,EAAY;UACZC,QAAA,EAAU;UACVC,YAAA,EAAc;UACdX,MAAA,EAAQ;UACRP,aAAA,EAAe;QACjB;MACF;IACF;IAEAW,eAAA,EAAiB;MACfR,QAAA,EAAUS,OAAA,CAAQC,GAAA,CAAIC,gBAAA,KAAqB;IAC7C;EACF,CAAC;EAMYK,KAAA,GAAQjC,MAAA,CAAOG,MAAA,EAAQ;IAClCO,IAAA,EAAML,UAAA;IAENM,QAAA,EAAU;MACRM,QAAA,EAAU;QACRF,KAAA,EAAO;UACLmB,IAAA,EAAM;UACNd,eAAA,EAAiB;UACjBe,mBAAA,EAAqB;UACrBC,oBAAA,EAAsB;UACtBC,KAAA,EAAO;UACPC,SAAA,EAAW;UACXC,QAAA,EAAU;QACZ;MACF;IACF;IAEAd,eAAA,EAAiB;MACfR,QAAA,EAAUS,OAAA,CAAQC,GAAA,CAAIC,gBAAA,KAAqB;IAC7C;EACF,CAAC;EAEYY,KAAA,GAAQjC,WAAA,CAAY;IAC/B0B,KAAA;IACAxB,MAAA;IACAoB;EACF,CAAC;EAGYY,iBAAA,GAAoBZ,OAAA;EAGpBa,gBAAA,GAAmBjC,MAAA","ignoreList":[]}
|
|
@@ -1,47 +1,6 @@
|
|
|
1
1
|
import { createContextScope } from "@tamagui/create-context";
|
|
2
2
|
import { SHEET_NAME } from "./constants";
|
|
3
|
-
|
|
4
|
-
(len == null || len > arr.length) && (len = arr.length);
|
|
5
|
-
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
6
|
-
return arr2;
|
|
7
|
-
}
|
|
8
|
-
function _array_with_holes(arr) {
|
|
9
|
-
if (Array.isArray(arr)) return arr;
|
|
10
|
-
}
|
|
11
|
-
function _iterable_to_array_limit(arr, i) {
|
|
12
|
-
var _i = arr == null ? null : typeof Symbol < "u" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
13
|
-
if (_i != null) {
|
|
14
|
-
var _arr = [], _n = !0, _d = !1, _s, _e;
|
|
15
|
-
try {
|
|
16
|
-
for (_i = _i.call(arr); !(_n = (_s = _i.next()).done) && (_arr.push(_s.value), !(i && _arr.length === i)); _n = !0)
|
|
17
|
-
;
|
|
18
|
-
} catch (err) {
|
|
19
|
-
_d = !0, _e = err;
|
|
20
|
-
} finally {
|
|
21
|
-
try {
|
|
22
|
-
!_n && _i.return != null && _i.return();
|
|
23
|
-
} finally {
|
|
24
|
-
if (_d) throw _e;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return _arr;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
function _non_iterable_rest() {
|
|
31
|
-
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
32
|
-
}
|
|
33
|
-
function _sliced_to_array(arr, i) {
|
|
34
|
-
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
|
35
|
-
}
|
|
36
|
-
function _unsupported_iterable_to_array(o, minLen) {
|
|
37
|
-
if (o) {
|
|
38
|
-
if (typeof o == "string") return _array_like_to_array(o, minLen);
|
|
39
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
40
|
-
if (n === "Object" && o.constructor && (n = o.constructor.name), n === "Map" || n === "Set") return Array.from(n);
|
|
41
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
var _createContextScope = _sliced_to_array(createContextScope(SHEET_NAME), 2), createSheetContext = _createContextScope[0], createSheetScope = _createContextScope[1], _createSheetContext = _sliced_to_array(createSheetContext(SHEET_NAME, {}), 2), SheetProvider = _createSheetContext[0], useSheetContext = _createSheetContext[1];
|
|
3
|
+
var [createSheetContext, createSheetScope] = createContextScope(SHEET_NAME), [SheetProvider, useSheetContext] = createSheetContext(SHEET_NAME, {});
|
|
45
4
|
export {
|
|
46
5
|
SheetProvider,
|
|
47
6
|
createSheetContext,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Users/n8/tamagui/code/ui/sheet/src/SheetContext.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAASA,0BAA0B;AAEnC,SAASC,kBAAkB
|
|
4
|
+
"mappings": "AAAA,SAASA,0BAA0B;AAEnC,SAASC,kBAAkB;AAGpB,IAAM,CAACC,oBAAoBC,gBAAAA,IAAoBH,mBAAmBC,UAAAA,GAE5D,CAACG,eAAeC,eAAAA,IAAmBH,mBAC9CD,YACA,CAAC,CAAA;",
|
|
5
5
|
"names": ["createContextScope", "SHEET_NAME", "createSheetContext", "createSheetScope", "SheetProvider", "useSheetContext"]
|
|
6
6
|
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createContextScope } from "@tamagui/create-context";
|
|
2
|
+
import { SHEET_NAME } from "./constants.mjs";
|
|
3
|
+
var [createSheetContext, createSheetScope] = createContextScope(SHEET_NAME),
|
|
4
|
+
[SheetProvider, useSheetContext] = createSheetContext(SHEET_NAME, {});
|
|
5
|
+
export { SheetProvider, createSheetContext, createSheetScope, useSheetContext };
|
|
6
|
+
//# sourceMappingURL=SheetContext.native.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createContextScope","SHEET_NAME","createSheetContext","createSheetScope","SheetProvider","useSheetContext"],"sources":["../../src/SheetContext.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,kBAAA,QAA0B;AAEnC,SAASC,UAAA,QAAkB;AAGpB,KAAAC,kBAAO,EAAAC,gBAAoB,IAAgBH,kBAAI,CAAAC,UAAmB;EAAU,CAAAG,aAErE,EAAAC,eAAe,IAAeH,kBAAI,CAAAD,UAAA;AAAA,SAE9CG,aAAC,EACHF,kBAAA,E","ignoreList":[]}
|
|
@@ -2,28 +2,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { useEvent } from "@tamagui/core";
|
|
4
4
|
import { SheetControllerContext } from "./useSheetController";
|
|
5
|
-
function
|
|
6
|
-
|
|
7
|
-
var target = _object_without_properties_loose(source, excluded), key, i;
|
|
8
|
-
if (Object.getOwnPropertySymbols) {
|
|
9
|
-
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
10
|
-
for (i = 0; i < sourceSymbolKeys.length; i++)
|
|
11
|
-
key = sourceSymbolKeys[i], !(excluded.indexOf(key) >= 0) && Object.prototype.propertyIsEnumerable.call(source, key) && (target[key] = source[key]);
|
|
12
|
-
}
|
|
13
|
-
return target;
|
|
14
|
-
}
|
|
15
|
-
function _object_without_properties_loose(source, excluded) {
|
|
16
|
-
if (source == null) return {};
|
|
17
|
-
var target = {}, sourceKeys = Object.keys(source), key, i;
|
|
18
|
-
for (i = 0; i < sourceKeys.length; i++)
|
|
19
|
-
key = sourceKeys[i], !(excluded.indexOf(key) >= 0) && (target[key] = source[key]);
|
|
20
|
-
return target;
|
|
21
|
-
}
|
|
22
|
-
var SheetController = function(_param) {
|
|
23
|
-
var children = _param.children, onOpenChangeProp = _param.onOpenChange, value = _object_without_properties(_param, [
|
|
24
|
-
"children",
|
|
25
|
-
"onOpenChange"
|
|
26
|
-
]), onOpenChange = useEvent(onOpenChangeProp), memoValue = React.useMemo(function() {
|
|
5
|
+
var SheetController = function(param) {
|
|
6
|
+
var { children, onOpenChange: onOpenChangeProp, ...value } = param, onOpenChange = useEvent(onOpenChangeProp), memoValue = React.useMemo(function() {
|
|
27
7
|
return {
|
|
28
8
|
open: value.open,
|
|
29
9
|
hidden: value.hidden,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Users/n8/tamagui/code/ui/sheet/src/SheetController.tsx"],
|
|
4
|
-
"mappings": ";AAAA,OAAOA,WAAW;AAClB,SAASC,gBAAgB;AAIzB,SAASC,8BAA8B
|
|
5
|
-
"names": ["React", "useEvent", "SheetControllerContext", "SheetController", "children", "
|
|
4
|
+
"mappings": ";AAAA,OAAOA,WAAW;AAClB,SAASC,gBAAgB;AAIzB,SAASC,8BAA8B;AAEhC,IAAMC,kBAAkB,SAAA,OAAA;MAAC,EAC9BC,UACAC,cAAcC,kBACd,GAAGC,MAAAA,IAC6D,OAC1DF,eAAeJ,SAASK,gBAAAA,GAExBE,YAAYR,MAAMS,QACtB,WAAA;WAAO;MACLC,MAAMH,MAAMG;MACZC,QAAQJ,MAAMI;MACdC,aAAaL,MAAMK;MACnBP;IACF;KACA;IAACA;IAAcE,MAAMG;IAAMH,MAAMI;IAAQJ,MAAMK;GAAY;AAG7D,SACE,qBAACV,uBAAuBW,UAAQ;IAACN,OAAOC;;;AAI5C;",
|
|
5
|
+
"names": ["React", "useEvent", "SheetControllerContext", "SheetController", "children", "onOpenChange", "onOpenChangeProp", "value", "memoValue", "useMemo", "open", "hidden", "disableDrag", "Provider"]
|
|
6
6
|
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { useEvent } from "@tamagui/core";
|
|
4
|
+
import { SheetControllerContext } from "./useSheetController.mjs";
|
|
5
|
+
var SheetController = function (param) {
|
|
6
|
+
var {
|
|
7
|
+
children,
|
|
8
|
+
onOpenChange: onOpenChangeProp,
|
|
9
|
+
...value
|
|
10
|
+
} = param,
|
|
11
|
+
onOpenChange = useEvent(onOpenChangeProp),
|
|
12
|
+
memoValue = React.useMemo(function () {
|
|
13
|
+
return {
|
|
14
|
+
open: value.open,
|
|
15
|
+
hidden: value.hidden,
|
|
16
|
+
disableDrag: value.disableDrag,
|
|
17
|
+
onOpenChange
|
|
18
|
+
};
|
|
19
|
+
}, [onOpenChange, value.open, value.hidden, value.disableDrag]);
|
|
20
|
+
return /* @__PURE__ */_jsx(SheetControllerContext.Provider, {
|
|
21
|
+
value: memoValue,
|
|
22
|
+
children
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
export { SheetController };
|
|
26
|
+
//# sourceMappingURL=SheetController.native.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","React","useEvent","SheetControllerContext","SheetController","param","children","onOpenChange","onOpenChangeProp","value","memoValue","useMemo","open","hidden","disableDrag","Provider"],"sources":["../../src/SheetController.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAAOA,GAAA,IAAAC,IAAW;AAClB,OAAAC,KAAS,aAAgB;AAIzB,SAASC,QAAA,uBAA8B;AAoBnC,SAAAC,sBAAA;AAlBG,IAAAC,eAAM,YAAAA,CAAmBC,KAAA;EAC9B;MAAAC,QAAA;MAAAC,YAAA,EAAAC,gBAAA;MAAA,GAAAC;IAAA,IAAAJ,KAAA;IAAAE,YAAA,GAAAL,QAAA,CAAAM,gBAAA;IAAAE,SAAA,GAAAT,KAAA,CAAAU,OAAA;MACA;QACGC,IAAA,EAAAH,KAAA,CAAAG,IAAA;QACkEC,MAAA,EAAAJ,KAAA,CAAAI,MAAA;QACrEC,WAAM,EAAAL,KAAe,CAAAK,WAAS;QAG5BP;MAAO;IACO,IACEA,YACd,EAAmBE,KACnB,CAAAG,IAAA,EACFH,KAAA,CAAAI,MAAA,EACAJ,KAAC,CAAAK,WAAc,CACjB;EAEA,OACE,eAAAd,IAAC,CAAAG,sBAAuB,CAAAY,QAAA,EAAvB;IAILN,KAAA,EAAAC,SAAA","ignoreList":[]}
|
|
@@ -14,90 +14,18 @@ import { resisted } from "./helpers";
|
|
|
14
14
|
import { SheetProvider } from "./SheetContext";
|
|
15
15
|
import { useSheetOpenState } from "./useSheetOpenState";
|
|
16
16
|
import { useSheetProviderProps } from "./useSheetProviderProps";
|
|
17
|
-
function _array_like_to_array(arr, len) {
|
|
18
|
-
(len == null || len > arr.length) && (len = arr.length);
|
|
19
|
-
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
20
|
-
return arr2;
|
|
21
|
-
}
|
|
22
|
-
function _array_with_holes(arr) {
|
|
23
|
-
if (Array.isArray(arr)) return arr;
|
|
24
|
-
}
|
|
25
|
-
function _define_property(obj, key, value) {
|
|
26
|
-
return key in obj ? Object.defineProperty(obj, key, {
|
|
27
|
-
value,
|
|
28
|
-
enumerable: !0,
|
|
29
|
-
configurable: !0,
|
|
30
|
-
writable: !0
|
|
31
|
-
}) : obj[key] = value, obj;
|
|
32
|
-
}
|
|
33
|
-
function _iterable_to_array_limit(arr, i) {
|
|
34
|
-
var _i = arr == null ? null : typeof Symbol < "u" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
35
|
-
if (_i != null) {
|
|
36
|
-
var _arr = [], _n = !0, _d = !1, _s, _e;
|
|
37
|
-
try {
|
|
38
|
-
for (_i = _i.call(arr); !(_n = (_s = _i.next()).done) && (_arr.push(_s.value), !(i && _arr.length === i)); _n = !0)
|
|
39
|
-
;
|
|
40
|
-
} catch (err) {
|
|
41
|
-
_d = !0, _e = err;
|
|
42
|
-
} finally {
|
|
43
|
-
try {
|
|
44
|
-
!_n && _i.return != null && _i.return();
|
|
45
|
-
} finally {
|
|
46
|
-
if (_d) throw _e;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
return _arr;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
function _non_iterable_rest() {
|
|
53
|
-
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
54
|
-
}
|
|
55
|
-
function _object_spread(target) {
|
|
56
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
57
|
-
var source = arguments[i] != null ? arguments[i] : {}, ownKeys2 = Object.keys(source);
|
|
58
|
-
typeof Object.getOwnPropertySymbols == "function" && (ownKeys2 = ownKeys2.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
59
|
-
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
60
|
-
}))), ownKeys2.forEach(function(key) {
|
|
61
|
-
_define_property(target, key, source[key]);
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
return target;
|
|
65
|
-
}
|
|
66
|
-
function ownKeys(object, enumerableOnly) {
|
|
67
|
-
var keys = Object.keys(object);
|
|
68
|
-
if (Object.getOwnPropertySymbols) {
|
|
69
|
-
var symbols = Object.getOwnPropertySymbols(object);
|
|
70
|
-
enumerableOnly && (symbols = symbols.filter(function(sym) {
|
|
71
|
-
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
72
|
-
})), keys.push.apply(keys, symbols);
|
|
73
|
-
}
|
|
74
|
-
return keys;
|
|
75
|
-
}
|
|
76
|
-
function _object_spread_props(target, source) {
|
|
77
|
-
return source = source ?? {}, Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) {
|
|
78
|
-
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
79
|
-
}), target;
|
|
80
|
-
}
|
|
81
|
-
function _sliced_to_array(arr, i) {
|
|
82
|
-
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
|
83
|
-
}
|
|
84
|
-
function _unsupported_iterable_to_array(o, minLen) {
|
|
85
|
-
if (o) {
|
|
86
|
-
if (typeof o == "string") return _array_like_to_array(o, minLen);
|
|
87
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
88
|
-
if (n === "Object" && o.constructor && (n = o.constructor.name), n === "Map" || n === "Set") return Array.from(n);
|
|
89
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
17
|
var hiddenSize = 10000.1, SheetImplementationCustom = themeable(/* @__PURE__ */ React.forwardRef(function(props, forwardedRef) {
|
|
93
|
-
var parentSheet = React.useContext(ParentSheetContext),
|
|
18
|
+
var parentSheet = React.useContext(ParentSheetContext), { animation, animationConfig: animationConfigProp, modal = !1, zIndex = parentSheet.zIndex + 1, moveOnKeyboardChange = !1, unmountChildrenWhenHidden = !1, portalProps, containerComponent: ContainerComponent = React.Fragment } = props, keyboardIsVisible = useKeyboardVisible(), state = useSheetOpenState(props), [overlayComponent, setOverlayComponent] = React.useState(null), providerProps = useSheetProviderProps(props, state, {
|
|
94
19
|
onOverlayComponent: setOverlayComponent
|
|
95
|
-
}),
|
|
96
|
-
var
|
|
20
|
+
}), { frameSize, setFrameSize, snapPoints, snapPointsMode, hasFit, position, setPosition, scrollBridge, screenSize, setMaxContentSize, maxSnapPoint } = providerProps, { open, controller, isHidden } = state, sheetRef = React.useRef(null), ref = useComposedRefs(forwardedRef, sheetRef), animationConfig = function() {
|
|
21
|
+
var [animationProp, animationPropConfig] = animation ? Array.isArray(animation) ? animation : [
|
|
97
22
|
animation
|
|
98
|
-
] : []
|
|
99
|
-
return animationConfigProp ?? (animationProp ?
|
|
100
|
-
|
|
23
|
+
] : [];
|
|
24
|
+
return animationConfigProp ?? (animationProp ? {
|
|
25
|
+
...getConfig().animations.animations[animationProp],
|
|
26
|
+
...animationPropConfig
|
|
27
|
+
} : null);
|
|
28
|
+
}(), [isShowingInnerSheet, setIsShowingInnerSheet] = React.useState(!1), shouldHideParentSheet = !isWeb && modal && isShowingInnerSheet, parentSheetContext = React.useContext(SheetInsideSheetContext), onInnerSheet = React.useCallback(function(hasChild) {
|
|
101
29
|
setIsShowingInnerSheet(hasChild);
|
|
102
30
|
}, []), positions = React.useMemo(function() {
|
|
103
31
|
return snapPoints.map(function(point) {
|
|
@@ -108,7 +36,7 @@ var hiddenSize = 10000.1, SheetImplementationCustom = themeable(/* @__PURE__ */
|
|
|
108
36
|
frameSize,
|
|
109
37
|
snapPoints,
|
|
110
38
|
snapPointsMode
|
|
111
|
-
]), animationDriver = useConfiguration()
|
|
39
|
+
]), { animationDriver } = useConfiguration(), { useAnimatedNumber, useAnimatedNumberStyle, useAnimatedNumberReaction } = animationDriver, _animationDriver_View, AnimatedView = (_animationDriver_View = animationDriver.View) !== null && _animationDriver_View !== void 0 ? _animationDriver_View : Stack;
|
|
112
40
|
useIsomorphicLayoutEffect(function() {
|
|
113
41
|
if (parentSheetContext && open)
|
|
114
42
|
return parentSheetContext(!0), function() {
|
|
@@ -145,15 +73,17 @@ var hiddenSize = 10000.1, SheetImplementationCustom = themeable(/* @__PURE__ */
|
|
|
145
73
|
type: "timing",
|
|
146
74
|
duration: 0
|
|
147
75
|
}, function() {
|
|
148
|
-
isHidden || (toValue = positions[position2], at.current = toValue, animatedNumber.setValue(toValue,
|
|
149
|
-
type: "spring"
|
|
150
|
-
|
|
76
|
+
isHidden || (toValue = positions[position2], at.current = toValue, animatedNumber.setValue(toValue, {
|
|
77
|
+
type: "spring",
|
|
78
|
+
...animationConfig
|
|
79
|
+
}));
|
|
151
80
|
});
|
|
152
81
|
return;
|
|
153
82
|
}
|
|
154
|
-
animatedNumber.setValue(toValue,
|
|
155
|
-
type: "spring"
|
|
156
|
-
|
|
83
|
+
animatedNumber.setValue(toValue, {
|
|
84
|
+
type: "spring",
|
|
85
|
+
...animationConfig
|
|
86
|
+
});
|
|
157
87
|
}
|
|
158
88
|
}
|
|
159
89
|
});
|
|
@@ -174,55 +104,55 @@ var hiddenSize = 10000.1, SheetImplementationCustom = themeable(/* @__PURE__ */
|
|
|
174
104
|
open,
|
|
175
105
|
position
|
|
176
106
|
]);
|
|
177
|
-
var _props_disableDrag, disableDrag = (_props_disableDrag = props.disableDrag) !== null && _props_disableDrag !== void 0 ? _props_disableDrag : controller
|
|
178
|
-
|
|
107
|
+
var _props_disableDrag, disableDrag = (_props_disableDrag = props.disableDrag) !== null && _props_disableDrag !== void 0 ? _props_disableDrag : controller?.disableDrag, themeName = useThemeName(), [isDragging, setIsDragging] = React.useState(!1), panResponder = React.useMemo(function() {
|
|
108
|
+
if (disableDrag || !frameSize || isShowingInnerSheet) return;
|
|
109
|
+
var minY = positions[0];
|
|
110
|
+
scrollBridge.paneMinY = minY;
|
|
111
|
+
var startY = at.current;
|
|
112
|
+
function setPanning(val) {
|
|
179
113
|
setIsDragging(val), SHEET_HIDDEN_STYLESHEET && (val ? SHEET_HIDDEN_STYLESHEET.innerText = ":root * { user-select: none !important; -webkit-user-select: none !important; }" : SHEET_HIDDEN_STYLESHEET.innerText = "");
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
var
|
|
183
|
-
|
|
184
|
-
var startY =
|
|
185
|
-
var
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
114
|
+
}
|
|
115
|
+
var release = function(param) {
|
|
116
|
+
var { vy, dragAt } = param;
|
|
117
|
+
isExternalDrag = !1, previouslyScrolling = !1, setPanning(!1);
|
|
118
|
+
for (var at2 = dragAt + startY, end = at2 + frameSize * vy * 0.2, closestPoint = 0, dist = Number.POSITIVE_INFINITY, i = 0; i < positions.length; i++) {
|
|
119
|
+
var position2 = positions[i], curDist = end > position2 ? end - position2 : position2 - end;
|
|
120
|
+
curDist < dist && (dist = curDist, closestPoint = i);
|
|
121
|
+
}
|
|
122
|
+
setPosition(closestPoint), animateTo(closestPoint);
|
|
123
|
+
}, finish = function(_e, state2) {
|
|
124
|
+
release({
|
|
125
|
+
vy: state2.vy,
|
|
126
|
+
dragAt: state2.dy
|
|
127
|
+
});
|
|
128
|
+
}, previouslyScrolling = !1, onMoveShouldSet = function(e, param) {
|
|
129
|
+
var { dy } = param;
|
|
130
|
+
if (e.target === providerProps.handleRef.current)
|
|
131
|
+
return !0;
|
|
132
|
+
var isScrolled = scrollBridge.y !== 0, isDraggingUp = dy < 0, isNearTop = scrollBridge.paneY - 5 <= scrollBridge.paneMinY;
|
|
133
|
+
return isScrolled ? (previouslyScrolling = !0, !1) : isNearTop && !isScrolled && isDraggingUp && !isWeb ? !1 : Math.abs(dy) > 5;
|
|
134
|
+
}, grant = function() {
|
|
135
|
+
setPanning(!0), stopSpring(), startY = at.current;
|
|
136
|
+
}, isExternalDrag = !1;
|
|
137
|
+
return scrollBridge.drag = function(dy) {
|
|
138
|
+
isExternalDrag || (isExternalDrag = !0, grant());
|
|
139
|
+
var to = dy + startY;
|
|
140
|
+
animatedNumber.setValue(resisted(to, minY), {
|
|
141
|
+
type: "direct"
|
|
142
|
+
});
|
|
143
|
+
}, scrollBridge.release = release, PanResponder.create({
|
|
144
|
+
onMoveShouldSetPanResponder: onMoveShouldSet,
|
|
145
|
+
onPanResponderGrant: grant,
|
|
146
|
+
onPanResponderMove: function(_e, param) {
|
|
147
|
+
var { dy } = param, toFull = dy + startY, to = resisted(toFull, minY);
|
|
148
|
+
animatedNumber.setValue(to, {
|
|
210
149
|
type: "direct"
|
|
211
150
|
});
|
|
212
|
-
},
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
animatedNumber.setValue(to, {
|
|
218
|
-
type: "direct"
|
|
219
|
-
});
|
|
220
|
-
},
|
|
221
|
-
onPanResponderEnd: finish,
|
|
222
|
-
onPanResponderTerminate: finish,
|
|
223
|
-
onPanResponderRelease: finish
|
|
224
|
-
});
|
|
225
|
-
}
|
|
151
|
+
},
|
|
152
|
+
onPanResponderEnd: finish,
|
|
153
|
+
onPanResponderTerminate: finish,
|
|
154
|
+
onPanResponderRelease: finish
|
|
155
|
+
});
|
|
226
156
|
}, [
|
|
227
157
|
disableDrag,
|
|
228
158
|
isShowingInnerSheet,
|
|
@@ -274,7 +204,7 @@ var hiddenSize = 10000.1, SheetImplementationCustom = themeable(/* @__PURE__ */
|
|
|
274
204
|
position,
|
|
275
205
|
isHidden
|
|
276
206
|
]);
|
|
277
|
-
var
|
|
207
|
+
var [opacity, setOpacity] = React.useState(open ? 1 : 0);
|
|
278
208
|
open && opacity === 0 && setOpacity(1), React.useEffect(function() {
|
|
279
209
|
if (!open) {
|
|
280
210
|
var tm = setTimeout(function() {
|
|
@@ -287,9 +217,10 @@ var hiddenSize = 10000.1, SheetImplementationCustom = themeable(/* @__PURE__ */
|
|
|
287
217
|
}, [
|
|
288
218
|
open
|
|
289
219
|
]);
|
|
290
|
-
var forcedContentHeight = hasFit ? void 0 : snapPointsMode === "percent" ?
|
|
220
|
+
var forcedContentHeight = hasFit ? void 0 : snapPointsMode === "percent" ? `${maxSnapPoint}${isWeb ? "dvh" : "%"}` : maxSnapPoint, contents = /* @__PURE__ */ _jsx(ParentSheetContext.Provider, {
|
|
291
221
|
value: nextParentContext,
|
|
292
|
-
children: /* @__PURE__ */ _jsxs(SheetProvider,
|
|
222
|
+
children: /* @__PURE__ */ _jsxs(SheetProvider, {
|
|
223
|
+
...providerProps,
|
|
293
224
|
children: [
|
|
294
225
|
/* @__PURE__ */ _jsx(AnimatePresence, {
|
|
295
226
|
custom: {
|
|
@@ -309,38 +240,39 @@ var hiddenSize = 10000.1, SheetImplementationCustom = themeable(/* @__PURE__ */
|
|
|
309
240
|
},
|
|
310
241
|
onLayout: handleMaxContentViewLayout
|
|
311
242
|
}),
|
|
312
|
-
/* @__PURE__ */ _jsx(AnimatedView,
|
|
313
|
-
ref
|
|
314
|
-
|
|
315
|
-
onLayout: handleAnimationViewLayout
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
243
|
+
/* @__PURE__ */ _jsx(AnimatedView, {
|
|
244
|
+
ref,
|
|
245
|
+
...panResponder?.panHandlers,
|
|
246
|
+
onLayout: handleAnimationViewLayout,
|
|
247
|
+
...!isDragging && {
|
|
248
|
+
// @ts-ignore for CSS driver this is necessary to attach the transition
|
|
249
|
+
animation
|
|
250
|
+
},
|
|
320
251
|
// @ts-ignore
|
|
321
252
|
disableClassName: !0,
|
|
322
253
|
style: [
|
|
323
|
-
|
|
254
|
+
{
|
|
324
255
|
position: "absolute",
|
|
325
256
|
zIndex,
|
|
326
257
|
width: "100%",
|
|
327
258
|
height: forcedContentHeight,
|
|
328
259
|
minHeight: forcedContentHeight,
|
|
329
|
-
opacity
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
260
|
+
opacity,
|
|
261
|
+
...(shouldHideParentSheet || !open) && {
|
|
262
|
+
pointerEvents: "none"
|
|
263
|
+
}
|
|
264
|
+
},
|
|
333
265
|
animatedStyle
|
|
334
266
|
],
|
|
335
267
|
children: props.children
|
|
336
|
-
})
|
|
268
|
+
})
|
|
337
269
|
]
|
|
338
|
-
})
|
|
270
|
+
})
|
|
339
271
|
}), adaptContext = React.useContext(AdaptParentContext), shouldMountChildren = !!(opacity || !unmountChildrenWhenHidden);
|
|
340
272
|
if (modal) {
|
|
341
|
-
var modalContents = /* @__PURE__ */ _jsx(Portal,
|
|
342
|
-
zIndex
|
|
343
|
-
|
|
273
|
+
var modalContents = /* @__PURE__ */ _jsx(Portal, {
|
|
274
|
+
zIndex,
|
|
275
|
+
...portalProps,
|
|
344
276
|
children: shouldMountChildren && /* @__PURE__ */ _jsx(ContainerComponent, {
|
|
345
277
|
children: /* @__PURE__ */ _jsx(Theme, {
|
|
346
278
|
forceClassName: !0,
|
|
@@ -351,7 +283,7 @@ var hiddenSize = 10000.1, SheetImplementationCustom = themeable(/* @__PURE__ */
|
|
|
351
283
|
})
|
|
352
284
|
})
|
|
353
285
|
})
|
|
354
|
-
})
|
|
286
|
+
});
|
|
355
287
|
return isWeb ? modalContents : /* @__PURE__ */ _jsx(SheetInsideSheetContext.Provider, {
|
|
356
288
|
value: onInnerSheet,
|
|
357
289
|
children: modalContents
|