@umituz/react-native-ai-generation-content 1.26.2 → 1.26.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/package.json +3 -2
  2. package/src/domains/generation/application/feature-registry.ts +101 -0
  3. package/src/domains/generation/application/generation-strategy.factory.ts +128 -0
  4. package/src/domains/generation/domain/feature-config.types.ts +61 -0
  5. package/src/domains/generation/domain/generation.types.ts +74 -0
  6. package/src/domains/generation/index.ts +37 -0
  7. package/src/domains/generation/presentation/useAIGeneration.hook.ts +106 -0
  8. package/src/domains/wizard/infrastructure/strategies/wizard-strategy.factory.ts +3 -4
  9. package/src/index.ts +1 -25
  10. package/src/infrastructure/executors/executor-factory.ts +53 -0
  11. package/src/infrastructure/executors/image-executor.ts +133 -0
  12. package/src/infrastructure/executors/video-executor.ts +130 -0
  13. package/src/features/ai-hug/README.md +0 -438
  14. package/src/features/ai-hug/domain/index.ts +0 -5
  15. package/src/features/ai-hug/domain/types/ai-hug.types.ts +0 -25
  16. package/src/features/ai-hug/domain/types/index.ts +0 -7
  17. package/src/features/ai-hug/index.ts +0 -19
  18. package/src/features/ai-hug/presentation/components/AIHugFeature.tsx +0 -77
  19. package/src/features/ai-hug/presentation/components/index.ts +0 -2
  20. package/src/features/ai-hug/presentation/hooks/index.ts +0 -9
  21. package/src/features/ai-hug/presentation/hooks/useAIHugFeature.ts +0 -34
  22. package/src/features/ai-hug/presentation/index.ts +0 -6
  23. package/src/features/ai-kiss/README.md +0 -445
  24. package/src/features/ai-kiss/domain/index.ts +0 -5
  25. package/src/features/ai-kiss/domain/types/ai-kiss.types.ts +0 -25
  26. package/src/features/ai-kiss/domain/types/index.ts +0 -7
  27. package/src/features/ai-kiss/index.ts +0 -19
  28. package/src/features/ai-kiss/presentation/components/AIKissFeature.tsx +0 -77
  29. package/src/features/ai-kiss/presentation/components/index.ts +0 -2
  30. package/src/features/ai-kiss/presentation/hooks/index.ts +0 -9
  31. package/src/features/ai-kiss/presentation/hooks/useAIKissFeature.ts +0 -34
  32. package/src/features/ai-kiss/presentation/index.ts +0 -6
  33. package/src/features/anime-selfie/README.md +0 -396
  34. package/src/features/anime-selfie/domain/index.ts +0 -5
  35. package/src/features/anime-selfie/domain/types/anime-selfie.types.ts +0 -52
  36. package/src/features/anime-selfie/domain/types/index.ts +0 -8
  37. package/src/features/anime-selfie/index.ts +0 -20
  38. package/src/features/anime-selfie/presentation/components/AnimeSelfieFeature.tsx +0 -86
  39. package/src/features/anime-selfie/presentation/components/index.ts +0 -2
  40. package/src/features/anime-selfie/presentation/hooks/index.ts +0 -9
  41. package/src/features/anime-selfie/presentation/hooks/useAnimeSelfieFeature.ts +0 -59
  42. package/src/features/anime-selfie/presentation/index.ts +0 -6
  43. package/src/features/couple-future/README.md +0 -445
  44. package/src/features/couple-future/domain/types.ts +0 -63
  45. package/src/features/couple-future/domain/wizard-config.adapter.ts +0 -76
  46. package/src/features/couple-future/domain/wizard.types.ts +0 -121
  47. package/src/features/couple-future/index.ts +0 -83
  48. package/src/features/couple-future/infrastructure/coupleFeatureRegistry.ts +0 -76
  49. package/src/features/couple-future/infrastructure/couplePromptEnhancer.ts +0 -100
  50. package/src/features/couple-future/infrastructure/executor.ts +0 -188
  51. package/src/features/couple-future/infrastructure/generationUtils.ts +0 -228
  52. package/src/features/couple-future/presentation/components/ArtStyleSelector.tsx +0 -146
  53. package/src/features/couple-future/presentation/components/ArtistStyleSelector.tsx +0 -122
  54. package/src/features/couple-future/presentation/components/CoupleFutureWizard.tsx +0 -239
  55. package/src/features/couple-future/presentation/components/GeneratingStepContent.tsx +0 -86
  56. package/src/features/couple-future/presentation/components/RomanticMoodSelector.tsx +0 -147
  57. package/src/features/couple-future/presentation/components/WardrobeSelector.tsx +0 -141
  58. package/src/features/couple-future/presentation/components/index.ts +0 -12
  59. package/src/features/couple-future/presentation/hooks/useCoupleFutureFlow.ts +0 -166
  60. package/src/features/couple-future/presentation/hooks/useCoupleFutureFlow.types.ts +0 -69
  61. package/src/features/couple-future/presentation/hooks/useCoupleFutureHandlers.ts +0 -117
  62. package/src/features/couple-future/presentation/screens/CoupleFeatureScreen.tsx +0 -113
  63. package/src/features/face-swap/README.md +0 -431
  64. package/src/features/face-swap/domain/index.ts +0 -5
  65. package/src/features/face-swap/domain/types/face-swap.types.ts +0 -26
  66. package/src/features/face-swap/domain/types/index.ts +0 -7
  67. package/src/features/face-swap/index.ts +0 -19
  68. package/src/features/face-swap/presentation/components/FaceSwapFeature.tsx +0 -87
  69. package/src/features/face-swap/presentation/components/index.ts +0 -2
  70. package/src/features/face-swap/presentation/hooks/index.ts +0 -6
  71. package/src/features/face-swap/presentation/hooks/useFaceSwapFeature.ts +0 -35
  72. package/src/features/face-swap/presentation/index.ts +0 -6
  73. package/src/features/hd-touch-up/README.md +0 -396
  74. package/src/features/hd-touch-up/domain/index.ts +0 -1
  75. package/src/features/hd-touch-up/domain/types/hd-touch-up.types.ts +0 -62
  76. package/src/features/hd-touch-up/domain/types/index.ts +0 -9
  77. package/src/features/hd-touch-up/index.ts +0 -21
  78. package/src/features/hd-touch-up/presentation/components/HDTouchUpFeature.tsx +0 -86
  79. package/src/features/hd-touch-up/presentation/components/index.ts +0 -2
  80. package/src/features/hd-touch-up/presentation/hooks/index.ts +0 -1
  81. package/src/features/hd-touch-up/presentation/hooks/useHDTouchUpFeature.ts +0 -23
  82. package/src/features/hd-touch-up/presentation/index.ts +0 -2
  83. package/src/features/image-to-image/README.md +0 -459
  84. package/src/features/image-to-image/domain/index.ts +0 -1
  85. package/src/features/image-to-image/domain/types/base.types.ts +0 -48
  86. package/src/features/image-to-image/domain/types/index.ts +0 -1
  87. package/src/features/image-to-image/domain/types/partials/config.types.ts +0 -37
  88. package/src/features/image-to-image/domain/types/partials/hook.types.ts +0 -53
  89. package/src/features/image-to-image/domain/types/partials/metadata.types.ts +0 -32
  90. package/src/features/image-to-image/domain/types/partials/result.types.ts +0 -44
  91. package/src/features/image-to-image/domain/types/partials/state.types.ts +0 -34
  92. package/src/features/image-to-image/domain/types/partials/translation.types.ts +0 -57
  93. package/src/features/image-to-image/index.ts +0 -2
  94. package/src/features/image-to-image/presentation/hooks/index.ts +0 -3
  95. package/src/features/image-to-image/presentation/hooks/useDualImageFeature.ts +0 -204
  96. package/src/features/image-to-image/presentation/hooks/useImageWithPromptFeature.ts +0 -223
  97. package/src/features/image-to-image/presentation/hooks/useSingleImageFeature.ts +0 -166
  98. package/src/features/image-to-image/presentation/index.ts +0 -1
  99. package/src/features/image-to-video/README.md +0 -414
  100. package/src/features/image-to-video/domain/constants/animation.constants.ts +0 -47
  101. package/src/features/image-to-video/domain/constants/duration.constants.ts +0 -13
  102. package/src/features/image-to-video/domain/constants/form.constants.ts +0 -22
  103. package/src/features/image-to-video/domain/constants/index.ts +0 -23
  104. package/src/features/image-to-video/domain/constants/music.constants.ts +0 -53
  105. package/src/features/image-to-video/domain/index.ts +0 -5
  106. package/src/features/image-to-video/domain/types/animation.types.ts +0 -20
  107. package/src/features/image-to-video/domain/types/config.types.ts +0 -56
  108. package/src/features/image-to-video/domain/types/duration.types.ts +0 -11
  109. package/src/features/image-to-video/domain/types/form.types.ts +0 -35
  110. package/src/features/image-to-video/domain/types/image-to-video.types.ts +0 -122
  111. package/src/features/image-to-video/domain/types/index.ts +0 -39
  112. package/src/features/image-to-video/domain/types/music.types.ts +0 -21
  113. package/src/features/image-to-video/index.ts +0 -116
  114. package/src/features/image-to-video/infrastructure/index.ts +0 -1
  115. package/src/features/image-to-video/infrastructure/services/image-to-video-executor.ts +0 -154
  116. package/src/features/image-to-video/infrastructure/services/index.ts +0 -5
  117. package/src/features/image-to-video/presentation/components/AddMoreCard.tsx +0 -52
  118. package/src/features/image-to-video/presentation/components/AnimationStyleSelector.tsx +0 -135
  119. package/src/features/image-to-video/presentation/components/DurationSelector.tsx +0 -110
  120. package/src/features/image-to-video/presentation/components/EmptyGridState.tsx +0 -69
  121. package/src/features/image-to-video/presentation/components/GridImageItem.tsx +0 -64
  122. package/src/features/image-to-video/presentation/components/ImageSelectionGrid.styles.ts +0 -84
  123. package/src/features/image-to-video/presentation/components/ImageSelectionGrid.tsx +0 -77
  124. package/src/features/image-to-video/presentation/components/ImageSelectionGrid.types.ts +0 -18
  125. package/src/features/image-to-video/presentation/components/MusicMoodSelector.tsx +0 -181
  126. package/src/features/image-to-video/presentation/components/index.ts +0 -30
  127. package/src/features/image-to-video/presentation/hooks/index.ts +0 -27
  128. package/src/features/image-to-video/presentation/hooks/useFormState.ts +0 -116
  129. package/src/features/image-to-video/presentation/hooks/useGeneration.ts +0 -85
  130. package/src/features/image-to-video/presentation/hooks/useGenerationExecution.ts +0 -143
  131. package/src/features/image-to-video/presentation/hooks/useImageToVideoFeature.ts +0 -107
  132. package/src/features/image-to-video/presentation/hooks/useImageToVideoForm.ts +0 -119
  133. package/src/features/image-to-video/presentation/hooks/useImageToVideoValidation.ts +0 -46
  134. package/src/features/image-to-video/presentation/index.ts +0 -5
  135. package/src/features/love-message/domain/constants.ts +0 -162
  136. package/src/features/love-message/domain/types.ts +0 -58
  137. package/src/features/love-message/index.ts +0 -37
  138. package/src/features/love-message/infrastructure/persistence/PartnerProfileRepository.ts +0 -52
  139. package/src/features/love-message/infrastructure/prompts/messagePromptBuilder.ts +0 -109
  140. package/src/features/love-message/infrastructure/services/LoveMessageService.ts +0 -35
  141. package/src/features/love-message/presentation/components/CategoryGrid.tsx +0 -88
  142. package/src/features/love-message/presentation/components/DetailsInput.tsx +0 -74
  143. package/src/features/love-message/presentation/components/ExploreHeader.tsx +0 -67
  144. package/src/features/love-message/presentation/components/FieldInput.tsx +0 -83
  145. package/src/features/love-message/presentation/components/GeneratorHeader.tsx +0 -88
  146. package/src/features/love-message/presentation/components/LoveMessageHeroSection.tsx +0 -114
  147. package/src/features/love-message/presentation/components/MessageListItem.tsx +0 -77
  148. package/src/features/love-message/presentation/components/MessageResult.tsx +0 -105
  149. package/src/features/love-message/presentation/components/PartnerInput.tsx +0 -78
  150. package/src/features/love-message/presentation/components/ProgressDots.tsx +0 -48
  151. package/src/features/love-message/presentation/components/StepDetails.tsx +0 -23
  152. package/src/features/love-message/presentation/components/StepPartner.tsx +0 -116
  153. package/src/features/love-message/presentation/components/StepVibe.tsx +0 -30
  154. package/src/features/love-message/presentation/components/ToneSelector.tsx +0 -100
  155. package/src/features/love-message/presentation/components/TrendingSection.tsx +0 -130
  156. package/src/features/love-message/presentation/components/TypeSelector.tsx +0 -99
  157. package/src/features/love-message/presentation/hooks/useLoveMessageGenerator.ts +0 -114
  158. package/src/features/love-message/presentation/hooks/usePartnerProfile.ts +0 -43
  159. package/src/features/love-message/presentation/navigation/LoveMessageStack.tsx +0 -39
  160. package/src/features/love-message/presentation/screens/LoveMessageExploreScreen.tsx +0 -53
  161. package/src/features/love-message/presentation/screens/LoveMessageGeneratorScreen.tsx +0 -169
  162. package/src/features/love-message/presentation/screens/MessageListScreen.tsx +0 -127
  163. package/src/features/love-message/presentation/screens/PartnerProfileScreen.tsx +0 -119
  164. package/src/features/meme-generator/README.md +0 -408
  165. package/src/features/meme-generator/index.ts +0 -3
  166. package/src/features/meme-generator/infrastructure/services/MemeGenerationService.ts +0 -87
  167. package/src/features/meme-generator/presentation/components/MemeGeneratorFeature.tsx +0 -180
  168. package/src/features/meme-generator/presentation/components/index.ts +0 -2
  169. package/src/features/meme-generator/presentation/screens/MemeGeneratorScreen.tsx +0 -168
  170. package/src/features/meme-generator/presentation/screens/index.ts +0 -1
  171. package/src/features/partner-upload/domain/types.ts +0 -59
  172. package/src/features/partner-upload/index.ts +0 -30
  173. package/src/features/partner-upload/presentation/components/PartnerInfoInput.tsx +0 -112
  174. package/src/features/partner-upload/presentation/components/PhotoTips.tsx +0 -53
  175. package/src/features/partner-upload/presentation/components/index.ts +0 -4
  176. package/src/features/partner-upload/presentation/hooks/index.ts +0 -7
  177. package/src/features/partner-upload/presentation/hooks/usePartnerStep.ts +0 -130
  178. package/src/features/partner-upload/presentation/screens/PartnerStepScreen.tsx +0 -231
  179. package/src/features/partner-upload/presentation/screens/index.ts +0 -6
  180. package/src/features/photo-restoration/README.md +0 -399
  181. package/src/features/photo-restoration/domain/index.ts +0 -1
  182. package/src/features/photo-restoration/domain/types/index.ts +0 -9
  183. package/src/features/photo-restoration/domain/types/photo-restore.types.ts +0 -64
  184. package/src/features/photo-restoration/index.ts +0 -22
  185. package/src/features/photo-restoration/presentation/components/PhotoRestoreFeature.tsx +0 -88
  186. package/src/features/photo-restoration/presentation/components/PhotoRestoreResultView.tsx +0 -86
  187. package/src/features/photo-restoration/presentation/components/index.ts +0 -4
  188. package/src/features/photo-restoration/presentation/hooks/index.ts +0 -1
  189. package/src/features/photo-restoration/presentation/hooks/usePhotoRestoreFeature.ts +0 -23
  190. package/src/features/photo-restoration/presentation/index.ts +0 -2
  191. package/src/features/remove-background/README.md +0 -393
  192. package/src/features/remove-background/domain/index.ts +0 -5
  193. package/src/features/remove-background/domain/types/index.ts +0 -7
  194. package/src/features/remove-background/domain/types/remove-background.types.ts +0 -28
  195. package/src/features/remove-background/index.ts +0 -19
  196. package/src/features/remove-background/presentation/components/RemoveBackgroundFeature.tsx +0 -86
  197. package/src/features/remove-background/presentation/components/index.ts +0 -2
  198. package/src/features/remove-background/presentation/hooks/index.ts +0 -1
  199. package/src/features/remove-background/presentation/hooks/useRemoveBackgroundFeature.ts +0 -28
  200. package/src/features/remove-background/presentation/index.ts +0 -6
  201. package/src/features/remove-object/README.md +0 -405
  202. package/src/features/remove-object/domain/index.ts +0 -5
  203. package/src/features/remove-object/domain/types/index.ts +0 -7
  204. package/src/features/remove-object/domain/types/remove-object.types.ts +0 -54
  205. package/src/features/remove-object/index.ts +0 -23
  206. package/src/features/remove-object/presentation/components/RemoveObjectFeature.tsx +0 -136
  207. package/src/features/remove-object/presentation/components/index.ts +0 -2
  208. package/src/features/remove-object/presentation/hooks/index.ts +0 -9
  209. package/src/features/remove-object/presentation/hooks/useRemoveObjectFeature.ts +0 -221
  210. package/src/features/remove-object/presentation/index.ts +0 -6
  211. package/src/features/replace-background/README.md +0 -405
  212. package/src/features/replace-background/domain/types/index.ts +0 -7
  213. package/src/features/replace-background/domain/types/replace-background.types.ts +0 -33
  214. package/src/features/replace-background/index.ts +0 -23
  215. package/src/features/replace-background/presentation/components/ReplaceBackgroundFeature.tsx +0 -105
  216. package/src/features/replace-background/presentation/components/index.ts +0 -6
  217. package/src/features/replace-background/presentation/hooks/index.ts +0 -9
  218. package/src/features/replace-background/presentation/hooks/useReplaceBackgroundFeature.ts +0 -55
  219. package/src/features/scenarios/domain/types.ts +0 -147
  220. package/src/features/scenarios/index.ts +0 -64
  221. package/src/features/scenarios/presentation/components/InspirationChips.tsx +0 -82
  222. package/src/features/scenarios/presentation/components/MagicPromptHeadline.tsx +0 -79
  223. package/src/features/scenarios/presentation/components/ScenarioGrid.tsx +0 -224
  224. package/src/features/scenarios/presentation/components/ScenarioHeader.tsx +0 -55
  225. package/src/features/scenarios/presentation/components/StyleSelector.tsx +0 -119
  226. package/src/features/scenarios/presentation/components/index.ts +0 -18
  227. package/src/features/scenarios/presentation/containers/CategoryNavigationContainer.tsx +0 -178
  228. package/src/features/scenarios/presentation/screens/HierarchicalScenarioListScreen.tsx +0 -266
  229. package/src/features/scenarios/presentation/screens/MagicPromptScreen.tsx +0 -242
  230. package/src/features/scenarios/presentation/screens/MainCategoryScreen.tsx +0 -198
  231. package/src/features/scenarios/presentation/screens/ScenarioPreviewScreen.tsx +0 -164
  232. package/src/features/scenarios/presentation/screens/ScenarioSelectorScreen.tsx +0 -66
  233. package/src/features/scenarios/presentation/screens/SubCategoryScreen.tsx +0 -216
  234. package/src/features/script-generator/README.md +0 -433
  235. package/src/features/script-generator/domain/constants/index.ts +0 -10
  236. package/src/features/script-generator/domain/types/script.types.ts +0 -30
  237. package/src/features/script-generator/index.ts +0 -5
  238. package/src/features/script-generator/infrastructure/services/ScriptGenerationService.ts +0 -62
  239. package/src/features/script-generator/presentation/components/ScriptDisplay.tsx +0 -158
  240. package/src/features/script-generator/presentation/components/VideoTypeSelector.tsx +0 -102
  241. package/src/features/script-generator/presentation/components/index.ts +0 -2
  242. package/src/features/script-generator/presentation/hooks/index.ts +0 -1
  243. package/src/features/script-generator/presentation/hooks/useScriptGenerator.ts +0 -77
  244. package/src/features/shared/README.md +0 -311
  245. package/src/features/shared/dual-image-video/domain/types/dual-image-video.types.ts +0 -88
  246. package/src/features/shared/dual-image-video/domain/types/index.ts +0 -14
  247. package/src/features/shared/dual-image-video/index.ts +0 -17
  248. package/src/features/shared/dual-image-video/presentation/hooks/index.ts +0 -5
  249. package/src/features/shared/dual-image-video/presentation/hooks/useDualImageVideoFeature.ts +0 -185
  250. package/src/features/shared/index.ts +0 -6
  251. package/src/features/text-to-image/README.md +0 -394
  252. package/src/features/text-to-image/domain/constants/index.ts +0 -8
  253. package/src/features/text-to-image/domain/constants/options.constants.ts +0 -39
  254. package/src/features/text-to-image/domain/constants/styles.constants.ts +0 -34
  255. package/src/features/text-to-image/domain/index.ts +0 -7
  256. package/src/features/text-to-image/domain/types/config.types.ts +0 -75
  257. package/src/features/text-to-image/domain/types/form.types.ts +0 -58
  258. package/src/features/text-to-image/domain/types/index.ts +0 -38
  259. package/src/features/text-to-image/domain/types/text-to-image.types.ts +0 -58
  260. package/src/features/text-to-image/index.ts +0 -116
  261. package/src/features/text-to-image/infrastructure/index.ts +0 -1
  262. package/src/features/text-to-image/infrastructure/services/index.ts +0 -5
  263. package/src/features/text-to-image/infrastructure/services/text-to-image-executor.ts +0 -147
  264. package/src/features/text-to-image/presentation/components/index.ts +0 -30
  265. package/src/features/text-to-image/presentation/hooks/index.ts +0 -30
  266. package/src/features/text-to-image/presentation/hooks/useFormState.ts +0 -103
  267. package/src/features/text-to-image/presentation/hooks/useGeneration.ts +0 -139
  268. package/src/features/text-to-image/presentation/hooks/useTextToImageFeature.ts +0 -111
  269. package/src/features/text-to-image/presentation/hooks/useTextToImageForm.ts +0 -58
  270. package/src/features/text-to-image/presentation/index.ts +0 -7
  271. package/src/features/text-to-video/README.md +0 -412
  272. package/src/features/text-to-video/domain/index.ts +0 -1
  273. package/src/features/text-to-video/domain/types/callback.types.ts +0 -69
  274. package/src/features/text-to-video/domain/types/component.types.ts +0 -106
  275. package/src/features/text-to-video/domain/types/config.types.ts +0 -61
  276. package/src/features/text-to-video/domain/types/index.ts +0 -56
  277. package/src/features/text-to-video/domain/types/request.types.ts +0 -36
  278. package/src/features/text-to-video/domain/types/state.types.ts +0 -53
  279. package/src/features/text-to-video/index.ts +0 -68
  280. package/src/features/text-to-video/infrastructure/index.ts +0 -1
  281. package/src/features/text-to-video/infrastructure/services/index.ts +0 -5
  282. package/src/features/text-to-video/infrastructure/services/text-to-video-executor.ts +0 -141
  283. package/src/features/text-to-video/presentation/components/FrameSelector.tsx +0 -153
  284. package/src/features/text-to-video/presentation/components/GenerationTabs.tsx +0 -73
  285. package/src/features/text-to-video/presentation/components/HeroSection.tsx +0 -61
  286. package/src/features/text-to-video/presentation/components/HintCarousel.tsx +0 -96
  287. package/src/features/text-to-video/presentation/components/OptionsPanel.tsx +0 -121
  288. package/src/features/text-to-video/presentation/components/index.ts +0 -10
  289. package/src/features/text-to-video/presentation/hooks/index.ts +0 -17
  290. package/src/features/text-to-video/presentation/hooks/useTextToVideoFeature.ts +0 -225
  291. package/src/features/text-to-video/presentation/hooks/useTextToVideoForm.ts +0 -134
  292. package/src/features/text-to-video/presentation/index.ts +0 -7
  293. package/src/features/text-to-voice/README.md +0 -445
  294. package/src/features/text-to-voice/domain/index.ts +0 -1
  295. package/src/features/text-to-voice/domain/types/component.types.ts +0 -91
  296. package/src/features/text-to-voice/domain/types/config.types.ts +0 -34
  297. package/src/features/text-to-voice/domain/types/form.types.ts +0 -39
  298. package/src/features/text-to-voice/domain/types/generation.types.ts +0 -43
  299. package/src/features/text-to-voice/domain/types/index.ts +0 -38
  300. package/src/features/text-to-voice/index.ts +0 -53
  301. package/src/features/text-to-voice/infrastructure/index.ts +0 -1
  302. package/src/features/text-to-voice/infrastructure/services/index.ts +0 -4
  303. package/src/features/text-to-voice/infrastructure/services/text-to-voice-executor.ts +0 -103
  304. package/src/features/text-to-voice/presentation/components/TextToVoiceAudioPlayer.tsx +0 -81
  305. package/src/features/text-to-voice/presentation/components/index.ts +0 -7
  306. package/src/features/text-to-voice/presentation/hooks/index.ts +0 -6
  307. package/src/features/text-to-voice/presentation/hooks/useTextToVoiceForm.ts +0 -91
  308. package/src/features/text-to-voice/presentation/hooks/useTextToVoiceGeneration.ts +0 -116
  309. package/src/features/text-to-voice/presentation/index.ts +0 -2
  310. package/src/features/upscaling/README.md +0 -396
  311. package/src/features/upscaling/domain/index.ts +0 -1
  312. package/src/features/upscaling/domain/types/index.ts +0 -1
  313. package/src/features/upscaling/domain/types/upscale.types.ts +0 -23
  314. package/src/features/upscaling/index.ts +0 -20
  315. package/src/features/upscaling/presentation/components/ComparisonSlider.tsx +0 -200
  316. package/src/features/upscaling/presentation/components/UpscaleFeature.tsx +0 -89
  317. package/src/features/upscaling/presentation/components/UpscaleResultView.tsx +0 -98
  318. package/src/features/upscaling/presentation/components/index.ts +0 -6
  319. package/src/features/upscaling/presentation/hooks/index.ts +0 -1
  320. package/src/features/upscaling/presentation/hooks/useUpscaleFeature.ts +0 -28
  321. package/src/features/upscaling/presentation/index.ts +0 -2
  322. package/src/features/wizard/domain/types.ts +0 -154
  323. package/src/features/wizard/index.ts +0 -43
  324. package/src/features/wizard/presentation/components/AIFeatureWizard.tsx +0 -231
  325. package/src/features/wizard/presentation/components/AIGenerationWizard.tsx +0 -132
  326. package/src/features/wizard/presentation/hooks/useWizard.ts +0 -120
  327. package/src/features/wizard/presentation/store/useWizardStore.ts +0 -82
