@tamagui/sheet 1.72.2 → 1.73.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/SheetImplementationCustom.js +7 -4
- package/dist/cjs/SheetImplementationCustom.js.map +1 -1
- package/dist/cjs/SheetImplementationCustom.native.js +7 -4
- package/dist/cjs/SheetImplementationCustom.native.js.map +1 -1
- package/dist/cjs/useSheetProviderProps.js +4 -2
- package/dist/cjs/useSheetProviderProps.js.map +1 -1
- package/dist/cjs/useSheetProviderProps.native.js +4 -2
- package/dist/cjs/useSheetProviderProps.native.js.map +1 -1
- package/dist/esm/SheetImplementationCustom.js +8 -5
- package/dist/esm/SheetImplementationCustom.js.map +1 -1
- package/dist/esm/useSheetProviderProps.js +5 -3
- package/dist/esm/useSheetProviderProps.js.map +1 -1
- package/dist/jsx/SheetImplementationCustom.js +8 -5
- package/dist/jsx/SheetImplementationCustom.js.map +1 -1
- package/dist/jsx/SheetImplementationCustom.native.js +8 -5
- package/dist/jsx/SheetImplementationCustom.native.js.map +1 -1
- package/dist/jsx/useSheetProviderProps.js +5 -3
- package/dist/jsx/useSheetProviderProps.js.map +1 -1
- package/dist/jsx/useSheetProviderProps.native.js +5 -3
- package/dist/jsx/useSheetProviderProps.native.js.map +1 -1
- package/package.json +14 -14
- package/src/SheetImplementationCustom.tsx +12 -11
- package/src/useSheetProviderProps.tsx +3 -3
- package/types/SheetImplementationCustom.d.ts.map +1 -1
- package/types/useSheetProviderProps.d.ts.map +1 -1
- package/dist/cjs/useSheetChildren.js +0 -80
- package/dist/cjs/useSheetChildren.js.map +0 -6
- package/dist/cjs/useSheetSnapPoints.js +0 -77
- package/dist/cjs/useSheetSnapPoints.js.map +0 -6
- package/dist/esm/Sheet.mjs +0 -95
- package/dist/esm/Sheet.mjs.map +0 -6
- package/dist/esm/SheetContext.mjs +0 -13
- package/dist/esm/SheetContext.mjs.map +0 -6
- package/dist/esm/SheetController.mjs +0 -24
- package/dist/esm/SheetController.mjs.map +0 -6
- package/dist/esm/SheetImplementationCustom.mjs +0 -296
- package/dist/esm/SheetImplementationCustom.mjs.map +0 -6
- package/dist/esm/SheetScrollView.mjs +0 -52
- package/dist/esm/SheetScrollView.mjs.map +0 -6
- package/dist/esm/constants.mjs +0 -11
- package/dist/esm/constants.mjs.map +0 -6
- package/dist/esm/contexts.mjs +0 -9
- package/dist/esm/contexts.mjs.map +0 -6
- package/dist/esm/createSheet.mjs +0 -139
- package/dist/esm/createSheet.mjs.map +0 -6
- package/dist/esm/helpers.mjs +0 -11
- package/dist/esm/helpers.mjs.map +0 -6
- package/dist/esm/index.mjs +0 -10
- package/dist/esm/index.mjs.map +0 -6
- package/dist/esm/nativeSheet.mjs +0 -39
- package/dist/esm/nativeSheet.mjs.map +0 -6
- package/dist/esm/types.mjs +0 -1
- package/dist/esm/types.mjs.map +0 -6
- package/dist/esm/useSheet.mjs +0 -6
- package/dist/esm/useSheet.mjs.map +0 -6
- package/dist/esm/useSheetChildren.js +0 -46
- package/dist/esm/useSheetChildren.js.map +0 -6
- package/dist/esm/useSheetController.mjs +0 -17
- package/dist/esm/useSheetController.mjs.map +0 -6
- package/dist/esm/useSheetOffscreenSize.mjs +0 -27
- package/dist/esm/useSheetOffscreenSize.mjs.map +0 -6
- package/dist/esm/useSheetOpenState.mjs +0 -23
- package/dist/esm/useSheetOpenState.mjs.map +0 -6
- package/dist/esm/useSheetProviderProps.mjs +0 -90
- package/dist/esm/useSheetProviderProps.mjs.map +0 -6
- package/dist/esm/useSheetSnapPoints.js +0 -53
- package/dist/esm/useSheetSnapPoints.js.map +0 -6
- package/dist/jsx/Sheet.mjs +0 -99
- package/dist/jsx/Sheet.mjs.map +0 -6
- package/dist/jsx/SheetContext.mjs +0 -14
- package/dist/jsx/SheetContext.mjs.map +0 -6
- package/dist/jsx/SheetController.mjs +0 -24
- package/dist/jsx/SheetController.mjs.map +0 -6
- package/dist/jsx/SheetImplementationCustom.mjs +0 -351
- package/dist/jsx/SheetImplementationCustom.mjs.map +0 -6
- package/dist/jsx/SheetScrollView.mjs +0 -65
- package/dist/jsx/SheetScrollView.mjs.map +0 -6
- package/dist/jsx/constants.mjs +0 -21
- package/dist/jsx/constants.mjs.map +0 -6
- package/dist/jsx/contexts.mjs +0 -10
- package/dist/jsx/contexts.mjs.map +0 -6
- package/dist/jsx/createSheet.mjs +0 -151
- package/dist/jsx/createSheet.mjs.map +0 -6
- package/dist/jsx/helpers.mjs +0 -14
- package/dist/jsx/helpers.mjs.map +0 -6
- package/dist/jsx/index.mjs +0 -10
- package/dist/jsx/index.mjs.map +0 -6
- package/dist/jsx/nativeSheet.mjs +0 -46
- package/dist/jsx/nativeSheet.mjs.map +0 -6
- package/dist/jsx/types.mjs +0 -1
- package/dist/jsx/types.mjs.map +0 -6
- package/dist/jsx/useSheet.mjs +0 -6
- package/dist/jsx/useSheet.mjs.map +0 -6
- package/dist/jsx/useSheetChildren.js +0 -45
- package/dist/jsx/useSheetChildren.js.map +0 -6
- package/dist/jsx/useSheetChildren.mjs +0 -45
- package/dist/jsx/useSheetChildren.mjs.map +0 -6
- package/dist/jsx/useSheetController.mjs +0 -20
- package/dist/jsx/useSheetController.mjs.map +0 -6
- package/dist/jsx/useSheetOffscreenSize.mjs +0 -15
- package/dist/jsx/useSheetOffscreenSize.mjs.map +0 -6
- package/dist/jsx/useSheetOpenState.mjs +0 -26
- package/dist/jsx/useSheetOpenState.mjs.map +0 -6
- package/dist/jsx/useSheetProviderProps.mjs +0 -95
- package/dist/jsx/useSheetProviderProps.mjs.map +0 -6
- package/dist/jsx/useSheetSnapPoints.js +0 -53
- package/dist/jsx/useSheetSnapPoints.js.map +0 -6
- package/dist/jsx/useSheetSnapPoints.mjs +0 -53
- package/dist/jsx/useSheetSnapPoints.mjs.map +0 -6
package/dist/jsx/index.mjs
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export * from "./Sheet";
|
|
2
|
-
export * from "./useSheet";
|
|
3
|
-
export * from "./createSheet";
|
|
4
|
-
export * from "./SheetController";
|
|
5
|
-
export * from "./useSheetController";
|
|
6
|
-
import { setupNativeSheet } from "./nativeSheet";
|
|
7
|
-
export {
|
|
8
|
-
setupNativeSheet
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=index.mjs.map
|
package/dist/jsx/index.mjs.map
DELETED
package/dist/jsx/nativeSheet.mjs
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { YStack } from "@tamagui/stacks";
|
|
2
|
-
import { useEffect, useRef } from "react";
|
|
3
|
-
import { View } from "react-native";
|
|
4
|
-
import { SheetProvider } from "./SheetContext";
|
|
5
|
-
import { useSheetOpenState } from "./useSheetOpenState";
|
|
6
|
-
import { useSheetProviderProps } from "./useSheetProviderProps";
|
|
7
|
-
const nativeSheets = {
|
|
8
|
-
ios: null
|
|
9
|
-
};
|
|
10
|
-
function getNativeSheet(platform) {
|
|
11
|
-
return nativeSheets[platform];
|
|
12
|
-
}
|
|
13
|
-
function setupNativeSheet(platform, Implementation) {
|
|
14
|
-
if (platform === "ios") {
|
|
15
|
-
nativeSheets[platform] = (props) => {
|
|
16
|
-
const state = useSheetOpenState(props);
|
|
17
|
-
const providerProps = useSheetProviderProps(props, state);
|
|
18
|
-
const { open, setOpen } = state;
|
|
19
|
-
const ref = useRef();
|
|
20
|
-
useEffect(() => {
|
|
21
|
-
ref.current?.setVisibility(open);
|
|
22
|
-
}, [open]);
|
|
23
|
-
return <><SheetProvider {...providerProps} onlyShowFrame>
|
|
24
|
-
<Implementation ref={ref} onModalDismiss={() => setOpen(false)}><View style={{ flex: 1 }}>{props.children}</View></Implementation>
|
|
25
|
-
{
|
|
26
|
-
/* for some reason select triggers wont show on native if this isn't inside the actual tree not inside implementation... */
|
|
27
|
-
}
|
|
28
|
-
{
|
|
29
|
-
/* so just hiding it here for now... not great... */
|
|
30
|
-
}
|
|
31
|
-
<YStack
|
|
32
|
-
position="absolute"
|
|
33
|
-
opacity={0}
|
|
34
|
-
pointerEvents="none"
|
|
35
|
-
width={0}
|
|
36
|
-
height={0}
|
|
37
|
-
>{props.children}</YStack>
|
|
38
|
-
</SheetProvider></>;
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
export {
|
|
43
|
-
getNativeSheet,
|
|
44
|
-
setupNativeSheet
|
|
45
|
-
};
|
|
46
|
-
//# sourceMappingURL=nativeSheet.mjs.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/nativeSheet.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,cAAc;AACvB,SAA4B,WAAW,cAAc;AACrD,SAAS,YAAY;AAErB,SAAS,qBAAqB;AAE9B,SAAS,yBAAyB;AAClC,SAAS,6BAA6B;AAMtC,MAAM,eAAmF;AAAA,EACvF,KAAK;AACP;AAEO,SAAS,eAAe,UAAgC;AAC7D,SAAO,aAAa,QAAQ;AAC9B;AAEO,SAAS,iBAAiB,UAAgC,gBAAqB;AACpF,MAAI,aAAa,OAAO;AACtB,iBAAa,QAAQ,IAAI,CAAC,UAAsB;AAC9C,YAAM,QAAQ,kBAAkB,KAAK;AACrC,YAAM,gBAAgB,sBAAsB,OAAO,KAAK;AAIxD,YAAM,EAAE,MAAM,QAAQ,IAAI;AAC1B,YAAM,MAAM,OAET;AAEH,gBAAU,MAAM;AACd,YAAI,SAAS,cAAc,IAAI;AAAA,MACjC,GAAG,CAAC,IAAI,CAAC;AAQT,aACE,EACE,CAAC,kBAAkB,eAAe;AAAA,QAChC,CAAC,eAAe,KAAK,KAAK,gBAAgB,MAAM,QAAQ,KAAK,GAC3D,CAAC,KAAK,OAAO,EAAE,MAAM,EAAE,IAAI,MAAM,SAAS,EAAzC,KACH,EAFC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAMD,CAAC;AAAA,UACC,SAAS;AAAA,UACT,SAAS;AAAA,UACT,cAAc;AAAA,UACd,OAAO;AAAA,UACP,QAAQ;AAAA,UAEP,MAAM,SACT,EARC;AAAA,MASH,EAhBC,cAiBH;AAAA,IAEJ;AAAA,EACF;AACF;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
package/dist/jsx/types.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=types.mjs.map
|
package/dist/jsx/types.mjs.map
DELETED
package/dist/jsx/useSheet.mjs
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import React, { isValidElement } from "react";
|
|
2
|
-
function useSheetChildren(childrenProp) {
|
|
3
|
-
let handleComponent = null;
|
|
4
|
-
let overlayComponent = null;
|
|
5
|
-
let frameComponent = null;
|
|
6
|
-
React.Children.forEach(childrenProp, (child) => {
|
|
7
|
-
if (isValidElement(child)) {
|
|
8
|
-
const name = child.type?.["staticConfig"]?.componentName;
|
|
9
|
-
switch (name) {
|
|
10
|
-
case "SheetHandle":
|
|
11
|
-
handleComponent = child;
|
|
12
|
-
break;
|
|
13
|
-
case "Sheet":
|
|
14
|
-
frameComponent = child;
|
|
15
|
-
break;
|
|
16
|
-
case "SheetOverlay":
|
|
17
|
-
overlayComponent = child;
|
|
18
|
-
break;
|
|
19
|
-
default:
|
|
20
|
-
console.warn("Warning: passed invalid child to Sheet", child);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
let bottomCoverComponent = null;
|
|
25
|
-
if (frameComponent) {
|
|
26
|
-
bottomCoverComponent = React.cloneElement(frameComponent, {
|
|
27
|
-
children: null,
|
|
28
|
-
position: "absolute",
|
|
29
|
-
bottom: -100,
|
|
30
|
-
height: 110,
|
|
31
|
-
left: 0,
|
|
32
|
-
right: 0
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
return {
|
|
36
|
-
handleComponent,
|
|
37
|
-
overlayComponent,
|
|
38
|
-
frameComponent,
|
|
39
|
-
bottomCoverComponent
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
export {
|
|
43
|
-
useSheetChildren
|
|
44
|
-
};
|
|
45
|
-
//# sourceMappingURL=useSheetChildren.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/useSheetChildren.tsx"],
|
|
4
|
-
"mappings": "AAAA,OAAO,SAAS,sBAAsB;AAE/B,SAAS,iBAAiB,cAAmB;AAClD,MAAI,kBAA6C;AACjD,MAAI,mBAA8C;AAClD,MAAI,iBAA4C;AAGhD,QAAM,SAAS,QAAQ,cAAc,CAAC,UAAU;AAC9C,QAAI,eAAe,KAAK,GAAG;AACzB,YAAM,OAAO,MAAM,OAAO,cAAc,GAAG;AAC3C,cAAQ,MAAM;AAAA,QACZ,KAAK;AACH,4BAAkB;AAClB;AAAA,QACF,KAAK;AACH,2BAAiB;AACjB;AAAA,QACF,KAAK;AACH,6BAAmB;AACnB;AAAA,QACF;AACE,kBAAQ,KAAK,0CAA0C,KAAK;AAAA,MAChE;AAAA,IACF;AAAA,EACF,CAAC;AAED,MAAI,uBAA4B;AAEhC,MAAI,gBAAgB;AAClB,2BAAuB,MAAM,aAAa,gBAAgB;AAAA,MACxD,UAAU;AAAA,MACV,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,OAAO;AAAA,IACT,CAAC;AAAA,EACH;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import React, { isValidElement } from "react";
|
|
2
|
-
function useSheetChildren(childrenProp) {
|
|
3
|
-
let handleComponent = null;
|
|
4
|
-
let overlayComponent = null;
|
|
5
|
-
let frameComponent = null;
|
|
6
|
-
React.Children.forEach(childrenProp, (child) => {
|
|
7
|
-
if (isValidElement(child)) {
|
|
8
|
-
const name = child.type?.["staticConfig"]?.componentName;
|
|
9
|
-
switch (name) {
|
|
10
|
-
case "SheetHandle":
|
|
11
|
-
handleComponent = child;
|
|
12
|
-
break;
|
|
13
|
-
case "Sheet":
|
|
14
|
-
frameComponent = child;
|
|
15
|
-
break;
|
|
16
|
-
case "SheetOverlay":
|
|
17
|
-
overlayComponent = child;
|
|
18
|
-
break;
|
|
19
|
-
default:
|
|
20
|
-
console.warn("Warning: passed invalid child to Sheet", child);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
let bottomCoverComponent = null;
|
|
25
|
-
if (frameComponent) {
|
|
26
|
-
bottomCoverComponent = React.cloneElement(frameComponent, {
|
|
27
|
-
children: null,
|
|
28
|
-
position: "absolute",
|
|
29
|
-
bottom: -100,
|
|
30
|
-
height: 110,
|
|
31
|
-
left: 0,
|
|
32
|
-
right: 0
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
return {
|
|
36
|
-
handleComponent,
|
|
37
|
-
overlayComponent,
|
|
38
|
-
frameComponent,
|
|
39
|
-
bottomCoverComponent
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
export {
|
|
43
|
-
useSheetChildren
|
|
44
|
-
};
|
|
45
|
-
//# sourceMappingURL=useSheetChildren.mjs.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/useSheetChildren.tsx"],
|
|
4
|
-
"mappings": "AAAA,OAAO,SAAS,sBAAsB;AAE/B,SAAS,iBAAiB,cAAmB;AAClD,MAAI,kBAA6C;AACjD,MAAI,mBAA8C;AAClD,MAAI,iBAA4C;AAGhD,QAAM,SAAS,QAAQ,cAAc,CAAC,UAAU;AAC9C,QAAI,eAAe,KAAK,GAAG;AACzB,YAAM,OAAO,MAAM,OAAO,cAAc,GAAG;AAC3C,cAAQ,MAAM;AAAA,QACZ,KAAK;AACH,4BAAkB;AAClB;AAAA,QACF,KAAK;AACH,2BAAiB;AACjB;AAAA,QACF,KAAK;AACH,6BAAmB;AACnB;AAAA,QACF;AACE,kBAAQ,KAAK,0CAA0C,KAAK;AAAA,MAChE;AAAA,IACF;AAAA,EACF,CAAC;AAED,MAAI,uBAA4B;AAEhC,MAAI,gBAAgB;AAClB,2BAAuB,MAAM,aAAa,gBAAgB;AAAA,MACxD,UAAU;AAAA,MACV,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,OAAO;AAAA,IACT,CAAC;AAAA,EACH;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { createContext, useContext } from "react";
|
|
2
|
-
const useSheetController = () => {
|
|
3
|
-
const controller = useContext(SheetControllerContext);
|
|
4
|
-
const isHidden = controller?.hidden;
|
|
5
|
-
const isShowingNonSheet = isHidden && controller?.open;
|
|
6
|
-
return {
|
|
7
|
-
controller,
|
|
8
|
-
isHidden,
|
|
9
|
-
isShowingNonSheet,
|
|
10
|
-
disableDrag: controller?.disableDrag
|
|
11
|
-
};
|
|
12
|
-
};
|
|
13
|
-
const SheetControllerContext = createContext(
|
|
14
|
-
null
|
|
15
|
-
);
|
|
16
|
-
export {
|
|
17
|
-
SheetControllerContext,
|
|
18
|
-
useSheetController
|
|
19
|
-
};
|
|
20
|
-
//# sourceMappingURL=useSheetController.mjs.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/useSheetController.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,eAAe,kBAAkB;AAEnC,MAAM,qBAAqB,MAAM;AACtC,QAAM,aAAa,WAAW,sBAAsB;AACpD,QAAM,WAAW,YAAY;AAC7B,QAAM,oBAAoB,YAAY,YAAY;AAClD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa,YAAY;AAAA,EAC3B;AACF;AAEO,MAAM,yBAAyB;AAAA,EACpC;AACF;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
const useSheetOffscreenSize = ({
|
|
2
|
-
snapPoints,
|
|
3
|
-
position,
|
|
4
|
-
screenSize
|
|
5
|
-
}) => {
|
|
6
|
-
const maxPercentOpened = snapPoints[0] / 100;
|
|
7
|
-
const percentOpened = (snapPoints[position] || 0) / 100;
|
|
8
|
-
const percentHidden = 1 - maxPercentOpened - percentOpened;
|
|
9
|
-
const offscreenSize = percentHidden * screenSize;
|
|
10
|
-
return offscreenSize;
|
|
11
|
-
};
|
|
12
|
-
export {
|
|
13
|
-
useSheetOffscreenSize
|
|
14
|
-
};
|
|
15
|
-
//# sourceMappingURL=useSheetOffscreenSize.mjs.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/useSheetOffscreenSize.tsx"],
|
|
4
|
-
"mappings": "AAEO,MAAM,wBAAwB,CAAC;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AACF,MAAyB;AACvB,QAAM,mBAAmB,WAAW,CAAC,IAAI;AACzC,QAAM,iBAAiB,WAAW,QAAQ,KAAK,KAAK;AACpD,QAAM,gBAAgB,IAAI,mBAAmB;AAC7C,QAAM,gBAAgB,gBAAgB;AACtC,SAAO;AACT;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { useControllableState } from "@tamagui/use-controllable-state";
|
|
2
|
-
import { useSheetController } from "./useSheetController";
|
|
3
|
-
const useSheetOpenState = (props) => {
|
|
4
|
-
const { isHidden, controller } = useSheetController();
|
|
5
|
-
const onOpenChangeInternal = (val) => {
|
|
6
|
-
controller?.onOpenChange?.(val);
|
|
7
|
-
props.onOpenChange?.(val);
|
|
8
|
-
};
|
|
9
|
-
const [open, setOpen] = useControllableState({
|
|
10
|
-
prop: controller?.open ?? props.open,
|
|
11
|
-
defaultProp: props.defaultOpen ?? false,
|
|
12
|
-
onChange: onOpenChangeInternal,
|
|
13
|
-
strategy: "most-recent-wins",
|
|
14
|
-
transition: true
|
|
15
|
-
});
|
|
16
|
-
return {
|
|
17
|
-
open,
|
|
18
|
-
setOpen,
|
|
19
|
-
isHidden,
|
|
20
|
-
controller
|
|
21
|
-
};
|
|
22
|
-
};
|
|
23
|
-
export {
|
|
24
|
-
useSheetOpenState
|
|
25
|
-
};
|
|
26
|
-
//# sourceMappingURL=useSheetOpenState.mjs.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/useSheetOpenState.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,4BAA4B;AAGrC,SAAS,0BAA0B;AAE5B,MAAM,oBAAoB,CAAC,UAAsB;AACtD,QAAM,EAAE,UAAU,WAAW,IAAI,mBAAmB;AAEpD,QAAM,uBAAuB,CAAC,QAAiB;AAC7C,gBAAY,eAAe,GAAG;AAC9B,UAAM,eAAe,GAAG;AAAA,EAC1B;AAEA,QAAM,CAAC,MAAM,OAAO,IAAI,qBAAqB;AAAA,IAC3C,MAAM,YAAY,QAAQ,MAAM;AAAA,IAChC,aAAa,MAAM,eAAe;AAAA,IAClC,UAAU;AAAA,IACV,UAAU;AAAA,IACV,YAAY;AAAA,EACd,CAAC;AAED,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { useAnimationDriver } from "@tamagui/core";
|
|
2
|
-
import { useConstant } from "@tamagui/use-constant";
|
|
3
|
-
import { useControllableState } from "@tamagui/use-controllable-state";
|
|
4
|
-
import React, { useCallback, useEffect, useMemo, useState } from "react";
|
|
5
|
-
function useSheetProviderProps(props, state, options = {}) {
|
|
6
|
-
const contentRef = React.useRef(null);
|
|
7
|
-
const [frameSize, setFrameSize] = useState(0);
|
|
8
|
-
const snapPointsProp = props.snapPoints || [80];
|
|
9
|
-
const snapPoints = useMemo(
|
|
10
|
-
() => props.dismissOnSnapToBottom ? [...snapPointsProp, 0] : snapPointsProp,
|
|
11
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
12
|
-
[JSON.stringify(snapPointsProp), props.dismissOnSnapToBottom]
|
|
13
|
-
);
|
|
14
|
-
const [position_, setPositionImmediate] = useControllableState({
|
|
15
|
-
prop: props.position,
|
|
16
|
-
defaultProp: props.defaultPosition || (state.open ? 0 : -1),
|
|
17
|
-
onChange: props.onPositionChange,
|
|
18
|
-
strategy: "most-recent-wins",
|
|
19
|
-
transition: true
|
|
20
|
-
});
|
|
21
|
-
const position = state.open === false ? -1 : position_;
|
|
22
|
-
const { open } = state;
|
|
23
|
-
const setPosition = useCallback(
|
|
24
|
-
(next) => {
|
|
25
|
-
if (props.dismissOnSnapToBottom && next === snapPoints.length - 1) {
|
|
26
|
-
state.setOpen(false);
|
|
27
|
-
} else {
|
|
28
|
-
setPositionImmediate(next);
|
|
29
|
-
}
|
|
30
|
-
},
|
|
31
|
-
[props.dismissOnSnapToBottom, snapPoints.length, setPositionImmediate, state.setOpen]
|
|
32
|
-
);
|
|
33
|
-
if (process.env.NODE_ENV === "development") {
|
|
34
|
-
if (snapPoints.some((p) => p < 0 || p > 100)) {
|
|
35
|
-
console.warn(
|
|
36
|
-
"\u26A0\uFE0F Invalid snapPoint given, snapPoints must be between 0 and 100, equal to percent height of frame"
|
|
37
|
-
);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
if (open && props.dismissOnSnapToBottom && position === snapPoints.length - 1) {
|
|
41
|
-
setPositionImmediate(0);
|
|
42
|
-
}
|
|
43
|
-
const shouldSetPositionOpen = open && position < 0;
|
|
44
|
-
useEffect(() => {
|
|
45
|
-
if (shouldSetPositionOpen) {
|
|
46
|
-
setPosition(0);
|
|
47
|
-
}
|
|
48
|
-
}, [setPosition, shouldSetPositionOpen]);
|
|
49
|
-
const driver = useAnimationDriver();
|
|
50
|
-
if (!driver) {
|
|
51
|
-
throw new Error("Must set animations in tamagui.config.ts");
|
|
52
|
-
}
|
|
53
|
-
const scrollBridge = useConstant(() => ({
|
|
54
|
-
enabled: false,
|
|
55
|
-
y: 0,
|
|
56
|
-
paneY: 0,
|
|
57
|
-
paneMinY: 0,
|
|
58
|
-
scrollStartY: -1,
|
|
59
|
-
drag: () => {
|
|
60
|
-
},
|
|
61
|
-
release: () => {
|
|
62
|
-
},
|
|
63
|
-
scrollLock: false
|
|
64
|
-
}));
|
|
65
|
-
const removeScrollEnabled = props.forceRemoveScrollEnabled ?? (open && props.modal);
|
|
66
|
-
const maxSnapPoint = snapPoints.reduce((prev, cur) => Math.max(prev, cur));
|
|
67
|
-
const screenSize = frameSize / (maxSnapPoint / 100);
|
|
68
|
-
const providerProps = {
|
|
69
|
-
screenSize,
|
|
70
|
-
maxSnapPoint,
|
|
71
|
-
removeScrollEnabled,
|
|
72
|
-
scrollBridge,
|
|
73
|
-
modal: !!props.modal,
|
|
74
|
-
open: state.open,
|
|
75
|
-
setOpen: state.setOpen,
|
|
76
|
-
hidden: !!state.isHidden,
|
|
77
|
-
contentRef,
|
|
78
|
-
frameSize,
|
|
79
|
-
setFrameSize,
|
|
80
|
-
dismissOnOverlayPress: props.dismissOnOverlayPress ?? true,
|
|
81
|
-
dismissOnSnapToBottom: props.dismissOnSnapToBottom ?? false,
|
|
82
|
-
onOverlayComponent: options.onOverlayComponent,
|
|
83
|
-
scope: props.__scopeSheet,
|
|
84
|
-
position,
|
|
85
|
-
snapPoints,
|
|
86
|
-
setPosition,
|
|
87
|
-
setPositionImmediate,
|
|
88
|
-
onlyShowFrame: false
|
|
89
|
-
};
|
|
90
|
-
return providerProps;
|
|
91
|
-
}
|
|
92
|
-
export {
|
|
93
|
-
useSheetProviderProps
|
|
94
|
-
};
|
|
95
|
-
//# sourceMappingURL=useSheetProviderProps.mjs.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/useSheetProviderProps.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAyB,0BAA0B;AACnD,SAAS,mBAAmB;AAC5B,SAAS,4BAA4B;AACrC,OAAO,SAAS,aAAa,WAAW,SAAS,gBAAgB;AAO1D,SAAS,sBACd,OACA,OACA,UAEI,CAAC,GACL;AACA,QAAM,aAAa,MAAM,OAAuB,IAAI;AACpD,QAAM,CAAC,WAAW,YAAY,IAAI,SAAiB,CAAC;AACpD,QAAM,iBAAiB,MAAM,cAAc,CAAC,EAAE;AAE9C,QAAM,aAAa;AAAA,IACjB,MAAO,MAAM,wBAAwB,CAAC,GAAG,gBAAgB,CAAC,IAAI;AAAA;AAAA,IAE9D,CAAC,KAAK,UAAU,cAAc,GAAG,MAAM,qBAAqB;AAAA,EAC9D;AAGA,QAAM,CAAC,WAAW,oBAAoB,IAAI,qBAAqB;AAAA,IAC7D,MAAM,MAAM;AAAA,IACZ,aAAa,MAAM,oBAAoB,MAAM,OAAO,IAAI;AAAA,IACxD,UAAU,MAAM;AAAA,IAChB,UAAU;AAAA,IACV,YAAY;AAAA,EACd,CAAC;AAED,QAAM,WAAW,MAAM,SAAS,QAAQ,KAAK;AAE7C,QAAM,EAAE,KAAK,IAAI;AAEjB,QAAM,cAAc;AAAA,IAClB,CAAC,SAAiB;AAEhB,UAAI,MAAM,yBAAyB,SAAS,WAAW,SAAS,GAAG;AACjE,cAAM,QAAQ,KAAK;AAAA,MACrB,OAAO;AACL,6BAAqB,IAAI;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,CAAC,MAAM,uBAAuB,WAAW,QAAQ,sBAAsB,MAAM,OAAO;AAAA,EACtF;AAEA,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,QAAI,WAAW,KAAK,CAAC,MAAM,IAAI,KAAK,IAAI,GAAG,GAAG;AAC5C,cAAQ;AAAA,QACN;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAGA,MAAI,QAAQ,MAAM,yBAAyB,aAAa,WAAW,SAAS,GAAG;AAC7E,yBAAqB,CAAC;AAAA,EACxB;AAGA,QAAM,wBAAwB,QAAQ,WAAW;AACjD,YAAU,MAAM;AACd,QAAI,uBAAuB;AACzB,kBAAY,CAAC;AAAA,IACf;AAAA,EACF,GAAG,CAAC,aAAa,qBAAqB,CAAC;AAEvC,QAAM,SAAS,mBAAmB;AAClC,MAAI,CAAC,QAAQ;AACX,UAAM,IAAI,MAAM,0CAA0C;AAAA,EAC5D;AAEA,QAAM,eAAe,YAA0B,OAAO;AAAA,IACpD,SAAS;AAAA,IACT,GAAG;AAAA,IACH,OAAO;AAAA,IACP,UAAU;AAAA,IACV,cAAc;AAAA,IACd,MAAM,MAAM;AAAA,IAAC;AAAA,IACb,SAAS,MAAM;AAAA,IAAC;AAAA,IAChB,YAAY;AAAA,EACd,EAAE;AAEF,QAAM,sBAAsB,MAAM,6BAA6B,QAAQ,MAAM;AAE7E,QAAM,eAAe,WAAW,OAAO,CAAC,MAAM,QAAQ,KAAK,IAAI,MAAM,GAAG,CAAC;AACzE,QAAM,aAAa,aAAa,eAAe;AAE/C,QAAM,gBAAgB;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO,CAAC,CAAC,MAAM;AAAA,IACf,MAAM,MAAM;AAAA,IACZ,SAAS,MAAM;AAAA,IACf,QAAQ,CAAC,CAAC,MAAM;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA,uBAAuB,MAAM,yBAAyB;AAAA,IACtD,uBAAuB,MAAM,yBAAyB;AAAA,IACtD,oBAAoB,QAAQ;AAAA,IAC5B,OAAO,MAAM;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe;AAAA,EACjB;AAEA,SAAO;AACT;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { useEffect, useMemo } from "react";
|
|
2
|
-
const useSheetSnapPoints = ({
|
|
3
|
-
position,
|
|
4
|
-
setPosition,
|
|
5
|
-
dismissOnSnapToBottom,
|
|
6
|
-
snapPoints,
|
|
7
|
-
setPositionImmediate,
|
|
8
|
-
open,
|
|
9
|
-
frameSize
|
|
10
|
-
}) => {
|
|
11
|
-
if (process.env.NODE_ENV === "development") {
|
|
12
|
-
if (snapPoints.some((p) => p < 0 || p > 100)) {
|
|
13
|
-
console.warn(
|
|
14
|
-
"\u26A0\uFE0F Invalid snapPoint given, snapPoints must be between 0 and 100, equal to percent height of frame"
|
|
15
|
-
);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
if (open && dismissOnSnapToBottom && position === snapPoints.length - 1) {
|
|
19
|
-
setPositionImmediate(0);
|
|
20
|
-
}
|
|
21
|
-
const shouldSetPositionOpen = open && position < 0;
|
|
22
|
-
useEffect(() => {
|
|
23
|
-
if (shouldSetPositionOpen) {
|
|
24
|
-
setPosition(0);
|
|
25
|
-
}
|
|
26
|
-
}, [setPosition, shouldSetPositionOpen]);
|
|
27
|
-
const maxSnapPoint = snapPoints.reduce((prev, cur) => Math.max(prev, cur));
|
|
28
|
-
const screenSize = frameSize / (maxSnapPoint / 100);
|
|
29
|
-
const positions = useMemo(
|
|
30
|
-
() => snapPoints.map((point) => getPercentSize(point, screenSize)),
|
|
31
|
-
[frameSize, snapPoints]
|
|
32
|
-
);
|
|
33
|
-
return {
|
|
34
|
-
positions,
|
|
35
|
-
maxSnapPoint,
|
|
36
|
-
screenSize
|
|
37
|
-
};
|
|
38
|
-
};
|
|
39
|
-
function getPercentSize(point, screenSize) {
|
|
40
|
-
if (!screenSize)
|
|
41
|
-
return 0;
|
|
42
|
-
if (point === void 0) {
|
|
43
|
-
console.warn("No snapPoint");
|
|
44
|
-
return 0;
|
|
45
|
-
}
|
|
46
|
-
const pct = point / 100;
|
|
47
|
-
const next = Math.round(screenSize - pct * screenSize);
|
|
48
|
-
return next;
|
|
49
|
-
}
|
|
50
|
-
export {
|
|
51
|
-
useSheetSnapPoints
|
|
52
|
-
};
|
|
53
|
-
//# sourceMappingURL=useSheetSnapPoints.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/useSheetSnapPoints.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,WAAW,eAAe;AAI5B,MAAM,qBAAqB,CAAC;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAyB;AACvB,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,QAAI,WAAW,KAAK,CAAC,MAAM,IAAI,KAAK,IAAI,GAAG,GAAG;AAC5C,cAAQ;AAAA,QACN;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAGA,MAAI,QAAQ,yBAAyB,aAAa,WAAW,SAAS,GAAG;AACvE,yBAAqB,CAAC;AAAA,EACxB;AAGA,QAAM,wBAAwB,QAAQ,WAAW;AACjD,YAAU,MAAM;AACd,QAAI,uBAAuB;AACzB,kBAAY,CAAC;AAAA,IACf;AAAA,EACF,GAAG,CAAC,aAAa,qBAAqB,CAAC;AAEvC,QAAM,eAAe,WAAW,OAAO,CAAC,MAAM,QAAQ,KAAK,IAAI,MAAM,GAAG,CAAC;AACzE,QAAM,aAAa,aAAa,eAAe;AAE/C,QAAM,YAAY;AAAA,IAChB,MAAM,WAAW,IAAI,CAAC,UAAU,eAAe,OAAO,UAAU,CAAC;AAAA,IACjE,CAAC,WAAW,UAAU;AAAA,EACxB;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEA,SAAS,eAAe,OAAgB,YAAqB;AAC3D,MAAI,CAAC;AAAY,WAAO;AACxB,MAAI,UAAU,QAAW;AACvB,YAAQ,KAAK,cAAc;AAC3B,WAAO;AAAA,EACT;AACA,QAAM,MAAM,QAAQ;AACpB,QAAM,OAAO,KAAK,MAAM,aAAa,MAAM,UAAU;AAErD,SAAO;AACT;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { useEffect, useMemo } from "react";
|
|
2
|
-
const useSheetSnapPoints = ({
|
|
3
|
-
position,
|
|
4
|
-
setPosition,
|
|
5
|
-
dismissOnSnapToBottom,
|
|
6
|
-
snapPoints,
|
|
7
|
-
setPositionImmediate,
|
|
8
|
-
open,
|
|
9
|
-
frameSize
|
|
10
|
-
}) => {
|
|
11
|
-
if (process.env.NODE_ENV === "development") {
|
|
12
|
-
if (snapPoints.some((p) => p < 0 || p > 100)) {
|
|
13
|
-
console.warn(
|
|
14
|
-
"\u26A0\uFE0F Invalid snapPoint given, snapPoints must be between 0 and 100, equal to percent height of frame"
|
|
15
|
-
);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
if (open && dismissOnSnapToBottom && position === snapPoints.length - 1) {
|
|
19
|
-
setPositionImmediate(0);
|
|
20
|
-
}
|
|
21
|
-
const shouldSetPositionOpen = open && position < 0;
|
|
22
|
-
useEffect(() => {
|
|
23
|
-
if (shouldSetPositionOpen) {
|
|
24
|
-
setPosition(0);
|
|
25
|
-
}
|
|
26
|
-
}, [setPosition, shouldSetPositionOpen]);
|
|
27
|
-
const maxSnapPoint = snapPoints.reduce((prev, cur) => Math.max(prev, cur));
|
|
28
|
-
const screenSize = frameSize / (maxSnapPoint / 100);
|
|
29
|
-
const positions = useMemo(
|
|
30
|
-
() => snapPoints.map((point) => getPercentSize(point, screenSize)),
|
|
31
|
-
[frameSize, snapPoints]
|
|
32
|
-
);
|
|
33
|
-
return {
|
|
34
|
-
positions,
|
|
35
|
-
maxSnapPoint,
|
|
36
|
-
screenSize
|
|
37
|
-
};
|
|
38
|
-
};
|
|
39
|
-
function getPercentSize(point, screenSize) {
|
|
40
|
-
if (!screenSize)
|
|
41
|
-
return 0;
|
|
42
|
-
if (point === void 0) {
|
|
43
|
-
console.warn("No snapPoint");
|
|
44
|
-
return 0;
|
|
45
|
-
}
|
|
46
|
-
const pct = point / 100;
|
|
47
|
-
const next = Math.round(screenSize - pct * screenSize);
|
|
48
|
-
return next;
|
|
49
|
-
}
|
|
50
|
-
export {
|
|
51
|
-
useSheetSnapPoints
|
|
52
|
-
};
|
|
53
|
-
//# sourceMappingURL=useSheetSnapPoints.mjs.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/useSheetSnapPoints.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,WAAW,eAAe;AAI5B,MAAM,qBAAqB,CAAC;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAyB;AACvB,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,QAAI,WAAW,KAAK,CAAC,MAAM,IAAI,KAAK,IAAI,GAAG,GAAG;AAC5C,cAAQ;AAAA,QACN;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAGA,MAAI,QAAQ,yBAAyB,aAAa,WAAW,SAAS,GAAG;AACvE,yBAAqB,CAAC;AAAA,EACxB;AAGA,QAAM,wBAAwB,QAAQ,WAAW;AACjD,YAAU,MAAM;AACd,QAAI,uBAAuB;AACzB,kBAAY,CAAC;AAAA,IACf;AAAA,EACF,GAAG,CAAC,aAAa,qBAAqB,CAAC;AAEvC,QAAM,eAAe,WAAW,OAAO,CAAC,MAAM,QAAQ,KAAK,IAAI,MAAM,GAAG,CAAC;AACzE,QAAM,aAAa,aAAa,eAAe;AAE/C,QAAM,YAAY;AAAA,IAChB,MAAM,WAAW,IAAI,CAAC,UAAU,eAAe,OAAO,UAAU,CAAC;AAAA,IACjE,CAAC,WAAW,UAAU;AAAA,EACxB;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEA,SAAS,eAAe,OAAgB,YAAqB;AAC3D,MAAI,CAAC;AAAY,WAAO;AACxB,MAAI,UAAU,QAAW;AACvB,YAAQ,KAAK,cAAc;AAC3B,WAAO;AAAA,EACT;AACA,QAAM,MAAM,QAAQ;AACpB,QAAM,OAAO,KAAK,MAAM,aAAa,MAAM,UAAU;AAErD,SAAO;AACT;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|