@applicaster/zapp-react-native-utils 14.0.40-alpha.3512631313 → 14.0.40-rc.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.
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Text } from "react-native";
|
|
3
|
+
import { render, screen } from "@testing-library/react-native";
|
|
4
|
+
import { BottomSheetContext, useBottomSheet } from "../index";
|
|
5
|
+
|
|
6
|
+
const Probe = () => {
|
|
7
|
+
const ctx = useBottomSheet();
|
|
8
|
+
|
|
9
|
+
return <Text testID="probe">{ctx ? "has-context" : "no-context"}</Text>;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
describe("useBottomSheet", () => {
|
|
13
|
+
it("returns null when no provider is present", () => {
|
|
14
|
+
render(<Probe />);
|
|
15
|
+
expect(screen.getByTestId("probe")).toHaveTextContent("no-context");
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
it("returns the provided value inside a provider", () => {
|
|
19
|
+
const value = {
|
|
20
|
+
scrollRef: React.createRef<any>(),
|
|
21
|
+
masterDrawerRef: React.createRef<any>(),
|
|
22
|
+
setBodyDragEnabled: jest.fn(),
|
|
23
|
+
onDragGestureEvent: jest.fn(),
|
|
24
|
+
onDragStateChange: jest.fn(),
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
render(
|
|
28
|
+
<BottomSheetContext.Provider value={value}>
|
|
29
|
+
<Probe />
|
|
30
|
+
</BottomSheetContext.Provider>
|
|
31
|
+
);
|
|
32
|
+
|
|
33
|
+
expect(screen.getByTestId("probe")).toHaveTextContent("has-context");
|
|
34
|
+
});
|
|
35
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { createContext, useContext, RefObject } from "react";
|
|
2
|
+
|
|
3
|
+
export type BottomSheetContextValue = {
|
|
4
|
+
/** The sheet's master TapGestureHandler ref — the scrollable waits for it. */
|
|
5
|
+
masterDrawerRef: RefObject<any>;
|
|
6
|
+
/** Header drag-zone wiring: the sheet's pan gesture event handler. */
|
|
7
|
+
onDragGestureEvent: (...args: any[]) => void;
|
|
8
|
+
/** Header drag-zone wiring: the sheet's pan state-change handler. */
|
|
9
|
+
onDragStateChange: (event: { nativeEvent: any }) => void;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export const BottomSheetContext = createContext<BottomSheetContextValue | null>(
|
|
13
|
+
null
|
|
14
|
+
);
|
|
15
|
+
|
|
16
|
+
export const useBottomSheet = (): BottomSheetContextValue | null =>
|
|
17
|
+
useContext(BottomSheetContext);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@applicaster/zapp-react-native-utils",
|
|
3
|
-
"version": "14.0.40-
|
|
3
|
+
"version": "14.0.40-rc.0",
|
|
4
4
|
"description": "Applicaster Zapp React Native utilities package",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
},
|
|
28
28
|
"homepage": "https://github.com/applicaster/quickbrick#readme",
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@applicaster/applicaster-types": "14.0.40-
|
|
30
|
+
"@applicaster/applicaster-types": "14.0.40-rc.0",
|
|
31
31
|
"buffer": "^5.2.1",
|
|
32
32
|
"camelize": "^1.0.0",
|
|
33
33
|
"dayjs": "^1.11.10",
|