related-ui-components 2.6.3 → 2.6.4

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.
@@ -9,6 +9,7 @@ import { useBottomSheetStack } from "../../contexts/index.js";
9
9
  import { allCountries } from "country-telephone-data";
10
10
  import { iso2ToFlagEmoji } from "../../utils/flags.js";
11
11
  import { CountryPickerView } from "./CountryPickerView.js";
12
+ import { BottomSheetTextInput } from "@gorhom/bottom-sheet";
12
13
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
14
  const DEFAULT_COUNTRIES = allCountries.map(c => ({
14
15
  code: `+${c.dialCode}`,
@@ -34,6 +35,7 @@ const PhoneInput = /*#__PURE__*/forwardRef(({
34
35
  listTitleStyle,
35
36
  countryCodeStyle,
36
37
  countryNameStyle,
38
+ isBottomSheet,
37
39
  ...rest
38
40
  }, ref) => {
39
41
  const {
@@ -58,6 +60,7 @@ const PhoneInput = /*#__PURE__*/forwardRef(({
58
60
  countryNameStyle: countryNameStyle,
59
61
  countryCodeStyle: countryCodeStyle
60
62
  }),
63
+ isModal: isBottomSheet,
61
64
  snapPoints: ["80%"]
62
65
  });
63
66
  }, [push, countries, handleCountryPress, listTitle, listTitleStyle, countryNameStyle, countryCodeStyle]);
@@ -93,7 +96,10 @@ const PhoneInput = /*#__PURE__*/forwardRef(({
93
96
  }
94
97
  })]
95
98
  }), [theme, sel, openCountryPicker]);