@@ -1,110 +0,0 @@
1
- /**
2
- * Duration Selector Component
3
- * Generic component for video duration selection
4
- */
5
-
6
- import React from "react";
7
- import { View, TouchableOpacity, StyleSheet } from "react-native";
8
- import {
9
- AtomicText,
10
- useAppDesignTokens,
11
- } from "@umituz/react-native-design-system";
12
- import type { VideoDuration, DurationOption } from "../../domain/types";
13
-
14
- export interface DurationSelectorProps {
15
- options: DurationOption[];
16
- selectedDuration: VideoDuration;
17
- onDurationSelect: (duration: VideoDuration) => void;
18
- label: string;
19
- imageCount: number;
20
- totalVideoLabel: string;
21
- }
22
-
23
- export const DurationSelector: React.FC<DurationSelectorProps> = ({
24
- options,
25
- selectedDuration,
26
- onDurationSelect,
27
- label,
28
- imageCount,
29
- totalVideoLabel,
30
- }) => {
31
- const tokens = useAppDesignTokens();
32
-
33
- return (
34
- <View style={componentStyles.section}>
35
- <AtomicText
36
- type="bodyMedium"
37
- style={[componentStyles.label, { color: tokens.colors.textPrimary }]}
38
- >
39
- {label}
40
- </AtomicText>
41
- <View style={componentStyles.grid}>
42
- {options.map((option) => {
43
- const isSelected = selectedDuration === option.value;
44
- return (
45
- <TouchableOpacity
46
- key={option.value}
47
- style={[
48
- componentStyles.button,
49
- {
50
- backgroundColor: isSelected
51
- ? tokens.colors.primary
52
- : tokens.colors.surface,
53
- borderColor: isSelected
54
- ? tokens.colors.primary
55
- : tokens.colors.borderLight,
56
- },
57
- ]}
58
- onPress={() => onDurationSelect(option.value)}
59
- activeOpacity={0.7}
60
- >
61
- <AtomicText
62
- type="bodyMedium"
63
- style={{
64
- color: isSelected
65
- ? tokens.colors.textInverse
66
- : tokens.colors.textPrimary,
67
- fontWeight: isSelected ? "600" : "400",
68
- }}
69
- >
70
- {option.label ?? `${option.value}s`}
71
- </AtomicText>
72
- </TouchableOpacity>
73
- );
74
- })}
75
- </View>
76
- <AtomicText
77
- type="labelSmall"
78
- style={[componentStyles.hint, { color: tokens.colors.textSecondary }]}
79
- >
80
- {totalVideoLabel.replace("{duration}", String(imageCount * selectedDuration))}
81
- </AtomicText>
82
- </View>
83
- );
84
- };
85
-
86
- const componentStyles = StyleSheet.create({
87
- section: {
88
- padding: 16,
89
- marginBottom: 8,
90
- },
91
- label: {
92
- fontWeight: "600",
93
- marginBottom: 12,
94
- },
95
- grid: {
96
- flexDirection: "row",
97
- gap: 12,
98
- },
99
- button: {
100
- flex: 1,
101
- paddingVertical: 16,
102
- borderRadius: 12,
103
- borderWidth: 1,
104
- alignItems: "center",
105
- justifyContent: "center",
106
- },
107
- hint: {
108
- marginTop: 8,
109
- },
110
- });
@@ -1,69 +0,0 @@
1
- /**
2
- * EmptyGridState Component
3
- * Displays empty state when no images are selected
4
- */
5
-
6
- import React from "react";
7
- import { View, TouchableOpacity } from "react-native";
8
- import {
9
- AtomicText,
10
- AtomicIcon,
11
- useAppDesignTokens,
12
- } from "@umituz/react-native-design-system";
13
- import type { ImageSelectionGridStyles } from "./ImageSelectionGrid.styles";
14
- import type { ImageSelectionGridTranslations } from "./ImageSelectionGrid.types";
15
-
16
- interface EmptyGridStateProps {
17
- styles: ImageSelectionGridStyles;
18
- maxImages: number;
19
- translations: ImageSelectionGridTranslations;
20
- onSelectImages: () => void;
21
- }
22
-
23
- export function EmptyGridState({
24
- styles,
25
- maxImages,
26
- translations,
27
- onSelectImages,
28
- }: EmptyGridStateProps) {
29
- const tokens = useAppDesignTokens();
30
-
31
- return (
32
- <View style={styles.section}>
33
- <AtomicText
34
- type="bodyMedium"
35
- style={[styles.label, { color: tokens.colors.textPrimary }]}
36
- >
37
- {translations.selectedImages} (0/{maxImages})
38
- </AtomicText>
39
- <TouchableOpacity
40
- style={[
41
- styles.uploadBox,
42
- {
43
- backgroundColor: tokens.colors.surface,
44
- borderColor: tokens.colors.borderLight,
45
- },
46
- ]}
47
- onPress={onSelectImages}
48
- activeOpacity={0.7}
49
- >
50
- <AtomicIcon name="cloud-upload-outline" size="xl" color="primary" />
51
- <AtomicText
52
- type="bodyMedium"
53
- style={[
54
- styles.uploadText,
55
- { color: tokens.colors.primary },
56
- ]}
57
- >
58
- {translations.selectImages}
59
- </AtomicText>
60
- <AtomicText
61
- type="labelSmall"
62
- style={{ color: tokens.colors.textSecondary }}
63
- >
64
- {translations.chooseUpTo.replace("{max}", String(maxImages))}
65
- </AtomicText>
66
- </TouchableOpacity>
67
- </View>
68
- );
69
- }
@@ -1,64 +0,0 @@
1
- /**
2
- * GridImageItem Component
3
- * Displays a single image in the grid with remove button and badge
4
- */
5
-
6
- import React from "react";
7
- import { View, TouchableOpacity, Image } from "react-native";
8
- import {
9
- AtomicIcon,
10
- AtomicText,
11
- useAppDesignTokens,
12
- } from "@umituz/react-native-design-system";
13
- import type { ImageSelectionGridStyles } from "./ImageSelectionGrid.styles";
14
-
15
- interface GridImageItemProps {
16
- styles: ImageSelectionGridStyles;
17
- uri: string;
18
- index: number;
19
- onRemove: () => void;
20
- }
21
-
22
- export function GridImageItem({
23
- styles,
24
- uri,
25
- index,
26
- onRemove,
27
- }: GridImageItemProps) {
28
- const tokens = useAppDesignTokens();
29
-
30
- return (
31
- <View style={styles.imageCard}>
32
- <Image
33
- source={{ uri }}
34
- style={styles.imagePreview}
35
- resizeMode="cover"
36
- />
37
- <TouchableOpacity
38
- style={[
39
- styles.removeButton,
40
- { backgroundColor: tokens.colors.error },
41
- ]}
42
- onPress={onRemove}
43
- >
44
- <AtomicIcon name="close-circle" size="sm" color="onSurface" />
45
- </TouchableOpacity>
46
- <View
47
- style={[
48
- styles.imageBadge,
49
- { backgroundColor: tokens.colors.primary },
50
- ]}
51
- >
52
- <AtomicText
53
- type="labelSmall"
54
- style={[
55
- styles.badgeText,
56
- { color: tokens.colors.textInverse },
57
- ]}
58
- >
59
- {index + 1}
60
- </AtomicText>
61
- </View>
62
- </View>
63
- );
64
- }
@@ -1,84 +0,0 @@
1
- /**
2
- * ImageSelectionGrid Styles
3
- */
4
-
5
- import { StyleSheet } from "react-native";
6
- import type { DesignTokens } from "@umituz/react-native-design-system";
7
-
8
- export function createImageSelectionGridStyles(_tokens: DesignTokens) {
9
- return StyleSheet.create({
10
- section: {
11
- padding: 16,
12
- marginBottom: 8,
13
- },
14
- label: {
15
- fontWeight: "600",
16
- marginBottom: 12,
17
- },
18
- uploadBox: {
19
- padding: 48,
20
- borderRadius: 16,
21
- alignItems: "center",
22
- justifyContent: "center",
23
- borderWidth: 2,
24
- borderStyle: "dashed",
25
- },
26
- uploadText: {
27
- fontWeight: "600",
28
- marginTop: 12,
29
- },
30
- scroll: {
31
- marginHorizontal: -16,
32
- paddingHorizontal: 16,
33
- },
34
- imageCard: {
35
- width: 120,
36
- height: 120,
37
- borderRadius: 12,
38
- marginRight: 12,
39
- position: "relative",
40
- },
41
- imagePreview: {
42
- width: "100%",
43
- height: "100%",
44
- borderRadius: 12,
45
- },
46
- removeButton: {
47
- position: "absolute",
48
- top: 6,
49
- right: 6,
50
- width: 24,
51
- height: 24,
52
- borderRadius: 12,
53
- alignItems: "center",
54
- justifyContent: "center",
55
- },
56
- imageBadge: {
57
- position: "absolute",
58
- bottom: 6,
59
- left: 6,
60
- width: 24,
61
- height: 24,
62
- borderRadius: 12,
63
- alignItems: "center",
64
- justifyContent: "center",
65
- },
66
- badgeText: {
67
- fontSize: 10,
68
- },
69
- addMoreCard: {
70
- width: 120,
71
- height: 120,
72
- borderRadius: 12,
73
- alignItems: "center",
74
- justifyContent: "center",
75
- borderWidth: 2,
76
- borderStyle: "dashed",
77
- },
78
- addMoreText: {
79
- marginTop: 4,
80
- },
81
- });
82
- }
83
-
84
- export type ImageSelectionGridStyles = ReturnType<typeof createImageSelectionGridStyles>;
@@ -1,77 +0,0 @@
1
- /**
2
- * Image Selection Grid Component
3
- * Generic component for image selection display
4
- */
5
-
6
- import React, { useMemo } from "react";
7
- import { View, ScrollView } from "react-native";
8
- import {
9
- AtomicText,
10
- useAppDesignTokens,
11
- } from "@umituz/react-native-design-system";
12
- import { EmptyGridState } from "./EmptyGridState";
13
- import { GridImageItem } from "./GridImageItem";
14
- import { AddMoreCard } from "./AddMoreCard";
15
- import { createImageSelectionGridStyles } from "./ImageSelectionGrid.styles";
16
- import type { ImageSelectionGridProps } from "./ImageSelectionGrid.types";
17
-
18
- export const ImageSelectionGrid: React.FC<ImageSelectionGridProps> = ({
19
- images,
20
- maxImages,
21
- onSelectImages,
22
- onRemoveImage,
23
- translations,
24
- }) => {
25
- const tokens = useAppDesignTokens();
26
- const styles = useMemo(
27
- () => createImageSelectionGridStyles(tokens),
28
- [tokens]
29
- );
30
-
31
- if (images.length === 0) {
32
- return (
33
- <EmptyGridState
34
- styles={styles}
35
- maxImages={maxImages}
36
- translations={translations}
37
- onSelectImages={onSelectImages}
38
- />
39
- );
40
- }
41
-
42
- return (
43
- <View style={styles.section}>
44
- <AtomicText
45
- type="bodyMedium"
46
- style={[styles.label, { color: tokens.colors.textPrimary }]}
47
- >
48
- {translations.selectedImages} ({images.length}/{maxImages})
49
- </AtomicText>
50
- <ScrollView
51
- horizontal
52
- showsHorizontalScrollIndicator={false}
53
- style={styles.scroll}
54
- >
55
- {images.map((uri, index) => (
56
- <GridImageItem
57
- key={index}
58
- styles={styles}
59
- uri={uri}
60
- index={index}
61
- onRemove={() => onRemoveImage(index)}
62
- />
63
- ))}
64
-
65
- {images.length < maxImages && (
66
- <AddMoreCard
67
- styles={styles}
68
- addMoreText={translations.addMore}
69
- onPress={onSelectImages}
70
- />
71
- )}
72
- </ScrollView>
73
- </View>
74
- );
75
- };
76
-
77
- export type { ImageSelectionGridProps, ImageSelectionGridTranslations } from "./ImageSelectionGrid.types";
@@ -1,18 +0,0 @@
1
- /**
2
- * ImageSelectionGrid Type Definitions
3
- */
4
-
5
- export interface ImageSelectionGridTranslations {
6
- selectedImages: string;
7
- selectImages: string;
8
- chooseUpTo: string;
9
- addMore: string;
10
- }
11
-
12
- export interface ImageSelectionGridProps {
13
- images: string[];
14
- maxImages: number;
15
- onSelectImages: () => void;
16
- onRemoveImage: (index: number) => void;
17
- translations: ImageSelectionGridTranslations;
18
- }
@@ -1,181 +0,0 @@
1
- /**
2
- * Music Mood Selector Component
3
- * Generic component for music mood selection
4
- */
5
-
6
- import React from "react";
7
- import { View, ScrollView, TouchableOpacity, StyleSheet } from "react-native";
8
- import {
9
- AtomicText,
10
- AtomicIcon,
11
- useAppDesignTokens,
12
- } from "@umituz/react-native-design-system";
13
- import type { MusicMood, MusicMoodId } from "../../domain/types";
14
-
15
- export interface MusicMoodSelectorProps {
16
- moods: MusicMood[];
17
- selectedMood: MusicMoodId;
18
- onMoodSelect: (moodId: MusicMoodId) => void;
19
- label: string;
20
- hasCustomAudio?: boolean;
21
- customAudioLabel?: string;
22
- }
23
-
24
- export const MusicMoodSelector: React.FC<MusicMoodSelectorProps> = ({
25
- moods,
26
- selectedMood,
27
- onMoodSelect,
28
- label,
29
- hasCustomAudio = false,
30
- customAudioLabel,
31
- }) => {
32
- const tokens = useAppDesignTokens();
33
-
34
- return (
35
- <View style={componentStyles.section}>
36
- <AtomicText
37
- type="bodyMedium"
38
- style={[componentStyles.label, { color: tokens.colors.textPrimary }]}
39
- >
40
- {label}
41
- </AtomicText>
42
- <ScrollView
43
- horizontal
44
- showsHorizontalScrollIndicator={false}
45
- style={componentStyles.scroll}
46
- >
47
- {moods.map((mood) => {
48
- const isSelected = selectedMood === mood.id;
49
- return (
50
- <TouchableOpacity
51
- key={mood.id}
52
- style={[
53
- componentStyles.card,
54
- {
55
- backgroundColor: isSelected
56
- ? tokens.colors.primary
57
- : tokens.colors.surface,
58
- borderColor: isSelected
59
- ? tokens.colors.primary
60
- : tokens.colors.borderLight,
61
- },
62
- ]}
63
- onPress={() => onMoodSelect(mood.id)}
64
- activeOpacity={0.7}
65
- >
66
- <View
67
- style={[
68
- componentStyles.iconContainer,
69
- {
70
- backgroundColor: isSelected
71
- ? tokens.colors.modalOverlay
72
- : tokens.colors.surface,
73
- },
74
- ]}
75
- >
76
- <AtomicIcon
77
- name={mood.icon as never}
78
- size="lg"
79
- color={isSelected ? "onSurface" : "primary"}
80
- />
81
- </View>
82
- <AtomicText
83
- type="bodySmall"
84
- style={[
85
- componentStyles.moodName,
86
- {
87
- color: isSelected
88
- ? tokens.colors.textInverse
89
- : tokens.colors.textPrimary,
90
- },
91
- ]}
92
- >
93
- {mood.name}
94
- </AtomicText>
95
- <AtomicText
96
- type="labelSmall"
97
- style={[
98
- componentStyles.moodDescription,
99
- {
100
- color: isSelected
101
- ? tokens.colors.textInverse
102
- : tokens.colors.textSecondary,
103
- opacity: isSelected ? 0.9 : 0.7,
104
- },
105
- ]}
106
- >
107
- {mood.description}
108
- </AtomicText>
109
- </TouchableOpacity>
110
- );
111
- })}
112
- </ScrollView>
113
- {selectedMood === "custom" && hasCustomAudio && customAudioLabel && (
114
- <View
115
- style={[
116
- componentStyles.customBadge,
117
- { backgroundColor: tokens.colors.surfaceVariant },
118
- ]}
119
- >
120
- <AtomicIcon name="checkmark-circle-outline" size="sm" color="primary" />
121
- <AtomicText
122
- type="labelSmall"
123
- style={[componentStyles.customBadgeText, { color: tokens.colors.primary }]}
124
- >
125
- {customAudioLabel}
126
- </AtomicText>
127
- </View>
128
- )}
129
- </View>
130
- );
131
- };
132
-
133
- const componentStyles = StyleSheet.create({
134
- section: {
135
- padding: 16,
136
- marginBottom: 8,
137
- },
138
- label: {
139
- fontWeight: "600",
140
- marginBottom: 12,
141
- },
142
- scroll: {
143
- marginHorizontal: -16,
144
- paddingHorizontal: 16,
145
- },
146
- card: {
147
- width: 140,
148
- padding: 16,
149
- borderRadius: 16,
150
- borderWidth: 2,
151
- marginRight: 12,
152
- alignItems: "center",
153
- },
154
- iconContainer: {
155
- width: 56,
156
- height: 56,
157
- borderRadius: 28,
158
- alignItems: "center",
159
- justifyContent: "center",
160
- },
161
- moodName: {
162
- fontWeight: "600",
163
- marginTop: 8,
164
- textAlign: "center",
165
- },
166
- moodDescription: {
167
- marginTop: 4,
168
- textAlign: "center",
169
- },
170
- customBadge: {
171
- flexDirection: "row",
172
- alignItems: "center",
173
- padding: 12,
174
- borderRadius: 12,
175
- marginTop: 12,
176
- },
177
- customBadgeText: {
178
- marginLeft: 8,
179
- flex: 1,
180
- },
181
- });
@@ -1,30 +0,0 @@
1
- /**
2
- * Image-to-Video Components Index
3
- */
4
-
5
- // Animation Style Selector
6
- export { AnimationStyleSelector as ImageToVideoAnimationStyleSelector } from "./AnimationStyleSelector";
7
- export type { AnimationStyleSelectorProps as ImageToVideoAnimationStyleSelectorProps } from "./AnimationStyleSelector";
8
-
9
- // Duration Selector
10
- export { DurationSelector as ImageToVideoDurationSelector } from "./DurationSelector";
11
- export type { DurationSelectorProps as ImageToVideoDurationSelectorProps } from "./DurationSelector";
12
-
13
- // Music Mood Selector
14
- export { MusicMoodSelector as ImageToVideoMusicMoodSelector } from "./MusicMoodSelector";
15
- export type { MusicMoodSelectorProps as ImageToVideoMusicMoodSelectorProps } from "./MusicMoodSelector";
16
-
17
- // Image Selection Grid
18
- export { ImageSelectionGrid as ImageToVideoSelectionGrid } from "./ImageSelectionGrid";
19
- export type {
20
- ImageSelectionGridProps as ImageToVideoSelectionGridProps,
21
- ImageSelectionGridTranslations as ImageToVideoSelectionGridTranslations,
22
- } from "./ImageSelectionGrid";
23
-
24
- // Hero Section - Using AIGenerationHero from common components
25
- // export { HeroSection as ImageToVideoHeroSection } from "./HeroSection";
26
- // export type { HeroSectionProps as ImageToVideoHeroSectionProps } from "./HeroSection";
27
-
28
- // Action Components
29
- export { GenerateButton as ImageToVideoGenerateButton } from "../../../../presentation/components/buttons";
30
- export type { GenerateButtonProps as ImageToVideoGenerateButtonProps } from "../../../../presentation/components/buttons";
@@ -1,27 +0,0 @@
1
- // Form State Hook
2
- export { useFormState as useImageToVideoFormState } from "./useFormState";
3
- export type {
4
- UseFormStateOptions as UseImageToVideoFormStateOptions,
5
- UseFormStateReturn as UseImageToVideoFormStateReturn,
6
- } from "./useFormState";
7
-
8
- // Generation Hook
9
- export { useGeneration as useImageToVideoGeneration } from "./useGeneration";
10
- export type {
11
- UseGenerationOptions as UseImageToVideoGenerationOptions,
12
- UseGenerationReturn as UseImageToVideoGenerationReturn,
13
- } from "./useGeneration";
14
-
15
- // Combined Form Hook
16
- export { useImageToVideoForm } from "./useImageToVideoForm";
17
- export type {
18
- UseImageToVideoFormOptions,
19
- UseImageToVideoFormReturn,
20
- } from "./useImageToVideoForm";
21
-
22
- // Provider-based Feature Hook
23
- export { useImageToVideoFeature } from "./useImageToVideoFeature";
24
- export type {
25
- UseImageToVideoFeatureProps,
26
- UseImageToVideoFeatureReturn,
27
- } from "./useImageToVideoFeature";