@umituz/react-native-settings 5.3.34 → 5.3.36

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 +2 -2
  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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@umituz/react-native-settings",
3
- "version": "5.3.34",
3
+ "version": "5.3.36",
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": "./dist/index.d.ts",
@@ -154,7 +154,7 @@
154
154
  "@tanstack/query-async-storage-persister": "^5.66.7",
155
155
  "@tanstack/react-query": "^5.0.0",
156
156
  "@tanstack/react-query-persist-client": "^5.66.7",
157
- "@types/react": "~19.0.0",
157
+ "@types/react": "^19.1.0",
158
158
  "@typescript-eslint/eslint-plugin": "^7.18.0",
159
159
  "@typescript-eslint/parser": "^7.18.0",
160
160
  "@umituz/react-native-auth": "^4.3.39",
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2025 Ümit UZ
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
package/README.md DELETED
@@ -1,355 +0,0 @@
1
- # @umituz/react-native-settings
2
-
3
- Comprehensive settings management for React Native apps with modular domain-based architecture.
4
-
5
- ## Purpose
6
-
7
- Complete settings solution with pre-built screens, components, and state management for React Native applications.
8
-
9
- ## File Path
10
-
11
- Main package entry: `src/index.ts`
12
-
13
- ## Installation
14
-
15
- ```bash
16
- npm install @umituz/react-native-settings
17
- ```
18
-
19
- ## Peer Dependencies
20
-
21
- Required packages (check package.json for versions):
22
- - zustand
23
- - @umituz/react-native-storage
24
- - @umituz/react-native-design-system
25
- - @umituz/react-native-localization
26
- - @react-navigation/native
27
- - @react-navigation/stack
28
- - react-native-safe-area-context
29
-
30
- ## Strategy
31
-
32
- ### Package Architecture
33
-
34
- The package follows Domain-Driven Design (DDD) with four layers:
35
-
36
- 1. **Domain Layer**: Business logic and entities
37
- 2. **Application Layer**: Interfaces and orchestration
38
- 3. **Infrastructure Layer**: Data persistence
39
- 4. **Presentation Layer**: UI components and screens
40
-
41
- ### Integration Approach
42
-
43
- 1. Import components from `@umituz/react-native-settings`
44
- 2. Use pre-built screens for standard settings
45
- 3. Customize via configuration objects
46
- 4. Extend with custom sections when needed
47
- 5. Follow design system for consistency
48
-
49
- ### Domain Structure
50
-
51
- Each feature domain is self-contained:
52
- - `about/`: App information and version
53
- - `appearance/`: Theme and color management
54
- - `legal/`: Legal documents and policies
55
- - `disclaimer/`: Legal notices and warnings
56
- - `feedback/`: User feedback collection
57
- - `faqs/`: FAQ management
58
- - `rating/`: Rating system
59
- - `video-tutorials/`: Video tutorials
60
- - `cloud-sync/`: Cloud synchronization
61
- - `dev/`: Development utilities
62
-
63
- ## Restrictions (Forbidden)
64
-
65
- ### ❌ DO NOT
66
-
67
- - Create custom settings screens from scratch
68
- - Duplicate existing component functionality
69
- - Mix settings logic with business logic
70
- - Hardcode feature availability
71
- - Bypass feature detection system
72
- - Access storage repositories directly from UI
73
- - Create custom settings item components
74
- - Ignore design system tokens
75
- - Mix UI and data layers inappropriately
76
-
77
- ### ❌ NEVER
78
-
79
- - Modify internal package files
80
- - Override core component behavior
81
- - Skip type checking
82
- - Use deprecated APIs
83
- - Ignore accessibility requirements
84
- - Bypass error boundaries
85
- - Hardcode colors or spacing
86
- - Create circular dependencies between layers
87
-
88
- ### ❌ AVOID
89
-
90
- - Over-complicating configuration
91
- - Creating one-off solutions
92
- - Inconsistent styling
93
- - Skipping proper error handling
94
- - Not testing on both platforms
95
- - Ignoring performance optimization
96
- - Bypassing TypeScript strict mode
97
-
98
- ## Rules
99
-
100
- ### ✅ ALWAYS
101
-
102
- - Use TypeScript strict mode
103
- - Import from package exports
104
- - Follow component documentation strategies
105
- - Reference implementation files for current patterns
106
- - Use design system tokens for styling
107
- - Handle errors gracefully
108
- - Support both iOS and Android
109
- - Include proper accessibility labels
110
- - Test with feature flags
111
- - Follow DDD layer separation
112
-
113
- ### ✅ MUST
114
-
115
- - Use SettingsScreen for main settings UI
116
- - Use SettingsItemCard for all settings items
117
- - Normalize configuration before use
118
- - Handle loading and error states
119
- - Provide proper TypeScript types
120
- - Export types for reuse
121
- - Follow naming conventions
122
- - Document custom components
123
- - Test all new features
124
- - Maintain backward compatibility
125
-
126
- ### ✅ SHOULD
127
-
128
- - Use auto-detection for features
129
- - Group related settings together
130
- - Provide meaningful section titles
131
- - Support both modal and push navigation
132
- - Include user profile for authenticated users
133
- - Add custom sections via config
134
- - Use feature flags appropriately
135
- - Optimize performance with memoization
136
- - Follow AI agent guidelines
137
- - Keep documentation up to date
138
-
139
- ## Component Reference
140
-
141
- ### Main Components
142
-
143
- File: `src/index.ts`
144
-
145
- **Screens:**
146
- - `SettingsScreen`: Main settings screen
147
- - Implementation: `src/presentation/screens/SettingsScreen.tsx`
148
- - Documentation: `SETTINGS_SCREEN_GUIDE.md`
149
-
150
- **Components:**
151
- - `SettingsItemCard`: Reusable settings item
152
- - Implementation: `src/presentation/components/SettingsItemCard/SettingsItemCard.tsx`
153
- - Strategy: `src/presentation/components/SettingsItemCard/STRATEGY.md`
154
-
155
- - `SettingsSection`: Section container
156
- - Implementation: `src/presentation/components/SettingsSection/SettingsSection.tsx`
157
-
158
- - `SettingsContent`: Content composer
159
- - Implementation: `src/presentation/screens/components/SettingsContent/SettingsContent.tsx`
160
-
161
- **Hooks:**
162
- - `useSettings`: Main settings hook
163
- - Implementation: `src/presentation/hooks/useSettings.ts`
164
-
165
- - `useFeatureDetection`: Feature detection
166
- - Implementation: `src/presentation/screens/hooks/useFeatureDetection.ts`
167
-
168
- ### Domain Components
169
-
170
- Each domain has its own components:
171
-
172
- **Appearance:**
173
- - Screen: `src/domains/appearance/presentation/screens/AppearanceScreen.tsx`
174
- - Components: `src/domains/appearance/presentation/components/`
175
- - Hooks: `src/domains/appearance/hooks/`
176
-
177
- **About:**
178
- - Screen: `src/domains/about/presentation/screens/AboutScreen.tsx`
179
- - Components: `src/domains/about/presentation/components/`
180
- - Hooks: `src/domains/about/presentation/hooks/`
181
-
182
- **Other Domains:**
183
- - Legal: `src/domains/legal/`
184
- - Disclaimer: `src/domains/disclaimer/`
185
- - Feedback: `src/domains/feedback/`
186
- - FAQs: `src/domains/faqs/`
187
- - Rating: `src/domains/rating/`
188
- - Video Tutorials: `src/domains/video-tutorials/`
189
- - Cloud Sync: `src/domains/cloud-sync/`
190
- - Dev: `src/domains/dev/`
191
-
192
- ## Configuration
193
-
194
- ### Settings Configuration
195
-
196
- Type definition: `src/presentation/screens/types/SettingsConfig.ts`
197
-
198
- Configuration structure:
199
- - `appearance`: Theme settings
200
- - `language`: Language selection
201
- - `notifications`: Notification preferences
202
- - `about`: App information
203
- - `legal`: Legal documents
204
- - `disclaimer`: Legal notices
205
- - `userProfile`: User profile display
206
- - `feedback`: Feedback system
207
- - `rating`: Rating feature
208
- - `faqs`: FAQ access
209
- - `subscription`: Subscription/upgrade
210
- - `wallet`: Wallet/payment
211
- - `customSections`: App-specific sections
212
-
213
- ### Feature Flags
214
-
215
- Use feature flags to control visibility:
216
- - `true`: Always show feature
217
- - `false`: Never show feature
218
- - `'auto'`: Auto-detect based on navigation
219
-
220
- ## AI Agent Guidelines
221
-
222
- ### When Implementing Settings
223
-
224
- 1. **Read Strategy Documentation First**
225
- - Check `STRATEGY.md` files in component directories
226
- - Review `AI_AGENT_GUIDELINES.md`
227
- - Understand restrictions and rules
228
-
229
- 2. **Reference Implementation Files**
230
- - Check file paths in documentation
231
- - Look at similar existing implementations
232
- - Follow established patterns
233
-
234
- 3. **No Code Examples**
235
- - Documentation contains strategy, not syntax
236
- - Reference implementation files directly
237
- - File paths stay valid when code changes
238
-
239
- 4. **Follow Component Structure**
240
- - Use existing components from package
241
- - Don't recreate what already exists
242
- - Extend via configuration, not modification
243
-
244
- 5. **Check Restrictions Before Coding**
245
- - Review what's forbidden
246
- - Verify rules to follow
247
- - Ask if unclear
248
-
249
- ### Common Patterns
250
-
251
- **Adding Settings Screen:**
252
- Reference: `SETTINGS_SCREEN_GUIDE.md`
253
- - Use SettingsScreen component
254
- - Configure via SettingsConfig
255
- - Don't build from scratch
256
-
257
- **Adding Settings Item:**
258
- Reference: `src/presentation/components/SettingsItemCard/STRATEGY.md`
259
- - Use SettingsItemCard component
260
- - Follow props interface
261
- - Don't create custom items
262
-
263
- **Adding Domain Feature:**
264
- Reference: Similar domain README
265
- - Follow domain structure
266
- - Implement required layers
267
- - Document with strategy format
268
-
269
- ## Documentation Structure
270
-
271
- ### Key Documentation Files
272
-
273
- - `README.md`: This file - package overview
274
- - `DOCUMENTATION_TEMPLATE.md`: Template for new docs
275
- - `AI_AGENT_GUIDELINES.md`: AI coding guidelines
276
- - `SETTINGS_SCREEN_GUIDE.md`: Screen strategy
277
- - `ARCHITECTURE.md`: Architecture overview
278
- - `TESTING.md`: Testing guide
279
-
280
- ### Domain Documentation
281
-
282
- Each domain has README.md with:
283
- - Purpose and file paths
284
- - Strategy for usage
285
- - Restrictions (what not to do)
286
- - Rules (what must be done)
287
- - Component references
288
- - AI agent guidelines
289
-
290
- ### Component Documentation
291
-
292
- Each component directory may contain:
293
- - `README.md`: Component reference
294
- - `STRATEGY.md`: Detailed strategy guide
295
- - Implementation file with TypeScript types
296
-
297
- ## Quick Reference
298
-
299
- ### Import Patterns
300
-
301
- ```typescript
302
- // From package
303
- import { ComponentName } from '@umituz/react-native-settings';
304
-
305
- // Types
306
- import type { SettingsConfig, UserProfile } from '@umituz/react-native-settings';
307
- ```
308
-
309
- ### File Locations
310
-
311
- ```
312
- src/
313
- ├── domains/ # Feature domains
314
- │ ├── about/
315
- │ ├── appearance/
316
- │ ├── legal/
317
- │ └── ...
318
- ├── presentation/ # UI layer
319
- │ ├── components/ # Shared components
320
- │ ├── screens/ # Screens
321
- │ ├── hooks/ # Hooks
322
- │ └── navigation/ # Navigation
323
- ├── application/ # Interfaces
324
- ├── infrastructure/ # Data layer
325
- └── index.ts # Package exports
326
- ```
327
-
328
- ## Related Documentation
329
-
330
- ### Core Documentation
331
- - **Architecture**: `ARCHITECTURE.md`
332
- - **Testing**: `TESTING.md`
333
- - **AI Guidelines**: `AI_AGENT_GUIDELINES.md`
334
- - **Settings Screen**: `SETTINGS_SCREEN_GUIDE.md`
335
- - **Documentation Template**: `DOCUMENTATION_TEMPLATE.md`
336
- - **Migration**: `DOCUMENTATION_MIGRATION.md`
337
-
338
- ### Community
339
- - **Contributing**: `CONTRIBUTING.md`
340
- - **Code of Conduct**: `CODE_OF_CONDUCT.md`
341
- - **Security**: `SECURITY.md`
342
- - **Changelog**: `CHANGELOG.md`
343
-
344
- ### Component Documentation
345
- - **Domain READMEs**: Check individual domain directories
346
- - **Component Strategies**: Check component STRATEGY.md files
347
- - **Component READMEs**: Check component directories
348
-
349
- ## License
350
-
351
- MIT
352
-
353
- ## Version History
354
-
355
- See package.json for version information.
package/dist/account.d.ts DELETED
@@ -1,27 +0,0 @@
1
- /**
2
- * @umituz/react-native-settings/account
3
- *
4
- * Subpath export for apps that use @umituz/react-native-auth.
5
- * Import auth-dependent hooks and components from here.
6
- *
7
- * Usage:
8
- * import {
9
- * useSettingsScreenConfigWithAuth,
10
- * AccountScreen,
11
- * ProfileSection,
12
- * } from '@umituz/react-native-settings/account';
13
- *
14
- * // Pass AccountScreen and ProfileSection as props to SettingsStackNavigator:
15
- * <SettingsStackNavigator
16
- * AccountScreenComponent={AccountScreen}
17
- * ProfileSectionComponent={ProfileSection}
18
- * ...
19
- * />
20
- */
21
- export { AccountScreen, ProfileSection } from "@umituz/react-native-auth";
22
- export { useAuth, useUserProfile, useAuthHandlers } from "@umituz/react-native-auth";
23
- export type { AccountScreenConfig } from "@umituz/react-native-auth";
24
- export { useSettingsScreenConfig } from './presentation/hooks/useSettingsScreenConfig';
25
- export { useSettingsScreenConfig as useSettingsScreenConfigWithAuth } from './presentation/hooks/useSettingsScreenConfig';
26
- export type { UseSettingsScreenConfigParams, SettingsScreenConfigResult, SettingsFeatures, } from './presentation/hooks/useSettingsScreenConfig';
27
- export type { AccountConfig } from './presentation/navigation/types';
@@ -1,45 +0,0 @@
1
- /**
2
- * Settings Repository Interface and Types
3
- *
4
- * Defines the contract for settings storage operations
5
- * and the core types used throughout the settings domain.
6
- */
7
- /**
8
- * User settings data structure
9
- */
10
- export interface UserSettings {
11
- userId: string;
12
- theme: 'light' | 'dark' | 'auto';
13
- language: string;
14
- notificationsEnabled: boolean;
15
- emailNotifications: boolean;
16
- pushNotifications: boolean;
17
- soundEnabled: boolean;
18
- vibrationEnabled: boolean;
19
- privacyMode: boolean;
20
- disclaimerAccepted: boolean;
21
- updatedAt: Date;
22
- }
23
- /**
24
- * Settings operation result
25
- */
26
- export interface SettingsResult<T> {
27
- success: boolean;
28
- data?: T;
29
- error?: SettingsError;
30
- }
31
- /**
32
- * Settings error types
33
- */
34
- export interface SettingsError {
35
- code: string;
36
- message: string;
37
- }
38
- /**
39
- * Settings repository interface
40
- */
41
- export interface ISettingsRepository {
42
- getSettings(userId: string): Promise<SettingsResult<UserSettings>>;
43
- saveSettings(settings: UserSettings): Promise<SettingsResult<void>>;
44
- deleteSettings(userId: string): Promise<SettingsResult<void>>;
45
- }
@@ -1,76 +0,0 @@
1
- /**
2
- * Domain Entity - Application Information
3
- * Pure business logic, no external dependencies
4
- * Part of About Domain
5
- */
6
- export interface AppInfo {
7
- /** Application name */
8
- name: string;
9
- /** Application version (semver format) */
10
- version: string;
11
- /** Application description */
12
- description?: string;
13
- /** Developer/Company name */
14
- developer?: string;
15
- /** Contact email */
16
- contactEmail?: string;
17
- /** Website URL */
18
- websiteUrl?: string;
19
- /** Website display text */
20
- websiteDisplay?: string;
21
- /** More apps URL */
22
- moreAppsUrl?: string;
23
- }
24
- /**
25
- * Configuration interface for About component
26
- * Fully configurable by parent application
27
- */
28
- export interface AboutConfig {
29
- /** Application information */
30
- appInfo?: Partial<AppInfo>;
31
- /** Custom theme colors */
32
- theme?: {
33
- primary?: string;
34
- secondary?: string;
35
- background?: string;
36
- text?: string;
37
- border?: string;
38
- };
39
- /** Custom styling options */
40
- style?: {
41
- containerStyle?: Record<string, unknown>;
42
- itemStyle?: Record<string, unknown>;
43
- textStyle?: Record<string, unknown>;
44
- iconStyle?: Record<string, unknown>;
45
- };
46
- /** Custom actions */
47
- actions?: {
48
- onWebsitePress?: () => void;
49
- onEmailPress?: () => void;
50
- onMoreAppsPress?: () => void;
51
- };
52
- /** Localized texts for section headers and labels */
53
- texts?: {
54
- title?: string;
55
- contact?: string;
56
- more?: string;
57
- developer?: string;
58
- email?: string;
59
- website?: string;
60
- moreApps?: string;
61
- loading?: string;
62
- errorPrefix?: string;
63
- noInfo?: string;
64
- versionPrefix?: string;
65
- };
66
- /** Navigation route name */
67
- route?: string;
68
- /** Default navigation route name */
69
- defaultRoute?: string;
70
- /** Section title */
71
- title?: string;
72
- /** Section description */
73
- description?: string;
74
- /** Custom onPress handler (overrides navigation) */
75
- onPress?: () => void;
76
- }
@@ -1,19 +0,0 @@
1
- /**
2
- * Repository interface for About data
3
- * Defines contract for data access layer
4
- */
5
- import { AppInfo } from '../entities/AppInfo';
6
- export interface IAboutRepository {
7
- /**
8
- * Get application information
9
- */
10
- getAppInfo(): Promise<AppInfo>;
11
- /**
12
- * Save application information
13
- */
14
- saveAppInfo(appInfo: AppInfo): Promise<void>;
15
- /**
16
- * Update application information
17
- */
18
- updateAppInfo(updates: Partial<AppInfo>): Promise<AppInfo>;
19
- }
@@ -1,10 +0,0 @@
1
- /**
2
- * About Domain
3
- * User information, app details, version info
4
- */
5
- export * from './presentation/screens/AboutScreen';
6
- export * from './presentation/components/AboutContent';
7
- export * from './presentation/components/AboutSection';
8
- export * from './presentation/components/AboutSettingItem';
9
- export * from './presentation/components/AboutHeader';
10
- export * from './domain/entities/AppInfo';
@@ -1,18 +0,0 @@
1
- /**
2
- * Repository implementation for About data
3
- * Handles data persistence and retrieval
4
- * Optimized for performance and memory safety
5
- */
6
- import { AppInfo } from '../../domain/entities/AppInfo';
7
- import { IAboutRepository } from '../../domain/repositories/IAboutRepository';
8
- export declare class AboutRepository implements IAboutRepository {
9
- private appInfo;
10
- private isDestroyed;
11
- getAppInfo(): Promise<AppInfo>;
12
- saveAppInfo(appInfo: AppInfo): Promise<void>;
13
- updateAppInfo(updates: Partial<AppInfo>): Promise<AppInfo>;
14
- /**
15
- * Cleanup method to prevent memory leaks
16
- */
17
- destroy(): void;
18
- }
@@ -1,14 +0,0 @@
1
- /**
2
- * About Content Component
3
- * Displays the list of about items organized in sections
4
- */
5
- import React from 'react';
6
- import { AppInfo } from '../../domain/entities/AppInfo';
7
- import { AboutConfig } from '../../domain/entities/AppInfo';
8
- export interface AboutContentProps {
9
- /** App information to display */
10
- appInfo: AppInfo;
11
- /** Configuration for actions */
12
- config: AboutConfig;
13
- }
14
- export declare const AboutContent: React.FC<AboutContentProps>;
@@ -1,21 +0,0 @@
1
- /**
2
- * About Header Component
3
- * Displays app name, version, and description
4
- */
5
- import React from 'react';
6
- import { ViewStyle, TextStyle } from 'react-native';
7
- import { AppInfo } from '../../domain/entities/AppInfo';
8
- export interface AboutHeaderProps {
9
- /** App information to display */
10
- appInfo: AppInfo;
11
- /** Custom container style */
12
- containerStyle?: ViewStyle;
13
- /** Custom title style */
14
- titleStyle?: TextStyle;
15
- /** Custom version style */
16
- versionStyle?: TextStyle;
17
- descriptionStyle?: TextStyle;
18
- versionPrefix?: string;
19
- testID?: string;
20
- }
21
- export declare const AboutHeader: React.FC<AboutHeaderProps>;
@@ -1,14 +0,0 @@
1
- import React from 'react';
2
- import { ViewStyle } from 'react-native';
3
- import { AboutConfig } from '../../domain/entities/AppInfo';
4
- export interface AboutSectionProps {
5
- config?: AboutConfig;
6
- onPress?: () => void;
7
- containerStyle?: ViewStyle;
8
- title?: string;
9
- description?: string;
10
- sectionTitle?: string;
11
- noBackground?: boolean;
12
- hideMargin?: boolean;
13
- }
14
- export declare const AboutSection: React.FC<AboutSectionProps>;
@@ -1,39 +0,0 @@
1
- /**
2
- * About Setting Item Component
3
- * Reusable setting item for about screen
4
- * Fully configurable and generic
5
- * Optimized for performance and memory safety
6
- */
7
- import React from 'react';
8
- import { ViewStyle, TextStyle } from 'react-native';
9
- export interface AboutSettingItemProps {
10
- /** Icon component (any React component) */
11
- icon?: React.ReactNode;
12
- /** Main title text */
13
- title: string;
14
- /** Optional description text */
15
- description?: string;
16
- /** Optional value to display on the right */
17
- value?: string;
18
- /** Callback when pressed */
19
- onPress?: () => void;
20
- /** Show chevron arrow on right */
21
- showChevron?: boolean;
22
- /** Custom container style */
23
- containerStyle?: ViewStyle;
24
- /** Custom title style */
25
- titleStyle?: TextStyle;
26
- /** Custom description style */
27
- descriptionStyle?: TextStyle;
28
- /** Custom value style */
29
- valueStyle?: TextStyle;
30
- /** Custom icon container style */
31
- iconContainerStyle?: ViewStyle;
32
- /** Make item look disabled */
33
- disabled?: boolean;
34
- /** Test ID for E2E testing */
35
- testID?: string;
36
- /** Custom chevron color */
37
- chevronColor?: string;
38
- }
39
- export declare const AboutSettingItem: React.FC<AboutSettingItemProps>;
@@ -1,2 +0,0 @@
1
- import type { UseAboutInfoOptions, UseAboutInfoReturn } from './useAboutInfo.types';
2
- export declare const useAboutInfo: (options?: UseAboutInfoOptions) => UseAboutInfoReturn;