96
- return /*#__PURE__*/_jsx(CustomInput, {
99
+ const Input = isBottomSheet ? BottomSheetTextInput : CustomInput;
100
+ return /*#__PURE__*/_jsx(Input
101
+ //@ts-ignore
102
+ , {
97
103
  ref: ref,
98
104
  label: label,
99
105
  value: value,
@@ -1 +1 @@
1
- {"version":3,"names":["React","forwardRef","useMemo","useCallback","Text","TouchableOpacity","StyleSheet","CustomInput","useTheme","Ionicons","useBottomSheetStack","allCountries","iso2ToFlagEmoji","CountryPickerView","jsx","_jsx","jsxs","_jsxs","DEFAULT_COUNTRIES","map","c","code","dialCode","iso2","name","PhoneInput","value","onChangeText","selectedCountry","onSelectCountry","countries","containerStyle","inputContainerStyle","inputStyle","label","labelStyle","error","errorStyle","helper","helperStyle","listTitle","listTitleStyle","countryCodeStyle","countryNameStyle","rest","ref","theme","push","clear","sel","find","handleCountryPress","openCountryPicker","component","snapPoints","leftIcon","style","styles","selector","backgroundColor","inputBackground","borderRightColor","border","hitSlop","left","top","right","bottom","onPress","activeOpacity","children","flag","color","inputText","size","marginHorizontal","keyboardType","placeholder","create","flexDirection","alignItems","borderRightWidth","paddingHorizontal","fontSize","marginLeft"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Input/PhoneInput.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","forwardRef","useMemo","useCallback","Text","TouchableOpacity","StyleSheet","CustomInput","useTheme","Ionicons","useBottomSheetStack","allCountries","iso2ToFlagEmoji","CountryPickerView","BottomSheetTextInput","jsx","_jsx","jsxs","_jsxs","DEFAULT_COUNTRIES","map","c","code","dialCode","iso2","name","PhoneInput","value","onChangeText","selectedCountry","onSelectCountry","countries","containerStyle","inputContainerStyle","inputStyle","label","labelStyle","error","errorStyle","helper","helperStyle","listTitle","listTitleStyle","countryCodeStyle","countryNameStyle","isBottomSheet","rest","ref","theme","push","clear","sel","find","handleCountryPress","openCountryPicker","component","isModal","snapPoints","leftIcon","style","styles","selector","backgroundColor","inputBackground","borderRightColor","border","hitSlop","left","top","right","bottom","onPress","activeOpacity","children","flag","color","inputText","size","marginHorizontal","Input","keyboardType","placeholder","create","flexDirection","alignItems","borderRightWidth","paddingHorizontal","fontSize","marginLeft"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Input/PhoneInput.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
 
3
- import BottomSheet, { BottomSheetBackdrop } from "@gorhom/bottom-sheet";
3
+ import BottomSheet, { BottomSheetBackdrop, BottomSheetModal, BottomSheetModalProvider } from "@gorhom/bottom-sheet";
4
4
  import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
5
- import { BackHandler, StyleSheet } from "react-native";
5
+ import { BackHandler, StyleSheet, View } from "react-native";
6
6
  import Animated, { FadeIn, FadeOut } from "react-native-reanimated";
7
7
  import { useSafeAreaInsets } from "react-native-safe-area-context";
8
8
  import { BottomSheetStackContext } from "./BottomSheetStackContext.js";
@@ -12,6 +12,7 @@ export const BottomSheetStackProvider = ({
12
12
  }) => {
13
13
  const [stack, setStack] = useState([]);
14
14
  const sheetRef = useRef(null);
15
+ const modalRef = useRef(null);
15
16
  const {
16
17
  top
17
18
  } = useSafeAreaInsets();
@@ -20,6 +21,7 @@ export const BottomSheetStackProvider = ({
20
21
  }, []);
21
22
  const clear = useCallback(() => {
22
23
  sheetRef.current?.close();
24
+ modalRef.current?.dismiss();
23
25
  setStack([]);
24
26
  }, []);
25
27
  const pop = useCallback(() => {
@@ -37,73 +39,82 @@ export const BottomSheetStackProvider = ({
37
39
  const isOpen = stack.length > 0;
38
40
  useEffect(() => {
39
41
  if (isOpen && currentItem) {
40
- sheetRef.current?.snapToIndex(currentItem.initialSnapIndex ?? 0);
42
+ if (currentItem.isModal) {
43
+ sheetRef.current?.close();
44
+ modalRef.current?.present();
45
+ } else {
46
+ modalRef.current?.dismiss();
47
+ sheetRef.current?.snapToIndex(currentItem.initialSnapIndex ?? 0);
48
+ }
41
49
  }
42
50
  const backHandlerSubscription = BackHandler.addEventListener("hardwareBackPress", () => {
51
+ if (!isOpen) return false;
43
52
  if (canGoBack) {
44
53
  pop();
45
- return true;
46
- }
47
- if (!canGoBack && stack.length === 1) {
48
- sheetRef.current?.close();
49
- return true;
54
+ } else {
55
+ clear();
50
56
  }
51
- return false;
57
+ return true;
52
58
  });
53
59
  return () => backHandlerSubscription.remove();
54
- }, [isOpen, canGoBack, currentItem, pop, stack]);
60
+ }, [isOpen, canGoBack, currentItem, pop, clear]);
55
61
  const AnimatedView = Animated.View;
56
62
  const enteringAnimation = FadeIn.duration(200);
57
63
  const exitingAnimation = FadeOut.duration(200);
58
64
  const renderBackdrop = useCallback(props => /*#__PURE__*/_jsx(BottomSheetBackdrop, {
59
65
  ...props,
60
66
  disappearsOnIndex: -1,
61
- style: [props.style, {
62
- backgroundColor: "rgba(0,0,0,0,1)"
63
- }],
64
67
  appearsOnIndex: 0,
65
68
  pressBehavior: "close"
66
69
  }), []);
67
- return /*#__PURE__*/_jsxs(BottomSheetStackContext.Provider, {
68
- value: {
69
- push,
70
- pop,
71
- replace,
72
- clear,
73
- canGoBack
74
- },
75
- children: [children, /*#__PURE__*/_jsx(BottomSheet, {
76
- ...currentItem?.bottomSheetProps,
77
- ref: sheetRef,
78
- index: -1,
79
- snapPoints: currentItem?.snapPoints || ["100%"],
80
- enableDynamicSizing: currentItem?.dynamicSizing ?? false,
81
- enablePanDownToClose: true,
82
- android_keyboardInputMode: "adjustResize",
83
- enableBlurKeyboardOnGesture: true,
84
- keyboardBlurBehavior: "restore",
85
- keyboardBehavior: "fillParent",
86
- onClose: clear,
87
- backdropComponent: renderBackdrop,
88
- topInset: top,
89
- handleIndicatorStyle: {
90
- backgroundColor: "#CCCCCC"
70
+ const currentSheetContent = currentItem ? /*#__PURE__*/_jsx(AnimatedView, {
71
+ entering: enteringAnimation,
72
+ exiting: exitingAnimation,
73
+ style: styles.animatedView,
74
+ children: currentItem.component
75
+ }, stack.length) : null;
76
+ return /*#__PURE__*/_jsx(BottomSheetModalProvider, {
77
+ children: /*#__PURE__*/_jsxs(BottomSheetStackContext.Provider, {
78
+ value: {
79
+ push,
80
+ pop,
81
+ replace,
82
+ clear,
83
+ canGoBack
91
84
  },
92
- style: styles.sheetContainer,
93
- children: currentItem && /*#__PURE__*/_jsx(AnimatedView, {
94
- entering: enteringAnimation,
95
- exiting: exitingAnimation,
96
- style: styles.animatedView,
97
- children: currentItem.component
98
- }, stack.length)
99
- })]
85
+ children: [children, /*#__PURE__*/_jsx(BottomSheet, {
86
+ ...currentItem?.bottomSheetProps,
87
+ ref: sheetRef,
88
+ index: -1,
89
+ snapPoints: currentItem?.isModal ? ["1%"] : currentItem?.snapPoints || ["100%"],
90
+ enablePanDownToClose: true,
91
+ onClose: clear,
92
+ backdropComponent: renderBackdrop,
93
+ topInset: top,
94
+ handleIndicatorStyle: {
95
+ backgroundColor: "#CCCCCC"
96
+ },
97
+ style: styles.sheetContainer,
98
+ children: !currentItem?.isModal ? currentSheetContent : /*#__PURE__*/_jsx(View, {})
99
+ }), /*#__PURE__*/_jsx(BottomSheetModal, {
100
+ ...currentItem?.bottomSheetProps,
101
+ ref: modalRef,
102
+ index: 0,
103
+ snapPoints: currentItem?.isModal ? currentItem?.snapPoints || ["100%"] : ["1%"],
104
+ onDismiss: clear,
105
+ topInset: top,
106
+ handleIndicatorStyle: {
107
+ backgroundColor: "#CCCCCC"
108
+ },
109
+ style: styles.sheetContainer,
110
+ children: currentItem?.isModal ? currentSheetContent : /*#__PURE__*/_jsx(View, {})
111
+ })]
112
+ })
100
113
  });
101
114
  };
102
115
  const styles = StyleSheet.create({
103
116
  sheetContainer: {
104
- // backgroundColor: "#FFFFFF",
105
- // borderTopLeftRadius: 20,
106
- // borderTopRightRadius: 20,
117
+ // Styles for the sheet container can be added here
107
118
  },
108
119
  animatedView: {
109
120
  flex: 1
@@ -1 +1 @@
1
- {"version":3,"names":["BottomSheet","BottomSheetBackdrop","React","useCallback","useEffect","useMemo","useRef","useState","BackHandler","StyleSheet","Animated","FadeIn","FadeOut","useSafeAreaInsets","BottomSheetStackContext","jsx","_jsx","jsxs","_jsxs","BottomSheetStackProvider","children","stack","setStack","sheetRef","top","push","item","prev","clear","current","close","pop","length","slice","replace","currentItem","canGoBack","isOpen","snapToIndex","initialSnapIndex","backHandlerSubscription","addEventListener","remove","AnimatedView","View","enteringAnimation","duration","exitingAnimation","renderBackdrop","props","disappearsOnIndex","style","backgroundColor","appearsOnIndex","pressBehavior","Provider","value","bottomSheetProps","ref","index","snapPoints","enableDynamicSizing","dynamicSizing","enablePanDownToClose","android_keyboardInputMode","enableBlurKeyboardOnGesture","keyboardBlurBehavior","keyboardBehavior","onClose","backdropComponent","topInset","handleIndicatorStyle","styles","sheetContainer","entering","exiting","animatedView","component","create","flex"],"sourceRoot":"..\\..\\..\\src","sources":["contexts/BottomSheetStackProvider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["BottomSheet","BottomSheetBackdrop","BottomSheetModal","BottomSheetModalProvider","React","useCallback","useEffect","useMemo","useRef","useState","BackHandler","StyleSheet","View","Animated","FadeIn","FadeOut","useSafeAreaInsets","BottomSheetStackContext","jsx","_jsx","jsxs","_jsxs","BottomSheetStackProvider","children","stack","setStack","sheetRef","modalRef","top","push","item","prev","clear","current","close","dismiss","pop","length","slice","replace","currentItem","canGoBack","isOpen","isModal","present","snapToIndex","initialSnapIndex","backHandlerSubscription","addEventListener","remove","AnimatedView","enteringAnimation","duration","exitingAnimation","renderBackdrop","props","disappearsOnIndex","appearsOnIndex","pressBehavior","currentSheetContent","entering","exiting","style","styles","animatedView","component","Provider","value","bottomSheetProps","ref","index","snapPoints","enablePanDownToClose","onClose","backdropComponent","topInset","handleIndicatorStyle","backgroundColor","sheetContainer","onDismiss","create","flex"],"sourceRoot":"..\\..\\..\\src","sources":["contexts/BottomSheetStackProvider.tsx"],"mappings":"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","ignoreList":[]}
@@ -16,6 +16,7 @@ export interface PhoneInputProps extends Omit<CustomInputProps, "leftIcon" | "ri
16
16
  countryCodeStyle?: StyleProp<TextStyle>;
17
17
  listTitleStyle?: StyleProp<TextStyle>;
18
18
  listTitle?: string;
19
+ isBottomSheet?: boolean;
19
20
  }
20
21
  declare const PhoneInput: React.ForwardRefExoticComponent<PhoneInputProps & React.RefAttributes<TextInput>>;
21
22
  export default PhoneInput;
@@ -1 +1 @@
1
- {"version":3,"file":"PhoneInput.d.ts","sourceRoot":"","sources":["../../../../../src/components/Input/PhoneInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAChE,OAAO,EACL,SAAS,EAMT,SAAS,EACT,SAAS,EACV,MAAM,cAAc,CAAC;AACtB,OAAoB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAQxD,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,WAAW,eACf,SAAQ,IAAI,CACV,gBAAgB,EACd,UAAU,GACV,WAAW,GACX,kBAAkB,GAClB,cAAc,GACd,OAAO,GACP,sBAAsB,CACzB;IACD,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;IAGtB,gBAAgB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACxC,gBAAgB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACxC,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAEtC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAQD,QAAA,MAAM,UAAU,mFAuHf,CAAC;AAkBF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"PhoneInput.d.ts","sourceRoot":"","sources":["../../../../../src/components/Input/PhoneInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAChE,OAAO,EACL,SAAS,EAMT,SAAS,EACT,SAAS,EACV,MAAM,cAAc,CAAC;AACtB,OAAoB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AASxD,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,WAAW,eACf,SAAQ,IAAI,CACV,gBAAgB,EACd,UAAU,GACV,WAAW,GACX,kBAAkB,GAClB,cAAc,GACd,OAAO,GACP,sBAAsB,CACzB;IACD,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;IAGtB,gBAAgB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACxC,gBAAgB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACxC,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAEtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAQD,QAAA,MAAM,UAAU,mFA4Hf,CAAC;AAkBF,eAAe,UAAU,CAAC"}
@@ -5,6 +5,7 @@ export interface BottomSheetStackItem {
5
5
  snapPoints?: string[] | number[];
6
6
  initialSnapIndex?: number;
7
7
  dynamicSizing?: boolean;
8
+ isModal?: boolean;
8
9
  bottomSheetProps?: Partial<Omit<BottomSheetProps, "children">>;
9
10
  }
10
11
  export interface BottomSheetStackContextType {
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheetStackContext.d.ts","sourceRoot":"","sources":["../../../../src/contexts/BottomSheetStackContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,EAAE,SAAS,EAAc,MAAM,OAAO,CAAC;AAErD,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,gBAAgB,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC;CAChE;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC3C,GAAG,EAAE,MAAM,IAAI,CAAC;IAChB,OAAO,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC9C,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,uBAAuB,mDAC2B,CAAC;AAEhE,eAAO,MAAM,mBAAmB,mCAU/B,CAAC"}
1
+ {"version":3,"file":"BottomSheetStackContext.d.ts","sourceRoot":"","sources":["../../../../src/contexts/BottomSheetStackContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,EAAE,SAAS,EAAc,MAAM,OAAO,CAAC;AAErD,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC;CAChE;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC3C,GAAG,EAAE,MAAM,IAAI,CAAC;IAChB,OAAO,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC9C,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,uBAAuB,mDAC2B,CAAC;AAEhE,eAAO,MAAM,mBAAmB,mCAU/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheetStackProvider.d.ts","sourceRoot":"","sources":["../../../../src/contexts/BottomSheetStackProvider.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EACZ,SAAS,EAMV,MAAM,OAAO,CAAC;AASf,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,CA2GtE,CAAC"}
1
+ {"version":3,"file":"BottomSheetStackProvider.d.ts","sourceRoot":"","sources":["../../../../src/contexts/BottomSheetStackProvider.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,EACZ,SAAS,EAMV,MAAM,OAAO,CAAC;AASf,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,CA+HtE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "related-ui-components",
3
- "version": "2.6.3",
3
+ "version": "2.6.4",
4
4
  "main": "./src/index.ts",
5
5
  "scripts": {
6
6
  "start": "expo start",
@@ -16,6 +16,7 @@ import { useBottomSheetStack } from "../../contexts";
16
16
  import { allCountries } from "country-telephone-data";
17
17
  import { iso2ToFlagEmoji } from "../../utils/flags";
18
18
  import { CountryPickerView } from "./CountryPickerView";
19
+ import { BottomSheetTextInput } from "@gorhom/bottom-sheet";
19
20
 
20
21
  export type Country = {
21
22
  code: string;
@@ -45,6 +46,7 @@ export interface PhoneInputProps
45
46
  listTitleStyle?: StyleProp<TextStyle>;
46
47
 
47
48
  listTitle?: string;
49
+ isBottomSheet?: boolean;
48
50
  }
49
51
 
50
52
  const DEFAULT_COUNTRIES: Country[] = allCountries.map((c) => ({
@@ -74,6 +76,7 @@ const PhoneInput = forwardRef<TextInput, PhoneInputProps>(
74
76
  listTitleStyle,
75
77
  countryCodeStyle,
76
78
  countryNameStyle,
79
+ isBottomSheet,
77
80
  ...rest
78
81
  },
79
82
  ref
@@ -109,6 +112,7 @@ const PhoneInput = forwardRef<TextInput, PhoneInputProps>(
109
112
  countryCodeStyle={countryCodeStyle}
110
113
  />
111
114
  ),
115
+ isModal: isBottomSheet,
112
116
  snapPoints: ["80%"],
113
117
  });
114
118
  }, [
@@ -128,7 +132,7 @@ const PhoneInput = forwardRef<TextInput, PhoneInputProps>(
128
132
  styles.selector,
129
133
  {
130
134
  backgroundColor: theme.inputBackground,
131
- borderRightColor: theme.border,
135
+ borderRightColor: theme.border,
132
136
  },
133
137
  ]}
134
138
  hitSlop={{ left: 30, top: 30, right: 30, bottom: 30 }}
@@ -148,11 +152,14 @@ const PhoneInput = forwardRef<TextInput, PhoneInputProps>(
148
152
  />
149
153
  </TouchableOpacity>
150
154
  ),
151
- [theme, sel, openCountryPicker]
155
+ [theme, sel, openCountryPicker]
152
156
  );
153
157
 
158
+ const Input = isBottomSheet ? BottomSheetTextInput : CustomInput;
159
+
154
160
  return (
155
- <CustomInput
161
+ <Input
162
+ //@ts-ignore
156
163
  ref={ref}
157
164
  label={label}
158
165
  value={value}
@@ -6,7 +6,7 @@ export interface BottomSheetStackItem {
6
6
  snapPoints?: string[] | number[];
7
7
  initialSnapIndex?: number;
8
8
  dynamicSizing?: boolean;
9
-
9
+ isModal?: boolean;
10
10
  bottomSheetProps?: Partial<Omit<BottomSheetProps, "children">>;
11
11
  }
12
12
 
@@ -1,6 +1,8 @@
1
1
  import BottomSheet, {
2
2
  BottomSheetBackdrop,
3
3
  BottomSheetBackdropProps,
4
+ BottomSheetModal,
5
+ BottomSheetModalProvider,
4
6
  } from "@gorhom/bottom-sheet";
5
7
  import React, {
6
8
  ReactNode,
@@ -10,7 +12,7 @@ import React, {
10
12
  useRef,
11
13
  useState,
12
14
  } from "react";
13
- import { BackHandler, StyleSheet } from "react-native";
15
+ import { BackHandler, StyleSheet, View } from "react-native";
14
16
  import Animated, { FadeIn, FadeOut } from "react-native-reanimated";
15
17
  import { useSafeAreaInsets } from "react-native-safe-area-context";
16
18
  import {
@@ -22,7 +24,10 @@ export const BottomSheetStackProvider: React.FC<{ children: ReactNode }> = ({
22
24
  children,
23
25
  }) => {
24
26
  const [stack, setStack] = useState<BottomSheetStackItem[]>([]);
27
+
25
28
  const sheetRef = useRef<BottomSheet>(null);
29
+ const modalRef = useRef<BottomSheetModal>(null);
30
+
26
31
  const { top } = useSafeAreaInsets();
27
32
 
28
33
  const push = useCallback((item: BottomSheetStackItem) => {
@@ -31,6 +36,7 @@ export const BottomSheetStackProvider: React.FC<{ children: ReactNode }> = ({
31
36
 
32
37
  const clear = useCallback(() => {
33
38
  sheetRef.current?.close();
39
+ modalRef.current?.dismiss();
34
40
  setStack([]);
35
41
  }, []);
36
42
 
@@ -52,26 +58,30 @@ export const BottomSheetStackProvider: React.FC<{ children: ReactNode }> = ({
52
58
 
53
59
  useEffect(() => {
54
60
  if (isOpen && currentItem) {
55
- sheetRef.current?.snapToIndex(currentItem.initialSnapIndex ?? 0);
61
+ if (currentItem.isModal) {
62
+ sheetRef.current?.close();
63
+ modalRef.current?.present();
64
+ } else {
65
+ modalRef.current?.dismiss();
66
+ sheetRef.current?.snapToIndex(currentItem.initialSnapIndex ?? 0);
67
+ }
56
68
  }
57
69
 
58
70
  const backHandlerSubscription = BackHandler.addEventListener(
59
71
  "hardwareBackPress",
60
72
  () => {
73
+ if (!isOpen) return false;
61
74
  if (canGoBack) {
62
75
  pop();
63
- return true;
76
+ } else {
77
+ clear();
64
78
  }
65
- if (!canGoBack && stack.length === 1) {
66
- sheetRef.current?.close();
67
- return true;
68
- }
69
- return false;
79
+ return true;
70
80
  }
71
81
  );
72
82
 
73
83
  return () => backHandlerSubscription.remove();
74
- }, [isOpen, canGoBack, currentItem, pop, stack]);
84
+ }, [isOpen, canGoBack, currentItem, pop, clear]);
75
85
 
76
86
  const AnimatedView = Animated.View;
77
87
  const enteringAnimation = FadeIn.duration(200);
@@ -82,7 +92,6 @@ export const BottomSheetStackProvider: React.FC<{ children: ReactNode }> = ({
82
92
  <BottomSheetBackdrop
83
93
  {...props}
84
94
  disappearsOnIndex={-1}
85
- style={[props.style, { backgroundColor: "rgba(0,0,0,0,1)" }]}
86
95
  appearsOnIndex={0}
87
96
  pressBehavior={"close"}
88
97
  />
@@ -90,50 +99,61 @@ export const BottomSheetStackProvider: React.FC<{ children: ReactNode }> = ({
90
99
  []
91
100
  );
92
101
 
93
- return (
94
- <BottomSheetStackContext.Provider
95
- value={{ push, pop, replace, clear, canGoBack }}
102
+ const currentSheetContent = currentItem ? (
103
+ <AnimatedView
104
+ key={stack.length}
105
+ entering={enteringAnimation}
106
+ exiting={exitingAnimation}
107
+ style={styles.animatedView}
96
108
  >
97
- {children}
98
- <BottomSheet
99
- {...currentItem?.bottomSheetProps}
100
- ref={sheetRef}
101
- index={-1}
102
- snapPoints={currentItem?.snapPoints || ["100%"]}
103
- enableDynamicSizing={currentItem?.dynamicSizing ?? false}
104
- enablePanDownToClose
105
- android_keyboardInputMode="adjustResize"
106
- enableBlurKeyboardOnGesture
107
- keyboardBlurBehavior="restore"
108
- keyboardBehavior="fillParent"
109
- onClose={clear}
110
- backdropComponent={renderBackdrop}
111
- topInset={top}
112
- handleIndicatorStyle={{ backgroundColor: "#CCCCCC" }}
113
- style={styles.sheetContainer}
109
+ {currentItem.component}
110
+ </AnimatedView>
111
+ ) : null;
112
+
113
+ return (
114
+ <BottomSheetModalProvider>
115
+ <BottomSheetStackContext.Provider
116
+ value={{ push, pop, replace, clear, canGoBack }}
114
117
  >
115
- {currentItem && (
116
- <AnimatedView
117
- key={stack.length}
118
- entering={enteringAnimation}
119
- exiting={exitingAnimation}
120
- style={styles.animatedView}
121
- >
122
- {currentItem.component}
123
- </AnimatedView>
124
- )}
125
- </BottomSheet>
126
- </BottomSheetStackContext.Provider>
118
+ {children}
119
+
120
+ <BottomSheet
121
+ {...currentItem?.bottomSheetProps}
122
+ ref={sheetRef}
123
+ index={-1}
124
+ snapPoints={currentItem?.isModal ? ["1%"] : (currentItem?.snapPoints || ["100%"])}
125
+ enablePanDownToClose
126
+ onClose={clear}
127
+ backdropComponent={renderBackdrop}
128
+ topInset={top}
129
+ handleIndicatorStyle={{ backgroundColor: "#CCCCCC" }}
130
+ style={styles.sheetContainer}
131
+ >
132
+ {!currentItem?.isModal ? currentSheetContent : <View />}
133
+ </BottomSheet>
134
+
135
+ <BottomSheetModal
136
+ {...currentItem?.bottomSheetProps}
137
+ ref={modalRef}
138
+ index={0}
139
+ snapPoints={currentItem?.isModal ? (currentItem?.snapPoints || ["100%"]) : ["1%"]}
140
+ onDismiss={clear}
141
+ topInset={top}
142
+ handleIndicatorStyle={{ backgroundColor: "#CCCCCC" }}
143
+ style={styles.sheetContainer}
144
+ >
145
+ {currentItem?.isModal ? currentSheetContent : <View />}
146
+ </BottomSheetModal>
147
+ </BottomSheetStackContext.Provider>
148
+ </BottomSheetModalProvider>
127
149
  );
128
150
  };
129
151
 
130
152
  const styles = StyleSheet.create({
131
153
  sheetContainer: {
132
- // backgroundColor: "#FFFFFF",
133
- // borderTopLeftRadius: 20,
134
- // borderTopRightRadius: 20,
154
+ // Styles for the sheet container can be added here
135
155
  },
136
156
  animatedView: {
137
157
  flex: 1,
138
158
  },
139
- });
159
+ });