react-native-country-select 0.2.2 → 0.2.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.
- package/README.md +15 -1
- package/lib/components/CountryItem/index.tsx +11 -2
- package/lib/components/CountrySelect/index.tsx +93 -26
- package/lib/components/styles.js +2 -2
- package/lib/interface/countryItemProps.ts +2 -0
- package/lib/interface/countrySelectProps.ts +11 -0
- package/lib/interface/countrySelectStyles.ts +2 -0
- package/lib/utils/getTranslation.ts +361 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -271,6 +271,7 @@ export default function App() {
|
|
|
271
271
|
| disabledBackdropPress | boolean | No | false | Whether to disable backdrop press to close |
|
|
272
272
|
| removedBackdrop | boolean | No | false | Whether to remove the backdrop completely |
|
|
273
273
|
| onBackdropPress | () => void | No | - | Custom callback for backdrop press |
|
|
274
|
+
| dragHandleIndicatorComponent | () => ReactElement | - | - | Custom component for drag handle indicator on bottom sheet |
|
|
274
275
|
| countryItemComponent | (item: [ICountry](lib/interfaces/country.ts)) => ReactElement | No | - | Custom component for country items |
|
|
275
276
|
| sectionTitleComponent | (item: [ISectionTitle](lib/interfaces/sectionTitle.ts)) => ReactElement | No | - | Custom component for section titles |
|
|
276
277
|
| closeButtonComponent | () => ReactElement | No | - | Custom component for closeButton |
|
|
@@ -341,7 +342,20 @@ const countrySelectCloseButton = getByTestId('countrySelectCloseButton');
|
|
|
341
342
|
|
|
342
343
|
## Accessibility
|
|
343
344
|
|
|
344
|
-
Ensure your app is inclusive and usable by everyone by leveraging built-in React Native accessibility features. The accessibility props are covered by this package.
|
|
345
|
+
Ensure your app is inclusive and usable by everyone by leveraging built-in React Native accessibility features. The accessibility props are covered and customizable by this package.
|
|
346
|
+
|
|
347
|
+
### Custom Accessibility Props Available
|
|
348
|
+
|
|
349
|
+
- `accessibilityLabelBackdrop`: Accessibility label for the backdrop;
|
|
350
|
+
- `accessibilityHintBackdrop`: Accessibility hint for the backdrop;
|
|
351
|
+
- `accessibilityLabelCloseButton`: Accessibility label for the close button;
|
|
352
|
+
- `accessibilityHintCloseButton`: Accessibility hint for the close button;
|
|
353
|
+
- `accessibilityLabelSearchInput`: Accessibility label for the search input;
|
|
354
|
+
- `accessibilityHintSearchInput`: Accessibility hint for the search input;
|
|
355
|
+
- `accessibilityLabelCountriesList`: Accessibility label for the countries list;
|
|
356
|
+
- `accessibilityHintCountriesList`: Accessibility hint for the countries list;
|
|
357
|
+
- `accessibilityLabelCountryItem`: Accessibility label for individual country items;
|
|
358
|
+
- `accessibilityHintCountryItem`: Accessibility hint for individual country.
|
|
345
359
|
|
|
346
360
|
<br>
|
|
347
361
|
|
|
@@ -2,6 +2,7 @@ import React, {memo} from 'react';
|
|
|
2
2
|
import {View, Text, TouchableOpacity} from 'react-native';
|
|
3
3
|
|
|
4
4
|
import {createStyles} from '../styles';
|
|
5
|
+
import {translations} from '../../utils/getTranslation';
|
|
5
6
|
import {ICountryItemProps, ICountrySelectLanguages} from '../../interface';
|
|
6
7
|
|
|
7
8
|
const DEFAULT_LANGUAGE: ICountrySelectLanguages = 'eng';
|
|
@@ -14,6 +15,8 @@ export const CountryItem = memo<ICountryItemProps>(
|
|
|
14
15
|
theme = 'light',
|
|
15
16
|
language,
|
|
16
17
|
countrySelectStyle,
|
|
18
|
+
accessibilityLabel,
|
|
19
|
+
accessibilityHint,
|
|
17
20
|
}) => {
|
|
18
21
|
const styles = createStyles(theme);
|
|
19
22
|
|
|
@@ -21,8 +24,14 @@ export const CountryItem = memo<ICountryItemProps>(
|
|
|
21
24
|
<TouchableOpacity
|
|
22
25
|
testID="countrySelectItem"
|
|
23
26
|
accessibilityRole="button"
|
|
24
|
-
accessibilityLabel=
|
|
25
|
-
|
|
27
|
+
accessibilityLabel={
|
|
28
|
+
accessibilityLabel ||
|
|
29
|
+
translations.accessibilityLabelCountryItem[language]
|
|
30
|
+
}
|
|
31
|
+
accessibilityHint={
|
|
32
|
+
accessibilityHint ||
|
|
33
|
+
translations.accessibilityHintCountryItem[language]
|
|
34
|
+
}
|
|
26
35
|
style={[styles.countryItem, countrySelectStyle?.countryItem]}
|
|
27
36
|
onPress={() => {
|
|
28
37
|
onSelect(item);
|
|
@@ -61,6 +61,7 @@ export const CountrySelect: React.FC<ICountrySelectProps> = ({
|
|
|
61
61
|
disabledBackdropPress,
|
|
62
62
|
removedBackdrop,
|
|
63
63
|
onBackdropPress,
|
|
64
|
+
dragHandleIndicatorComponent,
|
|
64
65
|
sectionTitleComponent,
|
|
65
66
|
countryItemComponent,
|
|
66
67
|
closeButtonComponent,
|
|
@@ -68,17 +69,27 @@ export const CountrySelect: React.FC<ICountrySelectProps> = ({
|
|
|
68
69
|
allCountriesTitle,
|
|
69
70
|
showsVerticalScrollIndicator = false,
|
|
70
71
|
countryNotFoundMessage,
|
|
72
|
+
accessibilityLabelBackdrop,
|
|
73
|
+
accessibilityHintBackdrop,
|
|
74
|
+
accessibilityLabelCloseButton,
|
|
75
|
+
accessibilityHintCloseButton,
|
|
76
|
+
accessibilityLabelSearchInput,
|
|
77
|
+
accessibilityHintSearchInput,
|
|
78
|
+
accessibilityLabelCountriesList,
|
|
79
|
+
accessibilityHintCountriesList,
|
|
80
|
+
accessibilityLabelCountryItem,
|
|
81
|
+
accessibilityHintCountryItem,
|
|
71
82
|
...props
|
|
72
83
|
}) => {
|
|
73
|
-
const
|
|
84
|
+
const [modalHeight, setModalHeight] = useState(useWindowDimensions().height);
|
|
74
85
|
const styles = createStyles(theme, modalType, isFullScreen);
|
|
75
86
|
|
|
76
87
|
const [searchQuery, setSearchQuery] = useState('');
|
|
77
88
|
const [isKeyboardVisible, setIsKeyboardVisible] = useState(false);
|
|
78
89
|
const [bottomSheetSize, setBottomSheetSize] = useState({
|
|
79
|
-
minHeight: MIN_HEIGHT_PERCENTAGE *
|
|
80
|
-
maxHeight: MAX_HEIGHT_PERCENTAGE *
|
|
81
|
-
initialHeight: INITIAL_HEIGHT_PERCENTAGE *
|
|
90
|
+
minHeight: MIN_HEIGHT_PERCENTAGE * modalHeight,
|
|
91
|
+
maxHeight: MAX_HEIGHT_PERCENTAGE * modalHeight,
|
|
92
|
+
initialHeight: INITIAL_HEIGHT_PERCENTAGE * modalHeight,
|
|
82
93
|
});
|
|
83
94
|
|
|
84
95
|
const sheetHeight = useRef(
|
|
@@ -93,7 +104,7 @@ export const CountrySelect: React.FC<ICountrySelectProps> = ({
|
|
|
93
104
|
}
|
|
94
105
|
|
|
95
106
|
const DRAG_HANDLE_HEIGHT = 20;
|
|
96
|
-
const availableHeight =
|
|
107
|
+
const availableHeight = modalHeight - DRAG_HANDLE_HEIGHT;
|
|
97
108
|
|
|
98
109
|
const parsedMinHeight = parseHeight(minBottomsheetHeight, availableHeight);
|
|
99
110
|
const parsedMaxHeight = parseHeight(maxBottomsheetHeight, availableHeight);
|
|
@@ -112,7 +123,7 @@ export const CountrySelect: React.FC<ICountrySelectProps> = ({
|
|
|
112
123
|
minBottomsheetHeight,
|
|
113
124
|
maxBottomsheetHeight,
|
|
114
125
|
initialBottomsheetHeight,
|
|
115
|
-
|
|
126
|
+
modalHeight,
|
|
116
127
|
modalType,
|
|
117
128
|
]);
|
|
118
129
|
|
|
@@ -134,12 +145,10 @@ export const CountrySelect: React.FC<ICountrySelectProps> = ({
|
|
|
134
145
|
}
|
|
135
146
|
|
|
136
147
|
if (isKeyboardVisible) {
|
|
137
|
-
sheetHeight.setValue(
|
|
138
|
-
parseHeight(bottomSheetSize.maxHeight, windowHeight),
|
|
139
|
-
);
|
|
148
|
+
sheetHeight.setValue(parseHeight(bottomSheetSize.maxHeight, modalHeight));
|
|
140
149
|
lastHeight.current = bottomSheetSize.maxHeight;
|
|
141
150
|
} else {
|
|
142
|
-
sheetHeight.setValue(parseHeight(lastHeight.current,
|
|
151
|
+
sheetHeight.setValue(parseHeight(lastHeight.current, modalHeight));
|
|
143
152
|
}
|
|
144
153
|
}, [isKeyboardVisible, modalType]);
|
|
145
154
|
|
|
@@ -382,8 +391,14 @@ export const CountrySelect: React.FC<ICountrySelectProps> = ({
|
|
|
382
391
|
<TouchableOpacity
|
|
383
392
|
testID="countrySelectCloseButton"
|
|
384
393
|
accessibilityRole="button"
|
|
385
|
-
accessibilityLabel=
|
|
386
|
-
|
|
394
|
+
accessibilityLabel={
|
|
395
|
+
accessibilityLabelCloseButton ||
|
|
396
|
+
translations.accessibilityLabelCloseButton[language]
|
|
397
|
+
}
|
|
398
|
+
accessibilityHint={
|
|
399
|
+
accessibilityHintCloseButton ||
|
|
400
|
+
translations.accessibilityHintCloseButton[language]
|
|
401
|
+
}
|
|
387
402
|
style={[styles.closeButton, countrySelectStyle?.closeButton]}
|
|
388
403
|
activeOpacity={0.6}
|
|
389
404
|
onPress={onClose}>
|
|
@@ -400,8 +415,14 @@ export const CountrySelect: React.FC<ICountrySelectProps> = ({
|
|
|
400
415
|
<TextInput
|
|
401
416
|
testID="countrySelectSearchInput"
|
|
402
417
|
accessibilityRole="text"
|
|
403
|
-
accessibilityLabel=
|
|
404
|
-
|
|
418
|
+
accessibilityLabel={
|
|
419
|
+
accessibilityLabelSearchInput ||
|
|
420
|
+
translations.accessibilityLabelSearchInput[language]
|
|
421
|
+
}
|
|
422
|
+
accessibilityHint={
|
|
423
|
+
accessibilityHintSearchInput ||
|
|
424
|
+
translations.accessibilityHintSearchInput[language]
|
|
425
|
+
}
|
|
405
426
|
style={[styles.searchInput, countrySelectStyle?.searchInput]}
|
|
406
427
|
placeholder={
|
|
407
428
|
searchPlaceholder ||
|
|
@@ -443,8 +464,14 @@ export const CountrySelect: React.FC<ICountrySelectProps> = ({
|
|
|
443
464
|
<FlatList
|
|
444
465
|
testID="countrySelectList"
|
|
445
466
|
accessibilityRole="list"
|
|
446
|
-
accessibilityLabel=
|
|
447
|
-
|
|
467
|
+
accessibilityLabel={
|
|
468
|
+
accessibilityLabelCountriesList ||
|
|
469
|
+
translations.accessibilityLabelCountriesList[language]
|
|
470
|
+
}
|
|
471
|
+
accessibilityHint={
|
|
472
|
+
accessibilityHintCountriesList ||
|
|
473
|
+
translations.accessibilityHintCountriesList[language]
|
|
474
|
+
}
|
|
448
475
|
data={getCountries}
|
|
449
476
|
keyExtractor={keyExtractor}
|
|
450
477
|
renderItem={renderItem}
|
|
@@ -487,6 +514,14 @@ export const CountrySelect: React.FC<ICountrySelectProps> = ({
|
|
|
487
514
|
theme={theme}
|
|
488
515
|
language={language}
|
|
489
516
|
countrySelectStyle={countrySelectStyle}
|
|
517
|
+
accessibilityLabel={
|
|
518
|
+
accessibilityLabelCountryItem ||
|
|
519
|
+
translations.accessibilityLabelCountryItem[language]
|
|
520
|
+
}
|
|
521
|
+
accessibilityHint={
|
|
522
|
+
accessibilityHintCountryItem ||
|
|
523
|
+
translations.accessibilityHintCountryItem[language]
|
|
524
|
+
}
|
|
490
525
|
/>
|
|
491
526
|
);
|
|
492
527
|
},
|
|
@@ -512,8 +547,14 @@ export const CountrySelect: React.FC<ICountrySelectProps> = ({
|
|
|
512
547
|
<Pressable
|
|
513
548
|
testID="countrySelectBackdrop"
|
|
514
549
|
accessibilityRole="button"
|
|
515
|
-
accessibilityLabel=
|
|
516
|
-
|
|
550
|
+
accessibilityLabel={
|
|
551
|
+
accessibilityLabelBackdrop ||
|
|
552
|
+
translations.accessibilityLabelBackdrop[language]
|
|
553
|
+
}
|
|
554
|
+
accessibilityHint={
|
|
555
|
+
accessibilityHintBackdrop ||
|
|
556
|
+
translations.accessibilityHintBackdrop[language]
|
|
557
|
+
}
|
|
517
558
|
disabled={disabledBackdropPress || removedBackdrop}
|
|
518
559
|
style={[
|
|
519
560
|
styles.backdrop,
|
|
@@ -522,7 +563,7 @@ export const CountrySelect: React.FC<ICountrySelectProps> = ({
|
|
|
522
563
|
removedBackdrop && {backgroundColor: 'transparent'},
|
|
523
564
|
]}
|
|
524
565
|
onPress={onBackdropPress || onClose}>
|
|
525
|
-
<
|
|
566
|
+
<View
|
|
526
567
|
style={[
|
|
527
568
|
styles.container,
|
|
528
569
|
countrySelectStyle?.container,
|
|
@@ -531,7 +572,9 @@ export const CountrySelect: React.FC<ICountrySelectProps> = ({
|
|
|
531
572
|
width: '100%',
|
|
532
573
|
height: '100%',
|
|
533
574
|
},
|
|
534
|
-
]}
|
|
575
|
+
]}
|
|
576
|
+
onStartShouldSetResponder={() => true}
|
|
577
|
+
onResponderGrant={() => {}}>
|
|
535
578
|
<View
|
|
536
579
|
style={[
|
|
537
580
|
styles.content,
|
|
@@ -553,7 +596,7 @@ export const CountrySelect: React.FC<ICountrySelectProps> = ({
|
|
|
553
596
|
|
|
554
597
|
{renderFlatList()}
|
|
555
598
|
</View>
|
|
556
|
-
</
|
|
599
|
+
</View>
|
|
557
600
|
</Pressable>
|
|
558
601
|
</Modal>
|
|
559
602
|
);
|
|
@@ -572,12 +615,22 @@ export const CountrySelect: React.FC<ICountrySelectProps> = ({
|
|
|
572
615
|
styles.backdrop,
|
|
573
616
|
countrySelectStyle?.backdrop,
|
|
574
617
|
removedBackdrop && {backgroundColor: 'transparent'},
|
|
575
|
-
]}
|
|
618
|
+
]}
|
|
619
|
+
onLayout={event => {
|
|
620
|
+
const {height} = event.nativeEvent.layout;
|
|
621
|
+
setModalHeight(height);
|
|
622
|
+
}}>
|
|
576
623
|
<Pressable
|
|
577
624
|
testID="countrySelectBackdrop"
|
|
578
625
|
accessibilityRole="button"
|
|
579
|
-
accessibilityLabel=
|
|
580
|
-
|
|
626
|
+
accessibilityLabel={
|
|
627
|
+
accessibilityLabelBackdrop ||
|
|
628
|
+
translations.accessibilityLabelBackdrop[language]
|
|
629
|
+
}
|
|
630
|
+
accessibilityHint={
|
|
631
|
+
accessibilityHintBackdrop ||
|
|
632
|
+
translations.accessibilityHintBackdrop[language]
|
|
633
|
+
}
|
|
581
634
|
disabled={disabledBackdropPress || removedBackdrop}
|
|
582
635
|
style={{flex: 1}}
|
|
583
636
|
onPress={onBackdropPress || onClose}
|
|
@@ -585,8 +638,22 @@ export const CountrySelect: React.FC<ICountrySelectProps> = ({
|
|
|
585
638
|
<View
|
|
586
639
|
style={[styles.container, countrySelectStyle?.container]}
|
|
587
640
|
pointerEvents="auto">
|
|
588
|
-
<View
|
|
589
|
-
|
|
641
|
+
<View
|
|
642
|
+
{...handlePanResponder.panHandlers}
|
|
643
|
+
style={[
|
|
644
|
+
styles.dragHandleContainer,
|
|
645
|
+
countrySelectStyle?.dragHandleContainer,
|
|
646
|
+
]}>
|
|
647
|
+
{dragHandleIndicatorComponent ? (
|
|
648
|
+
dragHandleIndicatorComponent()
|
|
649
|
+
) : (
|
|
650
|
+
<View
|
|
651
|
+
style={[
|
|
652
|
+
styles.dragHandleIndicator,
|
|
653
|
+
countrySelectStyle?.dragHandleIndicator,
|
|
654
|
+
]}
|
|
655
|
+
/>
|
|
656
|
+
)}
|
|
590
657
|
</View>
|
|
591
658
|
<Animated.View
|
|
592
659
|
style={[
|
package/lib/components/styles.js
CHANGED
|
@@ -42,7 +42,7 @@ export const createStyles = (theme, modalType, isFullScreen) =>
|
|
|
42
42
|
padding: 16,
|
|
43
43
|
paddingTop: 0,
|
|
44
44
|
},
|
|
45
|
-
|
|
45
|
+
dragHandleContainer: {
|
|
46
46
|
width: '100%',
|
|
47
47
|
height: 24,
|
|
48
48
|
justifyContent: 'center',
|
|
@@ -52,7 +52,7 @@ export const createStyles = (theme, modalType, isFullScreen) =>
|
|
|
52
52
|
borderTopRightRadius: 20,
|
|
53
53
|
marginBottom: -1,
|
|
54
54
|
},
|
|
55
|
-
|
|
55
|
+
dragHandleIndicator: {
|
|
56
56
|
width: 40,
|
|
57
57
|
height: 4,
|
|
58
58
|
backgroundColor: theme === 'dark' ? '#FFFFFF40' : '#00000040',
|
|
@@ -29,6 +29,7 @@ export interface ICountrySelectProps extends ModalProps {
|
|
|
29
29
|
disabledBackdropPress?: boolean;
|
|
30
30
|
removedBackdrop?: boolean;
|
|
31
31
|
onBackdropPress?: () => void;
|
|
32
|
+
dragHandleIndicatorComponent?: () => React.ReactElement;
|
|
32
33
|
countryItemComponent?: (item: ICountry) => React.ReactElement;
|
|
33
34
|
sectionTitleComponent?: (item: ISectionTitle) => React.ReactElement;
|
|
34
35
|
closeButtonComponent?: () => React.ReactElement;
|
|
@@ -36,4 +37,14 @@ export interface ICountrySelectProps extends ModalProps {
|
|
|
36
37
|
allCountriesTitle?: string;
|
|
37
38
|
showsVerticalScrollIndicator?: boolean;
|
|
38
39
|
countryNotFoundMessage?: string;
|
|
40
|
+
accessibilityLabelBackdrop?: string;
|
|
41
|
+
accessibilityHintBackdrop?: string;
|
|
42
|
+
accessibilityLabelCloseButton?: string;
|
|
43
|
+
accessibilityHintCloseButton?: string;
|
|
44
|
+
accessibilityLabelSearchInput?: string;
|
|
45
|
+
accessibilityHintSearchInput?: string;
|
|
46
|
+
accessibilityLabelCountriesList?: string;
|
|
47
|
+
accessibilityHintCountriesList?: string;
|
|
48
|
+
accessibilityLabelCountryItem?: string;
|
|
49
|
+
accessibilityHintCountryItem?: string;
|
|
39
50
|
}
|
|
@@ -4,6 +4,8 @@ export interface ICountrySelectStyle {
|
|
|
4
4
|
backdrop?: StyleProp<ViewStyle>;
|
|
5
5
|
container?: StyleProp<ViewStyle>;
|
|
6
6
|
content?: StyleProp<ViewStyle>;
|
|
7
|
+
dragHandleContainer?: StyleProp<ViewStyle>;
|
|
8
|
+
dragHandleIndicator?: StyleProp<ViewStyle>;
|
|
7
9
|
closeButton?: StyleProp<ViewStyle>;
|
|
8
10
|
closeButtonText?: StyleProp<TextStyle>;
|
|
9
11
|
searchContainer?: StyleProp<ViewStyle>;
|
|
@@ -4,7 +4,17 @@ type TranslationKey =
|
|
|
4
4
|
| 'searchPlaceholder'
|
|
5
5
|
| 'popularCountriesTitle'
|
|
6
6
|
| 'allCountriesTitle'
|
|
7
|
-
| 'searchNotFoundMessage'
|
|
7
|
+
| 'searchNotFoundMessage'
|
|
8
|
+
| 'accessibilityLabelBackdrop'
|
|
9
|
+
| 'accessibilityHintBackdrop'
|
|
10
|
+
| 'accessibilityLabelCloseButton'
|
|
11
|
+
| 'accessibilityHintCloseButton'
|
|
12
|
+
| 'accessibilityLabelSearchInput'
|
|
13
|
+
| 'accessibilityHintSearchInput'
|
|
14
|
+
| 'accessibilityLabelCountriesList'
|
|
15
|
+
| 'accessibilityHintCountriesList'
|
|
16
|
+
| 'accessibilityLabelCountryItem'
|
|
17
|
+
| 'accessibilityHintCountryItem';
|
|
8
18
|
type TranslationMap = Record<
|
|
9
19
|
TranslationKey,
|
|
10
20
|
Record<ICountrySelectLanguages, string>
|
|
@@ -151,4 +161,354 @@ export const translations: TranslationMap = {
|
|
|
151
161
|
'zho-Hans': '没有找到国家',
|
|
152
162
|
'zho-Hant': '找不到國家',
|
|
153
163
|
},
|
|
164
|
+
accessibilityLabelBackdrop: {
|
|
165
|
+
ara: 'خلفية نافذة اختيار البلد',
|
|
166
|
+
bel: 'Фон мадальнага акна выбару краіны',
|
|
167
|
+
bre: 'Dreklec modalen dibab ar vro',
|
|
168
|
+
bul: 'Фон на модалното прозорче за избор на държава',
|
|
169
|
+
ces: 'Pozadí modálního okna pro výběr země',
|
|
170
|
+
deu: 'Hintergrund des Länderauswahl-Modals',
|
|
171
|
+
ell: 'Φόντο του παραθύρου επιλογής χώρας',
|
|
172
|
+
eng: 'Country Select Modal Backdrop',
|
|
173
|
+
est: 'Riigi valimise modaali taust',
|
|
174
|
+
fin: 'Maan valinta -modaalin tausta',
|
|
175
|
+
fra: 'Arrière-plan de la fenêtre de sélection de pays',
|
|
176
|
+
heb: 'רקע חלון בחירת מדינה',
|
|
177
|
+
hrv: 'Pozadina modala za odabir države',
|
|
178
|
+
hun: 'Ország kiválasztó modális háttér',
|
|
179
|
+
ita: 'Sfondo della finestra di selezione paese',
|
|
180
|
+
jpn: '国選択モーダルの背景',
|
|
181
|
+
kor: '국가 선택 모달 배경',
|
|
182
|
+
nld: 'Achtergrond van landselectie modal',
|
|
183
|
+
per: 'پسزمینه پنجره انتخاب کشور',
|
|
184
|
+
pol: 'Tło modala wyboru kraju',
|
|
185
|
+
por: 'Fundo do modal de seleção de país',
|
|
186
|
+
ron: 'Fundalul ferestrei modale de selecție țară',
|
|
187
|
+
rus: 'Фон модального окна выбора страны',
|
|
188
|
+
slk: 'Pozadie modálneho okna výberu krajiny',
|
|
189
|
+
spa: 'Fondo del modal de selección de país',
|
|
190
|
+
srp: 'Позадина модалног прозора за избор државе',
|
|
191
|
+
swe: 'Bakgrund för landvalsmodal',
|
|
192
|
+
tur: 'Ülke seçimi modal arka planı',
|
|
193
|
+
ukr: 'Фон модального вікна вибору країни',
|
|
194
|
+
urd: 'ملک منتخب کرنے والے موڈل کا پس منظر',
|
|
195
|
+
zho: '国家选择模态框背景',
|
|
196
|
+
'zho-Hans': '国家选择模态框背景',
|
|
197
|
+
'zho-Hant': '國家選擇模態框背景',
|
|
198
|
+
},
|
|
199
|
+
accessibilityHintBackdrop: {
|
|
200
|
+
ara: 'انقر لإغلاق نافذة اختيار البلد',
|
|
201
|
+
bel: 'Націсніце, каб закрыць акно выбару краіны',
|
|
202
|
+
bre: 'Klikit evit serriñ modalen dibab ar vro',
|
|
203
|
+
bul: 'Щракнете, за да затворите модалното прозорче за избор на държава',
|
|
204
|
+
ces: 'Klikněte pro zavření modálního okna výběru země',
|
|
205
|
+
deu: 'Klicken Sie, um das Länderauswahl-Modal zu schließen',
|
|
206
|
+
ell: 'Κάντε κλικ για να κλείσετε το παράθυρο επιλογής χώρας',
|
|
207
|
+
eng: 'Click to close the Country Select modal',
|
|
208
|
+
est: 'Klõpsake, et sulgeda riigi valimise modaal',
|
|
209
|
+
fin: 'Klikkaa sulkeaksesi maan valinta -modaali',
|
|
210
|
+
fra: 'Cliquez pour fermer la fenêtre de sélection de pays',
|
|
211
|
+
heb: 'לחץ כדי לסגור את חלון בחירת המדינה',
|
|
212
|
+
hrv: 'Kliknite za zatvaranje modala za odabir države',
|
|
213
|
+
hun: 'Kattintson az ország kiválasztó modális bezárásához',
|
|
214
|
+
ita: 'Clicca per chiudere la finestra di selezione paese',
|
|
215
|
+
jpn: '国選択モーダルを閉じるにはクリック',
|
|
216
|
+
kor: '국가 선택 모달을 닫으려면 클릭',
|
|
217
|
+
nld: 'Klik om het landselectie modal te sluiten',
|
|
218
|
+
per: 'برای بستن پنجره انتخاب کشور کلیک کنید',
|
|
219
|
+
pol: 'Kliknij, aby zamknąć modal wyboru kraju',
|
|
220
|
+
por: 'Clique para fechar o modal de seleção de país',
|
|
221
|
+
ron: 'Faceți clic pentru a închide fereastra modală de selecție țară',
|
|
222
|
+
rus: 'Нажмите, чтобы закрыть модальное окно выбора страны',
|
|
223
|
+
slk: 'Kliknite pre zatvorenie modálneho okna výberu krajiny',
|
|
224
|
+
spa: 'Haga clic para cerrar el modal de selección de país',
|
|
225
|
+
srp: 'Кликните да затворите модални прозор за избор државе',
|
|
226
|
+
swe: 'Klicka för att stänga landvalsmodalen',
|
|
227
|
+
tur: 'Ülke seçimi modalını kapatmak için tıklayın',
|
|
228
|
+
ukr: 'Натисніть, щоб закрити модальне вікно вибору країни',
|
|
229
|
+
urd: 'ملک منتخب کرنے والے موڈل کو بند کرنے کے لیے کلک کریں',
|
|
230
|
+
zho: '点击关闭国家选择模态框',
|
|
231
|
+
'zho-Hans': '点击关闭国家选择模态框',
|
|
232
|
+
'zho-Hant': '點擊關閉國家選擇模態框',
|
|
233
|
+
},
|
|
234
|
+
accessibilityLabelCloseButton: {
|
|
235
|
+
ara: 'زر إغلاق نافذة اختيار البلد',
|
|
236
|
+
bel: 'Кнопка закрыцця акна выбару краіны',
|
|
237
|
+
bre: 'Bouton serriñ modalen dibab ar vro',
|
|
238
|
+
bul: 'Бутон за затваряне на модалното прозорче за избор на държава',
|
|
239
|
+
ces: 'Tlačítko pro zavření modálního okna výběru země',
|
|
240
|
+
deu: 'Schließen-Button des Länderauswahl-Modals',
|
|
241
|
+
ell: 'Κουμπί κλεισίματος παραθύρου επιλογής χώρας',
|
|
242
|
+
eng: 'Country Select Modal Close Button',
|
|
243
|
+
est: 'Riigi valimise modaali sulgemise nupp',
|
|
244
|
+
fin: 'Maan valinta -modaalin sulku-painike',
|
|
245
|
+
fra: 'Bouton de fermeture de la fenêtre de sélection de pays',
|
|
246
|
+
heb: 'כפתור סגירה של חלון בחירת מדינה',
|
|
247
|
+
hrv: 'Gumb za zatvaranje modala za odabir države',
|
|
248
|
+
hun: 'Ország kiválasztó modális bezáró gomb',
|
|
249
|
+
ita: 'Pulsante di chiusura della finestra di selezione paese',
|
|
250
|
+
jpn: '国選択モーダル閉じるボタン',
|
|
251
|
+
kor: '국가 선택 모달 닫기 버튼',
|
|
252
|
+
nld: 'Sluitknop van landselectie modal',
|
|
253
|
+
per: 'دکمه بستن پنجره انتخاب کشور',
|
|
254
|
+
pol: 'Przycisk zamknięcia modala wyboru kraju',
|
|
255
|
+
por: 'Botão de fechar do modal de seleção de país',
|
|
256
|
+
ron: 'Butonul de închidere al ferestrei modale de selecție țară',
|
|
257
|
+
rus: 'Кнопка закрытия модального окна выбора страны',
|
|
258
|
+
slk: 'Tlačidlo na zatvorenie modálneho okna výberu krajiny',
|
|
259
|
+
spa: 'Botón de cerrar del modal de selección de país',
|
|
260
|
+
srp: 'Дугме за затварање модалног прозора за избор државе',
|
|
261
|
+
swe: 'Stängknapp för landvalsmodal',
|
|
262
|
+
tur: 'Ülke seçimi modal kapatma düğmesi',
|
|
263
|
+
ukr: 'Кнопка закриття модального вікна вибору країни',
|
|
264
|
+
urd: 'ملک منتخب کرنے والے موڈل کا بند کرنے کا بٹن',
|
|
265
|
+
zho: '国家选择模态框关闭按钮',
|
|
266
|
+
'zho-Hans': '国家选择模态框关闭按钮',
|
|
267
|
+
'zho-Hant': '國家選擇模態框關閉按鈕',
|
|
268
|
+
},
|
|
269
|
+
accessibilityHintCloseButton: {
|
|
270
|
+
ara: 'انقر لإغلاق نافذة اختيار البلد',
|
|
271
|
+
bel: 'Націсніце, каб закрыць акно выбару краіны',
|
|
272
|
+
bre: 'Klikit evit serriñ modalen dibab ar vro',
|
|
273
|
+
bul: 'Щракнете, за да затворите модалното прозорче за избор на държава',
|
|
274
|
+
ces: 'Klikněte pro zavření modálního okna výběru země',
|
|
275
|
+
deu: 'Klicken Sie, um das Länderauswahl-Modal zu schließen',
|
|
276
|
+
ell: 'Κάντε κλικ για να κλείσετε το παράθυρο επιλογής χώρας',
|
|
277
|
+
eng: 'Click to close the Country Select modal',
|
|
278
|
+
est: 'Klõpsake, et sulgeda riigi valimise modaal',
|
|
279
|
+
fin: 'Klikkaa sulkeaksesi maan valinta -modaali',
|
|
280
|
+
fra: 'Cliquez pour fermer la fenêtre de sélection de pays',
|
|
281
|
+
heb: 'לחץ כדי לסגור את חלון בחירת המדינה',
|
|
282
|
+
hrv: 'Kliknite za zatvaranje modala za odabir države',
|
|
283
|
+
hun: 'Kattintson az ország kiválasztó modális bezárásához',
|
|
284
|
+
ita: 'Clicca per chiudere la finestra di selezione paese',
|
|
285
|
+
jpn: '国選択モーダルを閉じるにはクリック',
|
|
286
|
+
kor: '국가 선택 모달을 닫으려면 클릭',
|
|
287
|
+
nld: 'Klik om het landselectie modal te sluiten',
|
|
288
|
+
per: 'برای بستن پنجره انتخاب کشور کلیک کنید',
|
|
289
|
+
pol: 'Kliknij, aby zamknąć modal wyboru kraju',
|
|
290
|
+
por: 'Clique para fechar o modal de seleção de país',
|
|
291
|
+
ron: 'Faceți clic pentru a închide fereastra modală de selecție țară',
|
|
292
|
+
rus: 'Нажмите, чтобы закрыть модальное окно выбора страны',
|
|
293
|
+
slk: 'Kliknite pre zatvorenie modálneho okna výberu krajiny',
|
|
294
|
+
spa: 'Haga clic para cerrar el modal de selección de país',
|
|
295
|
+
srp: 'Кликните да затворите модални прозор за избор државе',
|
|
296
|
+
swe: 'Klicka för att stänga landvalsmodalen',
|
|
297
|
+
tur: 'Ülke seçimi modalını kapatmak için tıklayın',
|
|
298
|
+
ukr: 'Натисніть, щоб закрити модальне вікно вибору країни',
|
|
299
|
+
urd: 'ملک منتخب کرنے والے موڈل کو بند کرنے کے لیے کلک کریں',
|
|
300
|
+
zho: '点击关闭国家选择模态框',
|
|
301
|
+
'zho-Hans': '点击关闭国家选择模态框',
|
|
302
|
+
'zho-Hant': '點擊關閉國家選擇模態框',
|
|
303
|
+
},
|
|
304
|
+
accessibilityLabelSearchInput: {
|
|
305
|
+
ara: 'حقل البحث في اختيار البلد',
|
|
306
|
+
bel: 'Поле пошуку выбару краіны',
|
|
307
|
+
bre: 'Maez klask dibab ar vro',
|
|
308
|
+
bul: 'Поле за търсене в избор на държава',
|
|
309
|
+
ces: 'Vyhledávací pole pro výběr země',
|
|
310
|
+
deu: 'Suchfeld für Länderauswahl',
|
|
311
|
+
ell: 'Πεδίο αναζήτησης επιλογής χώρας',
|
|
312
|
+
eng: 'Country Select Search Input',
|
|
313
|
+
est: 'Riigi valimise otsingu sisend',
|
|
314
|
+
fin: 'Maan valinta -haku-kenttä',
|
|
315
|
+
fra: 'Champ de recherche de sélection de pays',
|
|
316
|
+
heb: 'שדה חיפוש בחירת מדינה',
|
|
317
|
+
hrv: 'Polje za pretraživanje odabira države',
|
|
318
|
+
hun: 'Ország kiválasztó keresési mező',
|
|
319
|
+
ita: 'Campo di ricerca per selezione paese',
|
|
320
|
+
jpn: '国選択検索入力',
|
|
321
|
+
kor: '국가 선택 검색 입력',
|
|
322
|
+
nld: 'Zoekveld voor landselectie',
|
|
323
|
+
per: 'فیلد جستجوی انتخاب کشور',
|
|
324
|
+
pol: 'Pole wyszukiwania wyboru kraju',
|
|
325
|
+
por: 'Campo de pesquisa de seleção de país',
|
|
326
|
+
ron: 'Câmpul de căutare pentru selecția țării',
|
|
327
|
+
rus: 'Поле поиска выбора страны',
|
|
328
|
+
slk: 'Vyhľadávacie pole pre výber krajiny',
|
|
329
|
+
spa: 'Campo de búsqueda de selección de país',
|
|
330
|
+
srp: 'Поље претраге за избор државе',
|
|
331
|
+
swe: 'Sökfält för landvalsmodal',
|
|
332
|
+
tur: 'Ülke seçimi arama girişi',
|
|
333
|
+
ukr: 'Поле пошуку вибору країни',
|
|
334
|
+
urd: 'ملک منتخب کرنے کا تلاش ان پٹ',
|
|
335
|
+
zho: '国家选择搜索输入',
|
|
336
|
+
'zho-Hans': '国家选择搜索输入',
|
|
337
|
+
'zho-Hant': '國家選擇搜尋輸入',
|
|
338
|
+
},
|
|
339
|
+
accessibilityHintSearchInput: {
|
|
340
|
+
ara: 'اكتب للبحث عن بلد',
|
|
341
|
+
bel: 'Увядзіце для пошуку краіны',
|
|
342
|
+
bre: 'Skrivit evit klask ur vro',
|
|
343
|
+
bul: 'Въведете за търсене на държава',
|
|
344
|
+
ces: 'Zadejte pro vyhledání země',
|
|
345
|
+
deu: 'Geben Sie ein, um nach einem Land zu suchen',
|
|
346
|
+
ell: 'Πληκτρολογήστε για αναζήτηση χώρας',
|
|
347
|
+
eng: 'Type to search for a country',
|
|
348
|
+
est: 'Sisestage riigi otsimiseks',
|
|
349
|
+
fin: 'Kirjoita etsiäksesi maata',
|
|
350
|
+
fra: 'Tapez pour rechercher un pays',
|
|
351
|
+
heb: 'הקלד כדי לחפש מדינה',
|
|
352
|
+
hrv: 'Upišite za pretraživanje države',
|
|
353
|
+
hun: 'Gépeljen ország kereséséhez',
|
|
354
|
+
ita: 'Digita per cercare un paese',
|
|
355
|
+
jpn: '国を検索するために入力',
|
|
356
|
+
kor: '국가를 검색하려면 입력',
|
|
357
|
+
nld: 'Typ om naar een land te zoeken',
|
|
358
|
+
per: 'برای جستجوی کشور تایپ کنید',
|
|
359
|
+
pol: 'Wpisz, aby wyszukać kraj',
|
|
360
|
+
por: 'Digite para pesquisar um país',
|
|
361
|
+
ron: 'Tastați pentru a căuta o țară',
|
|
362
|
+
rus: 'Введите для поиска страны',
|
|
363
|
+
slk: 'Zadajte pre vyhľadanie krajiny',
|
|
364
|
+
spa: 'Escriba para buscar un país',
|
|
365
|
+
srp: 'Унесите за претрагу државе',
|
|
366
|
+
swe: 'Skriv för att söka efter ett land',
|
|
367
|
+
tur: 'Ülke aramak için yazın',
|
|
368
|
+
ukr: 'Введіть для пошуку країни',
|
|
369
|
+
urd: 'ملک تلاش کرنے کے لیے ٹائپ کریں',
|
|
370
|
+
zho: '输入以搜索国家',
|
|
371
|
+
'zho-Hans': '输入以搜索国家',
|
|
372
|
+
'zho-Hant': '輸入以搜尋國家',
|
|
373
|
+
},
|
|
374
|
+
accessibilityLabelCountriesList: {
|
|
375
|
+
ara: 'قائمة اختيار البلد',
|
|
376
|
+
bel: 'Спіс выбару краіны',
|
|
377
|
+
bre: 'Roll dibab ar vro',
|
|
378
|
+
bul: 'Списък за избор на държава',
|
|
379
|
+
ces: 'Seznam pro výběr země',
|
|
380
|
+
deu: 'Länderauswahl-Liste',
|
|
381
|
+
ell: 'Λίστα επιλογής χώρας',
|
|
382
|
+
eng: 'Country Select List',
|
|
383
|
+
est: 'Riigi valimise nimekiri',
|
|
384
|
+
fin: 'Maan valinta -lista',
|
|
385
|
+
fra: 'Liste de sélection de pays',
|
|
386
|
+
heb: 'רשימת בחירת מדינה',
|
|
387
|
+
hrv: 'Lista za odabir države',
|
|
388
|
+
hun: 'Ország kiválasztó lista',
|
|
389
|
+
ita: 'Elenco di selezione paese',
|
|
390
|
+
jpn: '国選択リスト',
|
|
391
|
+
kor: '국가 선택 목록',
|
|
392
|
+
nld: 'Landselectie lijst',
|
|
393
|
+
per: 'فهرست انتخاب کشور',
|
|
394
|
+
pol: 'Lista wyboru kraju',
|
|
395
|
+
por: 'Lista de seleção de país',
|
|
396
|
+
ron: 'Lista de selecție țară',
|
|
397
|
+
rus: 'Список выбора страны',
|
|
398
|
+
slk: 'Zoznam výberu krajiny',
|
|
399
|
+
spa: 'Lista de selección de país',
|
|
400
|
+
srp: 'Списак за избор државе',
|
|
401
|
+
swe: 'Landvalslista',
|
|
402
|
+
tur: 'Ülke seçim listesi',
|
|
403
|
+
ukr: 'Список вибору країни',
|
|
404
|
+
urd: 'ملک منتخب کرنے کی فہرست',
|
|
405
|
+
zho: '国家选择列表',
|
|
406
|
+
'zho-Hans': '国家选择列表',
|
|
407
|
+
'zho-Hant': '國家選擇清單',
|
|
408
|
+
},
|
|
409
|
+
accessibilityHintCountriesList: {
|
|
410
|
+
ara: 'قائمة البلدان',
|
|
411
|
+
bel: 'Спіс краін',
|
|
412
|
+
bre: 'Roll ar broioù',
|
|
413
|
+
bul: 'Списък с държави',
|
|
414
|
+
ces: 'Seznam zemí',
|
|
415
|
+
deu: 'Liste der Länder',
|
|
416
|
+
ell: 'Λίστα χωρών',
|
|
417
|
+
eng: 'List of countries',
|
|
418
|
+
est: 'Riikide nimekiri',
|
|
419
|
+
fin: 'Maatlista',
|
|
420
|
+
fra: 'Liste des pays',
|
|
421
|
+
heb: 'רשימת מדינות',
|
|
422
|
+
hrv: 'Popis država',
|
|
423
|
+
hun: 'Országok listája',
|
|
424
|
+
ita: 'Elenco dei paesi',
|
|
425
|
+
jpn: '国のリスト',
|
|
426
|
+
kor: '국가 목록',
|
|
427
|
+
nld: 'Lijst van landen',
|
|
428
|
+
per: 'فهرست کشورها',
|
|
429
|
+
pol: 'Lista krajów',
|
|
430
|
+
por: 'Lista de países',
|
|
431
|
+
ron: 'Lista țărilor',
|
|
432
|
+
rus: 'Список стран',
|
|
433
|
+
slk: 'Zoznam krajín',
|
|
434
|
+
spa: 'Lista de países',
|
|
435
|
+
srp: 'Списак држава',
|
|
436
|
+
swe: 'Lista över länder',
|
|
437
|
+
tur: 'Ülkeler listesi',
|
|
438
|
+
ukr: 'Список країн',
|
|
439
|
+
urd: 'ممالک کی فہرست',
|
|
440
|
+
zho: '国家列表',
|
|
441
|
+
'zho-Hans': '国家列表',
|
|
442
|
+
'zho-Hant': '國家清單',
|
|
443
|
+
},
|
|
444
|
+
accessibilityLabelCountryItem: {
|
|
445
|
+
ara: 'عنصر اختيار البلد',
|
|
446
|
+
bel: 'Элемент выбару краіны',
|
|
447
|
+
bre: 'Elfenn dibab ar vro',
|
|
448
|
+
bul: 'Елемент за избор на държава',
|
|
449
|
+
ces: 'Položka pro výběr země',
|
|
450
|
+
deu: 'Länderauswahl-Element',
|
|
451
|
+
ell: 'Στοιχείο επιλογής χώρας',
|
|
452
|
+
eng: 'Country Select Item',
|
|
453
|
+
est: 'Riigi valimise element',
|
|
454
|
+
fin: 'Maan valinta -kohde',
|
|
455
|
+
fra: 'Élément de sélection de pays',
|
|
456
|
+
heb: 'פריט בחירת מדינה',
|
|
457
|
+
hrv: 'Element za odabir države',
|
|
458
|
+
hun: 'Ország kiválasztó elem',
|
|
459
|
+
ita: 'Elemento di selezione paese',
|
|
460
|
+
jpn: '国選択アイテム',
|
|
461
|
+
kor: '국가 선택 항목',
|
|
462
|
+
nld: 'Landselectie item',
|
|
463
|
+
per: 'عنصر انتخاب کشور',
|
|
464
|
+
pol: 'Element wyboru kraju',
|
|
465
|
+
por: 'Item de seleção de país',
|
|
466
|
+
ron: 'Element de selecție țară',
|
|
467
|
+
rus: 'Элемент выбора страны',
|
|
468
|
+
slk: 'Položka výberu krajiny',
|
|
469
|
+
spa: 'Elemento de selección de país',
|
|
470
|
+
srp: 'Елемент за избор државе',
|
|
471
|
+
swe: 'Landvalsobjekt',
|
|
472
|
+
tur: 'Ülke seçim öğesi',
|
|
473
|
+
ukr: 'Елемент вибору країни',
|
|
474
|
+
urd: 'ملک منتخب کرنے کا آئٹم',
|
|
475
|
+
zho: '国家选择项',
|
|
476
|
+
'zho-Hans': '国家选择项',
|
|
477
|
+
'zho-Hant': '國家選擇項目',
|
|
478
|
+
},
|
|
479
|
+
accessibilityHintCountryItem: {
|
|
480
|
+
ara: 'انقر لاختيار بلد',
|
|
481
|
+
bel: 'Націсніце, каб выбраць краіну',
|
|
482
|
+
bre: 'Klikit evit dibab ur vro',
|
|
483
|
+
bul: 'Щракнете, за да изберете държава',
|
|
484
|
+
ces: 'Klikněte pro výběr země',
|
|
485
|
+
deu: 'Klicken Sie, um ein Land auszuwählen',
|
|
486
|
+
ell: 'Κάντε κλικ για να επιλέξετε χώρα',
|
|
487
|
+
eng: 'Click to select a country',
|
|
488
|
+
est: 'Klõpsake riigi valimiseks',
|
|
489
|
+
fin: 'Klikkaa valitaksesi maan',
|
|
490
|
+
fra: 'Cliquez pour sélectionner un pays',
|
|
491
|
+
heb: 'לחץ כדי לבחור מדינה',
|
|
492
|
+
hrv: 'Kliknite za odabir države',
|
|
493
|
+
hun: 'Kattintson ország kiválasztásához',
|
|
494
|
+
ita: 'Clicca per selezionare un paese',
|
|
495
|
+
jpn: '国を選択するにはクリック',
|
|
496
|
+
kor: '국가를 선택하려면 클릭',
|
|
497
|
+
nld: 'Klik om een land te selecteren',
|
|
498
|
+
per: 'برای انتخاب کشور کلیک کنید',
|
|
499
|
+
pol: 'Kliknij, aby wybrać kraj',
|
|
500
|
+
por: 'Clique para selecionar um país',
|
|
501
|
+
ron: 'Faceți clic pentru a selecta o țară',
|
|
502
|
+
rus: 'Нажмите, чтобы выбрать страну',
|
|
503
|
+
slk: 'Kliknite pre výber krajiny',
|
|
504
|
+
spa: 'Haga clic para seleccionar un país',
|
|
505
|
+
srp: 'Кликните да изаберете државу',
|
|
506
|
+
swe: 'Klicka för att välja ett land',
|
|
507
|
+
tur: 'Ülke seçmek için tıklayın',
|
|
508
|
+
ukr: 'Натисніть, щоб вибрати країну',
|
|
509
|
+
urd: 'ملک منتخب کرنے کے لیے کلک کریں',
|
|
510
|
+
zho: '点击选择国家',
|
|
511
|
+
'zho-Hans': '点击选择国家',
|
|
512
|
+
'zho-Hant': '點擊選擇國家',
|
|
513
|
+
},
|
|
154
514
|
} as const;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-country-select",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.4",
|
|
4
4
|
"description": "🌍 A lightweight and customizable country picker for React Native with modern UI, flags, search engine, and i18n support. Includes TypeScript types, offline support and no dependencies.",
|
|
5
5
|
"main": "lib/index.tsx",
|
|
6
6
|
"types": "lib/index.d.ts",
|