related-ui-components 2.6.7 → 2.6.9

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/lib/module/app.js CHANGED
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  import React, { useState } from "react";
4
- import { SafeAreaView, StyleSheet, StatusBar, I18nManager } from "react-native";
4
+ import { SafeAreaView, StyleSheet, StatusBar } from "react-native";
5
5
  // Adjust path as needed
6
6
  import { GestureHandlerRootView } from "react-native-gesture-handler";
7
- import { RangeSlider } from "./components/index.js";
8
7
  import { lightTheme, RelatedProvider, useTheme } from "./theme/index.js";
8
+ import PhoneInput from "./components/Input/PhoneInput.js";
9
9
  import { BottomSheetStackProvider } from "./contexts/index.js";
10
10
  import { SafeAreaProvider } from "react-native-safe-area-context";
11
11
 
@@ -50,8 +50,6 @@ const App = () => {
50
50
  const newProgress = Math.floor(Math.random() * 101);
51
51
  setProgress(newProgress);
52
52
  };
53
- I18nManager.allowRTL(true);
54
- I18nManager.forceRTL(true);
55
53
  return /*#__PURE__*/_jsx(_Fragment, {
56
54
  children: /*#__PURE__*/_jsx(SafeAreaProvider, {
57
55
  children: /*#__PURE__*/_jsx(GestureHandlerRootView, {
@@ -65,13 +63,12 @@ const App = () => {
65
63
  barStyle: "light-content"
66
64
  }), /*#__PURE__*/_jsx(SafeAreaView, {
67
65
  style: styles.appContainer,
68
- children: /*#__PURE__*/_jsx(RangeSlider, {
69
- initialMinValue: 0,
70
- initialMaxValue: 100,
71
- min: 0,
72
- max: 500,
73
- sliderWidth: 100,
74
- onValueChange: console.log
66
+ children: /*#__PURE__*/_jsx(PhoneInput, {
67
+ value: "",
68
+ onChangeText: () => {},
69
+ inputContainerStyle: {
70
+ height: 55
71
+ }
75
72
  })
76
73
  })]
77
74
  })
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","SafeAreaView","StyleSheet","StatusBar","I18nManager","GestureHandlerRootView","RangeSlider","lightTheme","RelatedProvider","useTheme","BottomSheetStackProvider","SafeAreaProvider","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DUMMY_DATA","id","image","title","App","theme","departureDate","setDepartureDate","undefined","returnDate","setReturnDate","progress","setProgress","handleAnimate","newProgress","Math","floor","random","allowRTL","forceRTL","children","style","flex","barStyle","styles","appContainer","initialMinValue","initialMaxValue","min","max","sliderWidth","onValueChange","console","log","create","backgroundColor","justifyContent"],"sourceRoot":"..\\..\\src","sources":["app.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,YAAY,EAAEC,UAAU,EAAEC,SAAS,EAAEC,WAAW,QAAQ,cAAc;AACG;AAClF,SAASC,sBAAsB,QAAQ,8BAA8B;AACrE,SAQEC,WAAW,QACN,uBAAc;AACrB,SAASC,UAAU,EAAEC,eAAe,EAAEC,QAAQ,QAAQ,kBAAS;AAG/D,SAASC,wBAAwB,QAAQ,qBAAY;AACrD,SAASC,gBAAgB,QAAQ,gCAAgC;;AAEjE;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AACA,MAAMC,UAAU,GAAG,CACjB;EACEC,EAAE,EAAE,GAAG;EACPC,KAAK,EACH,iHAAiH;EACnHC,KAAK,EAAE;AACT,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;EACEF,EAAE,EAAE,GAAG;EACPC,KAAK,EACH,iHAAiH;EACnHC,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAE,GAAG;EACPC,KAAK,EACH,iHAAiH;EACnHC,KAAK,EAAE;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AAAA,CACD;AAED,MAAMC,GAAG,GAAGA,CAAA,KAAM;EAChB,MAAM;IAAEC;EAAM,CAAC,GAAGd,QAAQ,CAAC,CAAC;EAE5B,MAAM,CAACe,aAAa,EAAEC,gBAAgB,CAAC,GAAGzB,QAAQ,CAChD0B,SACF,CAAC;EACD,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG5B,QAAQ,CAAqB0B,SAAS,CAAC;EAE3E,MAAM,CAACG,QAAQ,EAAEC,WAAW,CAAC,GAAG9B,QAAQ,CAAC,EAAE,CAAC;EAC5C,MAAM+B,aAAa,GAAGA,CAAA,KAAM;IAC1B;IACA,MAAMC,WAAW,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC;IACnDL,WAAW,CAACE,WAAW,CAAC;EAC1B,CAAC;EACD5B,WAAW,CAACgC,QAAQ,CAAC,IAAI,CAAC;EAC1BhC,WAAW,CAACiC,QAAQ,CAAC,IAAI,CAAC;EAC1B,oBACExB,IAAA,CAAAI,SAAA;IAAAqB,QAAA,eACAzB,IAAA,CAACF,gBAAgB;MAAA2B,QAAA,eACfzB,IAAA,CAACR,sBAAsB;QAACkC,KAAK,EAAE;UAAEC,IAAI,EAAE;QAAE,CAAE;QAAAF,QAAA,eACzCzB,IAAA,CAACL,eAAe;UAACe,KAAK,EAAEhB,UAAW;UAAA+B,QAAA,eACjCvB,KAAA,CAACL,wBAAwB;YAAA4B,QAAA,gBACvBzB,IAAA,CAACV,SAAS;cAACsC,QAAQ,EAAC;YAAe,CAAE,CAAC,eACtC5B,IAAA,CAACZ,YAAY;cAACsC,KAAK,EAAEG,MAAM,CAACC,YAAa;cAAAL,QAAA,eAgDvCzB,IAAA,CAACP,WAAW;gBAACsC,eAAe,EAAE,CAAE;gBAACC,eAAe,EAAE,GAAI;gBAACC,GAAG,EAAE,CAAE;gBAACC,GAAG,EAAE,GAAI;gBAACC,WAAW,EAAE,GAAI;gBAACC,aAAa,EAAEC,OAAO,CAACC;cAAI,CAAc;YAAC,CAEzH,CAAC;UAAA,CACS;QAAC,CACZ;MAAC,CACI;IAAC,CACP;EAAC,CACnB,CAAC;AAEP,CAAC;AAED,MAAMT,MAAM,GAAGxC,UAAU,CAACkD,MAAM,CAAC;EAC/BT,YAAY,EAAE;IACZH,IAAI,EAAE,CAAC;IACPa,eAAe,EAAC,MAAM;IACtBC,cAAc,EAAE,QAAQ,CAAE;EAC5B;AACF,CAAC,CAAC;AAEF,eAAehC,GAAG","ignoreList":[]}
1
+ {"version":3,"names":["React","useState","SafeAreaView","StyleSheet","StatusBar","GestureHandlerRootView","lightTheme","RelatedProvider","useTheme","PhoneInput","BottomSheetStackProvider","SafeAreaProvider","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DUMMY_DATA","id","image","title","App","theme","departureDate","setDepartureDate","undefined","returnDate","setReturnDate","progress","setProgress","handleAnimate","newProgress","Math","floor","random","children","style","flex","barStyle","styles","appContainer","value","onChangeText","inputContainerStyle","height","create","backgroundColor","justifyContent"],"sourceRoot":"..\\..\\src","sources":["app.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAeC,QAAQ,QAAQ,OAAO;AAClD,SAASC,YAAY,EAAEC,UAAU,EAAEC,SAAS,QAAkC,cAAc;AACV;AAClF,SAASC,sBAAsB,QAAQ,8BAA8B;AAWrE,SAASC,UAAU,EAAEC,eAAe,EAAEC,QAAQ,QAAQ,kBAAS;AAE/D,OAAOC,UAAU,MAAM,kCAA+B;AACtD,SAASC,wBAAwB,QAAQ,qBAAY;AACrD,SAASC,gBAAgB,QAAQ,gCAAgC;;AAEjE;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AACA,MAAMC,UAAU,GAAG,CACjB;EACEC,EAAE,EAAE,GAAG;EACPC,KAAK,EACH,iHAAiH;EACnHC,KAAK,EAAE;AACT,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;EACEF,EAAE,EAAE,GAAG;EACPC,KAAK,EACH,iHAAiH;EACnHC,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAE,GAAG;EACPC,KAAK,EACH,iHAAiH;EACnHC,KAAK,EAAE;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AAAA,CACD;AAED,MAAMC,GAAG,GAAGA,CAAA,KAAM;EAChB,MAAM;IAAEC;EAAM,CAAC,GAAGf,QAAQ,CAAC,CAAC;EAE5B,MAAM,CAACgB,aAAa,EAAEC,gBAAgB,CAAC,GAAGxB,QAAQ,CAChDyB,SACF,CAAC;EACD,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG3B,QAAQ,CAAqByB,SAAS,CAAC;EAE3E,MAAM,CAACG,QAAQ,EAAEC,WAAW,CAAC,GAAG7B,QAAQ,CAAC,EAAE,CAAC;EAC5C,MAAM8B,aAAa,GAAGA,CAAA,KAAM;IAC1B;IACA,MAAMC,WAAW,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC;IACnDL,WAAW,CAACE,WAAW,CAAC;EAC1B,CAAC;EAED,oBACEnB,IAAA,CAAAI,SAAA;IAAAmB,QAAA,eACEvB,IAAA,CAACF,gBAAgB;MAAAyB,QAAA,eACfvB,IAAA,CAACR,sBAAsB;QAACgC,KAAK,EAAE;UAAEC,IAAI,EAAE;QAAE,CAAE;QAAAF,QAAA,eACzCvB,IAAA,CAACN,eAAe;UAACgB,KAAK,EAAEjB,UAAW;UAAA8B,QAAA,eACjCrB,KAAA,CAACL,wBAAwB;YAAA0B,QAAA,gBACvBvB,IAAA,CAACT,SAAS;cAACmC,QAAQ,EAAC;YAAe,CAAE,CAAC,eACtC1B,IAAA,CAACX,YAAY;cAACmC,KAAK,EAAEG,MAAM,CAACC,YAAa;cAAAL,QAAA,eAiDvCvB,IAAA,CAACJ,UAAU;gBACTiC,KAAK,EAAC,EAAE;gBACRC,YAAY,EAAEA,CAAA,KAAM,CAAC,CAAE;gBACvBC,mBAAmB,EAAE;kBAAEC,MAAM,EAAE;gBAAG;cAAE,CACzB;YAAC,CACF,CAAC;UAAA,CACS;QAAC,CACZ;MAAC,CACI;IAAC,CACT;EAAC,CACnB,CAAC;AAEP,CAAC;AAED,MAAML,MAAM,GAAGrC,UAAU,CAAC2C,MAAM,CAAC;EAC/BL,YAAY,EAAE;IACZH,IAAI,EAAE,CAAC;IACPS,eAAe,EAAE,MAAM;IACvBC,cAAc,EAAE,QAAQ,CAAE;EAC5B;AACF,CAAC,CAAC;AAEF,eAAe1B,GAAG","ignoreList":[]}
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
 
3
- import React, { useCallback, useMemo } from "react";
4
- import { Text, View, TouchableOpacity, StyleSheet } from "react-native";
3
+ import React, { useState, useEffect, useCallback, useMemo } from "react";
4
+ import { Text, View, TouchableOpacity, StyleSheet, Keyboard } from "react-native";
5
5
  import { BottomSheetFlatList } from "@gorhom/bottom-sheet";
6
6
  import { useTheme } from "../../theme/index.js";
7
7
  import { iso2ToFlagEmoji } from "../../utils/flags.js";
8
8
  import { allCountries } from "country-telephone-data";
9
+ import CustomInput from "./Input.js"; // Import the CustomInput component
9
10
  import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
10
11
  const DEFAULT_COUNTRIES = allCountries.map(c => ({
11
12
  code: `+${c.dialCode}`,
@@ -18,7 +19,10 @@ const CountryRow = /*#__PURE__*/React.memo(({
18
19
  nameStyle,
19
20
  codeStyle
20
21
  }) => {
21
- const handlePress = () => onSelectCountry(item);
22
+ const handlePress = () => {
23
+ Keyboard.dismiss(); // Dismiss keyboard on selection
24
+ onSelectCountry(item);
25
+ };
22
26
  return /*#__PURE__*/_jsxs(TouchableOpacity, {
23
27
  style: styles.countryRow,
24
28
  onPress: handlePress,
@@ -43,21 +47,29 @@ const CountryPickerView = ({
43
47
  listTitle,
44
48
  listTitleStyle,
45
49
  countryNameStyle,
46
- countryCodeStyle
50
+ countryCodeStyle,
51
+ searchPlaceholder = "Search..."
47
52
  }) => {
48
53
  const {
49
54
  theme
50
55
  } = useTheme();
56
+ const [searchQuery, setSearchQuery] = useState("");
57
+ const [filteredCountries, setFilteredCountries] = useState(countries);
58
+ useEffect(() => {
59
+ const lowercasedQuery = searchQuery.toLowerCase().trim();
60
+ if (lowercasedQuery === "") {
61
+ setFilteredCountries(countries);
62
+ } else {
63
+ const newFilteredData = countries.filter(country => country.name.toLowerCase().includes(lowercasedQuery) || country.code.includes(lowercasedQuery));
64
+ setFilteredCountries(newFilteredData);
65
+ }
66
+ }, [searchQuery, countries]);
51
67
  const memoizedNameStyle = useMemo(() => [styles.countryName, {
52
68
  color: theme.text
53
69
  }, countryNameStyle], [theme.text, countryNameStyle]);
54
70
  const memoizedCodeStyle = useMemo(() => [styles.countryCode, {
55
71
  color: theme.helper
56
- }, countryCodeStyle],
57
- // Use a different theme color for contrast
58
- [theme.helper, countryCodeStyle]);
59
-
60
- // CHANGED: renderCountry is now wrapped in useCallback
72
+ }, countryCodeStyle], [theme.helper, countryCodeStyle]);
61
73
  const renderCountry = useCallback(({
62
74
  item
63
75
  }) => /*#__PURE__*/_jsx(CountryRow, {
@@ -73,16 +85,31 @@ const CountryPickerView = ({
73
85
  color: theme.text
74
86
  }, listTitleStyle],
75
87
  children: listTitle
88
+ }), /*#__PURE__*/_jsx(CustomInput, {
89
+ placeholder: searchPlaceholder,
90
+ value: searchQuery,
91
+ isBottomSheet: true,
92
+ onChangeText: setSearchQuery,
93
+ containerStyle: styles.searchInputContainer
76
94
  }), /*#__PURE__*/_jsx(BottomSheetFlatList, {
77
- data: countries,
95
+ data: filteredCountries,
78
96
  keyExtractor: c => c.iso2,
79
97
  renderItem: renderCountry,
80
98
  contentContainerStyle: {
81
99
  paddingBottom: 16
82
100
  },
83
- initialNumToRender: 10,
84
- maxToRenderPerBatch: 10
85
- // estimatedItemSize={56} // Provide a more accurate estimate
101
+ initialNumToRender: 15,
102
+ maxToRenderPerBatch: 10,
103
+ keyboardShouldPersistTaps: "handled",
104
+ ListEmptyComponent: /*#__PURE__*/_jsx(View, {
105
+ style: styles.emptyListContainer,
106
+ children: /*#__PURE__*/_jsx(Text, {
107
+ style: [styles.emptyListText, {
108
+ color: theme.helper
109
+ }],
110
+ children: "No countries found."
111
+ })
112
+ })
86
113
  })]
87
114
  });
88
115
  };
@@ -92,36 +119,40 @@ const styles = StyleSheet.create({
92
119
  width: "100%",
93
120
  paddingHorizontal: 16
94
121
  },
95
- loaderContainer: {
96
- flex: 1,
97
- alignItems: "center",
98
- justifyContent: "center"
99
- },
100
122
  popupTitle: {
101
123
  fontSize: 18,
102
124
  fontWeight: "600",
103
125
  marginBottom: 12,
104
126
  paddingTop: 16
105
127
  },
128
+ searchInputContainer: {
129
+ marginBottom: 12
130
+ },
106
131
  countryRow: {
107
132
  flexDirection: "row",
108
133
  alignItems: "center",
109
- paddingVertical: 12,
110
- // Adjusted padding
111
- height: 56 // Set a fixed height
134
+ paddingVertical: 12
135
+ // height: 56,
112
136
  },
113
137
  flag: {
114
138
  fontSize: 22
115
139
  },
116
140
  countryText: {
117
141
  marginLeft: 12,
118
- flex: 1 // Allow text to take remaining space
142
+ flex: 1
119
143
  },
120
144
  countryName: {
121
145
  fontSize: 16
122
146
  },
123
147
  countryCode: {
124
148
  fontSize: 14
149
+ },
150
+ emptyListContainer: {
151
+ paddingVertical: 40,
152
+ alignItems: "center"
153
+ },
154
+ emptyListText: {
155
+ fontSize: 16
125
156
  }
126
157
  });
127
158
  export default CountryPickerView;
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useMemo","Text","View","TouchableOpacity","StyleSheet","BottomSheetFlatList","useTheme","iso2ToFlagEmoji","allCountries","jsxs","_jsxs","jsx","_jsx","DEFAULT_COUNTRIES","map","c","code","dialCode","iso2","name","CountryRow","memo","item","onSelectCountry","nameStyle","codeStyle","handlePress","style","styles","countryRow","onPress","children","flag","countryText","CountryPickerView","countries","listTitle","listTitleStyle","countryNameStyle","countryCodeStyle","theme","memoizedNameStyle","countryName","color","text","memoizedCodeStyle","countryCode","helper","renderCountry","popup","popupTitle","data","keyExtractor","renderItem","contentContainerStyle","paddingBottom","initialNumToRender","maxToRenderPerBatch","create","flex","width","paddingHorizontal","loaderContainer","alignItems","justifyContent","fontSize","fontWeight","marginBottom","paddingTop","flexDirection","paddingVertical","height","marginLeft"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Input/CountryPickerView.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useState","useEffect","useCallback","useMemo","Text","View","TouchableOpacity","StyleSheet","Keyboard","BottomSheetFlatList","useTheme","iso2ToFlagEmoji","allCountries","CustomInput","jsxs","_jsxs","jsx","_jsx","DEFAULT_COUNTRIES","map","c","code","dialCode","iso2","name","CountryRow","memo","item","onSelectCountry","nameStyle","codeStyle","handlePress","dismiss","style","styles","countryRow","onPress","children","flag","countryText","CountryPickerView","countries","listTitle","listTitleStyle","countryNameStyle","countryCodeStyle","searchPlaceholder","theme","searchQuery","setSearchQuery","filteredCountries","setFilteredCountries","lowercasedQuery","toLowerCase","trim","newFilteredData","filter","country","includes","memoizedNameStyle","countryName","color","text","memoizedCodeStyle","countryCode","helper","renderCountry","popup","popupTitle","placeholder","value","isBottomSheet","onChangeText","containerStyle","searchInputContainer","data","keyExtractor","renderItem","contentContainerStyle","paddingBottom","initialNumToRender","maxToRenderPerBatch","keyboardShouldPersistTaps","ListEmptyComponent","emptyListContainer","emptyListText","create","flex","width","paddingHorizontal","fontSize","fontWeight","marginBottom","paddingTop","flexDirection","alignItems","paddingVertical","marginLeft"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Input/CountryPickerView.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import React, { forwardRef, useMemo, useCallback } from "react";
4
- import { Text, TouchableOpacity, StyleSheet } from "react-native";
4
+ import { Text, TouchableOpacity, StyleSheet, I18nManager } from "react-native";
5
5
  import CustomInput from "./Input.js";
6
6
  import { useTheme } from "../../theme/index.js";
7
7
  import { Ionicons } from "@expo/vector-icons";
@@ -35,6 +35,7 @@ const PhoneInput = /*#__PURE__*/forwardRef(({
35
35
  countryCodeStyle,
36
36
  countryNameStyle,
37
37
  isBottomSheet,
38
+ disableCountryPicker = false,
38
39
  ...rest
39
40
  }, ref) => {
40
41
  const {
@@ -67,6 +68,7 @@ const PhoneInput = /*#__PURE__*/forwardRef(({
67
68
  backgroundColor: theme.inputBackground,
68
69
  borderRightColor: theme.border
69
70
  }],
71
+ disabled: disableCountryPicker,
70
72
  hitSlop: {
71
73
  left: 30,
72
74
  top: 30,
@@ -104,7 +106,8 @@ const PhoneInput = /*#__PURE__*/forwardRef(({
104
106
  onChangeText: onChangeText,
105
107
  keyboardType: "phone-pad",
106
108
  placeholder: "123 456 7890",
107
- leftIcon: leftIcon,
109
+ leftIcon: !I18nManager.isRTL ? leftIcon : undefined,
110
+ rightIcon: !I18nManager.isRTL ? undefined : leftIcon,
108
111
  containerStyle: containerStyle,
109
112
  inputContainerStyle: inputContainerStyle,
110
113
  inputStyle: inputStyle,
@@ -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","isBottomSheet","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","I18nManager","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","isBottomSheet","disableCountryPicker","rest","ref","theme","push","clear","sel","find","handleCountryPress","openCountryPicker","component","snapPoints","leftIcon","style","styles","selector","backgroundColor","inputBackground","borderRightColor","border","disabled","hitSlop","left","top","right","bottom","onPress","activeOpacity","children","flag","color","inputText","size","marginHorizontal","keyboardType","placeholder","isRTL","undefined","rightIcon","create","flexDirection","alignItems","borderRightWidth","paddingHorizontal","fontSize","marginLeft"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Input/PhoneInput.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,9 +1,13 @@
1
1
  "use strict";
2
2
 
3
- // import { registerRootComponent } from 'expo';
3
+ // import { registerRootComponent } from "expo";
4
4
  // import "react-native-reanimated";
5
5
 
6
6
  // import App from "./app";
7
+ // import { I18nManager } from "react-native";
8
+
9
+ // I18nManager.allowRTL(true);
10
+ // I18nManager.forceRTL(true);
7
11
 
8
12
  // registerRootComponent(App);
9
13
 
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"..\\..\\src","sources":["index.ts"],"mappings":";;AAAA;AACA;;AAGA;;AAEA;;AAEA,cAAc,kBAAS;AACvB,cAAc,uBAAc;AAC5B,cAAc,qBAAY","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"..\\..\\src","sources":["index.ts"],"mappings":";;AAAA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,cAAc,kBAAS;AACvB,cAAc,uBAAc;AAC5B,cAAc,qBAAY","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/app.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAsDxC,QAAA,MAAM,GAAG,yBAgFR,CAAC;AAUF,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/app.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAsDnD,QAAA,MAAM,GAAG,yBAmFR,CAAC;AAUF,eAAe,GAAG,CAAC"}
@@ -8,7 +8,8 @@ interface CountryPickerViewProps {
8
8
  listTitleStyle?: StyleProp<TextStyle>;
9
9
  countryNameStyle?: StyleProp<TextStyle>;
10
10
  countryCodeStyle?: StyleProp<TextStyle>;
11
+ searchPlaceholder?: string;
11
12
  }
12
- declare const CountryPickerView: ({ countries, onSelectCountry, listTitle, listTitleStyle, countryNameStyle, countryCodeStyle, }: CountryPickerViewProps) => React.JSX.Element;
13
+ declare const CountryPickerView: ({ countries, onSelectCountry, listTitle, listTitleStyle, countryNameStyle, countryCodeStyle, searchPlaceholder, }: CountryPickerViewProps) => React.JSX.Element;
13
14
  export default CountryPickerView;
14
15
  //# sourceMappingURL=CountryPickerView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CountryPickerView.d.ts","sourceRoot":"","sources":["../../../../../src/components/Input/CountryPickerView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AACzE,OAAO,EAOL,SAAS,EACT,SAAS,EACV,MAAM,cAAc,CAAC;AAItB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAIvC,UAAU,sBAAsB;IAC9B,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;IACtB,eAAe,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,gBAAgB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACxC,gBAAgB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CACzC;AAkCD,QAAA,MAAM,iBAAiB,GAAI,gGAOxB,sBAAsB,sBA0CxB,CAAC;AAwCF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"CountryPickerView.d.ts","sourceRoot":"","sources":["../../../../../src/components/Input/CountryPickerView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AACzE,OAAO,EAKL,SAAS,EACT,SAAS,EAEV,MAAM,cAAc,CAAC;AAItB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAIvC,UAAU,sBAAsB;IAC9B,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;IACtB,eAAe,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,gBAAgB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACxC,gBAAgB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACxC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAqCD,QAAA,MAAM,iBAAiB,GAAI,mHAQxB,sBAAsB,sBAwExB,CAAC;AA6CF,eAAe,iBAAiB,CAAC"}
@@ -17,6 +17,7 @@ export interface PhoneInputProps extends Omit<CustomInputProps, "leftIcon" | "ri
17
17
  listTitleStyle?: StyleProp<TextStyle>;
18
18
  listTitle?: string;
19
19
  isBottomSheet?: boolean;
20
+ disableCountryPicker?: boolean;
20
21
  }
21
22
  declare const PhoneInput: React.ForwardRefExoticComponent<PhoneInputProps & React.RefAttributes<TextInput>>;
22
23
  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,EAIT,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;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAQD,QAAA,MAAM,UAAU,mFA0Hf,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,EAIT,SAAS,EACT,SAAS,EAEV,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;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B;AAQD,QAAA,MAAM,UAAU,mFA6Hf,CAAC;AAkBF,eAAe,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAQA,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAWA,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "related-ui-components",
3
- "version": "2.6.7",
3
+ "version": "2.6.9",
4
4
  "main": "./src/index.ts",
5
5
  "scripts": {
6
6
  "start": "expo start",
package/src/app.tsx CHANGED
@@ -1,5 +1,5 @@
1
- import React, { useState } from "react";
2
- import { SafeAreaView, StyleSheet, StatusBar, I18nManager } from "react-native";
1
+ import React, { useEffect, useState } from "react";
2
+ import { SafeAreaView, StyleSheet, StatusBar, I18nManager, DevSettings } from "react-native";
3
3
  import CarouselCardStack from "./components/CarouselCardStack/CarouselCardStack"; // Adjust path as needed
4
4
  import { GestureHandlerRootView } from "react-native-gesture-handler";
5
5
  import {
@@ -66,22 +66,21 @@ const App = () => {
66
66
  const newProgress = Math.floor(Math.random() * 101);
67
67
  setProgress(newProgress);
68
68
  };
69
- I18nManager.allowRTL(true);
70
- I18nManager.forceRTL(true);
69
+
71
70
  return (
72
71
  <>
73
- <SafeAreaProvider>
74
- <GestureHandlerRootView style={{ flex: 1 }}>
75
- <RelatedProvider theme={lightTheme}>
76
- <BottomSheetStackProvider>
77
- <StatusBar barStyle="light-content" />
78
- <SafeAreaView style={styles.appContainer}>
79
- {/* <CircularProgressBar
72
+ <SafeAreaProvider>
73
+ <GestureHandlerRootView style={{ flex: 1 }}>
74
+ <RelatedProvider theme={lightTheme}>
75
+ <BottomSheetStackProvider>
76
+ <StatusBar barStyle="light-content" />
77
+ <SafeAreaView style={styles.appContainer}>
78
+ {/* <CircularProgressBar
80
79
  progress={5}
81
80
  lineCap="round"
82
81
  textFont={""}
83
82
  /> */}
84
- {/* <DateRangePicker
83
+ {/* <DateRangePicker
85
84
  onDatesChange={(t) => {
86
85
  setDepartureDate(t.departure);
87
86
  setReturnDate(t.return);
@@ -91,7 +90,7 @@ const App = () => {
91
90
  returnDate={returnDate}
92
91
  // returnDisplayValue={returnDate}
93
92
  ></DateRangePicker> */}
94
- {/* <Filters
93
+ {/* <Filters
95
94
  bottomSheetBackgroundStyle={{
96
95
  borderTopRightRadius: 30,
97
96
  borderTopLeftRadius: 30,
@@ -115,20 +114,24 @@ const App = () => {
115
114
  applyButtonTextStyle={{ color: theme.secondary }}
116
115
  headerStyle={{ borderBottomWidth: 0 }}
117
116
  ></Filters> */}
118
- {/* <FlightSummary></FlightSummary> */}
119
- {/* <FlightForm></FlightForm> */}
120
- {/* <HotelSummary></HotelSummary> */}
121
- {/* <HotelForm></HotelForm> */}
122
- {/* <DateRangePicker onDatesChange={()=>{}} labelContainerStyle={{backgroundColor:"red"}}></DateRangePicker> */}
123
- {/* <CarRentalForm onSelectionChange={console.log}></CarRentalForm> */}
124
- {/* <CarouselCardStack data={DUMMY_DATA} /> */}
125
- {/* <CircularProgressBar variant="steps" totalSteps={4} currentStep={4} size={43} strokeWidth={2} progressColor="#9CA0A3"></CircularProgressBar> */}
126
- <RangeSlider initialMinValue={0} initialMaxValue={100} min={0} max={500} sliderWidth={100} onValueChange={console.log}></RangeSlider>
127
- {/* <PhoneInput value="" onChangeText={() => {}} inputContainerStyle={{height: 55}}></PhoneInput> */}
128
- </SafeAreaView>
129
- </BottomSheetStackProvider>
130
- </RelatedProvider>
131
- </GestureHandlerRootView>
117
+ {/* <FlightSummary></FlightSummary> */}
118
+ {/* <FlightForm></FlightForm> */}
119
+ {/* <HotelSummary></HotelSummary> */}
120
+ {/* <HotelForm></HotelForm> */}
121
+ {/* <DateRangePicker onDatesChange={()=>{}} labelContainerStyle={{backgroundColor:"red"}}></DateRangePicker> */}
122
+ {/* <CarRentalForm onSelectionChange={console.log}></CarRentalForm> */}
123
+ {/* <CarouselCardStack data={DUMMY_DATA} /> */}
124
+ {/* <CircularProgressBar variant="steps" totalSteps={4} currentStep={4} size={43} strokeWidth={2} progressColor="#9CA0A3"></CircularProgressBar> */}
125
+ {/* <RangeSlider initialMinValue={0} initialMaxValue={100} min={0} max={500} sliderWidth={100} onValueChange={console.log}></RangeSlider> */}
126
+ <PhoneInput
127
+ value=""
128
+ onChangeText={() => {}}
129
+ inputContainerStyle={{ height: 55 }}
130
+ ></PhoneInput>
131
+ </SafeAreaView>
132
+ </BottomSheetStackProvider>
133
+ </RelatedProvider>
134
+ </GestureHandlerRootView>
132
135
  </SafeAreaProvider>
133
136
  </>
134
137
  );
@@ -137,7 +140,7 @@ const App = () => {
137
140
  const styles = StyleSheet.create({
138
141
  appContainer: {
139
142
  flex: 1,
140
- backgroundColor:"grey",
143
+ backgroundColor: "grey",
141
144
  justifyContent: "center", // Center the carousel vertically if it's the main content
142
145
  },
143
146
  });
@@ -4,17 +4,16 @@ import {
4
4
  View,
5
5
  TouchableOpacity,
6
6
  StyleSheet,
7
- InteractionManager,
8
- ActivityIndicator,
9
7
  StyleProp,
10
8
  TextStyle,
9
+ Keyboard,
11
10
  } from "react-native";
12
- import { BottomSheetFlashList, BottomSheetFlatList } from "@gorhom/bottom-sheet";
11
+ import { BottomSheetFlatList } from "@gorhom/bottom-sheet";
13
12
  import { useTheme } from "../../theme";
14
13
  import { iso2ToFlagEmoji } from "../../utils/flags";
15
14
  import { Country } from "./PhoneInput";
16
15
  import { allCountries } from "country-telephone-data";
17
-
16
+ import CustomInput from "./Input"; // Import the CustomInput component
18
17
 
19
18
  interface CountryPickerViewProps {
20
19
  countries?: Country[];
@@ -23,6 +22,7 @@ interface CountryPickerViewProps {
23
22
  listTitleStyle?: StyleProp<TextStyle>;
24
23
  countryNameStyle?: StyleProp<TextStyle>;
25
24
  countryCodeStyle?: StyleProp<TextStyle>;
25
+ searchPlaceholder?: string;
26
26
  }
27
27
 
28
28
  const DEFAULT_COUNTRIES: Country[] = allCountries.map((c) => ({
@@ -43,7 +43,10 @@ const CountryRow = React.memo(
43
43
  nameStyle: StyleProp<TextStyle>;
44
44
  codeStyle: StyleProp<TextStyle>;
45
45
  }) => {
46
- const handlePress = () => onSelectCountry(item);
46
+ const handlePress = () => {
47
+ Keyboard.dismiss(); // Dismiss keyboard on selection
48
+ onSelectCountry(item);
49
+ };
47
50
 
48
51
  return (
49
52
  <TouchableOpacity style={styles.countryRow} onPress={handlePress}>
@@ -64,20 +67,37 @@ const CountryPickerView = ({
64
67
  listTitleStyle,
65
68
  countryNameStyle,
66
69
  countryCodeStyle,
70
+ searchPlaceholder = "Search...",
67
71
  }: CountryPickerViewProps) => {
68
72
  const { theme } = useTheme();
69
73
 
74
+ const [searchQuery, setSearchQuery] = useState("");
75
+ const [filteredCountries, setFilteredCountries] = useState(countries);
76
+
77
+ useEffect(() => {
78
+ const lowercasedQuery = searchQuery.toLowerCase().trim();
79
+ if (lowercasedQuery === "") {
80
+ setFilteredCountries(countries);
81
+ } else {
82
+ const newFilteredData = countries.filter(
83
+ (country) =>
84
+ country.name.toLowerCase().includes(lowercasedQuery) ||
85
+ country.code.includes(lowercasedQuery)
86
+ );
87
+ setFilteredCountries(newFilteredData);
88
+ }
89
+ }, [searchQuery, countries]);
90
+
70
91
  const memoizedNameStyle = useMemo(
71
92
  () => [styles.countryName, { color: theme.text }, countryNameStyle],
72
93
  [theme.text, countryNameStyle]
73
94
  );
74
95
 
75
96
  const memoizedCodeStyle = useMemo(
76
- () => [styles.countryCode, { color: theme.helper }, countryCodeStyle], // Use a different theme color for contrast
97
+ () => [styles.countryCode, { color: theme.helper }, countryCodeStyle],
77
98
  [theme.helper, countryCodeStyle]
78
99
  );
79
100
 
80
- // CHANGED: renderCountry is now wrapped in useCallback
81
101
  const renderCountry = useCallback(
82
102
  ({ item }: { item: Country }) => (
83
103
  <CountryRow
@@ -95,14 +115,28 @@ const CountryPickerView = ({
95
115
  <Text style={[styles.popupTitle, { color: theme.text }, listTitleStyle]}>
96
116
  {listTitle}
97
117
  </Text>
118
+ <CustomInput
119
+ placeholder={searchPlaceholder}
120
+ value={searchQuery}
121
+ isBottomSheet
122
+ onChangeText={setSearchQuery}
123
+ containerStyle={styles.searchInputContainer}
124
+ />
98
125
  <BottomSheetFlatList
99
- data={countries}
100
- keyExtractor={(c: Country) => c.iso2}
126
+ data={filteredCountries}
127
+ keyExtractor={(c) => c.iso2}
101
128
  renderItem={renderCountry}
102
129
  contentContainerStyle={{ paddingBottom: 16 }}
103
- initialNumToRender={10}
130
+ initialNumToRender={15}
104
131
  maxToRenderPerBatch={10}
105
- // estimatedItemSize={56} // Provide a more accurate estimate
132
+ keyboardShouldPersistTaps="handled"
133
+ ListEmptyComponent={
134
+ <View style={styles.emptyListContainer}>
135
+ <Text style={[styles.emptyListText, { color: theme.helper }]}>
136
+ No countries found.
137
+ </Text>
138
+ </View>
139
+ }
106
140
  />
107
141
  </View>
108
142
  );
@@ -114,29 +148,27 @@ const styles = StyleSheet.create({
114
148
  width: "100%",
115
149
  paddingHorizontal: 16,
116
150
  },
117
- loaderContainer: {
118
- flex: 1,
119
- alignItems: "center",
120
- justifyContent: "center",
121
- },
122
151
  popupTitle: {
123
152
  fontSize: 18,
124
153
  fontWeight: "600",
125
154
  marginBottom: 12,
126
155
  paddingTop: 16,
127
156
  },
157
+ searchInputContainer: {
158
+ marginBottom: 12,
159
+ },
128
160
  countryRow: {
129
161
  flexDirection: "row",
130
162
  alignItems: "center",
131
- paddingVertical: 12, // Adjusted padding
132
- height: 56, // Set a fixed height
163
+ paddingVertical: 12,
164
+ // height: 56,
133
165
  },
134
166
  flag: {
135
167
  fontSize: 22,
136
168
  },
137
169
  countryText: {
138
170
  marginLeft: 12,
139
- flex: 1, // Allow text to take remaining space
171
+ flex: 1,
140
172
  },
141
173
  countryName: {
142
174
  fontSize: 16,
@@ -144,6 +176,13 @@ const styles = StyleSheet.create({
144
176
  countryCode: {
145
177
  fontSize: 14,
146
178
  },
179
+ emptyListContainer: {
180
+ paddingVertical: 40,
181
+ alignItems: "center",
182
+ },
183
+ emptyListText: {
184
+ fontSize: 16,
185
+ },
147
186
  });
148
187
 
149
188
  export default CountryPickerView;
@@ -6,6 +6,7 @@ import {
6
6
  StyleSheet,
7
7
  StyleProp,
8
8
  TextStyle,
9
+ I18nManager,
9
10
  } from "react-native";
10
11
  import CustomInput, { CustomInputProps } from "./Input";
11
12
  import { useTheme } from "../../theme";
@@ -13,7 +14,7 @@ import { Ionicons } from "@expo/vector-icons";
13
14
  import { useBottomSheetStack } from "../../contexts";
14
15
  import { allCountries } from "country-telephone-data";
15
16
  import { iso2ToFlagEmoji } from "../../utils/flags";
16
- import CountryPickerView from "./CountryPickerView";
17
+ import CountryPickerView from "./CountryPickerView";
17
18
 
18
19
  export type Country = {
19
20
  code: string;
@@ -44,6 +45,8 @@ export interface PhoneInputProps
44
45
 
45
46
  listTitle?: string;
46
47
  isBottomSheet?: boolean;
48
+
49
+ disableCountryPicker?: boolean
47
50
  }
48
51
 
49
52
  const DEFAULT_COUNTRIES: Country[] = allCountries.map((c) => ({
@@ -74,6 +77,7 @@ const PhoneInput = forwardRef<TextInput, PhoneInputProps>(
74
77
  countryCodeStyle,
75
78
  countryNameStyle,
76
79
  isBottomSheet,
80
+ disableCountryPicker = false,
77
81
  ...rest
78
82
  },
79
83
  ref
@@ -131,6 +135,7 @@ const PhoneInput = forwardRef<TextInput, PhoneInputProps>(
131
135
  borderRightColor: theme.border,
132
136
  },
133
137
  ]}
138
+ disabled={disableCountryPicker}
134
139
  hitSlop={{ left: 30, top: 30, right: 30, bottom: 30 }}
135
140
  onPress={openCountryPicker}
136
141
  activeOpacity={0.8}
@@ -161,7 +166,8 @@ const PhoneInput = forwardRef<TextInput, PhoneInputProps>(
161
166
  onChangeText={onChangeText}
162
167
  keyboardType="phone-pad"
163
168
  placeholder="123 456 7890"
164
- leftIcon={leftIcon}
169
+ leftIcon={!I18nManager.isRTL ? leftIcon : undefined}
170
+ rightIcon={!I18nManager.isRTL ? undefined : leftIcon}
165
171
  containerStyle={containerStyle}
166
172
  inputContainerStyle={inputContainerStyle}
167
173
  inputStyle={inputStyle}
@@ -192,4 +198,4 @@ const styles = StyleSheet.create({
192
198
  },
193
199
  });
194
200
 
195
- export default PhoneInput;
201
+ export default PhoneInput;
package/src/index.ts CHANGED
@@ -1,11 +1,14 @@
1
- // import { registerRootComponent } from 'expo';
1
+ // import { registerRootComponent } from "expo";
2
2
  // import "react-native-reanimated";
3
3
 
4
-
5
4
  // import App from "./app";
5
+ // import { I18nManager } from "react-native";
6
+
7
+ // I18nManager.allowRTL(true);
8
+ // I18nManager.forceRTL(true);
6
9
 
7
10
  // registerRootComponent(App);
8
11
 
9
- export * from "./theme"
12
+ export * from "./theme";
10
13
  export * from "./components";
11
14
  export * from "./contexts";