@tamagui/sheet 1.61.3 → 1.62.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.
- package/dist/cjs/Sheet.js +16 -30
- package/dist/cjs/Sheet.js.map +1 -1
- package/dist/cjs/Sheet.native.js +119 -0
- package/dist/cjs/Sheet.native.js.map +6 -0
- package/dist/cjs/SheetContext.js +7 -13
- package/dist/cjs/SheetContext.js.map +1 -1
- package/dist/cjs/SheetContext.native.js +36 -0
- package/dist/cjs/SheetContext.native.js.map +6 -0
- package/dist/cjs/SheetController.js +7 -15
- package/dist/cjs/SheetController.js.map +1 -1
- package/dist/cjs/SheetController.native.js +42 -0
- package/dist/cjs/SheetController.native.js.map +6 -0
- package/dist/cjs/SheetImplementationCustom.js +99 -240
- package/dist/cjs/SheetImplementationCustom.js.map +2 -2
- package/dist/cjs/SheetImplementationCustom.native.js +281 -0
- package/dist/cjs/SheetImplementationCustom.native.js.map +6 -0
- package/dist/cjs/SheetScrollView.js +18 -44
- package/dist/cjs/SheetScrollView.js.map +1 -1
- package/dist/cjs/SheetScrollView.native.js +69 -0
- package/dist/cjs/SheetScrollView.native.js.map +6 -0
- package/dist/cjs/constants.js +7 -17
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/constants.native.js +36 -0
- package/dist/cjs/constants.native.js.map +6 -0
- package/dist/cjs/contexts.js +6 -11
- package/dist/cjs/contexts.js.map +1 -1
- package/dist/cjs/contexts.native.js +31 -0
- package/dist/cjs/contexts.native.js.map +6 -0
- package/dist/cjs/createSheet.js +42 -90
- package/dist/cjs/createSheet.js.map +2 -2
- package/dist/cjs/createSheet.native.js +146 -0
- package/dist/cjs/createSheet.native.js.map +6 -0
- package/dist/cjs/helpers.js +6 -13
- package/dist/cjs/helpers.js.map +1 -1
- package/dist/cjs/helpers.native.js +32 -0
- package/dist/cjs/helpers.native.js.map +6 -0
- package/dist/cjs/index.js +6 -11
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index.native.js +36 -0
- package/dist/cjs/index.native.js.map +6 -0
- package/dist/cjs/nativeSheet.js +25 -42
- package/dist/cjs/nativeSheet.js.map +1 -1
- package/dist/cjs/nativeSheet.native.js +55 -0
- package/dist/cjs/nativeSheet.native.js.map +6 -0
- package/dist/cjs/types.js +3 -6
- package/dist/cjs/types.js.map +1 -1
- package/dist/cjs/types.native.js +15 -0
- package/dist/cjs/types.native.js.map +6 -0
- package/dist/cjs/useSheet.js +5 -9
- package/dist/cjs/useSheet.js.map +1 -1
- package/dist/cjs/useSheet.native.js +27 -0
- package/dist/cjs/useSheet.native.js.map +6 -0
- package/dist/cjs/useSheetController.js +8 -15
- package/dist/cjs/useSheetController.js.map +1 -1
- package/dist/cjs/useSheetController.native.js +39 -0
- package/dist/cjs/useSheetController.native.js.map +6 -0
- package/dist/cjs/useSheetOffscreenSize.js +13 -30
- package/dist/cjs/useSheetOffscreenSize.js.map +2 -2
- package/dist/cjs/useSheetOffscreenSize.native.js +48 -0
- package/dist/cjs/useSheetOffscreenSize.native.js.map +6 -0
- package/dist/cjs/useSheetOpenState.js +12 -21
- package/dist/cjs/useSheetOpenState.js.map +1 -1
- package/dist/cjs/useSheetOpenState.native.js +43 -0
- package/dist/cjs/useSheetOpenState.native.js.map +6 -0
- package/dist/cjs/useSheetProviderProps.js +44 -96
- package/dist/cjs/useSheetProviderProps.js.map +1 -1
- package/dist/cjs/useSheetProviderProps.native.js +116 -0
- package/dist/cjs/useSheetProviderProps.native.js.map +6 -0
- package/dist/esm/Sheet.js +9 -14
- package/dist/esm/Sheet.js.map +1 -1
- package/dist/esm/SheetContext.js +1 -2
- package/dist/esm/SheetContext.js.map +1 -1
- package/dist/esm/SheetController.js +2 -3
- package/dist/esm/SheetController.js.map +1 -1
- package/dist/esm/SheetImplementationCustom.js +95 -217
- package/dist/esm/SheetImplementationCustom.js.map +2 -2
- package/dist/esm/SheetScrollView.js +13 -31
- package/dist/esm/SheetScrollView.js.map +1 -1
- package/dist/esm/constants.js +2 -8
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/contexts.js +1 -2
- package/dist/esm/contexts.js.map +1 -1
- package/dist/esm/createSheet.js +38 -70
- package/dist/esm/createSheet.js.map +2 -2
- package/dist/esm/helpers.js +1 -4
- package/dist/esm/helpers.js.map +1 -1
- package/dist/esm/nativeSheet.js +20 -27
- package/dist/esm/nativeSheet.js.map +1 -1
- package/dist/esm/useSheetController.js +3 -6
- package/dist/esm/useSheetController.js.map +1 -1
- package/dist/esm/useSheetOffscreenSize.js +8 -21
- package/dist/esm/useSheetOffscreenSize.js.map +2 -2
- package/dist/esm/useSheetOpenState.js +6 -10
- package/dist/esm/useSheetOpenState.js.map +1 -1
- package/dist/esm/useSheetProviderProps.js +36 -79
- package/dist/esm/useSheetProviderProps.js.map +1 -1
- package/dist/jsx/Sheet.js +9 -14
- package/dist/jsx/Sheet.js.map +1 -1
- package/dist/jsx/Sheet.native.js +95 -0
- package/dist/jsx/Sheet.native.js.map +6 -0
- package/dist/jsx/SheetContext.js +1 -2
- package/dist/jsx/SheetContext.js.map +1 -1
- package/dist/jsx/SheetContext.native.js +13 -0
- package/dist/jsx/SheetContext.native.js.map +6 -0
- package/dist/jsx/SheetController.js +1 -2
- package/dist/jsx/SheetController.js.map +1 -1
- package/dist/jsx/SheetController.native.js +23 -0
- package/dist/jsx/SheetController.native.js.map +6 -0
- package/dist/jsx/SheetImplementationCustom.js +90 -210
- package/dist/jsx/SheetImplementationCustom.js.map +2 -2
- package/dist/jsx/SheetImplementationCustom.native.js +288 -0
- package/dist/jsx/SheetImplementationCustom.native.js.map +6 -0
- package/dist/jsx/SheetScrollView.js +12 -30
- package/dist/jsx/SheetScrollView.js.map +1 -1
- package/dist/jsx/SheetScrollView.native.js +47 -0
- package/dist/jsx/SheetScrollView.native.js.map +6 -0
- package/dist/jsx/constants.js +2 -8
- package/dist/jsx/constants.js.map +1 -1
- package/dist/jsx/constants.native.js +11 -0
- package/dist/jsx/constants.native.js.map +6 -0
- package/dist/jsx/contexts.js +1 -2
- package/dist/jsx/contexts.js.map +1 -1
- package/dist/jsx/contexts.native.js +9 -0
- package/dist/jsx/contexts.native.js.map +6 -0
- package/dist/jsx/createSheet.js +30 -61
- package/dist/jsx/createSheet.js.map +2 -2
- package/dist/jsx/createSheet.native.js +128 -0
- package/dist/jsx/createSheet.native.js.map +6 -0
- package/dist/jsx/helpers.js +1 -4
- package/dist/jsx/helpers.js.map +1 -1
- package/dist/jsx/helpers.native.js +11 -0
- package/dist/jsx/helpers.native.js.map +6 -0
- package/dist/jsx/index.native.js +10 -0
- package/dist/jsx/index.native.js.map +6 -0
- package/dist/jsx/nativeSheet.js +21 -27
- package/dist/jsx/nativeSheet.js.map +1 -1
- package/dist/jsx/nativeSheet.native.js +40 -0
- package/dist/jsx/nativeSheet.native.js.map +6 -0
- package/dist/jsx/types.native.js +1 -0
- package/dist/jsx/types.native.js.map +6 -0
- package/dist/jsx/useSheet.native.js +6 -0
- package/dist/jsx/useSheet.native.js.map +6 -0
- package/dist/jsx/useSheetController.js +2 -5
- package/dist/jsx/useSheetController.js.map +1 -1
- package/dist/jsx/useSheetController.native.js +17 -0
- package/dist/jsx/useSheetController.native.js.map +6 -0
- package/dist/jsx/useSheetOffscreenSize.js +8 -21
- package/dist/jsx/useSheetOffscreenSize.js.map +2 -2
- package/dist/jsx/useSheetOffscreenSize.native.js +27 -0
- package/dist/jsx/useSheetOffscreenSize.native.js.map +6 -0
- package/dist/jsx/useSheetOpenState.js +5 -8
- package/dist/jsx/useSheetOpenState.js.map +1 -1
- package/dist/jsx/useSheetOpenState.native.js +23 -0
- package/dist/jsx/useSheetOpenState.native.js.map +6 -0
- package/dist/jsx/useSheetProviderProps.js +36 -79
- package/dist/jsx/useSheetProviderProps.js.map +1 -1
- package/dist/jsx/useSheetProviderProps.native.js +90 -0
- package/dist/jsx/useSheetProviderProps.native.js.map +6 -0
- package/package.json +14 -14
- package/src/SheetImplementationCustom.tsx +21 -3
- package/src/createSheet.tsx +21 -3
- package/types/Sheet.d.ts +2 -0
- package/types/Sheet.d.ts.map +1 -1
- package/types/SheetImplementationCustom.d.ts.map +1 -1
- package/types/createSheet.d.ts +22 -0
- package/types/createSheet.d.ts.map +1 -1
package/dist/jsx/createSheet.js
CHANGED
|
@@ -10,7 +10,7 @@ import { RemoveScroll } from "@tamagui/remove-scroll";
|
|
|
10
10
|
import { forwardRef, memo, useMemo } from "react";
|
|
11
11
|
import { Platform } from "react-native";
|
|
12
12
|
import { SHEET_HANDLE_NAME, SHEET_NAME, SHEET_OVERLAY_NAME } from "./constants";
|
|
13
|
-
import
|
|
13
|
+
import "./nativeSheet";
|
|
14
14
|
import { useSheetContext } from "./SheetContext";
|
|
15
15
|
import { SheetImplementationCustom } from "./SheetImplementationCustom";
|
|
16
16
|
import { SheetScrollView } from "./SheetScrollView";
|
|
@@ -20,15 +20,11 @@ function createSheet({ Handle, Frame, Overlay }) {
|
|
|
20
20
|
const SheetHandle = Handle.extractable(
|
|
21
21
|
({ __scopeSheet, ...props }) => {
|
|
22
22
|
const context = useSheetContext(SHEET_HANDLE_NAME, __scopeSheet);
|
|
23
|
-
|
|
24
|
-
return null;
|
|
25
|
-
}
|
|
26
|
-
return (
|
|
23
|
+
return context.onlyShowFrame ? null : (
|
|
27
24
|
// @ts-ignore
|
|
28
25
|
<Handle
|
|
29
26
|
onPress={() => {
|
|
30
|
-
const max = context.snapPoints.length + (context.dismissOnSnapToBottom ? -1 : 0);
|
|
31
|
-
const nextPos = (context.position + 1) % max;
|
|
27
|
+
const max = context.snapPoints.length + (context.dismissOnSnapToBottom ? -1 : 0), nextPos = (context.position + 1) % max;
|
|
32
28
|
context.setPosition(nextPos);
|
|
33
29
|
}}
|
|
34
30
|
open={context.open}
|
|
@@ -36,12 +32,9 @@ function createSheet({ Handle, Frame, Overlay }) {
|
|
|
36
32
|
/>
|
|
37
33
|
);
|
|
38
34
|
}
|
|
39
|
-
)
|
|
40
|
-
const SheetOverlay = Overlay.extractable(
|
|
35
|
+
), SheetOverlay = Overlay.extractable(
|
|
41
36
|
memo((propsIn) => {
|
|
42
|
-
const { __scopeSheet, ...props } = propsIn
|
|
43
|
-
const context = useSheetContext(SHEET_OVERLAY_NAME, __scopeSheet);
|
|
44
|
-
const element = useMemo(
|
|
37
|
+
const { __scopeSheet, ...props } = propsIn, context = useSheetContext(SHEET_OVERLAY_NAME, __scopeSheet), element = useMemo(
|
|
45
38
|
() => (
|
|
46
39
|
// @ts-ignore
|
|
47
40
|
<Overlay
|
|
@@ -49,59 +42,50 @@ function createSheet({ Handle, Frame, Overlay }) {
|
|
|
49
42
|
onPress={composeEventHandlers(
|
|
50
43
|
props.onPress,
|
|
51
44
|
context.dismissOnOverlayPress ? () => {
|
|
52
|
-
context.setOpen(
|
|
45
|
+
context.setOpen(!1);
|
|
53
46
|
} : void 0
|
|
54
47
|
)}
|
|
55
48
|
/>
|
|
56
49
|
),
|
|
57
50
|
[props.onPress, context.dismissOnOverlayPress]
|
|
58
51
|
);
|
|
59
|
-
useIsomorphicLayoutEffect(() => {
|
|
52
|
+
return useIsomorphicLayoutEffect(() => {
|
|
60
53
|
context.onOverlayComponent?.(element);
|
|
61
|
-
}, [element]);
|
|
62
|
-
if (context.onlyShowFrame) {
|
|
63
|
-
return null;
|
|
64
|
-
}
|
|
65
|
-
return null;
|
|
54
|
+
}, [element]), context.onlyShowFrame, null;
|
|
66
55
|
})
|
|
67
|
-
)
|
|
68
|
-
const SheetFrame = Frame.extractable(
|
|
56
|
+
), SheetFrame = Frame.extractable(
|
|
69
57
|
forwardRef(
|
|
70
58
|
({
|
|
71
59
|
__scopeSheet,
|
|
60
|
+
adjustPaddingForOffscreenContent,
|
|
61
|
+
disableHideBottomOverflow,
|
|
72
62
|
children,
|
|
73
63
|
...props
|
|
74
64
|
}, forwardedRef) => {
|
|
75
|
-
const context = useSheetContext(SHEET_NAME, __scopeSheet)
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
>
|
|
88
|
-
{children}
|
|
89
|
-
<Stack data-sheet-offscreen-pad height={offscreenSize} width="100%" />
|
|
90
|
-
</Frame>
|
|
91
|
-
);
|
|
92
|
-
}, [props, frameSize, offscreenSize, hasFit]);
|
|
65
|
+
const context = useSheetContext(SHEET_NAME, __scopeSheet), { hasFit, removeScrollEnabled, frameSize, contentRef } = context, composedContentRef = useComposedRefs(forwardedRef, contentRef), offscreenSize = useSheetOffscreenSize(context), sheetContents = useMemo(() => (
|
|
66
|
+
// @ts-ignore
|
|
67
|
+
<Frame
|
|
68
|
+
ref={composedContentRef}
|
|
69
|
+
flex={hasFit ? 0 : 1}
|
|
70
|
+
height={hasFit ? void 0 : frameSize}
|
|
71
|
+
{...props}
|
|
72
|
+
>
|
|
73
|
+
{children}
|
|
74
|
+
{adjustPaddingForOffscreenContent && <Stack data-sheet-offscreen-pad height={offscreenSize} width="100%" />}
|
|
75
|
+
</Frame>
|
|
76
|
+
), [props, frameSize, offscreenSize, adjustPaddingForOffscreenContent, hasFit]);
|
|
93
77
|
return <>
|
|
94
78
|
<RemoveScroll
|
|
95
79
|
forwardProps
|
|
96
80
|
enabled={removeScrollEnabled}
|
|
97
81
|
allowPinchZoom
|
|
98
82
|
shards={[contentRef]}
|
|
99
|
-
removeScrollBar={
|
|
83
|
+
removeScrollBar={!1}
|
|
100
84
|
>{sheetContents}</RemoveScroll>
|
|
101
85
|
{
|
|
102
86
|
/* below frame hide when bouncing past 100% */
|
|
103
87
|
}
|
|
104
|
-
{!
|
|
88
|
+
{!disableHideBottomOverflow && // @ts-ignore
|
|
105
89
|
<Frame
|
|
106
90
|
{...props}
|
|
107
91
|
componentName="SheetCover"
|
|
@@ -119,31 +103,16 @@ function createSheet({ Handle, Frame, Overlay }) {
|
|
|
119
103
|
</>;
|
|
120
104
|
}
|
|
121
105
|
)
|
|
122
|
-
)
|
|
123
|
-
|
|
124
|
-
const hydrated = useDidFinishSSR();
|
|
125
|
-
const { isShowingNonSheet } = useSheetController();
|
|
106
|
+
), Sheet = forwardRef(function(props, ref) {
|
|
107
|
+
const hydrated = useDidFinishSSR(), { isShowingNonSheet } = useSheetController();
|
|
126
108
|
let SheetImplementation = SheetImplementationCustom;
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
const impl = getNativeSheet("ios");
|
|
130
|
-
if (impl) {
|
|
131
|
-
SheetImplementation = impl;
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
if (isShowingNonSheet || !hydrated) {
|
|
136
|
-
return null;
|
|
137
|
-
}
|
|
138
|
-
return <SheetImplementation ref={ref} {...props} />;
|
|
139
|
-
});
|
|
140
|
-
const components = {
|
|
109
|
+
return props.native && Platform.OS, isShowingNonSheet || !hydrated ? null : <SheetImplementation ref={ref} {...props} />;
|
|
110
|
+
}), components = {
|
|
141
111
|
Frame: SheetFrame,
|
|
142
112
|
Overlay: SheetOverlay,
|
|
143
113
|
Handle: SheetHandle,
|
|
144
114
|
ScrollView: SheetScrollView
|
|
145
|
-
};
|
|
146
|
-
const Controlled = withStaticProperties(Sheet, components);
|
|
115
|
+
}, Controlled = withStaticProperties(Sheet, components);
|
|
147
116
|
return withStaticProperties(Sheet, {
|
|
148
117
|
...components,
|
|
149
118
|
Controlled
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/createSheet.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,uBAAuB;AAChC;AAAA,EAEE;AAAA,EAIA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,oBAAoB;AAC7B,SAA2C,YAAY,MAAM,eAAe;AAC5E,SAAS,gBAAsB;AAE/B,SAAS,mBAAmB,YAAY,0BAA0B;AAClE,
|
|
5
|
-
"names": [
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { useComposedRefs } from "@tamagui/compose-refs";
|
|
2
|
+
import {
|
|
3
|
+
Stack,
|
|
4
|
+
composeEventHandlers,
|
|
5
|
+
useDidFinishSSR,
|
|
6
|
+
useIsomorphicLayoutEffect,
|
|
7
|
+
withStaticProperties
|
|
8
|
+
} from "@tamagui/core";
|
|
9
|
+
import { RemoveScroll } from "@tamagui/remove-scroll";
|
|
10
|
+
import { forwardRef, memo, useMemo } from "react";
|
|
11
|
+
import { Platform } from "react-native";
|
|
12
|
+
import { SHEET_HANDLE_NAME, SHEET_NAME, SHEET_OVERLAY_NAME } from "./constants";
|
|
13
|
+
import { getNativeSheet } from "./nativeSheet";
|
|
14
|
+
import { useSheetContext } from "./SheetContext";
|
|
15
|
+
import { SheetImplementationCustom } from "./SheetImplementationCustom";
|
|
16
|
+
import { SheetScrollView } from "./SheetScrollView";
|
|
17
|
+
import { useSheetController } from "./useSheetController";
|
|
18
|
+
import { useSheetOffscreenSize } from "./useSheetOffscreenSize";
|
|
19
|
+
function createSheet({ Handle, Frame, Overlay }) {
|
|
20
|
+
const SheetHandle = Handle.extractable(
|
|
21
|
+
({ __scopeSheet, ...props }) => {
|
|
22
|
+
const context = useSheetContext(SHEET_HANDLE_NAME, __scopeSheet);
|
|
23
|
+
return context.onlyShowFrame ? null : (
|
|
24
|
+
// @ts-ignore
|
|
25
|
+
<Handle
|
|
26
|
+
onPress={() => {
|
|
27
|
+
const max = context.snapPoints.length + (context.dismissOnSnapToBottom ? -1 : 0), nextPos = (context.position + 1) % max;
|
|
28
|
+
context.setPosition(nextPos);
|
|
29
|
+
}}
|
|
30
|
+
open={context.open}
|
|
31
|
+
{...props}
|
|
32
|
+
/>
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
), SheetOverlay = Overlay.extractable(
|
|
36
|
+
memo((propsIn) => {
|
|
37
|
+
const { __scopeSheet, ...props } = propsIn, context = useSheetContext(SHEET_OVERLAY_NAME, __scopeSheet), element = useMemo(
|
|
38
|
+
() => (
|
|
39
|
+
// @ts-ignore
|
|
40
|
+
<Overlay
|
|
41
|
+
{...props}
|
|
42
|
+
onPress={composeEventHandlers(
|
|
43
|
+
props.onPress,
|
|
44
|
+
context.dismissOnOverlayPress ? () => {
|
|
45
|
+
context.setOpen(!1);
|
|
46
|
+
} : void 0
|
|
47
|
+
)}
|
|
48
|
+
/>
|
|
49
|
+
),
|
|
50
|
+
[props.onPress, context.dismissOnOverlayPress]
|
|
51
|
+
);
|
|
52
|
+
return useIsomorphicLayoutEffect(() => {
|
|
53
|
+
context.onOverlayComponent?.(element);
|
|
54
|
+
}, [element]), context.onlyShowFrame, null;
|
|
55
|
+
})
|
|
56
|
+
), SheetFrame = Frame.extractable(
|
|
57
|
+
forwardRef(
|
|
58
|
+
({
|
|
59
|
+
__scopeSheet,
|
|
60
|
+
adjustPaddingForOffscreenContent,
|
|
61
|
+
disableHideBottomOverflow,
|
|
62
|
+
children,
|
|
63
|
+
...props
|
|
64
|
+
}, forwardedRef) => {
|
|
65
|
+
const context = useSheetContext(SHEET_NAME, __scopeSheet), { hasFit, removeScrollEnabled, frameSize, contentRef } = context, composedContentRef = useComposedRefs(forwardedRef, contentRef), offscreenSize = useSheetOffscreenSize(context), sheetContents = useMemo(() => (
|
|
66
|
+
// @ts-ignore
|
|
67
|
+
<Frame
|
|
68
|
+
ref={composedContentRef}
|
|
69
|
+
flex={hasFit ? 0 : 1}
|
|
70
|
+
height={hasFit ? void 0 : frameSize}
|
|
71
|
+
{...props}
|
|
72
|
+
>
|
|
73
|
+
{children}
|
|
74
|
+
{adjustPaddingForOffscreenContent && <Stack data-sheet-offscreen-pad height={offscreenSize} width="100%" />}
|
|
75
|
+
</Frame>
|
|
76
|
+
), [props, frameSize, offscreenSize, adjustPaddingForOffscreenContent, hasFit]);
|
|
77
|
+
return <>
|
|
78
|
+
<RemoveScroll
|
|
79
|
+
forwardProps
|
|
80
|
+
enabled={removeScrollEnabled}
|
|
81
|
+
allowPinchZoom
|
|
82
|
+
shards={[contentRef]}
|
|
83
|
+
removeScrollBar={!1}
|
|
84
|
+
>{sheetContents}</RemoveScroll>
|
|
85
|
+
{
|
|
86
|
+
/* below frame hide when bouncing past 100% */
|
|
87
|
+
}
|
|
88
|
+
{!disableHideBottomOverflow && // @ts-ignore
|
|
89
|
+
<Frame
|
|
90
|
+
{...props}
|
|
91
|
+
componentName="SheetCover"
|
|
92
|
+
children={null}
|
|
93
|
+
position="absolute"
|
|
94
|
+
bottom="-50%"
|
|
95
|
+
zIndex={-1}
|
|
96
|
+
height={context.frameSize}
|
|
97
|
+
left={0}
|
|
98
|
+
right={0}
|
|
99
|
+
borderWidth={0}
|
|
100
|
+
borderRadius={0}
|
|
101
|
+
shadowOpacity={0}
|
|
102
|
+
/>}
|
|
103
|
+
</>;
|
|
104
|
+
}
|
|
105
|
+
)
|
|
106
|
+
), Sheet = forwardRef(function(props, ref) {
|
|
107
|
+
const hydrated = useDidFinishSSR(), { isShowingNonSheet } = useSheetController();
|
|
108
|
+
let SheetImplementation = SheetImplementationCustom;
|
|
109
|
+
if (props.native && Platform.OS === "ios") {
|
|
110
|
+
const impl = getNativeSheet("ios");
|
|
111
|
+
impl && (SheetImplementation = impl);
|
|
112
|
+
}
|
|
113
|
+
return isShowingNonSheet || !hydrated ? null : <SheetImplementation ref={ref} {...props} />;
|
|
114
|
+
}), components = {
|
|
115
|
+
Frame: SheetFrame,
|
|
116
|
+
Overlay: SheetOverlay,
|
|
117
|
+
Handle: SheetHandle,
|
|
118
|
+
ScrollView: SheetScrollView
|
|
119
|
+
}, Controlled = withStaticProperties(Sheet, components);
|
|
120
|
+
return withStaticProperties(Sheet, {
|
|
121
|
+
...components,
|
|
122
|
+
Controlled
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
export {
|
|
126
|
+
createSheet
|
|
127
|
+
};
|
|
128
|
+
//# sourceMappingURL=createSheet.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/createSheet.tsx"],
|
|
4
|
+
"mappings": "AAAA,SAAS,uBAAuB;AAChC;AAAA,EAEE;AAAA,EAIA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,oBAAoB;AAC7B,SAA2C,YAAY,MAAM,eAAe;AAC5E,SAAS,gBAAsB;AAE/B,SAAS,mBAAmB,YAAY,0BAA0B;AAClE,SAAS,sBAAsB;AAC/B,SAAS,uBAAuB;AAChC,SAAS,iCAAiC;AAC1C,SAAS,uBAAuB;AAEhC,SAAS,0BAA0B;AACnC,SAAS,6BAA6B;AAU/B,SAAS,YAId,EAAE,QAAQ,OAAO,QAAQ,GAAwC;AACjE,QAAM,cAAc,OAAO;AAAA,IACzB,CAAC,EAAE,cAAc,GAAG,MAAM,MAAiD;AACzE,YAAM,UAAU,gBAAgB,mBAAmB,YAAY;AAE/D,aAAI,QAAQ,gBACH;AAAA;AAAA,QAKP,CAAC;AAAA,UACC,SAAS,MAAM;AAEb,kBAAM,MACJ,QAAQ,WAAW,UAAU,QAAQ,wBAAwB,KAAK,IAC9D,WAAW,QAAQ,WAAW,KAAK;AACzC,oBAAQ,YAAY,OAAO;AAAA,UAC7B;AAAA,UACA,MAAM,QAAQ;AAAA,cACV;AAAA,QACN;AAAA;AAAA,IAEJ;AAAA,EACF,GAMM,eAAe,QAAQ;AAAA,IAC3B,KAAK,CAAC,YAAwD;AAC5D,YAAM,EAAE,cAAc,GAAG,MAAM,IAAI,SAC7B,UAAU,gBAAgB,oBAAoB,YAAY,GAK1D,UAAU;AAAA,QACd;AAAA;AAAA,UAEE,CAAC;AAAA,gBACK;AAAA,YACJ,SAAS;AAAA,cACP,MAAM;AAAA,cACN,QAAQ,wBACJ,MAAM;AACJ,wBAAQ,QAAQ,EAAK;AAAA,cACvB,IACA;AAAA,YACN;AAAA,UACF;AAAA;AAAA,QAEF,CAAC,MAAM,SAAS,QAAQ,qBAAqB;AAAA,MAC/C;AAMA,aAJA,0BAA0B,MAAM;AAC9B,gBAAQ,qBAAqB,OAAO;AAAA,MACtC,GAAG,CAAC,OAAO,CAAC,GAER,QAAQ,eACH;AAAA,IAIX,CAAC;AAAA,EACH,GAMM,aAAa,MAAM;AAAA,IACvB;AAAA,MACE,CACE;AAAA,QACE;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,GAAG;AAAA,MACL,GAiBA,iBACG;AACH,cAAM,UAAU,gBAAgB,YAAY,YAAY,GAClD,EAAE,QAAQ,qBAAqB,WAAW,WAAW,IAAI,SACzD,qBAAqB,gBAAgB,cAAc,UAAU,GAC7D,gBAAgB,sBAAsB,OAAO,GAE7C,gBAAgB,QAAQ;AAAA;AAAA,UAG1B,CAAC;AAAA,YACC,KAAK;AAAA,YACL,MAAM,SAAS,IAAI;AAAA,YACnB,QAAQ,SAAS,SAAY;AAAA,gBACzB;AAAA;AAAA,aAEH;AAAA,aAEA,oCACC,CAAC,MAAM,yBAAyB,QAAQ,eAAe,MAAM,OAAO;AAAA,UAExE,EAXC;AAAA,WAaF,CAAC,OAAO,WAAW,eAAe,kCAAkC,MAAM,CAAC;AAE9E,eACE;AAAA,UACE,CAAC;AAAA,YACC;AAAA,YACA,SAAS;AAAA,YACT;AAAA,YACA,QAAQ,CAAC,UAAU;AAAA,YAEnB,iBAAiB;AAAA,YAEhB,cACH,EATC;AAAA;AAAA;AAAA;AAAA,WAYA,CAAC;AAAA,UAEA,CAAC;AAAA,gBACK;AAAA,YACJ,cAAc;AAAA,YACd,UAAU;AAAA,YACV,SAAS;AAAA,YACT,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,QAAQ,QAAQ;AAAA,YAChB,MAAM;AAAA,YACN,OAAO;AAAA,YACP,aAAa;AAAA,YACb,cAAc;AAAA,YACd,eAAe;AAAA,UACjB;AAAA,QAEJ;AAAA,MAEJ;AAAA,IACF;AAAA,EACF,GAEM,QAAQ,WAA6B,SAAe,OAAO,KAAK;AACpE,UAAM,WAAW,gBAAgB,GAC3B,EAAE,kBAAkB,IAAI,mBAAmB;AAEjD,QAAI,sBAAsB;AAE1B,QAAI,MAAM,UAAU,SAAS,OAAO,OACW;AAC3C,YAAM,OAAO,eAAe,KAAK;AACjC,MAAI,SACF,sBAAsB;AAAA,IAE1B;AAMF,WAAI,qBAAqB,CAAC,WACjB,OAGF,CAAC,oBAAoB,KAAK,SAAS,OAAO;AAAA,EACnD,CAAC,GAEK,aAAa;AAAA,IACjB,OAAO;AAAA,IACP,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,YAAY;AAAA,EACd,GAEM,aAAa,qBAAqB,OAAO,UAAU;AAKzD,SAAO,qBAAqB,OAAO;AAAA,IACjC,GAAG;AAAA,IACH;AAAA,EACF,CAAC;AACH;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
package/dist/jsx/helpers.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
function resisted(y, minY, maxOverflow = 25) {
|
|
2
2
|
if (y < minY) {
|
|
3
|
-
const past = minY - y;
|
|
4
|
-
const pctPast = Math.min(maxOverflow, past) / maxOverflow;
|
|
5
|
-
const diminishBy = 1.1 - 0.1 ** pctPast;
|
|
6
|
-
const extra = -diminishBy * maxOverflow;
|
|
3
|
+
const past = minY - y, extra = -(1.1 - 0.1 ** (Math.min(maxOverflow, past) / maxOverflow)) * maxOverflow;
|
|
7
4
|
return minY + extra;
|
|
8
5
|
}
|
|
9
6
|
return y;
|
package/dist/jsx/helpers.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/helpers.tsx"],
|
|
4
|
-
"mappings": "AAAO,SAAS,SAAS,GAAW,MAAc,cAAc,IAAI;AAClE,MAAI,IAAI,MAAM;AACZ,UAAM,OAAO,OAAO
|
|
4
|
+
"mappings": "AAAO,SAAS,SAAS,GAAW,MAAc,cAAc,IAAI;AAClE,MAAI,IAAI,MAAM;AACZ,UAAM,OAAO,OAAO,GAGd,QAAQ,EADK,MAAM,QADT,KAAK,IAAI,aAAa,IAAI,IAAI,gBAElB;AAC5B,WAAO,OAAO;AAAA,EAChB;AACA,SAAO;AACT;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
function resisted(y, minY, maxOverflow = 25) {
|
|
2
|
+
if (y < minY) {
|
|
3
|
+
const past = minY - y, extra = -(1.1 - 0.1 ** (Math.min(maxOverflow, past) / maxOverflow)) * maxOverflow;
|
|
4
|
+
return minY + extra;
|
|
5
|
+
}
|
|
6
|
+
return y;
|
|
7
|
+
}
|
|
8
|
+
export {
|
|
9
|
+
resisted
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1,10 @@
|
|
|
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.js.map
|
package/dist/jsx/nativeSheet.js
CHANGED
|
@@ -11,33 +11,27 @@ function getNativeSheet(platform) {
|
|
|
11
11
|
return nativeSheets[platform];
|
|
12
12
|
}
|
|
13
13
|
function setupNativeSheet(platform, Implementation) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
{
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
width={0}
|
|
36
|
-
height={0}
|
|
37
|
-
>{props.children}</YStack>
|
|
38
|
-
</SheetProvider></>;
|
|
39
|
-
};
|
|
40
|
-
}
|
|
14
|
+
platform === "ios" && (nativeSheets[platform] = (props) => {
|
|
15
|
+
const state = useSheetOpenState(props), providerProps = useSheetProviderProps(props, state), { open, setOpen } = state, ref = useRef();
|
|
16
|
+
return useEffect(() => {
|
|
17
|
+
ref.current?.setVisibility(open);
|
|
18
|
+
}, [open]), <><SheetProvider {...providerProps} onlyShowFrame>
|
|
19
|
+
<Implementation ref={ref} onModalDismiss={() => setOpen(!1)}><View style={{ flex: 1 }}>{props.children}</View></Implementation>
|
|
20
|
+
{
|
|
21
|
+
/* for some reason select triggers wont show on native if this isn't inside the actual tree not inside implementation... */
|
|
22
|
+
}
|
|
23
|
+
{
|
|
24
|
+
/* so just hiding it here for now... not great... */
|
|
25
|
+
}
|
|
26
|
+
<YStack
|
|
27
|
+
position="absolute"
|
|
28
|
+
opacity={0}
|
|
29
|
+
pointerEvents="none"
|
|
30
|
+
width={0}
|
|
31
|
+
height={0}
|
|
32
|
+
>{props.children}</YStack>
|
|
33
|
+
</SheetProvider></>;
|
|
34
|
+
});
|
|
41
35
|
}
|
|
42
36
|
export {
|
|
43
37
|
getNativeSheet,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
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,
|
|
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,EAAI,aAAa,UACf,aAAa,QAAQ,IAAI,CAAC,UAAsB;AAC9C,UAAM,QAAQ,kBAAkB,KAAK,GAC/B,gBAAgB,sBAAsB,OAAO,KAAK,GAIlD,EAAE,MAAM,QAAQ,IAAI,OACpB,MAAM,OAET;AAEH,qBAAU,MAAM;AACd,UAAI,SAAS,cAAc,IAAI;AAAA,IACjC,GAAG,CAAC,IAAI,CAAC,GASP,EACE,CAAC,kBAAkB,eAAe;AAAA,MAChC,CAAC,eAAe,KAAK,KAAK,gBAAgB,MAAM,QAAQ,EAAK,GAC3D,CAAC,KAAK,OAAO,EAAE,MAAM,EAAE,IAAI,MAAM,SAAS,EAAzC,KACH,EAFC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAMD,CAAC;AAAA,QACC,SAAS;AAAA,QACT,SAAS;AAAA,QACT,cAAc;AAAA,QACd,OAAO;AAAA,QACP,QAAQ;AAAA,QAEP,MAAM,SACT,EARC;AAAA,IASH,EAhBC,cAiBH;AAAA,EAEJ;AAEJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1,40 @@
|
|
|
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
|
+
platform === "ios" && (nativeSheets[platform] = (props) => {
|
|
15
|
+
const state = useSheetOpenState(props), providerProps = useSheetProviderProps(props, state), { open, setOpen } = state, ref = useRef();
|
|
16
|
+
return useEffect(() => {
|
|
17
|
+
ref.current?.setVisibility(open);
|
|
18
|
+
}, [open]), <><SheetProvider {...providerProps} onlyShowFrame>
|
|
19
|
+
<Implementation ref={ref} onModalDismiss={() => setOpen(!1)}><View style={{ flex: 1 }}>{props.children}</View></Implementation>
|
|
20
|
+
{
|
|
21
|
+
/* for some reason select triggers wont show on native if this isn't inside the actual tree not inside implementation... */
|
|
22
|
+
}
|
|
23
|
+
{
|
|
24
|
+
/* so just hiding it here for now... not great... */
|
|
25
|
+
}
|
|
26
|
+
<YStack
|
|
27
|
+
position="absolute"
|
|
28
|
+
opacity={0}
|
|
29
|
+
pointerEvents="none"
|
|
30
|
+
width={0}
|
|
31
|
+
height={0}
|
|
32
|
+
>{props.children}</YStack>
|
|
33
|
+
</SheetProvider></>;
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
export {
|
|
37
|
+
getNativeSheet,
|
|
38
|
+
setupNativeSheet
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=nativeSheet.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
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,EAAI,aAAa,UACf,aAAa,QAAQ,IAAI,CAAC,UAAsB;AAC9C,UAAM,QAAQ,kBAAkB,KAAK,GAC/B,gBAAgB,sBAAsB,OAAO,KAAK,GAIlD,EAAE,MAAM,QAAQ,IAAI,OACpB,MAAM,OAET;AAEH,qBAAU,MAAM;AACd,UAAI,SAAS,cAAc,IAAI;AAAA,IACjC,GAAG,CAAC,IAAI,CAAC,GASP,EACE,CAAC,kBAAkB,eAAe;AAAA,MAChC,CAAC,eAAe,KAAK,KAAK,gBAAgB,MAAM,QAAQ,EAAK,GAC3D,CAAC,KAAK,OAAO,EAAE,MAAM,EAAE,IAAI,MAAM,SAAS,EAAzC,KACH,EAFC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAMD,CAAC;AAAA,QACC,SAAS;AAAA,QACT,SAAS;AAAA,QACT,cAAc;AAAA,QACd,OAAO;AAAA,QACP,QAAQ;AAAA,QAEP,MAAM,SACT,EARC;AAAA,IASH,EAhBC,cAiBH;AAAA,EAEJ;AAEJ;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
import { createContext, useContext } from "react";
|
|
2
2
|
const useSheetController = () => {
|
|
3
|
-
const controller = useContext(SheetControllerContext);
|
|
4
|
-
const isHidden = controller?.hidden;
|
|
5
|
-
const isShowingNonSheet = isHidden && controller?.open;
|
|
3
|
+
const controller = useContext(SheetControllerContext), isHidden = controller?.hidden, isShowingNonSheet = isHidden && controller?.open;
|
|
6
4
|
return {
|
|
7
5
|
controller,
|
|
8
6
|
isHidden,
|
|
9
7
|
isShowingNonSheet,
|
|
10
8
|
disableDrag: controller?.disableDrag
|
|
11
9
|
};
|
|
12
|
-
}
|
|
13
|
-
const SheetControllerContext = createContext(
|
|
10
|
+
}, SheetControllerContext = createContext(
|
|
14
11
|
null
|
|
15
12
|
);
|
|
16
13
|
export {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/useSheetController.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,eAAe,kBAAkB;AAEnC,MAAM,qBAAqB,MAAM;AACtC,QAAM,aAAa,WAAW,sBAAsB
|
|
4
|
+
"mappings": "AAAA,SAAS,eAAe,kBAAkB;AAEnC,MAAM,qBAAqB,MAAM;AACtC,QAAM,aAAa,WAAW,sBAAsB,GAC9C,WAAW,YAAY,QACvB,oBAAoB,YAAY,YAAY;AAClD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa,YAAY;AAAA,EAC3B;AACF,GAEa,yBAAyB;AAAA,EACpC;AACF;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { createContext, useContext } from "react";
|
|
2
|
+
const useSheetController = () => {
|
|
3
|
+
const controller = useContext(SheetControllerContext), isHidden = controller?.hidden, isShowingNonSheet = isHidden && controller?.open;
|
|
4
|
+
return {
|
|
5
|
+
controller,
|
|
6
|
+
isHidden,
|
|
7
|
+
isShowingNonSheet,
|
|
8
|
+
disableDrag: controller?.disableDrag
|
|
9
|
+
};
|
|
10
|
+
}, SheetControllerContext = createContext(
|
|
11
|
+
null
|
|
12
|
+
);
|
|
13
|
+
export {
|
|
14
|
+
SheetControllerContext,
|
|
15
|
+
useSheetController
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=useSheetController.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/useSheetController.tsx"],
|
|
4
|
+
"mappings": "AAAA,SAAS,eAAe,kBAAkB;AAEnC,MAAM,qBAAqB,MAAM;AACtC,QAAM,aAAa,WAAW,sBAAsB,GAC9C,WAAW,YAAY,QACvB,oBAAoB,YAAY,YAAY;AAClD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa,YAAY;AAAA,EAC3B;AACF,GAEa,yBAAyB;AAAA,EACpC;AACF;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -5,34 +5,21 @@ const useSheetOffscreenSize = ({
|
|
|
5
5
|
frameSize,
|
|
6
6
|
snapPointsMode
|
|
7
7
|
}) => {
|
|
8
|
-
if (snapPointsMode === "fit")
|
|
8
|
+
if (snapPointsMode === "fit")
|
|
9
9
|
return 0;
|
|
10
|
-
}
|
|
11
10
|
if (snapPointsMode === "constant") {
|
|
12
|
-
const maxSize2 = Number(snapPoints[0]);
|
|
13
|
-
|
|
14
|
-
const offscreenSize2 = maxSize2 - currentSize2;
|
|
15
|
-
return offscreenSize2;
|
|
11
|
+
const maxSize2 = Number(snapPoints[0]), currentSize2 = Number(snapPoints[position] ?? 0);
|
|
12
|
+
return maxSize2 - currentSize2;
|
|
16
13
|
}
|
|
17
14
|
if (snapPointsMode === "percent") {
|
|
18
|
-
const maxPercentOpened = Number(snapPoints[0]) / 100;
|
|
19
|
-
|
|
20
|
-
const percentHidden = maxPercentOpened - percentOpened;
|
|
21
|
-
const offscreenSize2 = percentHidden * screenSize;
|
|
22
|
-
return offscreenSize2;
|
|
15
|
+
const maxPercentOpened = Number(snapPoints[0]) / 100, percentOpened = Number(snapPoints[position] ?? 0) / 100;
|
|
16
|
+
return (maxPercentOpened - percentOpened) * screenSize;
|
|
23
17
|
}
|
|
24
18
|
const maxSnapPoint = snapPoints[0];
|
|
25
|
-
if (maxSnapPoint === "fit")
|
|
26
|
-
return 0;
|
|
27
|
-
}
|
|
28
|
-
const maxSize = typeof maxSnapPoint === "string" ? Number(maxSnapPoint.slice(0, -1)) / 100 * screenSize : maxSnapPoint;
|
|
29
|
-
const currentSnapPoint = snapPoints[position] ?? 0;
|
|
30
|
-
const currentSize = typeof currentSnapPoint === "string" ? Number(currentSnapPoint.slice(0, -1)) / 100 * screenSize : currentSnapPoint;
|
|
31
|
-
const offscreenSize = maxSize - currentSize;
|
|
32
|
-
if (Number.isNaN(offscreenSize)) {
|
|
19
|
+
if (maxSnapPoint === "fit")
|
|
33
20
|
return 0;
|
|
34
|
-
|
|
35
|
-
return offscreenSize;
|
|
21
|
+
const maxSize = typeof maxSnapPoint == "string" ? Number(maxSnapPoint.slice(0, -1)) / 100 * screenSize : maxSnapPoint, currentSnapPoint = snapPoints[position] ?? 0, currentSize = typeof currentSnapPoint == "string" ? Number(currentSnapPoint.slice(0, -1)) / 100 * screenSize : currentSnapPoint, offscreenSize = maxSize - currentSize;
|
|
22
|
+
return Number.isNaN(offscreenSize) ? 0 : offscreenSize;
|
|
36
23
|
};
|
|
37
24
|
export {
|
|
38
25
|
useSheetOffscreenSize
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/useSheetOffscreenSize.tsx"],
|
|
4
|
-
"mappings": "AAEO,MAAM,wBAAwB,CAAC;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAyB;AACvB,MAAI,mBAAmB
|
|
5
|
-
"names": ["maxSize", "currentSize"
|
|
4
|
+
"mappings": "AAEO,MAAM,wBAAwB,CAAC;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAyB;AACvB,MAAI,mBAAmB;AACrB,WAAO;AAGT,MAAI,mBAAmB,YAAY;AACjC,UAAMA,WAAU,OAAO,WAAW,CAAC,CAAC,GAC9BC,eAAc,OAAO,WAAW,QAAQ,KAAK,CAAC;AAEpD,WADsBD,WAAUC;AAAA,EAElC;AAEA,MAAI,mBAAmB,WAAW;AAChC,UAAM,mBAAmB,OAAO,WAAW,CAAC,CAAC,IAAI,KAC3C,gBAAgB,OAAO,WAAW,QAAQ,KAAK,CAAC,IAAI;AAG1D,YAFsB,mBAAmB,iBACH;AAAA,EAExC;AAGA,QAAM,eAAe,WAAW,CAAC;AACjC,MAAI,iBAAiB;AACnB,WAAO;AAGT,QAAM,UACJ,OAAO,gBAAiB,WACnB,OAAO,aAAa,MAAM,GAAG,EAAE,CAAC,IAAI,MAAO,aAC5C,cACA,mBAAmB,WAAW,QAAQ,KAAK,GAC3C,cACJ,OAAO,oBAAqB,WACvB,OAAO,iBAAiB,MAAM,GAAG,EAAE,CAAC,IAAI,MAAO,aAChD,kBACA,gBAAgB,UAAU;AAChC,SAAI,OAAO,MAAM,aAAa,IACrB,IAEF;AACT;",
|
|
5
|
+
"names": ["maxSize", "currentSize"]
|
|
6
6
|
}
|