@umituz/react-native-settings 5.3.37 → 5.3.38

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 (251) hide show
  1. package/dist/account.d.ts +27 -0
  2. package/dist/application/ports/ISettingsRepository.d.ts +45 -0
  3. package/dist/domains/about/domain/entities/AppInfo.d.ts +76 -0
  4. package/dist/domains/about/domain/repositories/IAboutRepository.d.ts +19 -0
  5. package/dist/domains/about/index.d.ts +10 -0
  6. package/dist/domains/about/infrastructure/repositories/AboutRepository.d.ts +18 -0
  7. package/dist/domains/about/presentation/components/AboutContent.d.ts +14 -0
  8. package/dist/domains/about/presentation/components/AboutHeader.d.ts +21 -0
  9. package/dist/domains/about/presentation/components/AboutSection.d.ts +14 -0
  10. package/dist/domains/about/presentation/components/AboutSettingItem.d.ts +39 -0
  11. package/dist/domains/about/presentation/hooks/useAboutInfo.d.ts +2 -0
  12. package/dist/domains/about/presentation/hooks/useAboutInfo.types.d.ts +29 -0
  13. package/dist/domains/about/presentation/screens/AboutScreen.d.ts +21 -0
  14. package/dist/domains/about/presentation/screens/AboutScreenContent.d.ts +15 -0
  15. package/dist/domains/about/utils/AppInfoFactory.d.ts +9 -0
  16. package/dist/domains/appearance/data/colorPalettes.d.ts +25 -0
  17. package/dist/domains/appearance/hooks/useAppearance.d.ts +11 -0
  18. package/dist/domains/appearance/hooks/useAppearanceActions.d.ts +9 -0
  19. package/dist/domains/appearance/index.d.ts +9 -0
  20. package/dist/domains/appearance/presentation/components/AppearanceHeader.d.ts +18 -0
  21. package/dist/domains/appearance/presentation/components/AppearancePreview.d.ts +21 -0
  22. package/dist/domains/appearance/presentation/components/AppearanceSection.d.ts +16 -0
  23. package/dist/domains/appearance/presentation/components/ColorPicker.d.ts +15 -0
  24. package/dist/domains/appearance/presentation/components/CustomColorsSection.d.ts +25 -0
  25. package/dist/domains/appearance/presentation/components/ThemeModeSection.d.ts +24 -0
  26. package/dist/domains/appearance/presentation/components/ThemeOption.d.ts +20 -0
  27. package/dist/domains/appearance/presentation/components/index.d.ts +6 -0
  28. package/dist/domains/appearance/presentation/screens/AppearanceScreen.d.ts +16 -0
  29. package/dist/domains/appearance/types/index.d.ts +48 -0
  30. package/dist/domains/cloud-sync/index.d.ts +6 -0
  31. package/dist/domains/cloud-sync/presentation/components/CloudSyncSetting.d.ts +14 -0
  32. package/dist/domains/dev/index.d.ts +14 -0
  33. package/dist/domains/dev/presentation/components/DevSettingsSection.d.ts +34 -0
  34. package/dist/domains/dev/presentation/components/EnvViewerSetting.d.ts +20 -0
  35. package/dist/domains/dev/presentation/components/StorageClearSetting.d.ts +13 -0
  36. package/dist/domains/dev/presentation/screens/EnvViewerScreen.d.ts +12 -0
  37. package/dist/domains/dev/types.d.ts +22 -0
  38. package/dist/domains/disclaimer/index.d.ts +17 -0
  39. package/dist/domains/disclaimer/presentation/components/DisclaimerCard.d.ts +14 -0
  40. package/dist/domains/disclaimer/presentation/components/DisclaimerModal.d.ts +12 -0
  41. package/dist/domains/disclaimer/presentation/components/DisclaimerSetting.d.ts +34 -0
  42. package/dist/domains/disclaimer/presentation/screens/DisclaimerScreen.d.ts +27 -0
  43. package/dist/domains/faqs/domain/entities/FAQEntity.d.ts +21 -0
  44. package/dist/domains/faqs/domain/services/FAQSearchService.d.ts +12 -0
  45. package/dist/domains/faqs/index.d.ts +8 -0
  46. package/dist/domains/faqs/presentation/components/FAQCategory.d.ts +21 -0
  47. package/dist/domains/faqs/presentation/components/FAQEmptyState.d.ts +20 -0
  48. package/dist/domains/faqs/presentation/components/FAQItem.d.ts +24 -0
  49. package/dist/domains/faqs/presentation/components/FAQSearchBar.d.ts +18 -0
  50. package/dist/domains/faqs/presentation/components/index.d.ts +11 -0
  51. package/dist/domains/faqs/presentation/hooks/index.d.ts +5 -0
  52. package/dist/domains/faqs/presentation/hooks/useFAQExpansion.d.ts +12 -0
  53. package/dist/domains/faqs/presentation/hooks/useFAQSearch.d.ts +12 -0
  54. package/dist/domains/faqs/presentation/screens/FAQScreen.d.ts +33 -0
  55. package/dist/domains/feedback/domain/entities/FeedbackEntity.d.ts +25 -0
  56. package/dist/domains/feedback/domain/repositories/IFeedbackRepository.d.ts +20 -0
  57. package/dist/domains/feedback/index.d.ts +10 -0
  58. package/dist/domains/feedback/presentation/components/FeedbackForm.d.ts +7 -0
  59. package/dist/domains/feedback/presentation/components/FeedbackForm.styles.d.ts +48 -0
  60. package/dist/domains/feedback/presentation/components/FeedbackFormProps.d.ts +26 -0
  61. package/dist/domains/feedback/presentation/components/FeedbackModal.d.ts +23 -0
  62. package/dist/domains/feedback/presentation/components/SupportSection.d.ts +62 -0
  63. package/dist/domains/feedback/presentation/hooks/useFeedbackForm.d.ts +19 -0
  64. package/dist/domains/feedback/presentation/screens/FeatureRequestScreen.d.ts +2 -0
  65. package/dist/domains/gamification/components/AchievementCard.d.ts +23 -0
  66. package/dist/domains/gamification/components/AchievementItem.d.ts +7 -0
  67. package/dist/domains/gamification/components/AchievementToast.d.ts +21 -0
  68. package/dist/domains/gamification/components/GamificationScreen/AchievementsList.d.ts +17 -0
  69. package/dist/domains/gamification/components/GamificationScreen/GamificationScreen.d.ts +11 -0
  70. package/dist/domains/gamification/components/GamificationScreen/GamificationScreenWithConfig.d.ts +11 -0
  71. package/dist/domains/gamification/components/GamificationScreen/StatsGrid.d.ts +16 -0
  72. package/dist/domains/gamification/components/GamificationScreen/index.d.ts +17 -0
  73. package/dist/domains/gamification/components/GamificationScreen/styles.d.ts +40 -0
  74. package/dist/domains/gamification/components/GamificationScreen/types.d.ts +42 -0
  75. package/dist/domains/gamification/components/LevelProgress.d.ts +27 -0
  76. package/dist/domains/gamification/components/PointsBadge.d.ts +16 -0
  77. package/dist/domains/gamification/components/StatsCard.d.ts +20 -0
  78. package/dist/domains/gamification/components/StreakDisplay.d.ts +21 -0
  79. package/dist/domains/gamification/components/index.d.ts +14 -0
  80. package/dist/domains/gamification/components/styles/achievementItemStyles.d.ts +71 -0
  81. package/dist/domains/gamification/components/types/AchievementItemProps.d.ts +22 -0
  82. package/dist/domains/gamification/hooks/useGamification.d.ts +22 -0
  83. package/dist/domains/gamification/index.d.ts +13 -0
  84. package/dist/domains/gamification/store/gamificationStore.d.ts +6 -0
  85. package/dist/domains/gamification/types/index.d.ts +99 -0
  86. package/dist/domains/gamification/utils/calculations.d.ts +10 -0
  87. package/dist/domains/legal/domain/entities/LegalConfig.d.ts +28 -0
  88. package/dist/domains/legal/domain/services/ContentValidationService.d.ts +19 -0
  89. package/dist/domains/legal/domain/services/StyleCacheService.d.ts +38 -0
  90. package/dist/domains/legal/domain/services/UrlHandlerService.d.ts +32 -0
  91. package/dist/domains/legal/index.d.ts +8 -0
  92. package/dist/domains/legal/presentation/components/LegalDocumentsList.d.ts +21 -0
  93. package/dist/domains/legal/presentation/components/LegalItem.d.ts +35 -0
  94. package/dist/domains/legal/presentation/components/LegalScreenHeader.d.ts +12 -0
  95. package/dist/domains/legal/presentation/components/LegalSection.d.ts +14 -0
  96. package/dist/domains/legal/presentation/screens/LegalContentScreen.d.ts +19 -0
  97. package/dist/domains/legal/presentation/screens/LegalScreen.d.ts +24 -0
  98. package/dist/domains/legal/presentation/screens/PrivacyPolicyScreen.d.ts +15 -0
  99. package/dist/domains/legal/presentation/screens/TermsOfServiceScreen.d.ts +15 -0
  100. package/dist/domains/localization/domain/repositories/ILocalizationRepository.d.ts +16 -0
  101. package/dist/domains/localization/index.d.ts +16 -0
  102. package/dist/domains/localization/infrastructure/components/LanguageSwitcher.d.ts +19 -0
  103. package/dist/domains/localization/infrastructure/components/LanguageSwitcher.styles.d.ts +37 -0
  104. package/dist/domains/localization/infrastructure/components/useLanguageNavigation.d.ts +4 -0
  105. package/dist/domains/localization/infrastructure/components/useLanguageSwitcher.d.ts +13 -0
  106. package/dist/domains/localization/infrastructure/config/DeviceLocale.d.ts +10 -0
  107. package/dist/domains/localization/infrastructure/config/I18nInitializer.d.ts +14 -0
  108. package/dist/domains/localization/infrastructure/config/LanguageQuery.d.ts +10 -0
  109. package/dist/domains/localization/infrastructure/config/LocaleMapping.d.ts +5 -0
  110. package/dist/domains/localization/infrastructure/config/NamespaceResolver.d.ts +11 -0
  111. package/dist/domains/localization/infrastructure/config/ResourceBuilder.d.ts +10 -0
  112. package/dist/domains/localization/infrastructure/config/TranslationLoader.d.ts +16 -0
  113. package/dist/domains/localization/infrastructure/config/constants/defaultLanguages.d.ts +6 -0
  114. package/dist/domains/localization/infrastructure/config/i18n.d.ts +7 -0
  115. package/dist/domains/localization/infrastructure/config/languages.d.ts +7 -0
  116. package/dist/domains/localization/infrastructure/hooks/useLanguageSelection.d.ts +11 -0
  117. package/dist/domains/localization/infrastructure/hooks/useLocalization.d.ts +12 -0
  118. package/dist/domains/localization/infrastructure/hooks/useTranslation.d.ts +23 -0
  119. package/dist/domains/localization/infrastructure/repository/LanguageRepository.d.ts +18 -0
  120. package/dist/domains/localization/infrastructure/storage/LanguageInitializer.d.ts +20 -0
  121. package/dist/domains/localization/infrastructure/storage/LanguageSwitcher.d.ts +16 -0
  122. package/dist/domains/localization/infrastructure/storage/LocalizationStore.d.ts +6 -0
  123. package/dist/domains/localization/infrastructure/storage/localizationStoreUtils.d.ts +44 -0
  124. package/dist/domains/localization/infrastructure/storage/types/Language.d.ts +12 -0
  125. package/dist/domains/localization/infrastructure/storage/types/LocalizationState.d.ts +22 -0
  126. package/dist/domains/localization/presentation/components/LanguageItem.d.ts +23 -0
  127. package/dist/domains/localization/presentation/components/LanguageItem.styles.d.ts +30 -0
  128. package/dist/domains/localization/presentation/components/LanguageSection.d.ts +15 -0
  129. package/dist/domains/localization/presentation/providers/LocalizationManager.d.ts +12 -0
  130. package/dist/domains/localization/presentation/screens/LanguageSelectionScreen.d.ts +7 -0
  131. package/dist/domains/localization/presentation/screens/LanguageSelectionScreen.styles.d.ts +7 -0
  132. package/dist/domains/localization/presentation/screens/LanguageSelectionScreen.types.d.ts +26 -0
  133. package/dist/domains/notifications/index.d.ts +46 -0
  134. package/dist/domains/notifications/infrastructure/config/notificationsConfig.d.ts +19 -0
  135. package/dist/domains/notifications/infrastructure/hooks/useNotificationSettings.d.ts +8 -0
  136. package/dist/domains/notifications/infrastructure/services/NotificationBadgeManager.d.ts +4 -0
  137. package/dist/domains/notifications/infrastructure/services/NotificationManager.d.ts +23 -0
  138. package/dist/domains/notifications/infrastructure/services/NotificationPermissions.d.ts +5 -0
  139. package/dist/domains/notifications/infrastructure/services/NotificationScheduler.d.ts +7 -0
  140. package/dist/domains/notifications/infrastructure/services/NotificationService.d.ts +31 -0
  141. package/dist/domains/notifications/infrastructure/services/types.d.ts +147 -0
  142. package/dist/domains/notifications/infrastructure/storage/UnifiedNotificationStore.d.ts +42 -0
  143. package/dist/domains/notifications/infrastructure/utils/idGenerator.d.ts +6 -0
  144. package/dist/domains/notifications/infrastructure/utils/triggerBuilder.d.ts +6 -0
  145. package/dist/domains/notifications/presentation/components/NotificationsSection.d.ts +16 -0
  146. package/dist/domains/notifications/presentation/components/RemindersNavRow.d.ts +12 -0
  147. package/dist/domains/notifications/presentation/components/RemindersNavRow.styles.d.ts +34 -0
  148. package/dist/domains/notifications/presentation/components/SettingRow.d.ts +14 -0
  149. package/dist/domains/notifications/presentation/hooks/useNotificationSettingsUI.d.ts +13 -0
  150. package/dist/domains/notifications/presentation/hooks/useTimePicker.d.ts +21 -0
  151. package/dist/domains/notifications/presentation/screens/NotificationSettingsScreen.d.ts +12 -0
  152. package/dist/domains/notifications/presentation/screens/NotificationSettingsScreen.styles.d.ts +26 -0
  153. package/dist/domains/notifications/presentation/screens/NotificationsScreen.d.ts +18 -0
  154. package/dist/domains/notifications/quietHours/infrastructure/hooks/useQuietHoursActions.d.ts +13 -0
  155. package/dist/domains/notifications/quietHours/presentation/components/QuietHoursCard.d.ts +14 -0
  156. package/dist/domains/notifications/reminders/infrastructure/config/reminderPresets.d.ts +24 -0
  157. package/dist/domains/notifications/reminders/infrastructure/hooks/useReminderActions.d.ts +11 -0
  158. package/dist/domains/notifications/reminders/presentation/components/FormButton.d.ts +12 -0
  159. package/dist/domains/notifications/reminders/presentation/components/FrequencySelector.d.ts +14 -0
  160. package/dist/domains/notifications/reminders/presentation/components/ReminderForm.constants.d.ts +28 -0
  161. package/dist/domains/notifications/reminders/presentation/components/ReminderForm.d.ts +7 -0
  162. package/dist/domains/notifications/reminders/presentation/components/ReminderForm.styles.d.ts +31 -0
  163. package/dist/domains/notifications/reminders/presentation/components/ReminderItem.d.ts +20 -0
  164. package/dist/domains/notifications/reminders/presentation/components/TimePresetSelector.d.ts +20 -0
  165. package/dist/domains/notifications/reminders/presentation/components/WeekdaySelector.d.ts +11 -0
  166. package/dist/domains/notifications/reminders/presentation/screens/ReminderListScreen.d.ts +13 -0
  167. package/dist/domains/rating/application/services/RatingService.d.ts +33 -0
  168. package/dist/domains/rating/domain/entities/Rating.d.ts +15 -0
  169. package/dist/domains/rating/domain/entities/RatingConfig.d.ts +120 -0
  170. package/dist/domains/rating/index.d.ts +12 -0
  171. package/dist/domains/rating/infrastructure/storage/RatingStorage.d.ts +50 -0
  172. package/dist/domains/rating/presentation/components/RatingPromptModal.d.ts +16 -0
  173. package/dist/domains/rating/presentation/components/StarRating.d.ts +13 -0
  174. package/dist/domains/rating/presentation/hooks/useAppRating.d.ts +9 -0
  175. package/dist/domains/video-tutorials/index.d.ts +18 -0
  176. package/dist/domains/video-tutorials/presentation/components/VideoTutorialCard.d.ts +13 -0
  177. package/dist/domains/video-tutorials/presentation/components/VideoTutorialSection.d.ts +25 -0
  178. package/dist/domains/video-tutorials/presentation/screens/VideoTutorialsScreen.d.ts +25 -0
  179. package/dist/domains/video-tutorials/types/index.d.ts +26 -0
  180. package/dist/index.d.ts +41 -0
  181. package/dist/infrastructure/repositories/SettingsRepository.d.ts +12 -0
  182. package/dist/infrastructure/services/SettingsService.d.ts +14 -0
  183. package/dist/infrastructure/utils/configFactory.d.ts +39 -0
  184. package/dist/infrastructure/utils/constants/textLimits.d.ts +16 -0
  185. package/dist/infrastructure/utils/sanitizers.d.ts +13 -0
  186. package/dist/infrastructure/utils/validation/core.d.ts +8 -0
  187. package/dist/infrastructure/utils/validation/formValidators.d.ts +26 -0
  188. package/dist/infrastructure/utils/validation/index.d.ts +5 -0
  189. package/dist/infrastructure/utils/validators.d.ts +21 -0
  190. package/dist/presentation/components/SettingsFooter.d.ts +7 -0
  191. package/dist/presentation/components/SettingsItemCard.d.ts +22 -0
  192. package/dist/presentation/components/SettingsNavigationItem.d.ts +67 -0
  193. package/dist/presentation/components/SettingsSection.d.ts +6 -0
  194. package/dist/presentation/components/settings/SettingsItemCardContent.d.ts +12 -0
  195. package/dist/presentation/components/settings/SettingsItemCardRightElement.d.ts +11 -0
  196. package/dist/presentation/components/settings/SettingsItemCardSection.d.ts +5 -0
  197. package/dist/presentation/hooks/mutations/useSettingsMutations.d.ts +20 -0
  198. package/dist/presentation/hooks/queries/useSettingsQuery.d.ts +7 -0
  199. package/dist/presentation/hooks/useSettings.d.ts +26 -0
  200. package/dist/presentation/hooks/useSettingsScreenConfig.d.ts +41 -0
  201. package/dist/presentation/navigation/SettingsStackNavigator.d.ts +9 -0
  202. package/dist/presentation/navigation/hooks/index.d.ts +5 -0
  203. package/dist/presentation/navigation/hooks/useNavigationHandlers.d.ts +14 -0
  204. package/dist/presentation/navigation/hooks/useSettingsNavigation.d.ts +22 -0
  205. package/dist/presentation/navigation/hooks/useSettingsScreens.d.ts +12 -0
  206. package/dist/presentation/navigation/types.d.ts +135 -0
  207. package/dist/presentation/navigation/utils/index.d.ts +5 -0
  208. package/dist/presentation/navigation/utils/navigationHelpers.d.ts +13 -0
  209. package/dist/presentation/navigation/utils/navigationTranslations.d.ts +35 -0
  210. package/dist/presentation/screens/AppearanceScreen.d.ts +6 -0
  211. package/dist/presentation/screens/SettingsScreen.d.ts +49 -0
  212. package/dist/presentation/screens/components/SettingsContent.d.ts +3 -0
  213. package/dist/presentation/screens/components/SettingsHeader.d.ts +8 -0
  214. package/dist/presentation/screens/components/sections/CustomSettingsList.d.ts +7 -0
  215. package/dist/presentation/screens/components/sections/FeatureSettingsSection.d.ts +13 -0
  216. package/dist/presentation/screens/components/sections/IdentitySettingsSection.d.ts +12 -0
  217. package/dist/presentation/screens/components/sections/ProfileSectionLoader.d.ts +17 -0
  218. package/dist/presentation/screens/components/sections/SupportSettingsSection.d.ts +13 -0
  219. package/dist/presentation/screens/components/types/SettingsContentProps.d.ts +47 -0
  220. package/dist/presentation/screens/components/utils/featureChecker.d.ts +10 -0
  221. package/dist/presentation/screens/hooks/useFeatureDetection.d.ts +28 -0
  222. package/dist/presentation/screens/hooks/useSettingsScreen.d.ts +36 -0
  223. package/dist/presentation/screens/types/BaseTypes.d.ts +11 -0
  224. package/dist/presentation/screens/types/ContentConfig.d.ts +76 -0
  225. package/dist/presentation/screens/types/CustomSection.d.ts +38 -0
  226. package/dist/presentation/screens/types/SettingsConfig.d.ts +122 -0
  227. package/dist/presentation/screens/types/SettingsTranslations.d.ts +159 -0
  228. package/dist/presentation/screens/types/UserFeatureConfig.d.ts +178 -0
  229. package/dist/presentation/screens/types/index.d.ts +11 -0
  230. package/dist/presentation/screens/utils/normalizeConfig.d.ts +68 -0
  231. package/dist/presentation/utils/accountConfigUtils.d.ts +34 -0
  232. package/dist/presentation/utils/config-creators/base-configs.d.ts +26 -0
  233. package/dist/presentation/utils/config-creators/feature-configs.d.ts +17 -0
  234. package/dist/presentation/utils/config-creators/index.d.ts +7 -0
  235. package/dist/presentation/utils/config-creators/support-configs.d.ts +19 -0
  236. package/dist/presentation/utils/config-creators/types.d.ts +20 -0
  237. package/dist/presentation/utils/faqTranslator.d.ts +3 -0
  238. package/dist/presentation/utils/index.d.ts +8 -0
  239. package/dist/presentation/utils/screenFactory.d.ts +26 -0
  240. package/dist/presentation/utils/settingsConfigFactory.d.ts +33 -0
  241. package/dist/presentation/utils/userProfileUtils.d.ts +20 -0
  242. package/dist/utils/appUtils.d.ts +4 -0
  243. package/dist/utils/devUtils.d.ts +31 -0
  244. package/dist/utils/errorUtils.d.ts +22 -0
  245. package/dist/utils/hooks/useAsyncStateUpdate.d.ts +35 -0
  246. package/dist/utils/hooks/useMountSafety.d.ts +1 -0
  247. package/package.json +1 -1
  248. package/src/domains/feedback/presentation/screens/FeatureRequestScreen.tsx +449 -0
  249. package/src/presentation/navigation/hooks/useSettingsScreens.ts +29 -9
  250. package/src/presentation/navigation/types.ts +1 -0
  251. package/src/presentation/screens/components/sections/SupportSettingsSection.tsx +1 -1
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Cloud Sync Domain
3
+ * Cloud synchronization settings and status
4
+ */
5
+ export { CloudSyncSetting } from "./presentation/components/CloudSyncSetting";
6
+ export type { CloudSyncSettingProps } from "./presentation/components/CloudSyncSetting";
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Cloud Sync Setting Component
3
+ * Displays cloud sync status and allows triggering sync
4
+ */
5
+ import React from "react";
6
+ export interface CloudSyncSettingProps {
7
+ title?: string;
8
+ description?: string;
9
+ isSyncing?: boolean;
10
+ lastSynced?: Date | null;
11
+ onPress?: () => void;
12
+ disabled?: boolean;
13
+ }
14
+ export declare const CloudSyncSetting: React.FC<CloudSyncSettingProps>;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Dev Domain
3
+ * Development-only settings and utilities
4
+ * Only visible in __DEV__ mode
5
+ */
6
+ export { DevSettingsSection } from "./presentation/components/DevSettingsSection";
7
+ export type { DevSettingsProps } from "./presentation/components/DevSettingsSection";
8
+ export { StorageClearSetting } from "./presentation/components/StorageClearSetting";
9
+ export type { StorageClearSettingProps } from "./presentation/components/StorageClearSetting";
10
+ export { EnvViewerSetting } from "./presentation/components/EnvViewerSetting";
11
+ export type { EnvViewerSettingProps } from "./presentation/components/EnvViewerSetting";
12
+ export { EnvViewerScreen } from "./presentation/screens/EnvViewerScreen";
13
+ export type { EnvViewerScreenProps } from "./presentation/screens/EnvViewerScreen";
14
+ export type { EnvVariable, EnvConfig } from "./types";
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Dev Settings Section Component
3
+ * Only visible in __DEV__ mode
4
+ * Provides development utilities like clearing storage
5
+ *
6
+ * NOTE: This component uses hardcoded English text since it's DEV-only
7
+ * and doesn't need localization support.
8
+ */
9
+ import React from "react";
10
+ declare const DEFAULT_TEXTS: {
11
+ sectionTitle: string;
12
+ clearTitle: string;
13
+ clearDescription: string;
14
+ confirmTitle: string;
15
+ confirmMessage: string;
16
+ cancelButton: string;
17
+ confirmButton: string;
18
+ successTitle: string;
19
+ successMessage: string;
20
+ errorTitle: string;
21
+ errorMessage: string;
22
+ };
23
+ export interface DevSettingsProps {
24
+ /** Enable dev settings section (default: true in __DEV__ mode) */
25
+ enabled?: boolean;
26
+ /** Callback after storage is cleared - use this to reload the app and reset app state (e.g., onboarding) */
27
+ onAfterClear?: () => Promise<void>;
28
+ /** Custom texts (optional - defaults to English) */
29
+ texts?: Partial<typeof DEFAULT_TEXTS>;
30
+ /** Custom dev components to render BEFORE the "Clear All Data" button (e.g., OnboardingResetSetting) */
31
+ customDevComponents?: React.ReactNode[];
32
+ }
33
+ export declare const DevSettingsSection: React.FC<DevSettingsProps>;
34
+ export {};
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Environment Viewer Setting Item
3
+ * List item to navigate to environment variables screen
4
+ * DEV-only feature
5
+ */
6
+ import React from "react";
7
+ import type { EnvConfig } from "../../types";
8
+ export interface EnvViewerSettingProps {
9
+ /** Environment configuration to pass to viewer screen */
10
+ config: EnvConfig;
11
+ /** Custom title (default: "Environment Variables") */
12
+ title?: string;
13
+ /** Custom description (default: "View app configuration") */
14
+ description?: string;
15
+ /** Screen name to navigate to */
16
+ screenName: string;
17
+ /** Custom navigation handler (overrides route) */
18
+ onPress?: () => void;
19
+ }
20
+ export declare const EnvViewerSetting: React.FC<EnvViewerSettingProps>;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Storage Clear Setting Component
3
+ * Single Responsibility: Display storage clear setting (DEV only)
4
+ * Only visible in __DEV__ mode
5
+ */
6
+ import React from "react";
7
+ export interface StorageClearSettingProps {
8
+ title?: string;
9
+ description?: string;
10
+ onPress?: () => void;
11
+ iconColor?: string;
12
+ }
13
+ export declare const StorageClearSetting: React.FC<StorageClearSettingProps>;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Environment Variables Viewer Screen
3
+ * Displays environment configuration for debugging
4
+ * DEV-only feature with hardcoded English text
5
+ */
6
+ import React from "react";
7
+ import type { EnvConfig } from "../../types";
8
+ export interface EnvViewerScreenProps {
9
+ /** Environment configuration */
10
+ config: EnvConfig;
11
+ }
12
+ export declare const EnvViewerScreen: React.FC<EnvViewerScreenProps>;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Dev Domain Types
3
+ * Environment variable types for dev tools
4
+ */
5
+ export interface EnvVariable {
6
+ /** Environment variable key */
7
+ key: string;
8
+ /** Environment variable value (masked if sensitive) */
9
+ value: string;
10
+ /** Whether this is a sensitive value (API keys, secrets) */
11
+ sensitive?: boolean;
12
+ }
13
+ export interface EnvConfig {
14
+ /** List of environment variables to display */
15
+ variables: EnvVariable[];
16
+ /** App version info */
17
+ version?: string;
18
+ /** Build number */
19
+ buildNumber?: string;
20
+ /** Environment name (development, staging, production) */
21
+ environmentName?: string;
22
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @umituz/react-native-disclaimer - Public API
3
+ *
4
+ * Disclaimer component for React Native apps
5
+ * Display legal notices, warnings, and important information
6
+ *
7
+ * Usage:
8
+ * import { DisclaimerSetting, DisclaimerScreen } from '@umituz/react-native-disclaimer';
9
+ */
10
+ export { DisclaimerSetting } from './presentation/components/DisclaimerSetting';
11
+ export type { DisclaimerSettingProps } from './presentation/components/DisclaimerSetting';
12
+ export { DisclaimerCard } from './presentation/components/DisclaimerCard';
13
+ export type { DisclaimerCardProps } from './presentation/components/DisclaimerCard';
14
+ export { DisclaimerModal } from './presentation/components/DisclaimerModal';
15
+ export type { DisclaimerModalProps } from './presentation/components/DisclaimerModal';
16
+ export { DisclaimerScreen } from './presentation/screens/DisclaimerScreen';
17
+ export type { DisclaimerScreenProps } from './presentation/screens/DisclaimerScreen';
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Disclaimer Card Component
3
+ * Extracted from DisclaimerSetting to follow single responsibility and 200-line rules
4
+ */
5
+ import React from 'react';
6
+ export interface DisclaimerCardProps {
7
+ title: string;
8
+ shortMessage: string;
9
+ iconName: string;
10
+ iconColor: string;
11
+ backgroundColor: string;
12
+ onPress: () => void;
13
+ }
14
+ export declare const DisclaimerCard: React.FC<DisclaimerCardProps>;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Disclaimer Modal Component
3
+ * Extracted from DisclaimerSetting to follow single responsibility and 200-line rules
4
+ */
5
+ import React from 'react';
6
+ export interface DisclaimerModalProps {
7
+ visible: boolean;
8
+ title: string;
9
+ content: string;
10
+ onClose: () => void;
11
+ }
12
+ export declare const DisclaimerModal: React.FC<DisclaimerModalProps>;
@@ -0,0 +1,34 @@
1
+ /**
2
+ * DisclaimerSetting Component
3
+ *
4
+ * Displays customizable disclaimer with important legal notice
5
+ * Used in About screens for apps that require disclaimers
6
+ *
7
+ * Features:
8
+ * - Tappable card that opens full disclaimer modal
9
+ * - Warning icon with background color
10
+ * - Internationalized title and message
11
+ * - Full-screen modal with scrollable content
12
+ * - NO shadows (CLAUDE.md compliance)
13
+ * - Universal across iOS, Android, Web (NO Platform.OS checks)
14
+ *
15
+ * Usage:
16
+ * - Import and use in AboutScreen
17
+ * - Requires translations: settings.disclaimer.title, settings.disclaimer.message, settings.disclaimer.shortMessage
18
+ */
19
+ import React from 'react';
20
+ export interface DisclaimerSettingProps {
21
+ /** Custom title */
22
+ title?: string;
23
+ /** Custom content */
24
+ content?: string;
25
+ /** Custom short message */
26
+ shortMessage?: string;
27
+ /** Custom icon name */
28
+ iconName?: string;
29
+ /** Custom icon color */
30
+ iconColor?: string;
31
+ /** Custom background color */
32
+ backgroundColor?: string;
33
+ }
34
+ export declare const DisclaimerSetting: React.FC<DisclaimerSettingProps>;
@@ -0,0 +1,27 @@
1
+ /**
2
+ * DisclaimerScreen Component
3
+ *
4
+ * Full-screen disclaimer display for navigation-based usage
5
+ * Can be registered as a screen in navigation stack
6
+ *
7
+ * Features:
8
+ * - SafeAreaView wrapper for proper display
9
+ * - Scrollable content for long disclaimers
10
+ * - Customizable title and content via props or translations
11
+ * - NO shadows (CLAUDE.md compliance)
12
+ * - Universal across iOS, Android, Web
13
+ */
14
+ import React from 'react';
15
+ export interface DisclaimerScreenProps {
16
+ /** Custom title (overrides translation) */
17
+ title?: string;
18
+ /** Custom title translation key */
19
+ titleKey?: string;
20
+ /** Custom content (overrides translation) */
21
+ content?: string;
22
+ /** Custom content translation key */
23
+ contentKey?: string;
24
+ /** Custom icon name */
25
+ iconName?: string;
26
+ }
27
+ export declare const DisclaimerScreen: React.FC<DisclaimerScreenProps>;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * FAQ Entity Definitions
3
+ */
4
+ export interface FAQItem {
5
+ id: string;
6
+ question: string;
7
+ answer: string;
8
+ categoryId?: string;
9
+ tags?: readonly string[];
10
+ featured?: boolean;
11
+ order?: number;
12
+ metadata?: Record<string, unknown>;
13
+ }
14
+ export interface FAQCategory {
15
+ id: string;
16
+ title: string;
17
+ items: FAQItem[];
18
+ description?: string;
19
+ icon?: string;
20
+ order?: number;
21
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * FAQ Search Service
3
+ * Handles searching FAQ items with advanced features
4
+ */
5
+ import { FAQItem, FAQCategory } from "../entities/FAQEntity";
6
+ export declare class FAQSearchService {
7
+ static searchItems(query: string, items: FAQItem[]): FAQItem[];
8
+ static searchCategories(query: string, categories: FAQCategory[]): FAQCategory[];
9
+ static getFeaturedItems(items: FAQItem[]): FAQItem[];
10
+ static sortByOrder(items: FAQItem[]): FAQItem[];
11
+ static sortCategoriesByOrder(categories: FAQCategory[]): FAQCategory[];
12
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * FAQs Domain
3
+ * Frequently asked questions
4
+ */
5
+ export * from './presentation/screens/FAQScreen';
6
+ export * from './presentation/components';
7
+ export * from './presentation/hooks';
8
+ export * from './domain/entities/FAQEntity';
@@ -0,0 +1,21 @@
1
+ /**
2
+ * FAQ Category Component
3
+ * Renders a category with its FAQ items
4
+ * Uses design system tokens for theming
5
+ */
6
+ import React from 'react';
7
+ import { ViewStyle } from 'react-native';
8
+ import { FAQCategory as FAQCategoryType } from '../../domain/entities/FAQEntity';
9
+ import { FAQItemStyles } from './FAQItem';
10
+ export interface FAQCategoryStyles {
11
+ container?: ViewStyle;
12
+ titleStyle?: object;
13
+ itemStyles?: FAQItemStyles;
14
+ }
15
+ export interface FAQCategoryProps {
16
+ category: FAQCategoryType;
17
+ isExpanded: (itemId: string) => boolean;
18
+ onToggleItem: (itemId: string) => void;
19
+ styles?: FAQCategoryStyles;
20
+ }
21
+ export declare const FAQCategoryComponent: React.FC<FAQCategoryProps>;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * FAQ Empty State Component
3
+ * Shown when no search results found
4
+ * Uses design system tokens for theming
5
+ */
6
+ import React from 'react';
7
+ import { ViewStyle, TextStyle } from 'react-native';
8
+ export interface FAQEmptyStateStyles {
9
+ container?: ViewStyle;
10
+ icon?: TextStyle;
11
+ titleStyle?: object;
12
+ messageStyle?: object;
13
+ }
14
+ export interface FAQEmptyStateProps {
15
+ title: string;
16
+ message: string;
17
+ icon?: string;
18
+ styles?: FAQEmptyStateStyles;
19
+ }
20
+ export declare const FAQEmptyState: React.FC<FAQEmptyStateProps>;
@@ -0,0 +1,24 @@
1
+ /**
2
+ * FAQ Item Component
3
+ * Individual FAQ question/answer item
4
+ * Uses design system tokens for theming
5
+ */
6
+ import React from 'react';
7
+ import { ViewStyle } from 'react-native';
8
+ import { FAQItem as FAQItemType } from '../../domain/entities/FAQEntity';
9
+ export interface FAQItemStyles {
10
+ container?: ViewStyle;
11
+ header?: ViewStyle;
12
+ content?: ViewStyle;
13
+ questionStyle?: object;
14
+ answerContainer?: ViewStyle;
15
+ answerStyle?: object;
16
+ }
17
+ export interface FAQItemProps {
18
+ item: FAQItemType;
19
+ isExpanded: boolean;
20
+ onToggle: () => void;
21
+ isLast?: boolean;
22
+ styles?: FAQItemStyles;
23
+ }
24
+ export declare const FAQItemComponent: React.FC<FAQItemProps>;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * FAQ Search Bar Component
3
+ * Search input for filtering FAQ items
4
+ * Uses design system tokens for theming
5
+ */
6
+ import React from 'react';
7
+ import { ViewStyle, TextStyle } from 'react-native';
8
+ export interface FAQSearchBarStyles {
9
+ container?: ViewStyle;
10
+ input?: TextStyle;
11
+ }
12
+ export interface FAQSearchBarProps {
13
+ value: string;
14
+ onChangeText: (text: string) => void;
15
+ placeholder: string;
16
+ styles?: FAQSearchBarStyles;
17
+ }
18
+ export declare const FAQSearchBar: React.FC<FAQSearchBarProps>;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @umituz/react-native-faqs - Components
3
+ */
4
+ export { FAQItemComponent } from './FAQItem';
5
+ export type { FAQItemProps } from './FAQItem';
6
+ export { FAQEmptyState } from './FAQEmptyState';
7
+ export type { FAQEmptyStateProps } from './FAQEmptyState';
8
+ export { FAQSearchBar } from './FAQSearchBar';
9
+ export type { FAQSearchBarProps } from './FAQSearchBar';
10
+ export { FAQCategoryComponent } from './FAQCategory';
11
+ export type { FAQCategoryProps } from './FAQCategory';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @umituz/react-native-faqs - Hooks
3
+ */
4
+ export { useFAQSearch } from './useFAQSearch';
5
+ export { useFAQExpansion } from './useFAQExpansion';
@@ -0,0 +1,12 @@
1
+ /**
2
+ * FAQ Expansion Hook
3
+ * Manages FAQ item expansion state
4
+ */
5
+ export interface UseFAQExpansionResult {
6
+ expandedItems: Set<string>;
7
+ isExpanded: (itemId: string) => boolean;
8
+ toggleExpansion: (itemId: string) => void;
9
+ expandAll: (itemIds: string[]) => void;
10
+ collapseAll: () => void;
11
+ }
12
+ export declare function useFAQExpansion(): UseFAQExpansionResult;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * FAQ Search Hook
3
+ * Handles FAQ search state and filtering with debounce
4
+ */
5
+ import { FAQCategory } from '../../domain/entities/FAQEntity';
6
+ export interface UseFAQSearchResult {
7
+ searchQuery: string;
8
+ setSearchQuery: (query: string) => void;
9
+ filteredCategories: FAQCategory[];
10
+ hasResults: boolean;
11
+ }
12
+ export declare function useFAQSearch(categories: FAQCategory[]): UseFAQSearchResult;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * FAQ Screen Component
3
+ * Full-screen FAQ viewer with search functionality
4
+ * Uses design system tokens for theming
5
+ */
6
+ import React from 'react';
7
+ import { ViewStyle, TextStyle } from 'react-native';
8
+ import { FAQCategory } from '../../domain/entities/FAQEntity';
9
+ import { FAQSearchBarStyles } from '../components/FAQSearchBar';
10
+ import { FAQEmptyStateStyles } from '../components/FAQEmptyState';
11
+ import { FAQCategoryStyles } from '../components/FAQCategory';
12
+ export interface FAQScreenStyles {
13
+ container?: ViewStyle;
14
+ header?: ViewStyle;
15
+ title?: TextStyle;
16
+ content?: ViewStyle;
17
+ searchBar?: FAQSearchBarStyles;
18
+ emptyState?: FAQEmptyStateStyles;
19
+ category?: FAQCategoryStyles;
20
+ }
21
+ export interface FAQScreenProps {
22
+ categories: FAQCategory[];
23
+ searchPlaceholder: string;
24
+ emptySearchTitle: string;
25
+ emptySearchMessage: string;
26
+ headerTitle: string;
27
+ onBack?: () => void;
28
+ renderHeader?: (props: {
29
+ onBack: () => void;
30
+ }) => React.ReactElement | null;
31
+ styles?: FAQScreenStyles;
32
+ }
33
+ export declare const FAQScreen: React.FC<FAQScreenProps>;
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Feedback Entity
3
+ */
4
+ export type FeedbackType = 'general' | 'bug_report' | 'feature_request' | 'improvement' | 'other';
5
+ export type FeedbackStatus = 'pending' | 'reviewed' | 'resolved' | 'closed';
6
+ export type FeedbackRating = 1 | 2 | 3 | 4 | 5;
7
+ export interface FeedbackEntity {
8
+ id: string;
9
+ userId: string | null;
10
+ userEmail?: string | null;
11
+ type: FeedbackType;
12
+ title: string;
13
+ description: string;
14
+ rating?: FeedbackRating;
15
+ status: FeedbackStatus;
16
+ deviceInfo?: {
17
+ platform: string;
18
+ osVersion: string;
19
+ appVersion: string;
20
+ };
21
+ metadata?: Record<string, unknown>;
22
+ createdAt: string;
23
+ updatedAt: string;
24
+ }
25
+ export declare function createFeedback(userId: string | null, type: FeedbackType, title: string, description: string, userEmail?: string | null, rating?: FeedbackRating, deviceInfo?: FeedbackEntity['deviceInfo'], metadata?: Record<string, unknown>): Omit<FeedbackEntity, 'id'>;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Feedback Repository Interface
3
+ */
4
+ import type { FeedbackEntity } from '../entities/FeedbackEntity';
5
+ export interface FeedbackError {
6
+ message: string;
7
+ code?: 'SUBMIT_FAILED' | 'FETCH_FAILED' | 'DELETE_FAILED' | 'VALIDATION_ERROR';
8
+ }
9
+ export type FeedbackResult<T> = {
10
+ success: true;
11
+ data: T;
12
+ } | {
13
+ success: false;
14
+ error: FeedbackError;
15
+ };
16
+ export interface IFeedbackRepository {
17
+ submitFeedback(feedback: FeedbackEntity | Omit<FeedbackEntity, 'id'>): Promise<FeedbackResult<FeedbackEntity>>;
18
+ getUserFeedback(userId: string): Promise<FeedbackResult<FeedbackEntity[]>>;
19
+ deleteFeedback(feedbackId: string): Promise<FeedbackResult<boolean>>;
20
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Feedback Domain
3
+ * User feedback, bug reports
4
+ */
5
+ export * from './presentation/components/FeedbackForm';
6
+ export * from './presentation/components/FeedbackModal';
7
+ export * from './presentation/components/SupportSection';
8
+ export * from './presentation/hooks/useFeedbackForm';
9
+ export * from './domain/entities/FeedbackEntity';
10
+ export * from './domain/repositories/IFeedbackRepository';
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Feedback Form Component
3
+ * Form for submitting user feedback with type, rating, and description
4
+ */
5
+ import React from "react";
6
+ import type { FeedbackFormProps } from "./FeedbackFormProps";
7
+ export declare const FeedbackForm: React.FC<FeedbackFormProps>;
@@ -0,0 +1,48 @@
1
+ import type { useAppDesignTokens } from "@umituz/react-native-design-system/theme";
2
+ export declare const getFeedbackFormStyles: (_tokens: ReturnType<typeof useAppDesignTokens>) => {
3
+ container: {
4
+ width: "100%";
5
+ };
6
+ typeContainer: {
7
+ marginBottom: number;
8
+ };
9
+ typeScroll: {
10
+ gap: number;
11
+ };
12
+ typeButton: {
13
+ flexDirection: "row";
14
+ alignItems: "center";
15
+ paddingHorizontal: number;
16
+ paddingVertical: number;
17
+ borderRadius: number;
18
+ borderWidth: number;
19
+ gap: number;
20
+ };
21
+ ratingContainer: {
22
+ alignItems: "center";
23
+ marginBottom: number;
24
+ };
25
+ stars: {
26
+ flexDirection: "row";
27
+ gap: number;
28
+ };
29
+ starButton: {
30
+ padding: number;
31
+ };
32
+ inputContainer: {
33
+ marginBottom: number;
34
+ };
35
+ textArea: {
36
+ textAlignVertical: "top";
37
+ minHeight: number;
38
+ borderWidth: number;
39
+ borderRadius: number;
40
+ padding: number;
41
+ };
42
+ errorText: {
43
+ marginTop: number;
44
+ };
45
+ submitButton: {
46
+ width: "100%";
47
+ };
48
+ };
@@ -0,0 +1,26 @@
1
+ /**
2
+ * FeedbackForm Props Types
3
+ */
4
+ import type { FeedbackType, FeedbackRating } from "../../domain/entities/FeedbackEntity";
5
+ export interface FeedbackFormTexts {
6
+ ratingLabel: string;
7
+ descriptionPlaceholder: string;
8
+ submitButton: string;
9
+ submittingButton: string;
10
+ feedbackTypes: Array<{
11
+ type: FeedbackType;
12
+ label: string;
13
+ }>;
14
+ defaultTitle: (type: FeedbackType) => string;
15
+ }
16
+ export interface FeedbackFormProps {
17
+ onSubmit: (data: {
18
+ type: FeedbackType;
19
+ rating: FeedbackRating;
20
+ description: string;
21
+ title: string;
22
+ }) => Promise<void>;
23
+ texts: FeedbackFormTexts;
24
+ initialType?: FeedbackType;
25
+ isSubmitting?: boolean;
26
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Feedback Modal Component
3
+ * Modal wrapper for providing feedback
4
+ */
5
+ import React from "react";
6
+ import type { FeedbackType, FeedbackRating } from "../../domain/entities/FeedbackEntity";
7
+ import type { FeedbackFormProps } from "./FeedbackFormProps";
8
+ export interface FeedbackModalProps {
9
+ visible: boolean;
10
+ onClose: () => void;
11
+ onSubmit: (data: {
12
+ type: FeedbackType;
13
+ rating: FeedbackRating;
14
+ description: string;
15
+ title: string;
16
+ }) => Promise<void>;
17
+ initialType?: FeedbackType;
18
+ isSubmitting?: boolean;
19
+ title?: string;
20
+ subtitle?: string;
21
+ texts: FeedbackFormProps['texts'];
22
+ }
23
+ export declare const FeedbackModal: React.FC<FeedbackModalProps>;