@momo-kits/foundation 0.103.1 → 0.103.2-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Application/BottomSheet.tsx +1 -1
- package/Application/BottomTab/index.tsx +1 -0
- package/Application/Localize.ts +13 -6
- package/Application/NavigationContainer.tsx +1 -1
- package/Application/Navigator.ts +1 -0
- package/Application/StackScreen.tsx +2 -1
- package/Tag/index.tsx +9 -2
- package/Tag/types.ts +12 -0
- package/Text/index.tsx +3 -2
- package/Text/utils.ts +14 -3
- package/index.ts +0 -7
- package/package.json +4 -5
- package/publish.sh +6 -6
|
@@ -19,7 +19,7 @@ import {Icon} from '../Icon';
|
|
|
19
19
|
|
|
20
20
|
const BottomSheet: React.FC<BottomSheetParams> = props => {
|
|
21
21
|
const {theme, navigator} = useContext(ApplicationContext);
|
|
22
|
-
const heightDevice = Dimensions.get('screen').height;
|
|
22
|
+
const heightDevice = Dimensions.get('screen').height; // lấy chiều cao thiết bị
|
|
23
23
|
const insets = useSafeAreaInsets();
|
|
24
24
|
const {
|
|
25
25
|
screen: Screen,
|
package/Application/Localize.ts
CHANGED
|
@@ -17,20 +17,27 @@ class Localize {
|
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
+
get getCurrentLanguage() {
|
|
21
|
+
return this.currentLanguage;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
get getAssets() {
|
|
25
|
+
return this.assets;
|
|
26
|
+
}
|
|
27
|
+
|
|
20
28
|
translate(key: string) {
|
|
21
29
|
return this.assets[this.currentLanguage]?.[key] || key;
|
|
22
30
|
}
|
|
23
31
|
|
|
24
32
|
translateData(data: {vi: string; en: string}) {
|
|
25
|
-
return data[this.currentLanguage] ||
|
|
33
|
+
return data[this.currentLanguage] || JSON.stringify(data);
|
|
26
34
|
}
|
|
27
35
|
|
|
28
36
|
addTranslations(translations: LocalizationObject) {
|
|
29
|
-
this.assets =
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
this.currentLanguage = language;
|
|
37
|
+
this.assets = {
|
|
38
|
+
vi: {...translations?.vi, ...this.assets.vi},
|
|
39
|
+
en: {...translations?.en, ...this.assets.en},
|
|
40
|
+
};
|
|
34
41
|
}
|
|
35
42
|
}
|
|
36
43
|
|
|
@@ -16,7 +16,7 @@ import Localize from './Localize';
|
|
|
16
16
|
|
|
17
17
|
const Stack = createStackNavigator();
|
|
18
18
|
|
|
19
|
-
const NavigationContainer: React.FC<NavigationContainerProps> = ({
|
|
19
|
+
const NavigationContainer: React.FC<NavigationContainerProps> = ({ // screen: Screen; options?: NavigationOptions; theme: Theme; maxApi: any; initialParams?: any; localize: Localize;
|
|
20
20
|
screen,
|
|
21
21
|
theme,
|
|
22
22
|
options,
|
package/Application/Navigator.ts
CHANGED
|
@@ -14,7 +14,7 @@ import {Colors, Radius, Spacing} from '../Consts';
|
|
|
14
14
|
* @constructor
|
|
15
15
|
*/
|
|
16
16
|
const StackScreen: React.FC<ScreenParams> = props => {
|
|
17
|
-
const {showGrid, navigator} = useContext(ApplicationContext);
|
|
17
|
+
const {showGrid, navigator} = useContext(ApplicationContext); //showGrid: false, navigator: undefined,
|
|
18
18
|
const tracking = useRef<any>({
|
|
19
19
|
timeoutLoad: undefined,
|
|
20
20
|
timeoutInteraction: undefined,
|
|
@@ -31,6 +31,7 @@ const StackScreen: React.FC<ScreenParams> = props => {
|
|
|
31
31
|
|
|
32
32
|
const context = useContext<any>(MiniAppContext);
|
|
33
33
|
const {screen: Component, options, initialParams} = props.route.params;
|
|
34
|
+
console.log(props.route.params);
|
|
34
35
|
const navigation = new Navigation(props.navigation);
|
|
35
36
|
const heightHeader = useHeaderHeight();
|
|
36
37
|
|
package/Tag/index.tsx
CHANGED
|
@@ -31,6 +31,8 @@ const Tag: FC<TagProps> = ({
|
|
|
31
31
|
size = 'large',
|
|
32
32
|
style,
|
|
33
33
|
customColor,
|
|
34
|
+
accessibilityLabelContainer,
|
|
35
|
+
accessibilityLabelText,
|
|
34
36
|
}) => {
|
|
35
37
|
let labelColor = textColor[color];
|
|
36
38
|
let tagColor = backgroundColor[color];
|
|
@@ -60,7 +62,9 @@ const Tag: FC<TagProps> = ({
|
|
|
60
62
|
}
|
|
61
63
|
|
|
62
64
|
return (
|
|
63
|
-
<View
|
|
65
|
+
<View
|
|
66
|
+
style={[style, sizeStyle, {backgroundColor: tagColor}]}
|
|
67
|
+
accessibilityLabel={accessibilityLabelContainer}>
|
|
64
68
|
{!!icon && (
|
|
65
69
|
<Icon
|
|
66
70
|
style={styles.icon}
|
|
@@ -69,7 +73,10 @@ const Tag: FC<TagProps> = ({
|
|
|
69
73
|
color={labelColor}
|
|
70
74
|
/>
|
|
71
75
|
)}
|
|
72
|
-
<Text
|
|
76
|
+
<Text
|
|
77
|
+
color={labelColor}
|
|
78
|
+
typography={'label_s_medium'}
|
|
79
|
+
accessibilityLabel={accessibilityLabelText}>
|
|
73
80
|
{label}
|
|
74
81
|
</Text>
|
|
75
82
|
</View>
|
package/Tag/types.ts
CHANGED
|
@@ -33,4 +33,16 @@ export type TagProps = {
|
|
|
33
33
|
* that can be applied to the Tag component.
|
|
34
34
|
*/
|
|
35
35
|
customColor?: string;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Overrides the text that's read by the screen reader when the user interacts with the element. By default, the
|
|
39
|
+
* label is constructed by traversing all the children and accumulating all the Text nodes separated by space.
|
|
40
|
+
*/
|
|
41
|
+
accessibilityLabelContainer?: string;
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Overrides the text that's read by the screen reader when the user interacts with the element. By default, the
|
|
45
|
+
* label is constructed by traversing all the children and accumulating all the Text nodes separated by space.
|
|
46
|
+
*/
|
|
47
|
+
accessibilityLabelText?: string;
|
|
36
48
|
};
|
package/Text/index.tsx
CHANGED
|
@@ -3,7 +3,7 @@ import {Text as RNText, TextProps as RNTextProps} from 'react-native';
|
|
|
3
3
|
import styles from './styles';
|
|
4
4
|
import {Typography, TypographyWeight} from './types';
|
|
5
5
|
import {ApplicationContext} from '../Application';
|
|
6
|
-
import {scaleSize} from './utils';
|
|
6
|
+
import {getAccessibilityID, scaleSize} from './utils';
|
|
7
7
|
|
|
8
8
|
const SFProText: TypographyWeight = {
|
|
9
9
|
100: 'Thin',
|
|
@@ -113,13 +113,14 @@ const Text: React.FC<TextProps> = ({
|
|
|
113
113
|
|
|
114
114
|
if (deprecatedValues.includes(typography)) {
|
|
115
115
|
console.warn(
|
|
116
|
-
`Warning: The typography value "${typography}" is deprecated
|
|
116
|
+
`Warning: The typography value "${typography}" is deprecated.`
|
|
117
117
|
);
|
|
118
118
|
}
|
|
119
119
|
|
|
120
120
|
return (
|
|
121
121
|
<RNText
|
|
122
122
|
{...rest}
|
|
123
|
+
{...getAccessibilityID(rest.accessibilityLabel)}
|
|
123
124
|
style={[style, textStyle, {color: color ?? theme.colors.text.default}]}>
|
|
124
125
|
{children ?? ''}
|
|
125
126
|
</RNText>
|
package/Text/utils.ts
CHANGED
|
@@ -1,14 +1,25 @@
|
|
|
1
|
-
import {Dimensions} from 'react-native';
|
|
1
|
+
import {Dimensions, Platform} from 'react-native';
|
|
2
2
|
|
|
3
3
|
const deviceWidth = Dimensions.get('window').width;
|
|
4
4
|
const DEFAULT_SCREEN_SIZE = 375;
|
|
5
5
|
const scaleSize = (size: number) => {
|
|
6
6
|
const scaleRate = deviceWidth / DEFAULT_SCREEN_SIZE;
|
|
7
|
-
|
|
8
7
|
if (scaleRate > 1) {
|
|
9
8
|
return Math.min(Math.round(size * scaleRate), size + 3);
|
|
10
9
|
}
|
|
11
10
|
|
|
12
11
|
return size;
|
|
13
12
|
};
|
|
14
|
-
|
|
13
|
+
const getAccessibilityID = (accessibilityLabel = '') => {
|
|
14
|
+
if (Platform.OS === 'ios') {
|
|
15
|
+
return {
|
|
16
|
+
accessible: true,
|
|
17
|
+
testID: accessibilityLabel,
|
|
18
|
+
};
|
|
19
|
+
} else {
|
|
20
|
+
return {
|
|
21
|
+
accessibilityLabel,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
export {scaleSize, getAccessibilityID};
|
package/index.ts
CHANGED
|
@@ -49,10 +49,3 @@ export * from './Title';
|
|
|
49
49
|
export * from './Title/types';
|
|
50
50
|
export * from './Badge';
|
|
51
51
|
export * from './Badge/types';
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* export trick for keep old mini app working
|
|
55
|
-
* @deprecated
|
|
56
|
-
*/
|
|
57
|
-
export * from 'react-native-modalize';
|
|
58
|
-
export * from '@gorhom/bottom-sheet';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@momo-kits/foundation",
|
|
3
|
-
"version": "0.103.1",
|
|
3
|
+
"version": "0.103.2-beta.1",
|
|
4
4
|
"description": "React Native Component Kits",
|
|
5
5
|
"main": "index.ts",
|
|
6
6
|
"scripts": {},
|
|
@@ -8,11 +8,9 @@
|
|
|
8
8
|
"@momo-kits/foundation"
|
|
9
9
|
],
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@gorhom/bottom-sheet": "2.4.1",
|
|
12
11
|
"react-native-safe-area-context": "3.1.4",
|
|
13
12
|
"react-native-linear-gradient": "2.8.3",
|
|
14
13
|
"react-native-gesture-handler": "1.10.3",
|
|
15
|
-
"react-native-modalize": "2.1.1",
|
|
16
14
|
"react-native-fast-image": "8.1.5",
|
|
17
15
|
"@react-navigation/bottom-tabs": "https://gitlab.mservice.com.vn/momo-platform/react-native-bottom-tabs.git",
|
|
18
16
|
"@react-navigation/core": "5.16.1",
|
|
@@ -39,8 +37,9 @@
|
|
|
39
37
|
"react-test-renderer": "17.0.1",
|
|
40
38
|
"typescript": "^4.0.3",
|
|
41
39
|
"@momo-platform/versions": "4.1.11",
|
|
42
|
-
"react-scanner": "^1.1.0"
|
|
40
|
+
"react-scanner": "^1.1.0",
|
|
41
|
+
"@types/color": "3.0.6"
|
|
43
42
|
},
|
|
44
43
|
"author": "@momo-kits/foundation",
|
|
45
44
|
"license": "ISC"
|
|
46
|
-
}
|
|
45
|
+
}
|
package/publish.sh
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
2
|
|
|
3
3
|
if [ "$1" == "stable" ]; then
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
npm version $(npm view @momo-kits/foundation@stable version)
|
|
5
|
+
npm version patch
|
|
6
6
|
npm publish --tag stable --access=public
|
|
7
7
|
elif [ "$1" == "latest" ]; then
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
npm version $(npm view @momo-kits/foundation@latest version)
|
|
9
|
+
npm version prerelease --preid=rc
|
|
10
10
|
npm publish --tag latest --access=public
|
|
11
11
|
else
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
npm version $(npm view @momo-kits/foundation@beta version)
|
|
13
|
+
npm version prerelease --preid=beta
|
|
14
14
|
npm publish --tag beta --access=public
|
|
15
15
|
fi
|
|
16
16
|
|