@umituz/react-native-settings 5.3.2 → 5.3.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.
Files changed (104) hide show
  1. package/package.json +78 -18
  2. package/src/account.ts +4 -40
  3. package/src/domains/about/presentation/components/AboutContent.tsx +2 -1
  4. package/src/domains/about/presentation/components/AboutHeader.tsx +2 -1
  5. package/src/domains/about/presentation/components/AboutSettingItem.tsx +2 -1
  6. package/src/domains/about/presentation/screens/AboutScreen.tsx +4 -1
  7. package/src/domains/about/presentation/screens/AboutScreenContent.tsx +1 -1
  8. package/src/domains/appearance/hooks/useAppearance.ts +1 -1
  9. package/src/domains/appearance/hooks/useAppearanceActions.ts +1 -1
  10. package/src/domains/appearance/presentation/components/AppearanceHeader.tsx +2 -2
  11. package/src/domains/appearance/presentation/components/AppearancePreview.tsx +2 -2
  12. package/src/domains/appearance/presentation/components/ColorPicker.tsx +2 -5
  13. package/src/domains/appearance/presentation/components/CustomColorsSection.tsx +2 -2
  14. package/src/domains/appearance/presentation/components/ThemeModeSection.tsx +2 -2
  15. package/src/domains/appearance/presentation/components/ThemeOption.tsx +2 -2
  16. package/src/domains/appearance/presentation/screens/AppearanceScreen.tsx +3 -6
  17. package/src/domains/appearance/types/index.ts +1 -4
  18. package/src/domains/dev/presentation/components/DevSettingsSection.tsx +2 -1
  19. package/src/domains/dev/presentation/components/EnvViewerSetting.tsx +2 -1
  20. package/src/domains/dev/presentation/screens/EnvViewerScreen.tsx +4 -10
  21. package/src/domains/disclaimer/presentation/components/DisclaimerCard.tsx +2 -3
  22. package/src/domains/disclaimer/presentation/components/DisclaimerModal.tsx +3 -1
  23. package/src/domains/disclaimer/presentation/components/DisclaimerSetting.tsx +1 -1
  24. package/src/domains/disclaimer/presentation/screens/DisclaimerScreen.tsx +4 -9
  25. package/src/domains/faqs/presentation/components/FAQCategory.tsx +2 -1
  26. package/src/domains/faqs/presentation/components/FAQEmptyState.tsx +2 -1
  27. package/src/domains/faqs/presentation/components/FAQItem.tsx +2 -1
  28. package/src/domains/faqs/presentation/components/FAQSearchBar.tsx +2 -1
  29. package/src/domains/faqs/presentation/screens/FAQScreen.tsx +4 -1
  30. package/src/domains/feedback/presentation/components/FeedbackForm.styles.ts +1 -1
  31. package/src/domains/feedback/presentation/components/FeedbackForm.tsx +2 -2
  32. package/src/domains/feedback/presentation/components/FeedbackModal.tsx +4 -1
  33. package/src/domains/gamification/components/AchievementCard.tsx +3 -1
  34. package/src/domains/gamification/components/AchievementItem.tsx +2 -1
  35. package/src/domains/gamification/components/AchievementToast.tsx +2 -1
  36. package/src/domains/gamification/components/GamificationScreen/AchievementsList.tsx +1 -1
  37. package/src/domains/gamification/components/GamificationScreen/GamificationScreen.tsx +4 -1
  38. package/src/domains/gamification/components/GamificationScreen/StatsGrid.tsx +1 -1
  39. package/src/domains/gamification/components/LevelProgress.tsx +3 -1
  40. package/src/domains/gamification/components/PointsBadge.tsx +3 -1
  41. package/src/domains/gamification/components/StatsCard.tsx +3 -1
  42. package/src/domains/gamification/components/StreakDisplay.tsx +3 -1
  43. package/src/domains/gamification/store/gamificationStore.ts +1 -1
  44. package/src/domains/legal/domain/services/StyleCacheService.ts +1 -1
  45. package/src/domains/legal/presentation/components/LegalDocumentsList.tsx +2 -1
  46. package/src/domains/legal/presentation/components/LegalItem.tsx +1 -1
  47. package/src/domains/legal/presentation/components/LegalScreenHeader.tsx +2 -1
  48. package/src/domains/legal/presentation/screens/LegalContentScreen.tsx +4 -3
  49. package/src/domains/legal/presentation/screens/LegalScreen.tsx +2 -1
  50. package/src/domains/legal/presentation/screens/PrivacyPolicyScreen.tsx +1 -1
  51. package/src/domains/legal/presentation/screens/TermsOfServiceScreen.tsx +1 -1
  52. package/src/domains/localization/infrastructure/components/LanguageSwitcher.tsx +2 -1
  53. package/src/domains/localization/infrastructure/storage/LanguageInitializer.ts +1 -1
  54. package/src/domains/localization/infrastructure/storage/LanguageSwitcher.ts +1 -1
  55. package/src/domains/localization/infrastructure/storage/LocalizationStore.ts +1 -1
  56. package/src/domains/localization/presentation/components/LanguageItem.tsx +2 -1
  57. package/src/domains/localization/presentation/components/LanguageSection.tsx +3 -5
  58. package/src/domains/localization/presentation/screens/LanguageSelectionScreen.tsx +3 -7
  59. package/src/domains/notifications/infrastructure/hooks/useNotificationSettings.ts +1 -1
  60. package/src/domains/notifications/infrastructure/storage/UnifiedNotificationStore.ts +1 -1
  61. package/src/domains/notifications/presentation/components/RemindersNavRow.styles.ts +1 -1
  62. package/src/domains/notifications/presentation/components/RemindersNavRow.tsx +2 -2
  63. package/src/domains/notifications/presentation/components/SettingRow.tsx +2 -2
  64. package/src/domains/notifications/presentation/screens/NotificationSettingsScreen.styles.ts +1 -1
  65. package/src/domains/notifications/presentation/screens/NotificationSettingsScreen.tsx +4 -9
  66. package/src/domains/notifications/presentation/screens/NotificationsScreen.tsx +4 -13
  67. package/src/domains/notifications/quietHours/presentation/components/QuietHoursCard.tsx +2 -2
  68. package/src/domains/notifications/reminders/presentation/components/FormButton.tsx +2 -2
  69. package/src/domains/notifications/reminders/presentation/components/FrequencySelector.tsx +2 -2
  70. package/src/domains/notifications/reminders/presentation/components/ReminderForm.styles.ts +1 -1
  71. package/src/domains/notifications/reminders/presentation/components/ReminderForm.tsx +2 -2
  72. package/src/domains/notifications/reminders/presentation/components/ReminderItem.tsx +2 -2
  73. package/src/domains/notifications/reminders/presentation/components/TimePresetSelector.tsx +2 -2
  74. package/src/domains/notifications/reminders/presentation/components/WeekdaySelector.tsx +2 -2
  75. package/src/domains/notifications/reminders/presentation/screens/ReminderListScreen.tsx +4 -9
  76. package/src/domains/rating/infrastructure/storage/RatingStorage.ts +1 -1
  77. package/src/domains/rating/presentation/components/RatingPromptModal.tsx +3 -7
  78. package/src/domains/rating/presentation/components/StarRating.tsx +2 -1
  79. package/src/domains/video-tutorials/presentation/components/VideoTutorialCard.tsx +2 -1
  80. package/src/domains/video-tutorials/presentation/screens/VideoTutorialsScreen.tsx +4 -9
  81. package/src/index.ts +1 -3
  82. package/src/infrastructure/repositories/SettingsRepository.ts +1 -1
  83. package/src/presentation/components/SettingsFooter.tsx +1 -1
  84. package/src/presentation/components/SettingsItemCard.tsx +2 -5
  85. package/src/presentation/components/SettingsNavigationItem.tsx +1 -1
  86. package/src/presentation/components/SettingsSection.tsx +2 -1
  87. package/src/presentation/components/settings/SettingsItemCardContent.tsx +2 -1
  88. package/src/presentation/components/settings/SettingsItemCardRightElement.tsx +1 -1
  89. package/src/presentation/components/settings/SettingsItemCardSection.tsx +1 -1
  90. package/src/presentation/hooks/mutations/useSettingsMutations.ts +1 -1
  91. package/src/presentation/hooks/queries/useSettingsQuery.ts +1 -1
  92. package/src/presentation/hooks/useSettingsScreenConfig.ts +26 -51
  93. package/src/presentation/navigation/SettingsStackNavigator.tsx +1 -4
  94. package/src/presentation/navigation/hooks/useSettingsScreens.ts +4 -8
  95. package/src/presentation/navigation/types.ts +4 -38
  96. package/src/presentation/screens/SettingsScreen.tsx +1 -7
  97. package/src/presentation/screens/components/SettingsContent.tsx +2 -4
  98. package/src/presentation/screens/components/SettingsHeader.tsx +3 -1
  99. package/src/presentation/screens/components/sections/ProfileSectionLoader.tsx +6 -7
  100. package/src/presentation/screens/components/types/SettingsContentProps.ts +0 -2
  101. package/src/presentation/screens/hooks/useSettingsScreen.ts +1 -1
  102. package/src/presentation/screens/types/CustomSection.ts +1 -1
  103. package/src/presentation/utils/accountConfigUtils.ts +1 -1
  104. package/src/presentation/utils/screenFactory.ts +1 -1
