@umituz/react-native-design-system 2.3.28 → 2.3.29
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/package.json +3 -2
- package/src/atoms/picker/components/PickerChips.tsx +2 -2
- package/src/atoms/picker/components/PickerModal.tsx +1 -1
- package/src/molecules/SearchBar/SearchBar.tsx +1 -1
- package/src/molecules/animation/presentation/hooks/useIconAnimations.ts +1 -0
- package/src/molecules/bottom-sheet/components/filter/FilterSheet.tsx +2 -2
- package/src/molecules/celebration/presentation/components/CelebrationModal.tsx +5 -2
- package/src/molecules/celebration/presentation/components/CelebrationModalContent.tsx +7 -4
- package/src/utilities/sharing/infrastructure/services/SharingService.ts +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@umituz/react-native-design-system",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.29",
|
|
4
4
|
"description": "Universal design system for React Native apps - Consolidated package with atoms, molecules, organisms, theme, typography, responsive and safe area utilities",
|
|
5
5
|
"main": "./src/index.ts",
|
|
6
6
|
"types": "./src/index.ts",
|
|
@@ -116,6 +116,7 @@
|
|
|
116
116
|
"expo-clipboard": "~8.0.7",
|
|
117
117
|
"expo-crypto": "~14.0.0",
|
|
118
118
|
"expo-device": "~7.0.2",
|
|
119
|
+
"expo-file-system": "^19.0.21",
|
|
119
120
|
"expo-haptics": "~14.0.0",
|
|
120
121
|
"expo-localization": "~16.0.1",
|
|
121
122
|
"expo-sharing": "~14.0.8",
|
|
@@ -138,4 +139,4 @@
|
|
|
138
139
|
"README.md",
|
|
139
140
|
"LICENSE"
|
|
140
141
|
]
|
|
141
|
-
}
|
|
142
|
+
}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import React from 'react';
|
|
9
|
-
import { View, TouchableOpacity } from 'react-native';
|
|
9
|
+
import { View, TouchableOpacity, GestureResponderEvent } from 'react-native';
|
|
10
10
|
import { useAppDesignTokens } from '../../../theme';
|
|
11
11
|
import { PickerOption } from '../types';
|
|
12
12
|
import { AtomicIcon } from '../../AtomicIcon';
|
|
@@ -41,7 +41,7 @@ export const PickerChips: React.FC<PickerChipsProps> = React.memo(({
|
|
|
41
41
|
<View key={opt.value} style={chipStyles}>
|
|
42
42
|
<AtomicText style={chipTextStyles}>{opt.label}</AtomicText>
|
|
43
43
|
<TouchableOpacity
|
|
44
|
-
onPress={(e) => {
|
|
44
|
+
onPress={(e: GestureResponderEvent) => {
|
|
45
45
|
e.stopPropagation();
|
|
46
46
|
onRemoveChip(opt.value);
|
|
47
47
|
}}
|
|
@@ -191,7 +191,7 @@ export const PickerModal: React.FC<PickerModalProps> = React.memo(({
|
|
|
191
191
|
{filteredOptions.length > 0 ? (
|
|
192
192
|
<FlatList
|
|
193
193
|
data={filteredOptions}
|
|
194
|
-
keyExtractor={(item) => item.value}
|
|
194
|
+
keyExtractor={(item: PickerOption) => item.value}
|
|
195
195
|
renderItem={renderOption}
|
|
196
196
|
showsVerticalScrollIndicator
|
|
197
197
|
testID={`${testID}-list`}
|
|
@@ -10,7 +10,7 @@ import { useAppDesignTokens } from '../../theme';
|
|
|
10
10
|
import { AtomicIcon } from '../../atoms/AtomicIcon';
|
|
11
11
|
import type { SearchBarProps } from './types';
|
|
12
12
|
|
|
13
|
-
export const SearchBar = forwardRef<TextInput
|
|
13
|
+
export const SearchBar = forwardRef<React.ComponentRef<typeof TextInput>, SearchBarProps>(({
|
|
14
14
|
value,
|
|
15
15
|
onChangeText,
|
|
16
16
|
onSubmit,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useCallback } from "react";
|
|
2
|
-
import { View, StyleSheet, ScrollView, Modal, Pressable } from "react-native";
|
|
2
|
+
import { View, StyleSheet, ScrollView, Modal, Pressable, GestureResponderEvent } from "react-native";
|
|
3
3
|
import { useSafeAreaInsets } from "react-native-safe-area-context";
|
|
4
4
|
import { AtomicButton } from '../../../../atoms';
|
|
5
5
|
import { useAppDesignTokens } from '../../../../theme';
|
|
@@ -46,7 +46,7 @@ export const FilterSheet: React.FC<FilterSheetProps> = ({
|
|
|
46
46
|
<Pressable style={styles.backdrop} onPress={onClose}>
|
|
47
47
|
<Pressable
|
|
48
48
|
style={[styles.sheet, { backgroundColor: tokens.colors.surface, paddingBottom: insets.bottom }]}
|
|
49
|
-
onPress={(e) => e.stopPropagation()}
|
|
49
|
+
onPress={(e: GestureResponderEvent) => e.stopPropagation()}
|
|
50
50
|
>
|
|
51
51
|
<View style={[styles.handle, { backgroundColor: tokens.colors.border }]} />
|
|
52
52
|
|
|
@@ -35,6 +35,9 @@ export interface CelebrationModalProps {
|
|
|
35
35
|
}) => React.ReactNode;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
+
// Access View through Animated namespace with type assertion for reanimated v3 compatibility
|
|
39
|
+
const AnimatedView = (Animated as unknown as { View: React.ComponentType<{ style?: unknown; children?: React.ReactNode }> }).View;
|
|
40
|
+
|
|
38
41
|
export const CelebrationModal: React.FC<CelebrationModalProps> = ({
|
|
39
42
|
visible,
|
|
40
43
|
config,
|
|
@@ -59,7 +62,7 @@ export const CelebrationModal: React.FC<CelebrationModalProps> = ({
|
|
|
59
62
|
dismissOnBackdrop={true}
|
|
60
63
|
testID="celebration-modal"
|
|
61
64
|
>
|
|
62
|
-
<
|
|
65
|
+
<AnimatedView style={modalStyle}>
|
|
63
66
|
{renderContent ? (
|
|
64
67
|
renderContent({ config, onClose, iconStyle, modalStyle })
|
|
65
68
|
) : themeColors ? (
|
|
@@ -71,7 +74,7 @@ export const CelebrationModal: React.FC<CelebrationModalProps> = ({
|
|
|
71
74
|
modalStyle={modalStyle}
|
|
72
75
|
/>
|
|
73
76
|
) : null}
|
|
74
|
-
</
|
|
77
|
+
</AnimatedView>
|
|
75
78
|
</BaseModal>
|
|
76
79
|
</>
|
|
77
80
|
);
|
|
@@ -8,6 +8,9 @@ import type { ThemeColors } from "../../domain/entities/FireworksConfig";
|
|
|
8
8
|
import type { useCelebrationModalAnimation } from "../hooks/useCelebrationModalAnimation";
|
|
9
9
|
import { createCelebrationModalStyles } from "../styles/CelebrationModalStyles";
|
|
10
10
|
|
|
11
|
+
// Access View through Animated namespace with type assertion for reanimated v3 compatibility
|
|
12
|
+
const AnimatedView = (Animated as unknown as { View: React.ComponentType<{ style?: unknown; children?: React.ReactNode }> }).View;
|
|
13
|
+
|
|
11
14
|
export interface CelebrationModalContentProps {
|
|
12
15
|
config: CelebrationConfig;
|
|
13
16
|
onClose: () => void;
|
|
@@ -30,7 +33,7 @@ export const CelebrationModalContent: React.FC<CelebrationModalContentProps> = (
|
|
|
30
33
|
const primaryColor = themeColors?.primary || tokens.colors.primary;
|
|
31
34
|
|
|
32
35
|
return (
|
|
33
|
-
<
|
|
36
|
+
<AnimatedView
|
|
34
37
|
style={[
|
|
35
38
|
styles.modal,
|
|
36
39
|
modalStyle,
|
|
@@ -45,11 +48,11 @@ export const CelebrationModalContent: React.FC<CelebrationModalContentProps> = (
|
|
|
45
48
|
},
|
|
46
49
|
]}
|
|
47
50
|
>
|
|
48
|
-
<
|
|
51
|
+
<AnimatedView style={[styles.iconContainer, iconStyle]}>
|
|
49
52
|
<View style={[styles.iconCircle, { backgroundColor: successColor }]}>
|
|
50
53
|
<AtomicIcon name="checkmark" size="xl" color="onPrimary" />
|
|
51
54
|
</View>
|
|
52
|
-
</
|
|
55
|
+
</AnimatedView>
|
|
53
56
|
|
|
54
57
|
<AtomicText type="headlineSmall" style={[styles.title, { color: tokens.colors.onSurface }]}>
|
|
55
58
|
{config.title}
|
|
@@ -85,6 +88,6 @@ export const CelebrationModalContent: React.FC<CelebrationModalContentProps> = (
|
|
|
85
88
|
/>
|
|
86
89
|
)}
|
|
87
90
|
</View>
|
|
88
|
-
</
|
|
91
|
+
</AnimatedView>
|
|
89
92
|
);
|
|
90
93
|
};
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import * as Sharing from 'expo-sharing';
|
|
12
|
-
import * as FileSystem from 'expo-file-system/legacy';
|
|
12
|
+
import * as FileSystem from 'expo-file-system/build/legacy';
|
|
13
13
|
import type { ShareOptions, ShareResult } from '../../domain/entities/Share';
|
|
14
14
|
import { SharingUtils } from '../../domain/entities/Share';
|
|
15
15
|
|