@umituz/react-native-design-system 4.28.14 → 4.28.16

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@umituz/react-native-design-system",
3
- "version": "4.28.14",
3
+ "version": "4.28.16",
4
4
  "description": "Universal design system for React Native apps with safe navigation hooks - updated SKILL.md with navigation documentation",
5
5
  "main": "./src/index.ts",
6
6
  "types": "./dist/index.d.ts",
@@ -166,8 +166,11 @@ export type {
166
166
  export { EmojiCategory, EmojiUtils } from './domain/entities/Emoji';
167
167
 
168
168
  // Presentation Components
169
- export { EmojiPicker } from './presentation/components/EmojiPicker';
170
- export type { EmojiPickerProps } from './presentation/components/EmojiPicker';
169
+ // NOTE: EmojiPicker requires rn-emoji-keyboard (optional peer dependency)
170
+ // Import it directly when needed:
171
+ // import { EmojiPicker } from '@umituz/react-native-design-system/src/molecules/emoji/presentation/components/EmojiPicker';
172
+ // export { EmojiPicker } from './presentation/components/EmojiPicker';
173
+ // export type { EmojiPickerProps } from './presentation/components/EmojiPicker';
171
174
 
172
175
  // Presentation Hooks
173
176
  export { useEmojiPicker } from './presentation/hooks/useEmojiPicker';
@@ -1,6 +1,6 @@
1
1
 
2
2
  import React, { useMemo } from 'react';
3
- import { View, StyleSheet } from 'react-native';
3
+ import { View } from 'react-native';
4
4
  import { AtomicText } from '../../atoms/AtomicText';
5
5
  import { AtomicIcon } from '../../atoms';
6
6
  import { useAppDesignTokens } from '../../theme';
@@ -19,13 +19,13 @@ export const InfoGrid: React.FC<InfoGridProps> = React.memo(({
19
19
  const tokens = useAppDesignTokens();
20
20
  const spacingMultiplier = tokens.spacingMultiplier;
21
21
 
22
- const styles = useMemo(() => StyleSheet.create({
22
+ const styles = useMemo(() => ({
23
23
  container: {
24
24
  gap: tokens.spacing.md,
25
25
  },
26
26
  header: {
27
- flexDirection: 'row',
28
- alignItems: 'center',
27
+ flexDirection: 'row' as const,
28
+ alignItems: 'center' as const,
29
29
  gap: tokens.spacing.xs,
30
30
  },
31
31
  headerIcon: {
@@ -33,24 +33,24 @@ export const InfoGrid: React.FC<InfoGridProps> = React.memo(({
33
33
  height: calculateResponsiveSize(INFO_GRID_ICONS.small, spacingMultiplier),
34
34
  borderRadius: tokens.borders.radius.sm,
35
35
  backgroundColor: `${tokens.colors.primary}20`,
36
- justifyContent: 'center',
37
- alignItems: 'center',
36
+ justifyContent: 'center' as const,
37
+ alignItems: 'center' as const,
38
38
  },
39
39
  headerTitle: {
40
40
  ...tokens.typography.labelLarge,
41
- fontWeight: '700',
41
+ fontWeight: '700' as const,
42
42
  color: tokens.colors.primary,
43
43
  },
44
44
  grid: {
45
- flexDirection: 'row',
46
- flexWrap: 'wrap',
45
+ flexDirection: 'row' as const,
46
+ flexWrap: 'wrap' as const,
47
47
  gap: tokens.spacing.sm,
48
48
  },
49
49
  item: {
50
- flexDirection: 'row',
51
- alignItems: 'center',
50
+ flexDirection: 'row' as const,
51
+ alignItems: 'center' as const,
52
52
  gap: tokens.spacing.sm,
53
- width: `${100 / columns - 2}%`, // Basic percentage calculation
53
+ width: `${100 / columns - 2}%` as const, // Basic percentage calculation
54
54
  backgroundColor: tokens.colors.surfaceVariant,
55
55
  padding: tokens.spacing.md,
56
56
  borderRadius: tokens.borders.radius.md,
@@ -62,14 +62,14 @@ export const InfoGrid: React.FC<InfoGridProps> = React.memo(({
62
62
  height: calculateResponsiveSize(INFO_GRID_ICONS.large, spacingMultiplier),
63
63
  borderRadius: tokens.borders.radius.sm,
64
64
  backgroundColor: `${tokens.colors.primary}20`,
65
- justifyContent: 'center',
66
- alignItems: 'center',
65
+ justifyContent: 'center' as const,
66
+ alignItems: 'center' as const,
67
67
  },
68
68
  itemText: {
69
69
  flex: 1,
70
70
  ...tokens.typography.bodySmall,
71
71
  color: tokens.colors.textPrimary,
72
- fontWeight: '500',
72
+ fontWeight: '500' as const,
73
73
  },
74
74
  }), [tokens, columns, spacingMultiplier]);
75
75
 
@@ -1,5 +1,5 @@
1
1
  import React, { useMemo } from 'react';
2
- import { View, StyleSheet, TouchableOpacity } from 'react-native';
2
+ import { View, TouchableOpacity } from 'react-native';
3
3
  import { AtomicText } from '../../../atoms';
4
4
  import { AtomicIcon, useIconName } from '../../../atoms';
5
5
  import { useAppDesignTokens } from '../../../theme';
@@ -25,14 +25,14 @@ export const NavigationHeader: React.FC<NavigationHeaderProps> = ({
25
25
  const arrowLeftIcon = useIconName('arrowLeft');
26
26
  const spacingMultiplier = tokens.spacingMultiplier;
27
27
 
28
- const styles = useMemo(() => StyleSheet.create({
28
+ const styles = useMemo(() => ({
29
29
  container: {
30
30
  paddingTop: insets.top,
31
31
  paddingHorizontal: tokens.spacing.md,
32
32
  paddingBottom: tokens.spacing.sm,
33
33
  backgroundColor: tokens.colors.backgroundPrimary,
34
- flexDirection: 'row',
35
- alignItems: 'center',
34
+ flexDirection: 'row' as const,
35
+ alignItems: 'center' as const,
36
36
  borderBottomWidth: 1,
37
37
  borderBottomColor: tokens.colors.outlineVariant,
38
38
  zIndex: 100,
@@ -42,16 +42,16 @@ export const NavigationHeader: React.FC<NavigationHeaderProps> = ({
42
42
  width: calculateResponsiveSize(NAVIGATION.backButton.width, spacingMultiplier),
43
43
  height: calculateResponsiveSize(NAVIGATION.backButton.height, spacingMultiplier),
44
44
  borderRadius: tokens.borders.radius.full,
45
- alignItems: 'center',
46
- justifyContent: 'center',
45
+ alignItems: 'center' as const,
46
+ justifyContent: 'center' as const,
47
47
  backgroundColor: tokens.colors.surfaceVariant,
48
48
  },
49
49
  title: {
50
50
  flex: 1,
51
- textAlign: centerTitle ? 'center' : 'left',
51
+ textAlign: (centerTitle ? 'center' : 'left') as 'center' | 'left',
52
52
  },
53
53
  sideElement: {
54
- width: centerTitle ? calculateResponsiveSize(40, spacingMultiplier) : 'auto',
54
+ width: centerTitle ? calculateResponsiveSize(40, spacingMultiplier) : 'auto' as const,
55
55
  }
56
56
  }), [tokens, insets, centerTitle, spacingMultiplier]);
57
57