package/package.json CHANGED
@@ -1,26 +1,86 @@
1
1
  {
2
2
  "name": "@umituz/react-native-settings",
3
- "version": "5.3.2",
3
+ "version": "5.3.4",
4
4
  "description": "Complete settings hub for React Native apps - consolidated package with settings, localization, about, legal, appearance, feedback, FAQs, rating, and gamification",
5
5
  "main": "./src/index.ts",
6
6
  "types": "./src/index.ts",
7
7
  "sideEffects": false,
8
8
  "exports": {
9
- ".": "./src/index.ts",
10
- "./localization": "./src/domains/localization/index.ts",
11
- "./appearance": "./src/domains/appearance/index.ts",
12
- "./feedback": "./src/domains/feedback/index.ts",
13
- "./rating": "./src/domains/rating/index.ts",
14
- "./gamification": "./src/domains/gamification/index.ts",
15
- "./notifications": "./src/domains/notifications/index.ts",
16
- "./about": "./src/domains/about/index.ts",
17
- "./legal": "./src/domains/legal/index.ts",
18
- "./faqs": "./src/domains/faqs/index.ts",
19
- "./disclaimer": "./src/domains/disclaimer/index.ts",
20
- "./cloud-sync": "./src/domains/cloud-sync/index.ts",
21
- "./dev": "./src/domains/dev/index.ts",
22
- "./video-tutorials": "./src/domains/video-tutorials/index.ts",
23
- "./account": "./src/account.ts",
9
+ ".": {
10
+ "react-native": "./src/index.ts",
11
+ "types": "./src/index.ts",
12
+ "default": "./src/index.ts"
13
+ },
14
+ "./localization": {
15
+ "react-native": "./src/domains/localization/index.ts",
16
+ "types": "./src/domains/localization/index.ts",
17
+ "default": "./src/domains/localization/index.ts"
18
+ },
19
+ "./appearance": {
20
+ "react-native": "./src/domains/appearance/index.ts",
21
+ "types": "./src/domains/appearance/index.ts",
22
+ "default": "./src/domains/appearance/index.ts"
23
+ },
24
+ "./feedback": {
25
+ "react-native": "./src/domains/feedback/index.ts",
26
+ "types": "./src/domains/feedback/index.ts",
27
+ "default": "./src/domains/feedback/index.ts"
28
+ },
29
+ "./rating": {
30
+ "react-native": "./src/domains/rating/index.ts",
31
+ "types": "./src/domains/rating/index.ts",
32
+ "default": "./src/domains/rating/index.ts"
33
+ },
34
+ "./gamification": {
35
+ "react-native": "./src/domains/gamification/index.ts",
36
+ "types": "./src/domains/gamification/index.ts",
37
+ "default": "./src/domains/gamification/index.ts"
38
+ },
39
+ "./notifications": {
40
+ "react-native": "./src/domains/notifications/index.ts",
41
+ "types": "./src/domains/notifications/index.ts",
42
+ "default": "./src/domains/notifications/index.ts"
43
+ },
44
+ "./about": {
45
+ "react-native": "./src/domains/about/index.ts",
46
+ "types": "./src/domains/about/index.ts",
47
+ "default": "./src/domains/about/index.ts"
48
+ },
49
+ "./legal": {
50
+ "react-native": "./src/domains/legal/index.ts",
51
+ "types": "./src/domains/legal/index.ts",
52
+ "default": "./src/domains/legal/index.ts"
53
+ },
54
+ "./faqs": {
55
+ "react-native": "./src/domains/faqs/index.ts",
56
+ "types": "./src/domains/faqs/index.ts",
57
+ "default": "./src/domains/faqs/index.ts"
58
+ },
59
+ "./disclaimer": {
60
+ "react-native": "./src/domains/disclaimer/index.ts",
61
+ "types": "./src/domains/disclaimer/index.ts",
62
+ "default": "./src/domains/disclaimer/index.ts"
63
+ },
64
+ "./cloud-sync": {
65
+ "react-native": "./src/domains/cloud-sync/index.ts",
66
+ "types": "./src/domains/cloud-sync/index.ts",
67
+ "default": "./src/domains/cloud-sync/index.ts"
68
+ },
69
+ "./dev": {
70
+ "react-native": "./src/domains/dev/index.ts",
71
+ "types": "./src/domains/dev/index.ts",
72
+ "default": "./src/domains/dev/index.ts"
73
+ },
74
+ "./video-tutorials": {
75
+ "react-native": "./src/domains/video-tutorials/index.ts",
76
+ "types": "./src/domains/video-tutorials/index.ts",
77
+ "default": "./src/domains/video-tutorials/index.ts"
78
+ },
79
+ "./account": {
80
+ "react-native": "./src/account.ts",
81
+ "types": "./src/account.ts",
82
+ "default": "./src/account.ts"
83
+ },
24
84
  "./package.json": "./package.json"
25
85
  },
26
86
  "scripts": {
@@ -57,7 +117,6 @@
57
117
  "url": "https://github.com/umituz/react-native-settings"
58
118
  },
59
119
  "peerDependencies": {
60
- "firebase": ">=10.0.0",
61
120
  "@expo/vector-icons": ">=14.0.0",
62
121
  "@react-navigation/native": ">=6.0.0",
63
122
  "@react-navigation/stack": ">=6.0.0",
@@ -69,6 +128,7 @@
69
128
  "expo-localization": ">=16.0.0",
70
129
  "expo-notifications": ">=0.28.0",
71
130
  "expo-store-review": ">=8.0.0",
131
+ "firebase": ">=10.0.0",
72
132
  "i18next": ">=23.0.0",
73
133
  "react": ">=19.0.0",
74
134
  "react-i18next": ">=15.0.0",
@@ -97,7 +157,7 @@
97
157
  "@typescript-eslint/eslint-plugin": "^7.18.0",
98
158
  "@typescript-eslint/parser": "^7.18.0",
99
159
  "@umituz/react-native-auth": "*",
100
- "@umituz/react-native-design-system": "latest",
160
+ "@umituz/react-native-design-system": "^4.25.34",
101
161
  "@umituz/react-native-firebase": "^2.4.1",
102
162
  "@umituz/react-native-sentry": "latest",
103
163
  "eslint": "^8.57.0",
package/src/account.ts CHANGED
@@ -19,12 +19,6 @@
19
19
  * />
20
20
  */
21
21
 
22
- import { useMemo } from "react";
23
- import { useAuth, useUserProfile, useAuthHandlers } from "@umituz/react-native-auth";
24
- import { useSettingsScreenConfig } from './presentation/hooks/useSettingsScreenConfig';
25
- import type { UseSettingsScreenConfigParams, SettingsScreenConfigResult } from './presentation/hooks/useSettingsScreenConfig';
26
- import type { AppInfo } from './presentation/navigation/types';
27
-
28
22
  // Auth components - inject these into SettingsStackNavigator props
29
23
  export { AccountScreen, ProfileSection } from "@umituz/react-native-auth";
30
24
 
@@ -34,47 +28,17 @@ export { useAuth, useUserProfile, useAuthHandlers } from "@umituz/react-native-a
34
28
  // Auth types
35
29
  export type { AccountScreenConfig } from "@umituz/react-native-auth";
36
30
 
37
- // Base hook (accepts authData param)
31
+ // Base hook (already handles auth internally via useAuth/useUserProfile/useAuthHandlers)
38
32
  export { useSettingsScreenConfig } from './presentation/hooks/useSettingsScreenConfig';
39
33
 
34
+ // Alias for clarity - useSettingsScreenConfig already includes auth
35
+ export { useSettingsScreenConfig as useSettingsScreenConfigWithAuth } from './presentation/hooks/useSettingsScreenConfig';
36
+
40
37
  // Re-export types
41
38
  export type {
42
39
  UseSettingsScreenConfigParams,
43
40
  SettingsScreenConfigResult,
44
41
  SettingsFeatures,
45
- AuthData,
46
42
  } from './presentation/hooks/useSettingsScreenConfig';
47
43
 
48
44
  export type { AccountConfig } from './presentation/navigation/types';
49
-
50
- /**
51
- * Convenience wrapper that auto-injects auth data from @umituz/react-native-auth.
52
- * Drop-in replacement for the old useSettingsScreenConfig that called auth hooks internally.
53
- *
54
- * Usage:
55
- * const { settingsConfig, userProfile, accountConfig, ... } = useSettingsScreenConfigWithAuth({ appInfo, ... });
56
- */
57
- export const useSettingsScreenConfigWithAuth = (
58
- params: Omit<UseSettingsScreenConfigParams, 'authData'>
59
- ): SettingsScreenConfigResult => {
60
- const { user, loading, isAuthReady } = useAuth();
61
- const userProfileData = useUserProfile({});
62
- const { handleRatePress, handleSignOut, handleDeleteAccount, handleSignIn } =
63
- useAuthHandlers(params.appInfo as AppInfo, params.translations?.errors);
64
-
65
- const authData = useMemo(() => ({
66
- user,
67
- loading,
68
- isAuthReady,
69
- userProfileData,
70
- handleRatePress,
71
- handleSignOut,
72
- handleDeleteAccount,
73
- handleSignIn,
74
- }), [user, loading, isAuthReady, userProfileData, handleRatePress, handleSignOut, handleDeleteAccount, handleSignIn]);
75
-
76
- return useSettingsScreenConfig({
77
- ...params,
78
- authData,
79
- });
80
- };
@@ -7,7 +7,8 @@ import { View, StyleSheet } from 'react-native';
7
7
  import { AboutSettingItem } from './AboutSettingItem';
8
8
  import { AppInfo } from '../../domain/entities/AppInfo';
9
9
  import { AboutConfig } from '../../domain/entities/AppInfo';
10
- import { useAppDesignTokens, AtomicText, type DesignTokens } from '@umituz/react-native-design-system';
10
+ import { AtomicText } from '@umituz/react-native-design-system/atoms';
11
+ import { useAppDesignTokens, type DesignTokens } from '@umituz/react-native-design-system/theme';
11
12
 
12
13
  export interface AboutContentProps {
13
14
  /** App information to display */
@@ -4,7 +4,8 @@
4
4
  */
5
5
  import React from 'react';
6
6
  import { View, StyleSheet, ViewStyle, TextStyle } from 'react-native';
7
- import { useAppDesignTokens, AtomicText, type DesignTokens } from '@umituz/react-native-design-system';
7
+ import { AtomicText } from '@umituz/react-native-design-system/atoms';
8
+ import { useAppDesignTokens, type DesignTokens } from '@umituz/react-native-design-system/theme';
8
9
  import { AppInfo } from '../../domain/entities/AppInfo';
9
10
 
10
11
  export interface AboutHeaderProps {
@@ -12,7 +12,8 @@ import {
12
12
  ViewStyle,
13
13
  TextStyle,
14
14
  } from 'react-native';
15
- import { useAppDesignTokens, AtomicText, AtomicIcon, type DesignTokens } from '@umituz/react-native-design-system';
15
+ import { AtomicText, AtomicIcon } from '@umituz/react-native-design-system/atoms';
16
+ import { useAppDesignTokens, type DesignTokens } from '@umituz/react-native-design-system/theme';
16
17
 
17
18
  export interface AboutSettingItemProps {
18
19
  /** Icon component (any React component) */
@@ -4,7 +4,10 @@
4
4
  * Fully configurable and generic
5
5
  * Optimized for performance and memory safety
6
6
  */
7
- import { ScreenLayout, NavigationHeader, useAppDesignTokens, useAppNavigation, AtomicText, AtomicSpinner } from '@umituz/react-native-design-system';
7
+ import { AtomicText, AtomicSpinner } from '@umituz/react-native-design-system/atoms';
8
+ import { ScreenLayout } from '@umituz/react-native-design-system/layouts';
9
+ import { NavigationHeader, useAppNavigation } from '@umituz/react-native-design-system/molecules';
10
+ import { useAppDesignTokens } from '@umituz/react-native-design-system/theme';
8
11
  import { useAboutInfo } from '../hooks/useAboutInfo';
9
12
  import { AboutScreenContent } from './AboutScreenContent';
10
13
 
@@ -11,7 +11,7 @@ import {
11
11
  import { AboutHeader } from '../components/AboutHeader';
12
12
  import { AboutContent } from '../components/AboutContent';
13
13
  import { AboutConfig, AppInfo } from '../../domain/entities/AppInfo';
14
- import type { DesignTokens } from '@umituz/react-native-design-system';
14
+ import type { DesignTokens } from '@umituz/react-native-design-system/theme';
15
15
  import type { AboutScreenProps } from './AboutScreen';
16
16
 
17
17
  export interface AboutScreenContentProps extends Omit<AboutScreenProps, 'config'> {
@@ -1,4 +1,4 @@
1
- import { useTheme, type ThemeMode as BaseThemeMode, type CustomThemeColors } from "@umituz/react-native-design-system";
1
+ import { useTheme, type ThemeMode as BaseThemeMode, type CustomThemeColors } from "@umituz/react-native-design-system/theme";
2
2
  import type { ThemeMode } from "../types";
3
3
 
4
4
  export const useAppearance = () => {
@@ -1,6 +1,6 @@
1
1
  import { useState, useCallback, useEffect, useRef } from "react";
2
2
  import { useAppearance } from "./useAppearance";
3
- import type { CustomThemeColors } from "@umituz/react-native-design-system";
3
+ import type { CustomThemeColors } from "@umituz/react-native-design-system/theme";
4
4
  import type { ThemeMode } from "../types";
5
5
 
6
6
  export const useAppearanceActions = () => {
@@ -5,8 +5,8 @@
5
5
 
6
6
  import React from "react";
7
7
  import { View, StyleSheet, type StyleProp, type ViewStyle } from "react-native";
8
- import { AtomicText } from "@umituz/react-native-design-system";
9
- import type { DesignTokens } from "@umituz/react-native-design-system";
8
+ import { AtomicText } from "@umituz/react-native-design-system/atoms";
9
+ import type { DesignTokens } from "@umituz/react-native-design-system/theme";
10
10
 
11
11
  export interface AppearanceHeaderProps {
12
12
  tokens: DesignTokens;
@@ -5,8 +5,8 @@
5
5
 
6
6
  import React from "react";
7
7
  import { View, StyleSheet } from "react-native";
8
- import { AtomicText } from "@umituz/react-native-design-system";
9
- import type { DesignTokens } from "@umituz/react-native-design-system";
8
+ import { AtomicText } from "@umituz/react-native-design-system/atoms";
9
+ import type { DesignTokens } from "@umituz/react-native-design-system/theme";
10
10
  import type { CustomThemeColors } from "../../types";
11
11
 
12
12
  export interface PreviewColorItem {
@@ -7,11 +7,8 @@
7
7
 
8
8
  import React, { useMemo, useCallback } from "react";
9
9
  import { View, TouchableOpacity, StyleSheet } from "react-native";
10
- import {
11
- AtomicIcon,
12
- AtomicText,
13
- useAppDesignTokens,
14
- } from "@umituz/react-native-design-system";
10
+ import { AtomicIcon, AtomicText } from "@umituz/react-native-design-system/atoms";
11
+ import { useAppDesignTokens } from "@umituz/react-native-design-system/theme";
15
12
  import { isDev } from "../../../../utils/devUtils";
16
13
 
17
14
  interface ColorPickerProps {
@@ -5,14 +5,14 @@
5
5
 
6
6
  import React, { useMemo, useCallback } from "react";
7
7
  import { View, StyleSheet } from "react-native";
8
- import { AtomicText, AtomicButton } from "@umituz/react-native-design-system";
8
+ import { AtomicText, AtomicButton } from "@umituz/react-native-design-system/atoms";
9
+ import type { DesignTokens } from "@umituz/react-native-design-system/theme";
9
10
  import { ColorPicker } from "./ColorPicker";
10
11
  import {
11
12
  DEFAULT_PRIMARY_COLORS,
12
13
  DEFAULT_SECONDARY_COLORS,
13
14
  DEFAULT_ACCENT_COLORS,
14
15
  } from "../../data/colorPalettes";
15
- import type { DesignTokens } from "@umituz/react-native-design-system";
16
16
  import type { CustomThemeColors } from "../../types";
17
17
 
18
18
  export interface ColorFieldConfig {
@@ -5,9 +5,9 @@
5
5
 
6
6
  import React, { useMemo, useCallback } from "react";
7
7
  import { View, StyleSheet } from "react-native";
8
- import { AtomicText } from "@umituz/react-native-design-system";
8
+ import { AtomicText } from "@umituz/react-native-design-system/atoms";
9
+ import type { DesignTokens } from "@umituz/react-native-design-system/theme";
9
10
  import { ThemeOption } from "./ThemeOption";
10
- import type { DesignTokens } from "@umituz/react-native-design-system";
11
11
  import type { ThemeMode } from "../../types";
12
12
 
13
13
  export interface ThemeOptionConfig {
@@ -7,8 +7,8 @@
7
7
 
8
8
  import React, { useMemo } from "react";
9
9
  import { View, TouchableOpacity, StyleSheet } from "react-native";
10
- import { AtomicText, AtomicIcon } from "@umituz/react-native-design-system";
11
- import { useAppDesignTokens } from "@umituz/react-native-design-system";
10
+ import { AtomicText, AtomicIcon } from "@umituz/react-native-design-system/atoms";
11
+ import { useAppDesignTokens } from "@umituz/react-native-design-system/theme";
12
12
  import type { ThemeMode } from "../../types";
13
13
 
14
14
  interface ThemeOptionProps {
@@ -6,12 +6,9 @@
6
6
  */
7
7
 
8
8
  import React, { useMemo, useCallback } from "react";
9
- import {
10
- ScreenLayout,
11
- useAppDesignTokens,
12
- NavigationHeader,
13
- useAppNavigation
14
- } from "@umituz/react-native-design-system";
9
+ import { ScreenLayout } from "@umituz/react-native-design-system/layouts";
10
+ import { NavigationHeader, useAppNavigation } from "@umituz/react-native-design-system/molecules";
11
+ import { useAppDesignTokens } from "@umituz/react-native-design-system/theme";
15
12
  import { useAppearance } from "../../hooks/useAppearance";
16
13
  import { useAppearanceActions } from "../../hooks/useAppearanceActions";
17
14
  import {
@@ -4,10 +4,7 @@
4
4
  * Types for appearance settings including theme mode and custom colors
5
5
  */
6
6
 
7
- import type {
8
- ThemeMode as BaseThemeMode,
9
- CustomThemeColors,
10
- } from "@umituz/react-native-design-system";
7
+ import type { ThemeMode as BaseThemeMode, CustomThemeColors } from "@umituz/react-native-design-system/theme";
11
8
 
12
9
  // Extended theme mode to support 'auto' option
13
10
  export type ThemeMode = BaseThemeMode | 'auto';
@@ -9,7 +9,8 @@
9
9
 
10
10
  import React from "react";
11
11
  import { Alert } from "react-native";
12
- import { useAppDesignTokens, storageRepository } from "@umituz/react-native-design-system";
12
+ import { storageRepository } from "@umituz/react-native-design-system/storage";
13
+ import { useAppDesignTokens } from "@umituz/react-native-design-system/theme";
13
14
  import { SettingsSection } from "../../../../presentation/components/SettingsSection";
14
15
  import { SettingsItemCard } from "../../../../presentation/components/SettingsItemCard";
15
16
 
@@ -5,7 +5,8 @@
5
5
  */
6
6
 
7
7
  import React from "react";
8
- import { useAppDesignTokens, useAppNavigation } from "@umituz/react-native-design-system";
8
+ import { useAppNavigation } from "@umituz/react-native-design-system/molecules";
9
+ import { useAppDesignTokens } from "@umituz/react-native-design-system/theme";
9
10
  import { SettingsItemCard } from "../../../../presentation/components/SettingsItemCard";
10
11
  import type { EnvConfig } from "../../types";
11
12
 
@@ -6,16 +6,10 @@
6
6
 
7
7
  import React, { useState, useMemo } from "react";
8
8
  import { View, StyleSheet } from "react-native";
9
- import {
10
- AtomicText,
11
- AtomicIcon,
12
- AtomicTouchable,
13
- useAppDesignTokens,
14
- useAppNavigation,
15
- AlertService,
16
- ScreenLayout,
17
- NavigationHeader,
18
- } from "@umituz/react-native-design-system";
9
+ import { AtomicText, AtomicIcon, AtomicTouchable } from "@umituz/react-native-design-system/atoms";
10
+ import { ScreenLayout } from "@umituz/react-native-design-system/layouts";
11
+ import { useAppNavigation, AlertService, NavigationHeader } from "@umituz/react-native-design-system/molecules";
12
+ import { useAppDesignTokens } from "@umituz/react-native-design-system/theme";
19
13
  import * as Clipboard from "expo-clipboard";
20
14
  import type { EnvConfig } from "../../types";
21
15
 
@@ -11,9 +11,8 @@ import {
11
11
  type TextStyle,
12
12
  } from 'react-native';
13
13
 
14
- import { useAppDesignTokens, withAlpha } from '@umituz/react-native-design-system';
15
- import { AtomicText, AtomicIcon } from '@umituz/react-native-design-system';
16
- import type { IconName } from '@umituz/react-native-design-system';
14
+ import { AtomicText, AtomicIcon, type IconName } from '@umituz/react-native-design-system/atoms';
15
+ import { useAppDesignTokens, withAlpha } from '@umituz/react-native-design-system/theme';
17
16
 
18
17
  export interface DisclaimerCardProps {
19
18
  title: string;
@@ -11,7 +11,9 @@ import {
11
11
  ScrollView,
12
12
  } from 'react-native';
13
13
 
14
- import { useAppDesignTokens, AtomicText, AtomicIcon, BaseModal } from '@umituz/react-native-design-system';
14
+ import { AtomicText, AtomicIcon } from '@umituz/react-native-design-system/atoms';
15
+ import { BaseModal } from '@umituz/react-native-design-system/molecules';
16
+ import { useAppDesignTokens } from '@umituz/react-native-design-system/theme';
15
17
 
16
18
  export interface DisclaimerModalProps {
17
19
  visible: boolean;
@@ -20,7 +20,7 @@
20
20
  import React, { useState, useEffect, useCallback } from 'react';
21
21
  import { Modal } from 'react-native';
22
22
 
23
- import { useAppDesignTokens, withAlpha } from '@umituz/react-native-design-system';
23
+ import { useAppDesignTokens, withAlpha } from '@umituz/react-native-design-system/theme';
24
24
  import { DisclaimerCard } from './DisclaimerCard';
25
25
  import { DisclaimerModal } from './DisclaimerModal';
26
26
 
@@ -14,15 +14,10 @@
14
14
 
15
15
  import React from 'react';
16
16
  import { View, StyleSheet } from 'react-native';
17
- import {
18
- useAppDesignTokens,
19
- withAlpha,
20
- ScreenLayout,
21
- useAppNavigation,
22
- NavigationHeader
23
- } from '@umituz/react-native-design-system';
24
- import { AtomicText, AtomicIcon } from '@umituz/react-native-design-system';
25
- import type { IconName } from '@umituz/react-native-design-system';
17
+ import { AtomicText, AtomicIcon, type IconName } from '@umituz/react-native-design-system/atoms';
18
+ import { ScreenLayout } from '@umituz/react-native-design-system/layouts';
19
+ import { useAppNavigation, NavigationHeader } from '@umituz/react-native-design-system/molecules';
20
+ import { useAppDesignTokens, withAlpha } from '@umituz/react-native-design-system/theme';
26
21
 
27
22
  export interface DisclaimerScreenProps {
28
23
  /** Custom title (overrides translation) */
@@ -6,7 +6,8 @@
6
6
 
7
7
  import React, { useMemo } from 'react';
8
8
  import { View, StyleSheet, ViewStyle } from 'react-native';
9
- import { useAppDesignTokens, AtomicText } from '@umituz/react-native-design-system';
9
+ import { AtomicText } from '@umituz/react-native-design-system/atoms';
10
+ import { useAppDesignTokens } from '@umituz/react-native-design-system/theme';
10
11
  import { FAQCategory as FAQCategoryType } from '../../domain/entities/FAQEntity';
11
12
  import { FAQItemComponent, FAQItemStyles } from './FAQItem';
12
13
 
@@ -6,7 +6,8 @@
6
6
 
7
7
  import React, { useMemo } from 'react';
8
8
  import { View, StyleSheet, ViewStyle, TextStyle } from 'react-native';
9
- import { useAppDesignTokens, AtomicText } from '@umituz/react-native-design-system';
9
+ import { AtomicText } from '@umituz/react-native-design-system/atoms';
10
+ import { useAppDesignTokens } from '@umituz/react-native-design-system/theme';
10
11
 
11
12
  export interface FAQEmptyStateStyles {
12
13
  container?: ViewStyle;
@@ -6,7 +6,8 @@
6
6
 
7
7
  import React, { useMemo } from 'react';
8
8
  import { View, TouchableOpacity, StyleSheet, ViewStyle } from 'react-native';
9
- import { useAppDesignTokens, AtomicText, AtomicIcon } from '@umituz/react-native-design-system';
9
+ import { AtomicText, AtomicIcon } from '@umituz/react-native-design-system/atoms';
10
+ import { useAppDesignTokens } from '@umituz/react-native-design-system/theme';
10
11
  import { FAQItem as FAQItemType } from '../../domain/entities/FAQEntity';
11
12
 
12
13
  export interface FAQItemStyles {
@@ -6,7 +6,8 @@
6
6
 
7
7
  import React, { useMemo } from 'react';
8
8
  import { View, TextInput, StyleSheet, ViewStyle, TextStyle } from 'react-native';
9
- import { useAppDesignTokens, AtomicIcon } from '@umituz/react-native-design-system';
9
+ import { AtomicIcon } from '@umituz/react-native-design-system/atoms';
10
+ import { useAppDesignTokens } from '@umituz/react-native-design-system/theme';
10
11
 
11
12
  export interface FAQSearchBarStyles {
12
13
  container?: ViewStyle;
@@ -6,7 +6,10 @@
6
6
 
7
7
  import React, { useMemo, useCallback } from 'react';
8
8
  import { View, FlatList, StyleSheet, ViewStyle, TextStyle, useWindowDimensions } from 'react-native';
9
- import { useAppDesignTokens, ScreenLayout, getContentMaxWidth, NavigationHeader, useAppNavigation } from '@umituz/react-native-design-system';
9
+ import { getContentMaxWidth } from '@umituz/react-native-design-system/device';
10
+ import { ScreenLayout } from '@umituz/react-native-design-system/layouts';
11
+ import { NavigationHeader, useAppNavigation } from '@umituz/react-native-design-system/molecules';
12
+ import { useAppDesignTokens } from '@umituz/react-native-design-system/theme';
10
13
  import { FAQCategory } from '../../domain/entities/FAQEntity';
11
14
  import { useFAQSearch } from '../hooks/useFAQSearch';
12
15
  import { useFAQExpansion } from '../hooks/useFAQExpansion';
@@ -1,5 +1,5 @@
1
1
  import { StyleSheet } from "react-native";
2
- import type { useAppDesignTokens } from "@umituz/react-native-design-system";
2
+ import type { useAppDesignTokens } from "@umituz/react-native-design-system/theme";
3
3
 
4
4
  export const getFeedbackFormStyles = (_tokens: ReturnType<typeof useAppDesignTokens>) =>
5
5
  StyleSheet.create({
@@ -5,12 +5,12 @@
5
5
 
6
6
  import React, { useReducer } from "react";
7
7
  import { View, TouchableOpacity, ScrollView, TextInput } from "react-native";
8
- import { useAppDesignTokens, AtomicText, AtomicButton, AtomicIcon } from "@umituz/react-native-design-system";
8
+ import { AtomicText, AtomicButton, AtomicIcon } from "@umituz/react-native-design-system/atoms";
9
+ import { useAppDesignTokens, type DesignTokens } from "@umituz/react-native-design-system/theme";
9
10
  import type { FeedbackType, FeedbackRating } from "../../domain/entities/FeedbackEntity";
10
11
  import { validateFeedbackForm } from "../../../../infrastructure/utils/validation";
11
12
  import type { FeedbackFormProps } from "./FeedbackFormProps";
12
13
  import { getFeedbackFormStyles as getStyles } from "./FeedbackForm.styles";
13
- import type { DesignTokens } from "@umituz/react-native-design-system";
14
14
 
15
15
  interface FeedbackFormState {
16
16
  selectedType: FeedbackType;
@@ -5,7 +5,10 @@
5
5
 
6
6
  import React from "react";
7
7
  import { View, StyleSheet, TouchableOpacity } from "react-native";
8
- import { useAppDesignTokens, AtomicText, AtomicIcon, BaseModal, ScreenLayout } from "@umituz/react-native-design-system";
8
+ import { AtomicText, AtomicIcon } from "@umituz/react-native-design-system/atoms";
9
+ import { ScreenLayout } from "@umituz/react-native-design-system/layouts";
10
+ import { BaseModal } from "@umituz/react-native-design-system/molecules";
11
+ import { useAppDesignTokens } from "@umituz/react-native-design-system/theme";
9
12
  import { FeedbackForm } from "./FeedbackForm";
10
13
  import type { FeedbackType, FeedbackRating } from "../../domain/entities/FeedbackEntity";
11
14
  import type { FeedbackFormProps } from "./FeedbackFormProps";
@@ -5,7 +5,9 @@
5
5
 
6
6
  import React from "react";
7
7
  import { View, StyleSheet, type ViewStyle, type TextStyle } from "react-native";
8
- import { useAppDesignTokens, AtomicText, withAlpha, useResponsive } from "@umituz/react-native-design-system";
8
+ import { AtomicText } from "@umituz/react-native-design-system/atoms";
9
+ import { useResponsive } from "@umituz/react-native-design-system/responsive";
10
+ import { useAppDesignTokens, withAlpha } from "@umituz/react-native-design-system/theme";
9
11
 
10
12
  export interface AchievementCardProps {
11
13
  title: string;
@@ -5,7 +5,8 @@
5
5
 
6
6
  import React from "react";
7
7
  import { View } from "react-native";
8
- import { useAppDesignTokens, AtomicText, AtomicIcon, withAlpha } from "@umituz/react-native-design-system";
8
+ import { AtomicText, AtomicIcon } from "@umituz/react-native-design-system/atoms";
9
+ import { useAppDesignTokens, withAlpha } from "@umituz/react-native-design-system/theme";
9
10
  import type { AchievementItemProps } from "./types/AchievementItemProps";
10
11
  import { achievementItemStyles as styles } from "./styles/achievementItemStyles";
11
12
 
@@ -5,7 +5,8 @@
5
5
 
6
6
  import React, { useEffect, useRef } from "react";
7
7
  import { View, StyleSheet, type ViewStyle, type TextStyle } from "react-native";
8
- import { useAppDesignTokens, AtomicText, withAlpha } from "@umituz/react-native-design-system";
8
+ import { AtomicText } from "@umituz/react-native-design-system/atoms";
9
+ import { useAppDesignTokens, withAlpha } from "@umituz/react-native-design-system/theme";
9
10
 
10
11
  export interface AchievementToastProps {
11
12
  visible: boolean;
@@ -4,7 +4,7 @@
4
4
 
5
5
  import React, { useMemo } from "react";
6
6
  import { View, type TextStyle } from "react-native";
7
- import { AtomicText } from "@umituz/react-native-design-system";
7
+ import { AtomicText } from "@umituz/react-native-design-system/atoms";
8
8
  import { AchievementItem } from "../AchievementItem";
9
9
  import { styles } from "./styles";
10
10
  import type { AchievementItemProps } from "../types/AchievementItemProps";