@umituz/react-native-settings 5.3.3 → 5.3.5

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 +5 -5
  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,6 +1,6 @@
1
1
  {
2
2
  "name": "@umituz/react-native-settings",
3
- "version": "5.3.3",
3
+ "version": "5.3.5",
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",
@@ -117,7 +117,6 @@
117
117
  "url": "https://github.com/umituz/react-native-settings"
118
118
  },
119
119
  "peerDependencies": {
120
- "firebase": ">=10.0.0",
121
120
  "@expo/vector-icons": ">=14.0.0",
122
121
  "@react-navigation/native": ">=6.0.0",
123
122
  "@react-navigation/stack": ">=6.0.0",
@@ -129,6 +128,7 @@
129
128
  "expo-localization": ">=16.0.0",
130
129
  "expo-notifications": ">=0.28.0",
131
130
  "expo-store-review": ">=8.0.0",
131
+ "firebase": ">=10.0.0",
132
132
  "i18next": ">=23.0.0",
133
133
  "react": ">=19.0.0",
134
134
  "react-i18next": ">=15.0.0",
@@ -156,9 +156,9 @@
156
156
  "@types/react": "~19.1.10",
157
157
  "@typescript-eslint/eslint-plugin": "^7.18.0",
158
158
  "@typescript-eslint/parser": "^7.18.0",
159
- "@umituz/react-native-auth": "*",
160
- "@umituz/react-native-design-system": "latest",
161
- "@umituz/react-native-firebase": "^2.4.1",
159
+ "@umituz/react-native-auth": "^4.3.39",
160
+ "@umituz/react-native-design-system": "^4.25.34",
161
+ "@umituz/react-native-firebase": "^2.4.55",
162
162
  "@umituz/react-native-sentry": "latest",
163
163
  "eslint": "^8.57.0",
164
164
  "eslint-plugin-react": "^7.37.5",
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";
@@ -6,7 +6,10 @@
6
6
 
7
7
  import React from "react";
8
8
  import { View } from "react-native";
9
- import { useAppDesignTokens, AtomicText, ScreenLayout, NavigationHeader, useAppNavigation } from "@umituz/react-native-design-system";
9
+ import { AtomicText } from "@umituz/react-native-design-system/atoms";
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 { LevelProgress } from "../LevelProgress";
11
14
  import { StreakDisplay } from "../StreakDisplay";
12
15
  import { StatsGrid } from "./StatsGrid";
@@ -4,7 +4,7 @@
4
4
 
5
5
  import React 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 { StatsCard } from "../StatsCard";
9
9
  import { styles } from "./styles";
10
10
  import type { StatsCardProps } from "../StatsCard";
@@ -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 LevelProgressProps {
11
13
  level: number;
@@ -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 PointsBadgeProps {
11
13
  points: number;
@@ -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, useResponsive, withAlpha } 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 StatsCardProps {
11
13
  value: number;
@@ -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 StreakDisplayProps {
11
13
  current: number;
@@ -3,7 +3,7 @@
3
3
  * Zustand store with persist middleware
4
4
  */
5
5
 
6
- import { createStore, storageService } from "@umituz/react-native-design-system";
6
+ import { createStore, storageService } from "@umituz/react-native-design-system/storage";
7
7
  import type {
8
8
  GamificationState,
9
9
  GamificationActions,
@@ -4,7 +4,7 @@
4
4
  * Extracted from components to follow SOLID principles
5
5
  */
6
6
 
7
- import type { DesignTokens } from "@umituz/react-native-design-system";
7
+ import type { DesignTokens } from "@umituz/react-native-design-system/theme";
8
8
 
9
9
  export interface StyleCacheOptions {
10
10
  maxSize?: number;