@umituz/react-native-settings 5.3.34 → 5.3.35

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 (248) hide show
  1. package/package.json +1 -1
  2. package/LICENSE +0 -21
  3. package/README.md +0 -355
  4. package/dist/account.d.ts +0 -27
  5. package/dist/application/ports/ISettingsRepository.d.ts +0 -45
  6. package/dist/domains/about/domain/entities/AppInfo.d.ts +0 -76
  7. package/dist/domains/about/domain/repositories/IAboutRepository.d.ts +0 -19
  8. package/dist/domains/about/index.d.ts +0 -10
  9. package/dist/domains/about/infrastructure/repositories/AboutRepository.d.ts +0 -18
  10. package/dist/domains/about/presentation/components/AboutContent.d.ts +0 -14
  11. package/dist/domains/about/presentation/components/AboutHeader.d.ts +0 -21
  12. package/dist/domains/about/presentation/components/AboutSection.d.ts +0 -14
  13. package/dist/domains/about/presentation/components/AboutSettingItem.d.ts +0 -39
  14. package/dist/domains/about/presentation/hooks/useAboutInfo.d.ts +0 -2
  15. package/dist/domains/about/presentation/hooks/useAboutInfo.types.d.ts +0 -29
  16. package/dist/domains/about/presentation/screens/AboutScreen.d.ts +0 -21
  17. package/dist/domains/about/presentation/screens/AboutScreenContent.d.ts +0 -15
  18. package/dist/domains/about/utils/AppInfoFactory.d.ts +0 -9
  19. package/dist/domains/appearance/data/colorPalettes.d.ts +0 -25
  20. package/dist/domains/appearance/hooks/useAppearance.d.ts +0 -11
  21. package/dist/domains/appearance/hooks/useAppearanceActions.d.ts +0 -9
  22. package/dist/domains/appearance/index.d.ts +0 -9
  23. package/dist/domains/appearance/presentation/components/AppearanceHeader.d.ts +0 -18
  24. package/dist/domains/appearance/presentation/components/AppearancePreview.d.ts +0 -21
  25. package/dist/domains/appearance/presentation/components/AppearanceSection.d.ts +0 -16
  26. package/dist/domains/appearance/presentation/components/ColorPicker.d.ts +0 -15
  27. package/dist/domains/appearance/presentation/components/CustomColorsSection.d.ts +0 -25
  28. package/dist/domains/appearance/presentation/components/ThemeModeSection.d.ts +0 -24
  29. package/dist/domains/appearance/presentation/components/ThemeOption.d.ts +0 -20
  30. package/dist/domains/appearance/presentation/components/index.d.ts +0 -6
  31. package/dist/domains/appearance/presentation/screens/AppearanceScreen.d.ts +0 -16
  32. package/dist/domains/appearance/types/index.d.ts +0 -48
  33. package/dist/domains/cloud-sync/index.d.ts +0 -6
  34. package/dist/domains/cloud-sync/presentation/components/CloudSyncSetting.d.ts +0 -14
  35. package/dist/domains/dev/index.d.ts +0 -14
  36. package/dist/domains/dev/presentation/components/DevSettingsSection.d.ts +0 -34
  37. package/dist/domains/dev/presentation/components/EnvViewerSetting.d.ts +0 -20
  38. package/dist/domains/dev/presentation/components/StorageClearSetting.d.ts +0 -13
  39. package/dist/domains/dev/presentation/screens/EnvViewerScreen.d.ts +0 -12
  40. package/dist/domains/dev/types.d.ts +0 -22
  41. package/dist/domains/disclaimer/index.d.ts +0 -17
  42. package/dist/domains/disclaimer/presentation/components/DisclaimerCard.d.ts +0 -14
  43. package/dist/domains/disclaimer/presentation/components/DisclaimerModal.d.ts +0 -12
  44. package/dist/domains/disclaimer/presentation/components/DisclaimerSetting.d.ts +0 -34
  45. package/dist/domains/disclaimer/presentation/screens/DisclaimerScreen.d.ts +0 -27
  46. package/dist/domains/faqs/domain/entities/FAQEntity.d.ts +0 -21
  47. package/dist/domains/faqs/domain/services/FAQSearchService.d.ts +0 -12
  48. package/dist/domains/faqs/index.d.ts +0 -8
  49. package/dist/domains/faqs/presentation/components/FAQCategory.d.ts +0 -21
  50. package/dist/domains/faqs/presentation/components/FAQEmptyState.d.ts +0 -20
  51. package/dist/domains/faqs/presentation/components/FAQItem.d.ts +0 -24
  52. package/dist/domains/faqs/presentation/components/FAQSearchBar.d.ts +0 -18
  53. package/dist/domains/faqs/presentation/components/index.d.ts +0 -11
  54. package/dist/domains/faqs/presentation/hooks/index.d.ts +0 -5
  55. package/dist/domains/faqs/presentation/hooks/useFAQExpansion.d.ts +0 -12
  56. package/dist/domains/faqs/presentation/hooks/useFAQSearch.d.ts +0 -12
  57. package/dist/domains/faqs/presentation/screens/FAQScreen.d.ts +0 -33
  58. package/dist/domains/feedback/domain/entities/FeedbackEntity.d.ts +0 -25
  59. package/dist/domains/feedback/domain/repositories/IFeedbackRepository.d.ts +0 -20
  60. package/dist/domains/feedback/index.d.ts +0 -10
  61. package/dist/domains/feedback/presentation/components/FeedbackForm.d.ts +0 -7
  62. package/dist/domains/feedback/presentation/components/FeedbackForm.styles.d.ts +0 -48
  63. package/dist/domains/feedback/presentation/components/FeedbackFormProps.d.ts +0 -26
  64. package/dist/domains/feedback/presentation/components/FeedbackModal.d.ts +0 -23
  65. package/dist/domains/feedback/presentation/components/SupportSection.d.ts +0 -62
  66. package/dist/domains/feedback/presentation/hooks/useFeedbackForm.d.ts +0 -19
  67. package/dist/domains/gamification/components/AchievementCard.d.ts +0 -23
  68. package/dist/domains/gamification/components/AchievementItem.d.ts +0 -7
  69. package/dist/domains/gamification/components/AchievementToast.d.ts +0 -21
  70. package/dist/domains/gamification/components/GamificationScreen/AchievementsList.d.ts +0 -17
  71. package/dist/domains/gamification/components/GamificationScreen/GamificationScreen.d.ts +0 -11
  72. package/dist/domains/gamification/components/GamificationScreen/GamificationScreenWithConfig.d.ts +0 -11
  73. package/dist/domains/gamification/components/GamificationScreen/StatsGrid.d.ts +0 -16
  74. package/dist/domains/gamification/components/GamificationScreen/index.d.ts +0 -17
  75. package/dist/domains/gamification/components/GamificationScreen/styles.d.ts +0 -40
  76. package/dist/domains/gamification/components/GamificationScreen/types.d.ts +0 -42
  77. package/dist/domains/gamification/components/LevelProgress.d.ts +0 -27
  78. package/dist/domains/gamification/components/PointsBadge.d.ts +0 -16
  79. package/dist/domains/gamification/components/StatsCard.d.ts +0 -20
  80. package/dist/domains/gamification/components/StreakDisplay.d.ts +0 -21
  81. package/dist/domains/gamification/components/index.d.ts +0 -14
  82. package/dist/domains/gamification/components/styles/achievementItemStyles.d.ts +0 -71
  83. package/dist/domains/gamification/components/types/AchievementItemProps.d.ts +0 -22
  84. package/dist/domains/gamification/hooks/useGamification.d.ts +0 -22
  85. package/dist/domains/gamification/index.d.ts +0 -13
  86. package/dist/domains/gamification/store/gamificationStore.d.ts +0 -6
  87. package/dist/domains/gamification/types/index.d.ts +0 -99
  88. package/dist/domains/gamification/utils/calculations.d.ts +0 -10
  89. package/dist/domains/legal/domain/entities/LegalConfig.d.ts +0 -28
  90. package/dist/domains/legal/domain/services/ContentValidationService.d.ts +0 -19
  91. package/dist/domains/legal/domain/services/StyleCacheService.d.ts +0 -38
  92. package/dist/domains/legal/domain/services/UrlHandlerService.d.ts +0 -32
  93. package/dist/domains/legal/index.d.ts +0 -8
  94. package/dist/domains/legal/presentation/components/LegalDocumentsList.d.ts +0 -21
  95. package/dist/domains/legal/presentation/components/LegalItem.d.ts +0 -35
  96. package/dist/domains/legal/presentation/components/LegalScreenHeader.d.ts +0 -12
  97. package/dist/domains/legal/presentation/components/LegalSection.d.ts +0 -14
  98. package/dist/domains/legal/presentation/screens/LegalContentScreen.d.ts +0 -19
  99. package/dist/domains/legal/presentation/screens/LegalScreen.d.ts +0 -24
  100. package/dist/domains/legal/presentation/screens/PrivacyPolicyScreen.d.ts +0 -15
  101. package/dist/domains/legal/presentation/screens/TermsOfServiceScreen.d.ts +0 -15
  102. package/dist/domains/localization/domain/repositories/ILocalizationRepository.d.ts +0 -16
  103. package/dist/domains/localization/index.d.ts +0 -16
  104. package/dist/domains/localization/infrastructure/components/LanguageSwitcher.d.ts +0 -19
  105. package/dist/domains/localization/infrastructure/components/LanguageSwitcher.styles.d.ts +0 -37
  106. package/dist/domains/localization/infrastructure/components/useLanguageNavigation.d.ts +0 -4
  107. package/dist/domains/localization/infrastructure/components/useLanguageSwitcher.d.ts +0 -13
  108. package/dist/domains/localization/infrastructure/config/DeviceLocale.d.ts +0 -10
  109. package/dist/domains/localization/infrastructure/config/I18nInitializer.d.ts +0 -14
  110. package/dist/domains/localization/infrastructure/config/LanguageQuery.d.ts +0 -10
  111. package/dist/domains/localization/infrastructure/config/LocaleMapping.d.ts +0 -5
  112. package/dist/domains/localization/infrastructure/config/NamespaceResolver.d.ts +0 -11
  113. package/dist/domains/localization/infrastructure/config/ResourceBuilder.d.ts +0 -10
  114. package/dist/domains/localization/infrastructure/config/TranslationLoader.d.ts +0 -16
  115. package/dist/domains/localization/infrastructure/config/constants/defaultLanguages.d.ts +0 -6
  116. package/dist/domains/localization/infrastructure/config/i18n.d.ts +0 -7
  117. package/dist/domains/localization/infrastructure/config/languages.d.ts +0 -7
  118. package/dist/domains/localization/infrastructure/hooks/useLanguageSelection.d.ts +0 -11
  119. package/dist/domains/localization/infrastructure/hooks/useLocalization.d.ts +0 -12
  120. package/dist/domains/localization/infrastructure/hooks/useTranslation.d.ts +0 -23
  121. package/dist/domains/localization/infrastructure/repository/LanguageRepository.d.ts +0 -18
  122. package/dist/domains/localization/infrastructure/storage/LanguageInitializer.d.ts +0 -20
  123. package/dist/domains/localization/infrastructure/storage/LanguageSwitcher.d.ts +0 -16
  124. package/dist/domains/localization/infrastructure/storage/LocalizationStore.d.ts +0 -6
  125. package/dist/domains/localization/infrastructure/storage/localizationStoreUtils.d.ts +0 -44
  126. package/dist/domains/localization/infrastructure/storage/types/Language.d.ts +0 -12
  127. package/dist/domains/localization/infrastructure/storage/types/LocalizationState.d.ts +0 -22
  128. package/dist/domains/localization/presentation/components/LanguageItem.d.ts +0 -23
  129. package/dist/domains/localization/presentation/components/LanguageItem.styles.d.ts +0 -30
  130. package/dist/domains/localization/presentation/components/LanguageSection.d.ts +0 -15
  131. package/dist/domains/localization/presentation/providers/LocalizationManager.d.ts +0 -12
  132. package/dist/domains/localization/presentation/screens/LanguageSelectionScreen.d.ts +0 -7
  133. package/dist/domains/localization/presentation/screens/LanguageSelectionScreen.styles.d.ts +0 -7
  134. package/dist/domains/localization/presentation/screens/LanguageSelectionScreen.types.d.ts +0 -26
  135. package/dist/domains/notifications/index.d.ts +0 -46
  136. package/dist/domains/notifications/infrastructure/config/notificationsConfig.d.ts +0 -19
  137. package/dist/domains/notifications/infrastructure/hooks/useNotificationSettings.d.ts +0 -8
  138. package/dist/domains/notifications/infrastructure/services/NotificationBadgeManager.d.ts +0 -4
  139. package/dist/domains/notifications/infrastructure/services/NotificationManager.d.ts +0 -23
  140. package/dist/domains/notifications/infrastructure/services/NotificationPermissions.d.ts +0 -5
  141. package/dist/domains/notifications/infrastructure/services/NotificationScheduler.d.ts +0 -7
  142. package/dist/domains/notifications/infrastructure/services/NotificationService.d.ts +0 -31
  143. package/dist/domains/notifications/infrastructure/services/types.d.ts +0 -147
  144. package/dist/domains/notifications/infrastructure/storage/UnifiedNotificationStore.d.ts +0 -42
  145. package/dist/domains/notifications/infrastructure/utils/idGenerator.d.ts +0 -6
  146. package/dist/domains/notifications/infrastructure/utils/triggerBuilder.d.ts +0 -6
  147. package/dist/domains/notifications/presentation/components/NotificationsSection.d.ts +0 -16
  148. package/dist/domains/notifications/presentation/components/RemindersNavRow.d.ts +0 -12
  149. package/dist/domains/notifications/presentation/components/RemindersNavRow.styles.d.ts +0 -34
  150. package/dist/domains/notifications/presentation/components/SettingRow.d.ts +0 -14
  151. package/dist/domains/notifications/presentation/hooks/useNotificationSettingsUI.d.ts +0 -13
  152. package/dist/domains/notifications/presentation/hooks/useTimePicker.d.ts +0 -21
  153. package/dist/domains/notifications/presentation/screens/NotificationSettingsScreen.d.ts +0 -12
  154. package/dist/domains/notifications/presentation/screens/NotificationSettingsScreen.styles.d.ts +0 -26
  155. package/dist/domains/notifications/presentation/screens/NotificationsScreen.d.ts +0 -18
  156. package/dist/domains/notifications/quietHours/infrastructure/hooks/useQuietHoursActions.d.ts +0 -13
  157. package/dist/domains/notifications/quietHours/presentation/components/QuietHoursCard.d.ts +0 -14
  158. package/dist/domains/notifications/reminders/infrastructure/config/reminderPresets.d.ts +0 -24
  159. package/dist/domains/notifications/reminders/infrastructure/hooks/useReminderActions.d.ts +0 -11
  160. package/dist/domains/notifications/reminders/presentation/components/FormButton.d.ts +0 -12
  161. package/dist/domains/notifications/reminders/presentation/components/FrequencySelector.d.ts +0 -14
  162. package/dist/domains/notifications/reminders/presentation/components/ReminderForm.constants.d.ts +0 -28
  163. package/dist/domains/notifications/reminders/presentation/components/ReminderForm.d.ts +0 -7
  164. package/dist/domains/notifications/reminders/presentation/components/ReminderForm.styles.d.ts +0 -31
  165. package/dist/domains/notifications/reminders/presentation/components/ReminderItem.d.ts +0 -20
  166. package/dist/domains/notifications/reminders/presentation/components/TimePresetSelector.d.ts +0 -20
  167. package/dist/domains/notifications/reminders/presentation/components/WeekdaySelector.d.ts +0 -11
  168. package/dist/domains/notifications/reminders/presentation/screens/ReminderListScreen.d.ts +0 -13
  169. package/dist/domains/rating/application/services/RatingService.d.ts +0 -33
  170. package/dist/domains/rating/domain/entities/Rating.d.ts +0 -15
  171. package/dist/domains/rating/domain/entities/RatingConfig.d.ts +0 -120
  172. package/dist/domains/rating/index.d.ts +0 -12
  173. package/dist/domains/rating/infrastructure/storage/RatingStorage.d.ts +0 -50
  174. package/dist/domains/rating/presentation/components/RatingPromptModal.d.ts +0 -16
  175. package/dist/domains/rating/presentation/components/StarRating.d.ts +0 -13
  176. package/dist/domains/rating/presentation/hooks/useAppRating.d.ts +0 -9
  177. package/dist/domains/video-tutorials/index.d.ts +0 -18
  178. package/dist/domains/video-tutorials/presentation/components/VideoTutorialCard.d.ts +0 -13
  179. package/dist/domains/video-tutorials/presentation/components/VideoTutorialSection.d.ts +0 -25
  180. package/dist/domains/video-tutorials/presentation/screens/VideoTutorialsScreen.d.ts +0 -25
  181. package/dist/domains/video-tutorials/types/index.d.ts +0 -26
  182. package/dist/index.d.ts +0 -41
  183. package/dist/infrastructure/repositories/SettingsRepository.d.ts +0 -12
  184. package/dist/infrastructure/services/SettingsService.d.ts +0 -14
  185. package/dist/infrastructure/utils/configFactory.d.ts +0 -39
  186. package/dist/infrastructure/utils/constants/textLimits.d.ts +0 -16
  187. package/dist/infrastructure/utils/sanitizers.d.ts +0 -13
  188. package/dist/infrastructure/utils/validation/core.d.ts +0 -8
  189. package/dist/infrastructure/utils/validation/formValidators.d.ts +0 -26
  190. package/dist/infrastructure/utils/validation/index.d.ts +0 -5
  191. package/dist/infrastructure/utils/validators.d.ts +0 -21
  192. package/dist/presentation/components/SettingsFooter.d.ts +0 -7
  193. package/dist/presentation/components/SettingsItemCard.d.ts +0 -22
  194. package/dist/presentation/components/SettingsNavigationItem.d.ts +0 -67
  195. package/dist/presentation/components/SettingsSection.d.ts +0 -6
  196. package/dist/presentation/components/settings/SettingsItemCardContent.d.ts +0 -12
  197. package/dist/presentation/components/settings/SettingsItemCardRightElement.d.ts +0 -11
  198. package/dist/presentation/components/settings/SettingsItemCardSection.d.ts +0 -5
  199. package/dist/presentation/hooks/mutations/useSettingsMutations.d.ts +0 -20
  200. package/dist/presentation/hooks/queries/useSettingsQuery.d.ts +0 -7
  201. package/dist/presentation/hooks/useSettings.d.ts +0 -26
  202. package/dist/presentation/hooks/useSettingsScreenConfig.d.ts +0 -41
  203. package/dist/presentation/navigation/SettingsStackNavigator.d.ts +0 -9
  204. package/dist/presentation/navigation/hooks/index.d.ts +0 -5
  205. package/dist/presentation/navigation/hooks/useNavigationHandlers.d.ts +0 -14
  206. package/dist/presentation/navigation/hooks/useSettingsNavigation.d.ts +0 -22
  207. package/dist/presentation/navigation/hooks/useSettingsScreens.d.ts +0 -12
  208. package/dist/presentation/navigation/types.d.ts +0 -134
  209. package/dist/presentation/navigation/utils/index.d.ts +0 -5
  210. package/dist/presentation/navigation/utils/navigationHelpers.d.ts +0 -13
  211. package/dist/presentation/navigation/utils/navigationTranslations.d.ts +0 -35
  212. package/dist/presentation/screens/AppearanceScreen.d.ts +0 -6
  213. package/dist/presentation/screens/SettingsScreen.d.ts +0 -49
  214. package/dist/presentation/screens/components/SettingsContent.d.ts +0 -3
  215. package/dist/presentation/screens/components/SettingsHeader.d.ts +0 -8
  216. package/dist/presentation/screens/components/sections/CustomSettingsList.d.ts +0 -7
  217. package/dist/presentation/screens/components/sections/FeatureSettingsSection.d.ts +0 -13
  218. package/dist/presentation/screens/components/sections/IdentitySettingsSection.d.ts +0 -12
  219. package/dist/presentation/screens/components/sections/ProfileSectionLoader.d.ts +0 -17
  220. package/dist/presentation/screens/components/sections/SupportSettingsSection.d.ts +0 -13
  221. package/dist/presentation/screens/components/types/SettingsContentProps.d.ts +0 -47
  222. package/dist/presentation/screens/components/utils/featureChecker.d.ts +0 -10
  223. package/dist/presentation/screens/hooks/useFeatureDetection.d.ts +0 -28
  224. package/dist/presentation/screens/hooks/useSettingsScreen.d.ts +0 -36
  225. package/dist/presentation/screens/types/BaseTypes.d.ts +0 -11
  226. package/dist/presentation/screens/types/ContentConfig.d.ts +0 -76
  227. package/dist/presentation/screens/types/CustomSection.d.ts +0 -38
  228. package/dist/presentation/screens/types/SettingsConfig.d.ts +0 -122
  229. package/dist/presentation/screens/types/SettingsTranslations.d.ts +0 -159
  230. package/dist/presentation/screens/types/UserFeatureConfig.d.ts +0 -178
  231. package/dist/presentation/screens/types/index.d.ts +0 -11
  232. package/dist/presentation/screens/utils/normalizeConfig.d.ts +0 -68
  233. package/dist/presentation/utils/accountConfigUtils.d.ts +0 -34
  234. package/dist/presentation/utils/config-creators/base-configs.d.ts +0 -26
  235. package/dist/presentation/utils/config-creators/feature-configs.d.ts +0 -17
  236. package/dist/presentation/utils/config-creators/index.d.ts +0 -7
  237. package/dist/presentation/utils/config-creators/support-configs.d.ts +0 -19
  238. package/dist/presentation/utils/config-creators/types.d.ts +0 -20
  239. package/dist/presentation/utils/faqTranslator.d.ts +0 -3
  240. package/dist/presentation/utils/index.d.ts +0 -8
  241. package/dist/presentation/utils/screenFactory.d.ts +0 -26
  242. package/dist/presentation/utils/settingsConfigFactory.d.ts +0 -33
  243. package/dist/presentation/utils/userProfileUtils.d.ts +0 -20
  244. package/dist/utils/appUtils.d.ts +0 -4
  245. package/dist/utils/devUtils.d.ts +0 -31
  246. package/dist/utils/errorUtils.d.ts +0 -22
  247. package/dist/utils/hooks/useAsyncStateUpdate.d.ts +0 -35
  248. package/dist/utils/hooks/useMountSafety.d.ts +0 -1
@@ -1,33 +0,0 @@
1
- /**
2
- * Rating Service
3
- * Core business logic for app rating system
4
- */
5
- import type { RatingConfig, RatingState } from "../../domain/entities/RatingConfig";
6
- /**
7
- * Track an event occurrence
8
- */
9
- export declare function trackEvent(eventType: string): Promise<void>;
10
- /**
11
- * Check if prompt should be shown based on criteria
12
- */
13
- export declare function shouldShowPrompt(config: RatingConfig): Promise<boolean>;
14
- /**
15
- * Mark that prompt was shown to user
16
- */
17
- export declare function markPromptShown(eventType: string): Promise<void>;
18
- /**
19
- * Mark that user has rated the app
20
- */
21
- export declare function markRated(): Promise<void>;
22
- /**
23
- * Mark that user permanently dismissed the prompt
24
- */
25
- export declare function markDismissed(): Promise<void>;
26
- /**
27
- * Get current rating state for event type
28
- */
29
- export declare function getState(eventType: string): Promise<RatingState>;
30
- /**
31
- * Reset rating data (for testing or specific event type)
32
- */
33
- export declare function reset(eventType?: string): Promise<void>;
@@ -1,15 +0,0 @@
1
- export type RatingValue = 0 | 1 | 2 | 3 | 4 | 5;
2
- export interface Rating {
3
- id: string;
4
- userId: string;
5
- entityId: string;
6
- entityType: string;
7
- value: RatingValue;
8
- createdAt: string;
9
- updatedAt: string;
10
- }
11
- export interface RatingStats {
12
- average: number;
13
- count: number;
14
- distribution: Record<RatingValue, number>;
15
- }
@@ -1,120 +0,0 @@
1
- /**
2
- * Rating Configuration
3
- * Types and interfaces for app rating system
4
- */
5
- import type React from "react";
6
- /**
7
- * Rating prompt configuration
8
- */
9
- export interface RatingConfig {
10
- /**
11
- * Type of event to track (e.g., "ai_generation", "onboarding_completed")
12
- */
13
- eventType: string;
14
- /**
15
- * Minimum number of events before showing prompt
16
- * @default 3
17
- */
18
- minEventCount?: number;
19
- /**
20
- * Cooldown period in days before showing prompt again
21
- * @default 90
22
- */
23
- cooldownDays?: number;
24
- /**
25
- * App name to display in prompt
26
- */
27
- appName?: string;
28
- /**
29
- * Custom translations for the prompt
30
- */
31
- translations?: RatingTranslations;
32
- /**
33
- * Callback when user gives positive feedback
34
- */
35
- onPositiveFeedback?: () => void | Promise<void>;
36
- /**
37
- * Callback when user gives negative feedback
38
- */
39
- onNegativeFeedback?: () => void | Promise<void>;
40
- /**
41
- * Callback after prompt is shown
42
- */
43
- onPromptShown?: () => void | Promise<void>;
44
- /**
45
- * Callback when prompt is dismissed
46
- */
47
- onPromptDismissed?: () => void | Promise<void>;
48
- }
49
- /**
50
- * Custom translations for rating prompt
51
- */
52
- export interface RatingTranslations {
53
- title: string;
54
- message: string;
55
- positiveButton: string;
56
- negativeButton: string;
57
- laterButton?: string;
58
- }
59
- /**
60
- * Rating state stored in AsyncStorage
61
- */
62
- export interface RatingState {
63
- /**
64
- * Event count for specific event type
65
- */
66
- eventCount: number;
67
- /**
68
- * Last time prompt was shown (ISO date string)
69
- */
70
- lastPromptDate: string | null;
71
- /**
72
- * Whether user has rated the app
73
- */
74
- hasRated: boolean;
75
- /**
76
- * Whether user permanently dismissed the prompt
77
- */
78
- dismissed: boolean;
79
- }
80
- /**
81
- * Result of useAppRating hook
82
- */
83
- export interface UseAppRatingResult {
84
- /**
85
- * Track an event (e.g., generation completed)
86
- */
87
- trackEvent: () => Promise<void>;
88
- /**
89
- * Check if should show prompt and show it automatically
90
- */
91
- checkAndShow: () => Promise<boolean>;
92
- /**
93
- * Manually check if criteria is met (without showing)
94
- */
95
- shouldShow: () => Promise<boolean>;
96
- /**
97
- * Manually show the rating prompt
98
- */
99
- showPrompt: () => Promise<void>;
100
- /**
101
- * Reset all rating data (for testing)
102
- */
103
- reset: () => Promise<void>;
104
- /**
105
- * Get current rating state
106
- */
107
- getState: () => Promise<RatingState>;
108
- /**
109
- * Whether prompt is currently visible
110
- */
111
- isVisible: boolean;
112
- /**
113
- * Modal component to render in your screen
114
- */
115
- modal: React.ReactNode;
116
- }
117
- /**
118
- * Default rating configuration
119
- */
120
- export declare const DEFAULT_RATING_CONFIG: Required<Omit<RatingConfig, "onPositiveFeedback" | "onNegativeFeedback" | "onPromptShown" | "onPromptDismissed">>;
@@ -1,12 +0,0 @@
1
- /**
2
- * Rating Domain
3
- * Star ratings, user reviews, statistics, and app store rating prompts
4
- */
5
- export type { RatingValue, Rating, RatingStats, } from './domain/entities/Rating';
6
- export type { RatingConfig, RatingState, RatingTranslations, UseAppRatingResult, } from './domain/entities/RatingConfig';
7
- export { DEFAULT_RATING_CONFIG } from './domain/entities/RatingConfig';
8
- export { StarRating } from './presentation/components/StarRating';
9
- export type { StarRatingProps } from './presentation/components/StarRating';
10
- export { RatingPromptModal } from './presentation/components/RatingPromptModal';
11
- export type { RatingPromptModalProps } from './presentation/components/RatingPromptModal';
12
- export { useAppRating } from './presentation/hooks/useAppRating';
@@ -1,50 +0,0 @@
1
- /**
2
- * Rating Storage Repository
3
- * Storage layer for rating system using design system storageRepository
4
- */
5
- import type { RatingState } from "../../domain/entities/RatingConfig";
6
- /**
7
- * Get event count for specific event type
8
- */
9
- export declare function getEventCount(eventType: string): Promise<number>;
10
- /**
11
- * Set event count for specific event type
12
- */
13
- export declare function setEventCount(eventType: string, count: number): Promise<void>;
14
- /**
15
- * Increment event count for specific event type.
16
- * Chains operations per-key to prevent concurrent read-modify-write races.
17
- */
18
- export declare function incrementEventCount(eventType: string): Promise<void>;
19
- /**
20
- * Get last prompt date for specific event type
21
- */
22
- export declare function getLastPromptDate(eventType: string): Promise<string | null>;
23
- /**
24
- * Set last prompt date for specific event type
25
- */
26
- export declare function setLastPromptDate(eventType: string, date: string): Promise<void>;
27
- /**
28
- * Check if user has rated the app
29
- */
30
- export declare function getHasRated(): Promise<boolean>;
31
- /**
32
- * Set whether user has rated the app
33
- */
34
- export declare function setHasRated(value: boolean): Promise<void>;
35
- /**
36
- * Check if user permanently dismissed the prompt
37
- */
38
- export declare function getDismissed(): Promise<boolean>;
39
- /**
40
- * Set whether user permanently dismissed the prompt
41
- */
42
- export declare function setDismissed(value: boolean): Promise<void>;
43
- /**
44
- * Get complete rating state for specific event type
45
- */
46
- export declare function getRatingState(eventType: string): Promise<RatingState>;
47
- /**
48
- * Reset rating data for specific event type or all data
49
- */
50
- export declare function reset(eventType?: string): Promise<void>;
@@ -1,16 +0,0 @@
1
- /**
2
- * Rating Prompt Modal
3
- * 2-step rating prompt: Custom modal → Native review prompt
4
- */
5
- import React from "react";
6
- import type { RatingTranslations } from "../../domain/entities/RatingConfig";
7
- export interface RatingPromptModalProps {
8
- visible: boolean;
9
- onPositive: () => void;
10
- onNegative: () => void;
11
- onLater: () => void;
12
- onDismiss: () => void;
13
- translations?: RatingTranslations;
14
- appName?: string;
15
- }
16
- export declare const RatingPromptModal: React.FC<RatingPromptModalProps>;
@@ -1,13 +0,0 @@
1
- import React from "react";
2
- import { ViewStyle } from "react-native";
3
- export interface StarRatingProps {
4
- rating: number;
5
- maxRating?: number;
6
- onRatingChange?: (rating: number) => void;
7
- size?: number;
8
- activeColor?: string;
9
- inactiveColor?: string;
10
- disabled?: boolean;
11
- style?: ViewStyle;
12
- }
13
- export declare const StarRating: React.FC<StarRatingProps>;
@@ -1,9 +0,0 @@
1
- /**
2
- * useAppRating Hook
3
- * React hook for app rating system
4
- */
5
- import type { RatingConfig, UseAppRatingResult } from "../../domain/entities/RatingConfig";
6
- /**
7
- * App rating hook with 2-step prompt flow
8
- */
9
- export declare function useAppRating(config: RatingConfig): UseAppRatingResult;
@@ -1,18 +0,0 @@
1
- /**
2
- * Video Tutorials Domain
3
- *
4
- * Props-based component - pass tutorials data from app config
5
- *
6
- * Usage:
7
- * import { VideoTutorialsScreen, VideoTutorialCard, VideoTutorial } from '@umituz/react-native-settings';
8
- *
9
- * <VideoTutorialsScreen
10
- * tutorials={myTutorials}
11
- * featuredTutorials={myFeaturedTutorials}
12
- * onTutorialPress={(tutorial) => Linking.openURL(tutorial.videoUrl)}
13
- * />
14
- */
15
- export * from "./types";
16
- export * from "./presentation/screens/VideoTutorialsScreen";
17
- export * from "./presentation/components/VideoTutorialCard";
18
- export * from "./presentation/components/VideoTutorialSection";
@@ -1,13 +0,0 @@
1
- /**
2
- * Video Tutorial Card Component
3
- * Single Responsibility: Display individual video tutorial card
4
- */
5
- import React from "react";
6
- import type { VideoTutorial } from "../../types";
7
- interface VideoTutorialCardProps {
8
- readonly tutorial: VideoTutorial;
9
- readonly onPress: () => void;
10
- readonly horizontal?: boolean;
11
- }
12
- export declare const VideoTutorialCard: React.FC<VideoTutorialCardProps>;
13
- export {};
@@ -1,25 +0,0 @@
1
- /**
2
- * Video Tutorial Section Component
3
- * Renders Video Tutorial entry point for settings
4
- */
5
- import React from 'react';
6
- export interface VideoTutorialConfig {
7
- enabled?: boolean;
8
- title?: string;
9
- description?: string;
10
- onPress?: () => void;
11
- }
12
- export interface VideoTutorialSectionProps {
13
- config: VideoTutorialConfig;
14
- renderSection: (props: {
15
- title: string;
16
- children: React.ReactNode;
17
- }) => React.ReactElement | null;
18
- renderItem: (props: {
19
- title: string;
20
- icon: string;
21
- onPress: () => void;
22
- isLast?: boolean;
23
- }) => React.ReactElement | null;
24
- }
25
- export declare const VideoTutorialSection: React.FC<VideoTutorialSectionProps>;
@@ -1,25 +0,0 @@
1
- /**
2
- * Video Tutorials Screen
3
- * Single Responsibility: Display video tutorials list
4
- *
5
- * Usage:
6
- * <VideoTutorialsScreen
7
- * tutorials={[...]}
8
- * featuredTutorials={[...]}
9
- * title="Video Tutorials"
10
- * onTutorialPress={(id) => openVideo(id)}
11
- * />
12
- */
13
- import React from "react";
14
- import type { VideoTutorial } from "../../types";
15
- export interface VideoTutorialsScreenProps {
16
- tutorials: VideoTutorial[];
17
- featuredTutorials?: VideoTutorial[];
18
- title?: string;
19
- featuredTitle?: string;
20
- allTutorialsTitle?: string;
21
- emptyMessage?: string;
22
- isLoading?: boolean;
23
- onTutorialPress?: (tutorial: VideoTutorial) => void;
24
- }
25
- export declare const VideoTutorialsScreen: React.FC<VideoTutorialsScreenProps>;
@@ -1,26 +0,0 @@
1
- /**
2
- * Video Tutorial Types
3
- * Single Responsibility: Define type definitions for video tutorials
4
- */
5
- export interface VideoTutorial {
6
- readonly id: string;
7
- readonly title: string;
8
- readonly description: string;
9
- readonly videoUrl: string;
10
- readonly thumbnailUrl: string;
11
- readonly duration: number;
12
- readonly category: VideoTutorialCategory;
13
- readonly difficulty: "beginner" | "intermediate" | "advanced";
14
- readonly featured: boolean;
15
- readonly tags: readonly string[];
16
- readonly createdAt: Date;
17
- readonly updatedAt: Date;
18
- readonly viewCount: number;
19
- }
20
- export type VideoTutorialCategory = "getting-started" | "ai-generation" | "editing" | "effects" | "exporting" | "tips-tricks" | "troubleshooting";
21
- export interface VideoTutorialFilters {
22
- readonly category?: VideoTutorialCategory;
23
- readonly difficulty?: VideoTutorial["difficulty"];
24
- readonly featured?: boolean;
25
- readonly tags?: readonly string[];
26
- }
package/dist/index.d.ts DELETED
@@ -1,41 +0,0 @@
1
- /**
2
- * @umituz/react-native-settings - Public API
3
- *
4
- * Settings management for React Native apps
5
- * User preferences, theme, language, notifications
6
- *
7
- * Usage:
8
- * import { useSettings, SettingsScreen, AppearanceScreen, SettingsItemCard, DisclaimerSetting } from '@umituz/react-native-settings';
9
- */
10
- export type { ISettingsRepository, UserSettings, SettingsError, SettingsResult, } from './application/ports/ISettingsRepository';
11
- export { getSettingsService } from './infrastructure/services/SettingsService';
12
- export { SettingsRepository } from './infrastructure/repositories/SettingsRepository';
13
- export { useSettings } from './presentation/hooks/useSettings';
14
- export { useSettingsQuery } from './presentation/hooks/queries/useSettingsQuery';
15
- export { useUpdateSettingsMutation, useResetSettingsMutation } from './presentation/hooks/mutations/useSettingsMutations';
16
- export { SettingsScreen } from './presentation/screens/SettingsScreen';
17
- export type { SettingsScreenProps } from './presentation/screens/SettingsScreen';
18
- export { AppearanceScreen } from './presentation/screens/AppearanceScreen';
19
- export { SettingsStackNavigator } from './presentation/navigation/SettingsStackNavigator';
20
- export type { SettingsStackNavigatorProps, SettingsStackParamList, AppInfo, LegalUrls, UserProfileDisplay, AdditionalScreen, FAQData, AccountConfig, } from './presentation/navigation/types';
21
- export type { SettingsConfig, CustomSettingsSection, } from './presentation/screens/types';
22
- export { SettingsItemCard } from './presentation/components/SettingsItemCard';
23
- export type { SettingsItemCardProps } from './presentation/components/SettingsItemCard';
24
- export { SettingsSection } from './presentation/components/SettingsSection';
25
- export type { SettingsSectionProps } from './presentation/components/SettingsSection';
26
- export { SettingsFooter } from './presentation/components/SettingsFooter';
27
- export type { SettingsFooterProps } from './presentation/components/SettingsFooter';
28
- export * from './domains/about';
29
- export * from './domains/legal';
30
- export * from './domains/disclaimer';
31
- export * from './domains/appearance';
32
- export * from './domains/feedback';
33
- export * from './domains/faqs';
34
- export { StarRating, RatingPromptModal, useAppRating, DEFAULT_RATING_CONFIG, type RatingValue, type Rating, type RatingStats, type RatingConfig as AppStoreRatingConfig, type RatingState as AppStoreRatingState, type RatingTranslations as AppStoreRatingTranslations, type UseAppRatingResult, type StarRatingProps, type RatingPromptModalProps, } from "./domains/rating";
35
- export * from "./domains/video-tutorials";
36
- export * from "./domains/cloud-sync";
37
- export * from "./domains/dev";
38
- export * from "./domains/gamification";
39
- export * from "./domains/localization";
40
- export * from "./domains/notifications";
41
- export { createAppearanceConfig, createLanguageConfig, createNotificationsConfig, createAboutConfig, createLegalConfig, createFeedbackConfig, createRatingConfig, createFAQConfig, createSubscriptionConfig, createGamificationConfig, type TranslationFunction, type FeedbackFormData, } from './presentation/utils';
@@ -1,12 +0,0 @@
1
- /**
2
- * Settings Repository Implementation
3
- *
4
- * Handles data access for user settings using @umituz/react-native-design-system
5
- */
6
- import type { ISettingsRepository, UserSettings, SettingsResult } from '../../application/ports/ISettingsRepository';
7
- export declare class SettingsRepository implements ISettingsRepository {
8
- private readonly defaultSettings;
9
- getSettings(userId: string): Promise<SettingsResult<UserSettings>>;
10
- saveSettings(settings: UserSettings): Promise<SettingsResult<void>>;
11
- deleteSettings(userId: string): Promise<SettingsResult<void>>;
12
- }
@@ -1,14 +0,0 @@
1
- /**
2
- * Settings Service
3
- *
4
- * Orchestrates settings operations using SettingsRepository
5
- */
6
- import type { UserSettings, SettingsResult } from '../../application/ports/ISettingsRepository';
7
- export declare class SettingsService {
8
- private repository;
9
- constructor();
10
- getSettings(userId: string): Promise<SettingsResult<UserSettings>>;
11
- saveSettings(settings: UserSettings): Promise<SettingsResult<void>>;
12
- resetSettings(userId: string): Promise<SettingsResult<void>>;
13
- }
14
- export declare function getSettingsService(): SettingsService;
@@ -1,39 +0,0 @@
1
- /**
2
- * Configuration Factory
3
- * Generic configuration creator to reduce duplication in base-configs
4
- */
5
- /**
6
- * Feature visibility configuration
7
- * - true: Always show (if navigation screen exists)
8
- * - false: Never show
9
- * - 'auto': Automatically detect (check if navigation screen exists and package is available)
10
- */
11
- export type FeatureVisibility = boolean | "auto";
12
- /**
13
- * Base configuration type for all settings items
14
- */
15
- export interface BaseConfigType {
16
- enabled?: FeatureVisibility;
17
- title?: string;
18
- description?: string;
19
- icon?: string;
20
- route?: string;
21
- onPress?: () => void;
22
- }
23
- /**
24
- * Configuration parameters for creating a settings item config
25
- */
26
- export interface ConfigCreatorParams {
27
- icon: string;
28
- routeOrOnPress?: string | (() => void);
29
- defaultRoute?: string;
30
- }
31
- /**
32
- * Generic configuration creator function
33
- * Reduces duplication across all config creators
34
- */
35
- export declare const createBaseConfig: <T extends BaseConfigType = BaseConfigType>(params: ConfigCreatorParams) => T;
36
- /**
37
- * Create a configuration with extended properties
38
- */
39
- export declare const createConfigWithExtensions: <T extends BaseConfigType>(baseParams: ConfigCreatorParams, extensions: Partial<Omit<T, keyof BaseConfigType>>) => T;
@@ -1,16 +0,0 @@
1
- /**
2
- * Text Length Limits
3
- * Standardized text length constraints used across the application
4
- */
5
- export declare const TEXT_LENGTH_LIMITS: {
6
- /** Short titles and labels (100 characters) */
7
- readonly TITLE_SHORT: 100;
8
- /** Standard titles (200 characters) */
9
- readonly TITLE: 200;
10
- /** Descriptions and short text (500 characters) */
11
- readonly DESCRIPTION: 500;
12
- /** Long text and body content (1000 characters) */
13
- readonly BODY: 1000;
14
- /** User ID maximum length (128 characters) */
15
- readonly USER_ID: 128;
16
- };
@@ -1,13 +0,0 @@
1
- /**
2
- * Sanitization Utilities
3
- *
4
- * Provides sanitization functions for user input and props.
5
- */
6
- /**
7
- * Sanitize title prop
8
- */
9
- export declare function sanitizeTitle(title: string): string;
10
- /**
11
- * Sanitize description prop
12
- */
13
- export declare function sanitizeDescription(description: string | undefined): string | undefined;
@@ -1,8 +0,0 @@
1
- /**
2
- * Core Validation Utilities
3
- * Base validation interfaces and types
4
- */
5
- export interface ValidationResult {
6
- isValid: boolean;
7
- error?: string;
8
- }
@@ -1,26 +0,0 @@
1
- /**
2
- * Form Validators
3
- * Domain-specific form validation functions
4
- */
5
- import type { ValidationResult } from "./core";
6
- /**
7
- * Feedback form validation
8
- */
9
- export declare const validateFeedbackForm: (data: {
10
- type: string;
11
- rating: number;
12
- description: string;
13
- }) => ValidationResult;
14
- /**
15
- * Reminder form validation
16
- */
17
- export declare const validateReminderForm: (data: {
18
- title: string;
19
- body?: string;
20
- frequency: string;
21
- hour?: number;
22
- minute?: number;
23
- weekday?: number;
24
- maxTitleLength?: number;
25
- maxBodyLength?: number;
26
- }) => ValidationResult;
@@ -1,5 +0,0 @@
1
- /**
2
- * Validation Utilities
3
- */
4
- export type { ValidationResult } from "./core";
5
- export { validateFeedbackForm, validateReminderForm } from "./formValidators";
@@ -1,21 +0,0 @@
1
- /**
2
- * Validation Utilities
3
- *
4
- * Provides validation functions for component props.
5
- */
6
- export interface ValidationWarning {
7
- message: string;
8
- value: unknown;
9
- }
10
- /**
11
- * Validate settings item title
12
- */
13
- export declare function validateTitle(title: unknown): ValidationWarning | null;
14
- /**
15
- * Validate settings item description
16
- */
17
- export declare function validateDescription(description: unknown): ValidationWarning | null;
18
- /**
19
- * Validate switch props
20
- */
21
- export declare function validateSwitchProps(showSwitch: boolean, onSwitchChange?: ((value: boolean) => void) | null): ValidationWarning | null;
@@ -1,7 +0,0 @@
1
- import React from "react";
2
- export interface SettingsFooterProps {
3
- versionText?: string;
4
- appVersion?: string;
5
- versionLabel?: string;
6
- }
7
- export declare const SettingsFooter: React.FC<SettingsFooterProps>;
@@ -1,22 +0,0 @@
1
- import React from "react";
2
- import { type StyleProp, type ViewStyle } from "react-native";
3
- import type { IconName } from "@umituz/react-native-design-system/atoms";
4
- export interface SettingsItemCardProps {
5
- title: string;
6
- description?: string;
7
- icon: IconName;
8
- onPress?: () => void;
9
- containerStyle?: StyleProp<ViewStyle>;
10
- sectionTitle?: string;
11
- rightIcon?: IconName;
12
- iconBgColor?: string;
13
- iconColor?: string;
14
- showChevron?: boolean;
15
- showSwitch?: boolean;
16
- switchValue?: boolean;
17
- onSwitchChange?: (value: boolean) => void;
18
- disabled?: boolean;
19
- noBackground?: boolean;
20
- hideMargin?: boolean;
21
- }
22
- export declare const SettingsItemCard: React.FC<SettingsItemCardProps>;