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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (333) 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 +3 -29
  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/presentation/components/index.ts +0 -3
  14. package/src/presentation/hooks/index.ts +0 -7
  15. package/src/features/ai-hug/README.md +0 -438
  16. package/src/features/ai-hug/domain/index.ts +0 -5
  17. package/src/features/ai-hug/domain/types/ai-hug.types.ts +0 -25
  18. package/src/features/ai-hug/domain/types/index.ts +0 -7
  19. package/src/features/ai-hug/index.ts +0 -19
  20. package/src/features/ai-hug/presentation/components/AIHugFeature.tsx +0 -77
  21. package/src/features/ai-hug/presentation/components/index.ts +0 -2
  22. package/src/features/ai-hug/presentation/hooks/index.ts +0 -9
  23. package/src/features/ai-hug/presentation/hooks/useAIHugFeature.ts +0 -34
  24. package/src/features/ai-hug/presentation/index.ts +0 -6
  25. package/src/features/ai-kiss/README.md +0 -445
  26. package/src/features/ai-kiss/domain/index.ts +0 -5
  27. package/src/features/ai-kiss/domain/types/ai-kiss.types.ts +0 -25
  28. package/src/features/ai-kiss/domain/types/index.ts +0 -7
  29. package/src/features/ai-kiss/index.ts +0 -19
  30. package/src/features/ai-kiss/presentation/components/AIKissFeature.tsx +0 -77
  31. package/src/features/ai-kiss/presentation/components/index.ts +0 -2
  32. package/src/features/ai-kiss/presentation/hooks/index.ts +0 -9
  33. package/src/features/ai-kiss/presentation/hooks/useAIKissFeature.ts +0 -34
  34. package/src/features/ai-kiss/presentation/index.ts +0 -6
  35. package/src/features/anime-selfie/README.md +0 -396
  36. package/src/features/anime-selfie/domain/index.ts +0 -5
  37. package/src/features/anime-selfie/domain/types/anime-selfie.types.ts +0 -52
  38. package/src/features/anime-selfie/domain/types/index.ts +0 -8
  39. package/src/features/anime-selfie/index.ts +0 -20
  40. package/src/features/anime-selfie/presentation/components/AnimeSelfieFeature.tsx +0 -86
  41. package/src/features/anime-selfie/presentation/components/index.ts +0 -2
  42. package/src/features/anime-selfie/presentation/hooks/index.ts +0 -9
  43. package/src/features/anime-selfie/presentation/hooks/useAnimeSelfieFeature.ts +0 -59
  44. package/src/features/anime-selfie/presentation/index.ts +0 -6
  45. package/src/features/couple-future/README.md +0 -445
  46. package/src/features/couple-future/domain/types.ts +0 -63
  47. package/src/features/couple-future/domain/wizard-config.adapter.ts +0 -76
  48. package/src/features/couple-future/domain/wizard.types.ts +0 -121
  49. package/src/features/couple-future/index.ts +0 -83
  50. package/src/features/couple-future/infrastructure/coupleFeatureRegistry.ts +0 -76
  51. package/src/features/couple-future/infrastructure/couplePromptEnhancer.ts +0 -100
  52. package/src/features/couple-future/infrastructure/executor.ts +0 -188
  53. package/src/features/couple-future/infrastructure/generationUtils.ts +0 -228
  54. package/src/features/couple-future/presentation/components/ArtStyleSelector.tsx +0 -146
  55. package/src/features/couple-future/presentation/components/ArtistStyleSelector.tsx +0 -122
  56. package/src/features/couple-future/presentation/components/CoupleFutureWizard.tsx +0 -239
  57. package/src/features/couple-future/presentation/components/GeneratingStepContent.tsx +0 -86
  58. package/src/features/couple-future/presentation/components/RomanticMoodSelector.tsx +0 -147
  59. package/src/features/couple-future/presentation/components/WardrobeSelector.tsx +0 -141
  60. package/src/features/couple-future/presentation/components/index.ts +0 -12
  61. package/src/features/couple-future/presentation/hooks/useCoupleFutureFlow.ts +0 -166
  62. package/src/features/couple-future/presentation/hooks/useCoupleFutureFlow.types.ts +0 -69
  63. package/src/features/couple-future/presentation/hooks/useCoupleFutureHandlers.ts +0 -117
  64. package/src/features/couple-future/presentation/screens/CoupleFeatureScreen.tsx +0 -113
  65. package/src/features/face-swap/README.md +0 -431
  66. package/src/features/face-swap/domain/index.ts +0 -5
  67. package/src/features/face-swap/domain/types/face-swap.types.ts +0 -26
  68. package/src/features/face-swap/domain/types/index.ts +0 -7
  69. package/src/features/face-swap/index.ts +0 -19
  70. package/src/features/face-swap/presentation/components/FaceSwapFeature.tsx +0 -87
  71. package/src/features/face-swap/presentation/components/index.ts +0 -2
  72. package/src/features/face-swap/presentation/hooks/index.ts +0 -6
  73. package/src/features/face-swap/presentation/hooks/useFaceSwapFeature.ts +0 -35
  74. package/src/features/face-swap/presentation/index.ts +0 -6
  75. package/src/features/hd-touch-up/README.md +0 -396
  76. package/src/features/hd-touch-up/domain/index.ts +0 -1
  77. package/src/features/hd-touch-up/domain/types/hd-touch-up.types.ts +0 -62
  78. package/src/features/hd-touch-up/domain/types/index.ts +0 -9
  79. package/src/features/hd-touch-up/index.ts +0 -21
  80. package/src/features/hd-touch-up/presentation/components/HDTouchUpFeature.tsx +0 -86
  81. package/src/features/hd-touch-up/presentation/components/index.ts +0 -2
  82. package/src/features/hd-touch-up/presentation/hooks/index.ts +0 -1
  83. package/src/features/hd-touch-up/presentation/hooks/useHDTouchUpFeature.ts +0 -23
  84. package/src/features/hd-touch-up/presentation/index.ts +0 -2
  85. package/src/features/image-to-image/README.md +0 -459
  86. package/src/features/image-to-image/domain/index.ts +0 -1
  87. package/src/features/image-to-image/domain/types/base.types.ts +0 -48
  88. package/src/features/image-to-image/domain/types/index.ts +0 -1
  89. package/src/features/image-to-image/domain/types/partials/config.types.ts +0 -37
  90. package/src/features/image-to-image/domain/types/partials/hook.types.ts +0 -53
  91. package/src/features/image-to-image/domain/types/partials/metadata.types.ts +0 -32
  92. package/src/features/image-to-image/domain/types/partials/result.types.ts +0 -44
  93. package/src/features/image-to-image/domain/types/partials/state.types.ts +0 -34
  94. package/src/features/image-to-image/domain/types/partials/translation.types.ts +0 -57
  95. package/src/features/image-to-image/index.ts +0 -2
  96. package/src/features/image-to-image/presentation/hooks/index.ts +0 -3
  97. package/src/features/image-to-image/presentation/hooks/useDualImageFeature.ts +0 -204
  98. package/src/features/image-to-image/presentation/hooks/useImageWithPromptFeature.ts +0 -223
  99. package/src/features/image-to-image/presentation/hooks/useSingleImageFeature.ts +0 -166
  100. package/src/features/image-to-image/presentation/index.ts +0 -1
  101. package/src/features/image-to-video/README.md +0 -414
  102. package/src/features/image-to-video/domain/constants/animation.constants.ts +0 -47
  103. package/src/features/image-to-video/domain/constants/duration.constants.ts +0 -13
  104. package/src/features/image-to-video/domain/constants/form.constants.ts +0 -22
  105. package/src/features/image-to-video/domain/constants/index.ts +0 -23
  106. package/src/features/image-to-video/domain/constants/music.constants.ts +0 -53
  107. package/src/features/image-to-video/domain/index.ts +0 -5
  108. package/src/features/image-to-video/domain/types/animation.types.ts +0 -20
  109. package/src/features/image-to-video/domain/types/config.types.ts +0 -56
  110. package/src/features/image-to-video/domain/types/duration.types.ts +0 -11
  111. package/src/features/image-to-video/domain/types/form.types.ts +0 -35
  112. package/src/features/image-to-video/domain/types/image-to-video.types.ts +0 -122
  113. package/src/features/image-to-video/domain/types/index.ts +0 -39
  114. package/src/features/image-to-video/domain/types/music.types.ts +0 -21
  115. package/src/features/image-to-video/index.ts +0 -116
  116. package/src/features/image-to-video/infrastructure/index.ts +0 -1
  117. package/src/features/image-to-video/infrastructure/services/image-to-video-executor.ts +0 -154
  118. package/src/features/image-to-video/infrastructure/services/index.ts +0 -5
  119. package/src/features/image-to-video/presentation/components/AddMoreCard.tsx +0 -52
  120. package/src/features/image-to-video/presentation/components/AnimationStyleSelector.tsx +0 -135
  121. package/src/features/image-to-video/presentation/components/DurationSelector.tsx +0 -110
  122. package/src/features/image-to-video/presentation/components/EmptyGridState.tsx +0 -69
  123. package/src/features/image-to-video/presentation/components/GridImageItem.tsx +0 -64
  124. package/src/features/image-to-video/presentation/components/ImageSelectionGrid.styles.ts +0 -84
  125. package/src/features/image-to-video/presentation/components/ImageSelectionGrid.tsx +0 -77
  126. package/src/features/image-to-video/presentation/components/ImageSelectionGrid.types.ts +0 -18
  127. package/src/features/image-to-video/presentation/components/MusicMoodSelector.tsx +0 -181
  128. package/src/features/image-to-video/presentation/components/index.ts +0 -30
  129. package/src/features/image-to-video/presentation/hooks/index.ts +0 -27
  130. package/src/features/image-to-video/presentation/hooks/useFormState.ts +0 -116
  131. package/src/features/image-to-video/presentation/hooks/useGeneration.ts +0 -85
  132. package/src/features/image-to-video/presentation/hooks/useGenerationExecution.ts +0 -143
  133. package/src/features/image-to-video/presentation/hooks/useImageToVideoFeature.ts +0 -107
  134. package/src/features/image-to-video/presentation/hooks/useImageToVideoForm.ts +0 -119
  135. package/src/features/image-to-video/presentation/hooks/useImageToVideoValidation.ts +0 -46
  136. package/src/features/image-to-video/presentation/index.ts +0 -5
  137. package/src/features/love-message/domain/constants.ts +0 -162
  138. package/src/features/love-message/domain/types.ts +0 -58
  139. package/src/features/love-message/index.ts +0 -37
  140. package/src/features/love-message/infrastructure/persistence/PartnerProfileRepository.ts +0 -52
  141. package/src/features/love-message/infrastructure/prompts/messagePromptBuilder.ts +0 -109
  142. package/src/features/love-message/infrastructure/services/LoveMessageService.ts +0 -35
  143. package/src/features/love-message/presentation/components/CategoryGrid.tsx +0 -88
  144. package/src/features/love-message/presentation/components/DetailsInput.tsx +0 -74
  145. package/src/features/love-message/presentation/components/ExploreHeader.tsx +0 -67
  146. package/src/features/love-message/presentation/components/FieldInput.tsx +0 -83
  147. package/src/features/love-message/presentation/components/GeneratorHeader.tsx +0 -88
  148. package/src/features/love-message/presentation/components/LoveMessageHeroSection.tsx +0 -114
  149. package/src/features/love-message/presentation/components/MessageListItem.tsx +0 -77
  150. package/src/features/love-message/presentation/components/MessageResult.tsx +0 -105
  151. package/src/features/love-message/presentation/components/PartnerInput.tsx +0 -78
  152. package/src/features/love-message/presentation/components/ProgressDots.tsx +0 -48
  153. package/src/features/love-message/presentation/components/StepDetails.tsx +0 -23
  154. package/src/features/love-message/presentation/components/StepPartner.tsx +0 -116
  155. package/src/features/love-message/presentation/components/StepVibe.tsx +0 -30
  156. package/src/features/love-message/presentation/components/ToneSelector.tsx +0 -100
  157. package/src/features/love-message/presentation/components/TrendingSection.tsx +0 -130
  158. package/src/features/love-message/presentation/components/TypeSelector.tsx +0 -99
  159. package/src/features/love-message/presentation/hooks/useLoveMessageGenerator.ts +0 -114
  160. package/src/features/love-message/presentation/hooks/usePartnerProfile.ts +0 -43
  161. package/src/features/love-message/presentation/navigation/LoveMessageStack.tsx +0 -39
  162. package/src/features/love-message/presentation/screens/LoveMessageExploreScreen.tsx +0 -53
  163. package/src/features/love-message/presentation/screens/LoveMessageGeneratorScreen.tsx +0 -169
  164. package/src/features/love-message/presentation/screens/MessageListScreen.tsx +0 -127
  165. package/src/features/love-message/presentation/screens/PartnerProfileScreen.tsx +0 -119
  166. package/src/features/meme-generator/README.md +0 -408
  167. package/src/features/meme-generator/index.ts +0 -3
  168. package/src/features/meme-generator/infrastructure/services/MemeGenerationService.ts +0 -87
  169. package/src/features/meme-generator/presentation/components/MemeGeneratorFeature.tsx +0 -180
  170. package/src/features/meme-generator/presentation/components/index.ts +0 -2
  171. package/src/features/meme-generator/presentation/screens/MemeGeneratorScreen.tsx +0 -168
  172. package/src/features/meme-generator/presentation/screens/index.ts +0 -1
  173. package/src/features/partner-upload/domain/types.ts +0 -59
  174. package/src/features/partner-upload/index.ts +0 -30
  175. package/src/features/partner-upload/presentation/components/PartnerInfoInput.tsx +0 -112
  176. package/src/features/partner-upload/presentation/components/PhotoTips.tsx +0 -53
  177. package/src/features/partner-upload/presentation/components/index.ts +0 -4
  178. package/src/features/partner-upload/presentation/hooks/index.ts +0 -7
  179. package/src/features/partner-upload/presentation/hooks/usePartnerStep.ts +0 -130
  180. package/src/features/partner-upload/presentation/screens/PartnerStepScreen.tsx +0 -231
  181. package/src/features/partner-upload/presentation/screens/index.ts +0 -6
  182. package/src/features/photo-restoration/README.md +0 -399
  183. package/src/features/photo-restoration/domain/index.ts +0 -1
  184. package/src/features/photo-restoration/domain/types/index.ts +0 -9
  185. package/src/features/photo-restoration/domain/types/photo-restore.types.ts +0 -64
  186. package/src/features/photo-restoration/index.ts +0 -22
  187. package/src/features/photo-restoration/presentation/components/PhotoRestoreFeature.tsx +0 -88
  188. package/src/features/photo-restoration/presentation/components/PhotoRestoreResultView.tsx +0 -86
  189. package/src/features/photo-restoration/presentation/components/index.ts +0 -4
  190. package/src/features/photo-restoration/presentation/hooks/index.ts +0 -1
  191. package/src/features/photo-restoration/presentation/hooks/usePhotoRestoreFeature.ts +0 -23
  192. package/src/features/photo-restoration/presentation/index.ts +0 -2
  193. package/src/features/remove-background/README.md +0 -393
  194. package/src/features/remove-background/domain/index.ts +0 -5
  195. package/src/features/remove-background/domain/types/index.ts +0 -7
  196. package/src/features/remove-background/domain/types/remove-background.types.ts +0 -28
  197. package/src/features/remove-background/index.ts +0 -19
  198. package/src/features/remove-background/presentation/components/RemoveBackgroundFeature.tsx +0 -86
  199. package/src/features/remove-background/presentation/components/index.ts +0 -2
  200. package/src/features/remove-background/presentation/hooks/index.ts +0 -1
  201. package/src/features/remove-background/presentation/hooks/useRemoveBackgroundFeature.ts +0 -28
  202. package/src/features/remove-background/presentation/index.ts +0 -6
  203. package/src/features/remove-object/README.md +0 -405
  204. package/src/features/remove-object/domain/index.ts +0 -5
  205. package/src/features/remove-object/domain/types/index.ts +0 -7
  206. package/src/features/remove-object/domain/types/remove-object.types.ts +0 -54
  207. package/src/features/remove-object/index.ts +0 -23
  208. package/src/features/remove-object/presentation/components/RemoveObjectFeature.tsx +0 -136
  209. package/src/features/remove-object/presentation/components/index.ts +0 -2
  210. package/src/features/remove-object/presentation/hooks/index.ts +0 -9
  211. package/src/features/remove-object/presentation/hooks/useRemoveObjectFeature.ts +0 -221
  212. package/src/features/remove-object/presentation/index.ts +0 -6
  213. package/src/features/replace-background/README.md +0 -405
  214. package/src/features/replace-background/domain/types/index.ts +0 -7
  215. package/src/features/replace-background/domain/types/replace-background.types.ts +0 -33
  216. package/src/features/replace-background/index.ts +0 -23
  217. package/src/features/replace-background/presentation/components/ReplaceBackgroundFeature.tsx +0 -105
  218. package/src/features/replace-background/presentation/components/index.ts +0 -6
  219. package/src/features/replace-background/presentation/hooks/index.ts +0 -9
  220. package/src/features/replace-background/presentation/hooks/useReplaceBackgroundFeature.ts +0 -55
  221. package/src/features/scenarios/domain/types.ts +0 -147
  222. package/src/features/scenarios/index.ts +0 -64
  223. package/src/features/scenarios/presentation/components/InspirationChips.tsx +0 -82
  224. package/src/features/scenarios/presentation/components/MagicPromptHeadline.tsx +0 -79
  225. package/src/features/scenarios/presentation/components/ScenarioGrid.tsx +0 -224
  226. package/src/features/scenarios/presentation/components/ScenarioHeader.tsx +0 -55
  227. package/src/features/scenarios/presentation/components/StyleSelector.tsx +0 -119
  228. package/src/features/scenarios/presentation/components/index.ts +0 -18
  229. package/src/features/scenarios/presentation/containers/CategoryNavigationContainer.tsx +0 -178
  230. package/src/features/scenarios/presentation/screens/HierarchicalScenarioListScreen.tsx +0 -266
  231. package/src/features/scenarios/presentation/screens/MagicPromptScreen.tsx +0 -242
  232. package/src/features/scenarios/presentation/screens/MainCategoryScreen.tsx +0 -198
  233. package/src/features/scenarios/presentation/screens/ScenarioPreviewScreen.tsx +0 -164
  234. package/src/features/scenarios/presentation/screens/ScenarioSelectorScreen.tsx +0 -66
  235. package/src/features/scenarios/presentation/screens/SubCategoryScreen.tsx +0 -216
  236. package/src/features/script-generator/README.md +0 -433
  237. package/src/features/script-generator/domain/constants/index.ts +0 -10
  238. package/src/features/script-generator/domain/types/script.types.ts +0 -30
  239. package/src/features/script-generator/index.ts +0 -5
  240. package/src/features/script-generator/infrastructure/services/ScriptGenerationService.ts +0 -62
  241. package/src/features/script-generator/presentation/components/ScriptDisplay.tsx +0 -158
  242. package/src/features/script-generator/presentation/components/VideoTypeSelector.tsx +0 -102
  243. package/src/features/script-generator/presentation/components/index.ts +0 -2
  244. package/src/features/script-generator/presentation/hooks/index.ts +0 -1
  245. package/src/features/script-generator/presentation/hooks/useScriptGenerator.ts +0 -77
  246. package/src/features/shared/README.md +0 -311
  247. package/src/features/shared/dual-image-video/domain/types/dual-image-video.types.ts +0 -88
  248. package/src/features/shared/dual-image-video/domain/types/index.ts +0 -14
  249. package/src/features/shared/dual-image-video/index.ts +0 -17
  250. package/src/features/shared/dual-image-video/presentation/hooks/index.ts +0 -5
  251. package/src/features/shared/dual-image-video/presentation/hooks/useDualImageVideoFeature.ts +0 -185
  252. package/src/features/shared/index.ts +0 -6
  253. package/src/features/text-to-image/README.md +0 -394
  254. package/src/features/text-to-image/domain/constants/index.ts +0 -8
  255. package/src/features/text-to-image/domain/constants/options.constants.ts +0 -39
  256. package/src/features/text-to-image/domain/constants/styles.constants.ts +0 -34
  257. package/src/features/text-to-image/domain/index.ts +0 -7
  258. package/src/features/text-to-image/domain/types/config.types.ts +0 -75
  259. package/src/features/text-to-image/domain/types/form.types.ts +0 -58
  260. package/src/features/text-to-image/domain/types/index.ts +0 -38
  261. package/src/features/text-to-image/domain/types/text-to-image.types.ts +0 -58
  262. package/src/features/text-to-image/index.ts +0 -116
  263. package/src/features/text-to-image/infrastructure/index.ts +0 -1
  264. package/src/features/text-to-image/infrastructure/services/index.ts +0 -5
  265. package/src/features/text-to-image/infrastructure/services/text-to-image-executor.ts +0 -147
  266. package/src/features/text-to-image/presentation/components/index.ts +0 -30
  267. package/src/features/text-to-image/presentation/hooks/index.ts +0 -30
  268. package/src/features/text-to-image/presentation/hooks/useFormState.ts +0 -103
  269. package/src/features/text-to-image/presentation/hooks/useGeneration.ts +0 -139
  270. package/src/features/text-to-image/presentation/hooks/useTextToImageFeature.ts +0 -111
  271. package/src/features/text-to-image/presentation/hooks/useTextToImageForm.ts +0 -58
  272. package/src/features/text-to-image/presentation/index.ts +0 -7
  273. package/src/features/text-to-video/README.md +0 -412
  274. package/src/features/text-to-video/domain/index.ts +0 -1
  275. package/src/features/text-to-video/domain/types/callback.types.ts +0 -69
  276. package/src/features/text-to-video/domain/types/component.types.ts +0 -106
  277. package/src/features/text-to-video/domain/types/config.types.ts +0 -61
  278. package/src/features/text-to-video/domain/types/index.ts +0 -56
  279. package/src/features/text-to-video/domain/types/request.types.ts +0 -36
  280. package/src/features/text-to-video/domain/types/state.types.ts +0 -53
  281. package/src/features/text-to-video/index.ts +0 -68
  282. package/src/features/text-to-video/infrastructure/index.ts +0 -1
  283. package/src/features/text-to-video/infrastructure/services/index.ts +0 -5
  284. package/src/features/text-to-video/infrastructure/services/text-to-video-executor.ts +0 -141
  285. package/src/features/text-to-video/presentation/components/FrameSelector.tsx +0 -153
  286. package/src/features/text-to-video/presentation/components/GenerationTabs.tsx +0 -73
  287. package/src/features/text-to-video/presentation/components/HeroSection.tsx +0 -61
  288. package/src/features/text-to-video/presentation/components/HintCarousel.tsx +0 -96
  289. package/src/features/text-to-video/presentation/components/OptionsPanel.tsx +0 -121
  290. package/src/features/text-to-video/presentation/components/index.ts +0 -10
  291. package/src/features/text-to-video/presentation/hooks/index.ts +0 -17
  292. package/src/features/text-to-video/presentation/hooks/useTextToVideoFeature.ts +0 -225
  293. package/src/features/text-to-video/presentation/hooks/useTextToVideoForm.ts +0 -134
  294. package/src/features/text-to-video/presentation/index.ts +0 -7
  295. package/src/features/text-to-voice/README.md +0 -445
  296. package/src/features/text-to-voice/domain/index.ts +0 -1
  297. package/src/features/text-to-voice/domain/types/component.types.ts +0 -91
  298. package/src/features/text-to-voice/domain/types/config.types.ts +0 -34
  299. package/src/features/text-to-voice/domain/types/form.types.ts +0 -39
  300. package/src/features/text-to-voice/domain/types/generation.types.ts +0 -43
  301. package/src/features/text-to-voice/domain/types/index.ts +0 -38
  302. package/src/features/text-to-voice/index.ts +0 -53
  303. package/src/features/text-to-voice/infrastructure/index.ts +0 -1
  304. package/src/features/text-to-voice/infrastructure/services/index.ts +0 -4
  305. package/src/features/text-to-voice/infrastructure/services/text-to-voice-executor.ts +0 -103
  306. package/src/features/text-to-voice/presentation/components/TextToVoiceAudioPlayer.tsx +0 -81
  307. package/src/features/text-to-voice/presentation/components/index.ts +0 -7
  308. package/src/features/text-to-voice/presentation/hooks/index.ts +0 -6
  309. package/src/features/text-to-voice/presentation/hooks/useTextToVoiceForm.ts +0 -91
  310. package/src/features/text-to-voice/presentation/hooks/useTextToVoiceGeneration.ts +0 -116
  311. package/src/features/text-to-voice/presentation/index.ts +0 -2
  312. package/src/features/upscaling/README.md +0 -396
  313. package/src/features/upscaling/domain/index.ts +0 -1
  314. package/src/features/upscaling/domain/types/index.ts +0 -1
  315. package/src/features/upscaling/domain/types/upscale.types.ts +0 -23
  316. package/src/features/upscaling/index.ts +0 -20
  317. package/src/features/upscaling/presentation/components/ComparisonSlider.tsx +0 -200
  318. package/src/features/upscaling/presentation/components/UpscaleFeature.tsx +0 -89
  319. package/src/features/upscaling/presentation/components/UpscaleResultView.tsx +0 -98
  320. package/src/features/upscaling/presentation/components/index.ts +0 -6
  321. package/src/features/upscaling/presentation/hooks/index.ts +0 -1
  322. package/src/features/upscaling/presentation/hooks/useUpscaleFeature.ts +0 -28
  323. package/src/features/upscaling/presentation/index.ts +0 -2
  324. package/src/features/wizard/domain/types.ts +0 -154
  325. package/src/features/wizard/index.ts +0 -43
  326. package/src/features/wizard/presentation/components/AIFeatureWizard.tsx +0 -231
  327. package/src/features/wizard/presentation/components/AIGenerationWizard.tsx +0 -132
  328. package/src/features/wizard/presentation/hooks/useWizard.ts +0 -120
  329. package/src/features/wizard/presentation/store/useWizardStore.ts +0 -82
  330. package/src/presentation/components/flows/AIGenerateWizardFlow.tsx +0 -231
  331. package/src/presentation/components/flows/AIGenerateWizardFlow.types.ts +0 -66
  332. package/src/presentation/components/flows/useAIGenerateWizardFlow.ts +0 -130
  333. package/src/presentation/hooks/useAIGenerateWizard.ts +0 -164
@@ -1,412 +0,0 @@
1
- # Text to Video Feature
2
-
3
- Generate videos from text descriptions using AI.
4
-
5
- ## 📍 Import Path
6
-
7
- ```typescript
8
- import { useTextToVideoFeature } from '@umituz/react-native-ai-generation-content';
9
- ```
10
-
11
- **Location**: `src/features/text-to-video/`
12
-
13
- ## 🎯 Feature Purpose
14
-
15
- Generate AI-powered videos from natural language text descriptions. Supports various durations, aspect ratios, and cinematic styles.
16
-
17
- ---
18
-
19
- ## 📋 Usage Strategy
20
-
21
- ### When to Use This Feature
22
-
23
- ✅ **Use Cases:**
24
- - Creating marketing videos
25
- - Generating social media content
26
- - Producing promotional materials
27
- - Creating concept videos
28
- - Video prototyping and storyboarding
29
-
30
- ❌ **When NOT to Use:**
31
- - Simple image generation (use Text to Image)
32
- - Video editing of existing footage (use video editing software)
33
- - Adding text overlays to video (use video editing tools)
34
- - Animated text videos (use animation software)
35
-
36
- ### Implementation Strategy
37
-
38
- 1. **Input text description** of desired video
39
- 2. **Select duration** and aspect ratio
40
- 3. **Choose cinematic style** (optional)
41
- 4. **Generate video** with progress tracking
42
- 5. **Preview result** and offer regeneration
43
- 6. **Download or share** final video
44
-
45
- ---
46
-
47
- ## ⚠️ Critical Rules (MUST FOLLOW)
48
-
49
- ### 1. Prompt Requirements
50
- - **MUST** use descriptive, specific prompts
51
- - **MUST** include subject, action, and scene details
52
- - **MUST** specify camera movements if important
53
- - **MUST** use English for best results
54
- - **MUST NOT** exceed character limits (check model limits)
55
- - **MUST NOT** include copyrighted characters or brands
56
-
57
- ### 2. Configuration
58
- - **MUST** provide valid `userId` for tracking
59
- - **MUST** implement `onError` callback
60
- - **MUST** handle `isProcessing` state to prevent duplicate requests
61
- - **MUST** validate prompts before generation
62
- - **MUST NOT** call `generate()` when `isReady` is false
63
-
64
- ### 3. State Management
65
- - **MUST** check `isReady` before enabling generate button
66
- - **MUST** handle `isProcessing` state with loading indicators
67
- - **MUST** display `error` state to users
68
- - **MUST** handle `result.videoUrl` existence check
69
- - **MUST** implement proper cleanup on unmount
70
-
71
- ### 4. Performance
72
- - **MUST** implement debouncing for prompt inputs (>500ms)
73
- - **MUST** limit concurrent requests (max 1 per user)
74
- - **MUST** cache generated videos locally
75
- - **MUST** implement retry logic (max 3 attempts)
76
- - **MUST NOT** generate multiple videos simultaneously
77
-
78
- ### 5. Content Safety
79
- - **MUST** validate and sanitize user prompts
80
- - **MUST** implement content moderation
81
- - **MUST** check for inappropriate content
82
- - **MUST** store userId securely
83
- - **MUST NOT** expose API keys in client code
84
-
85
- ---
86
-
87
- ## 🚫 Prohibitions (MUST AVOID)
88
-
89
- ### Strictly Forbidden
90
-
91
- ❌ **NEVER** do the following:
92
-
93
- 1. **No Empty Prompts**
94
- - Always validate prompt has meaningful content
95
- - Minimum 20 characters recommended for video generation
96
-
97
- 2. **No Concurrent Generation**
98
- - Never call `generate()` while `isProcessing === true`
99
- - Always disable generate button during processing
100
-
101
- 3. **No Hardcoded Credentials**
102
- - Never store API keys in component files
103
- - Use environment variables or secure storage
104
-
105
- 4. **No Unhandled Errors**
106
- - Never ignore error states
107
- - Always implement error boundaries
108
-
109
- 5. **No Memory Leaks**
110
- - Never forget cleanup on unmount
111
- - Always cancel pending requests
112
-
113
- 6. **No Excessive Re-renders**
114
- - Never pass new config objects on each render
115
- - Always memoize configuration objects
116
-
117
- 7. **No Blocked Main Thread**
118
- - Never perform heavy operations in render
119
- - Use background tasks for video processing
120
-
121
- ---
122
-
123
- ## 🤖 AI Agent Directions
124
-
125
- ### For AI Code Generation Tools
126
-
127
- When using this feature with AI code generation tools, follow these guidelines:
128
-
129
- #### Prompt Template for AI Agents
130
-
131
- ```
132
- You are implementing a text-to-video generation feature using @umituz/react-native-ai-generation-content.
133
-
134
- REQUIREMENTS:
135
- 1. Import from: @umituz/react-native-ai-generation-content
136
- 2. Use the useTextToVideoFeature hook
137
- 3. Implement all state handlers (loading, success, error)
138
- 4. Add debouncing for prompt input (500ms minimum)
139
- 5. Validate prompts before generation
140
- 6. Handle isReady and isProcessing states correctly
141
- 7. Implement proper error handling with user feedback
142
- 8. Add loading indicators during generation
143
- 9. Display results safely with null checks
144
- 10. Implement cleanup on unmount
145
-
146
- CRITICAL RULES:
147
- - NEVER call generate() when isProcessing is true
148
- - ALWAYS validate prompt before calling generate()
149
- - MUST handle error state with user-friendly message
150
- - MUST disable generate button during processing
151
- - MUST implement debouncing (500ms minimum)
152
- - MUST validate for copyrighted content
153
-
154
- CONFIGURATION:
155
- - Provide valid userId (string)
156
- - Set model (default: 'veo-3')
157
- - Configure callbacks: onProcessingStart, onProcessingComplete, onError
158
-
159
- GENERATION OPTIONS:
160
- - duration: 4 | 8 | 16 (seconds)
161
- - aspectRatio: '16:9' | '9:16' | '1:1'
162
- - style: 'cinematic' | 'anime' | '3d' | 'artistic'
163
-
164
- STRICTLY FORBIDDEN:
165
- - No empty prompts
166
- - No concurrent generation calls
167
- - No hardcoded API keys
168
- - No unhandled errors
169
- - No memory leaks
170
- - No copyright violations
171
-
172
- QUALITY CHECKLIST:
173
- - [ ] Feature imported from correct path
174
- - [ ] Hook initialized with proper config
175
- - [ ] All state handlers implemented
176
- - [ ] Debouncing added to input
177
- - [ ] Validation before generate()
178
- - [ ] Loading indicator during processing
179
- - [ ] Error display with user-friendly message
180
- - [ ] Button disabled when processing
181
- - [ ] Cleanup on unmount
182
- - [ ] Null checks on result
183
- - [ ] Retry logic implemented
184
- - [ ] Video caching configured
185
- ```
186
-
187
- #### AI Implementation Checklist
188
-
189
- Use this checklist when generating code:
190
-
191
- - [ ] Feature imported from correct path
192
- - [ ] Hook initialized with proper config
193
- - [ ] All state handlers implemented
194
- - [ ] Debouncing added to input
195
- - [ ] Validation before generate()
196
- - [ ] Loading indicator during processing
197
- - [ ] Error display with user-friendly message
198
- - [ ] Button disabled when processing
199
- - [ ] Cleanup on unmount
200
- - [ ] Null checks on result
201
- - [ ] Retry logic implemented
202
- - [ ] Video caching configured
203
-
204
- ---
205
-
206
- ## 🛠️ Configuration Strategy
207
-
208
- ### Essential Configuration
209
-
210
- ```typescript
211
- // Required fields
212
- {
213
- userId: string // User identifier for tracking
214
- }
215
-
216
- // Optional callbacks
217
- {
218
- onProcessingStart?: () => void
219
- onProcessingComplete?: (result) => void
220
- onError?: (error: string) => void
221
- }
222
- ```
223
-
224
- ### Recommended Settings
225
-
226
- 1. **Model Selection**
227
- - Default: `veo-3`
228
- - Fastest: `veo-2`
229
- - Highest quality: `veo-3`
230
-
231
- 2. **Generation Options**
232
- - Duration: 4s (standard), 8s (long), 16s (extended)
233
- - Aspect Ratio: 16:9 (landscape), 9:16 (portrait), 1:1 (square)
234
- - Style: Choose based on use case
235
-
236
- 3. **Performance Settings**
237
- - Enable video caching
238
- - Set reasonable timeouts (video generation can take 2-5 minutes)
239
- - Implement retry with backoff
240
-
241
- ---
242
-
243
- ## 📊 State Management
244
-
245
- ### Feature States
246
-
247
- **isReady**: boolean
248
- - Feature initialized and ready to use
249
- - Check before enabling generate button
250
-
251
- **isProcessing**: boolean
252
- - Video generation in progress
253
- - Show loading indicator
254
- - Disable generate button
255
-
256
- **progress**: number (0-100)
257
- - Generation progress percentage
258
- - Update progress bar
259
-
260
- **error**: string | null
261
- - Error message if generation failed
262
- - Display to user with clear message
263
-
264
- **result**: {
265
- videoUrl: string
266
- thumbnailUrl?: string
267
- duration?: number
268
- metadata?: any
269
- }
270
-
271
- ---
272
-
273
- ## 🔐 Security Considerations
274
-
275
- ### Content Moderation
276
-
277
- - **MUST** implement prompt content filtering
278
- - **MUST** check for inappropriate content
279
- - **MUST** block harmful or illegal prompts
280
- - **MUST** check for copyright violations
281
- - **MUST** log moderation actions
282
-
283
- ### API Security
284
-
285
- - **MUST** use environment variables for API keys
286
- - **MUST** implement rate limiting
287
- - **MUST** validate all user inputs
288
- - **MUST** use HTTPS for all API calls
289
-
290
- ### Data Privacy
291
-
292
- - **MUST** comply with data protection regulations
293
- - **MUST** obtain user consent for generation
294
- - **MUST** provide privacy policy
295
- - **MUST** allow data deletion requests
296
-
297
- ---
298
-
299
- ## 🎨 Best Practices
300
-
301
- ### Prompt Engineering
302
-
303
- 1. **Be Specific**
304
- - Good: "A sunset over mountains with birds flying, camera pans left, cinematic lighting"
305
- - Bad: "A sunset video"
306
-
307
- 2. **Include Camera Movement**
308
- - Specify: pans, zooms, tracking shots
309
- - Example: "camera slowly zooms in on subject"
310
-
311
- 3. **Add Technical Details**
312
- - Lighting, camera angle, composition
313
- - Example: "golden hour lighting, wide angle shot"
314
-
315
- 4. **Specify Style**
316
- - Genre, mood, atmosphere
317
- - Example: "cinematic, epic orchestral feel"
318
-
319
- ### Performance Optimization
320
-
321
- 1. **Debounce Input**
322
- - Wait 500ms after user stops typing
323
- - Prevents unnecessary validations
324
-
325
- 2. **Progress Feedback**
326
- - Show realistic time estimates
327
- - Video generation takes 2-5 minutes
328
-
329
- 3. **Cache Results**
330
- - Store generated videos locally
331
- - Implement cache invalidation strategy
332
-
333
- 4. **Thumbnail Generation**
334
- - Generate thumbnail for preview
335
- - Use first frame or midpoint
336
-
337
- ---
338
-
339
- ## 🐛 Common Pitfalls
340
-
341
- ### Prompt Issues
342
-
343
- ❌ **Problem**: Video doesn't match expectations
344
- ✅ **Solution**: Be more specific in prompt, include camera movements
345
-
346
- ### Performance Issues
347
-
348
- ❌ **Problem**: Very slow generation
349
- ✅ **Solution**: Show progress, allow cancellation, use shorter duration
350
-
351
- ### Memory Issues
352
-
353
- ❌ **Problem**: App crashes during generation
354
- ✅ **Solution**: Clean up properly, implement streaming, optimize memory
355
-
356
- ### Quality Issues
357
-
358
- ❌ **Problem**: Poor video quality
359
- ✅ **Solution**: Use higher quality model, better prompts
360
-
361
- ---
362
-
363
- ## 📦 Related Components
364
-
365
- Use these components from the library:
366
-
367
- - **GenerationProgressModal**: Progress display
368
- - **StyleSelector**: Style selection UI
369
- - **AspectRatioSelector**: Aspect ratio picker
370
- - **DurationSelector**: Duration options
371
- - **VideoPlayer**: Video playback component
372
-
373
- Located at: `src/presentation/components/`
374
-
375
- ---
376
-
377
- ## 🔄 Migration Strategy
378
-
379
- If migrating from previous implementation:
380
-
381
- 1. **Update imports** to new path
382
- 2. **Replace old config** with new structure
383
- 3. **Update state handling** to match new interface
384
- 4. **Test all error cases**
385
- 5. **Update UI components** for new state structure
386
-
387
- ---
388
-
389
- ## 📚 Additional Resources
390
-
391
- - Main documentation: `/docs/`
392
- - API reference: `/docs/api/`
393
- - Examples: `/docs/examples/basic/text-to-video/`
394
- - Architecture: `/ARCHITECTURE.md`
395
-
396
- ---
397
-
398
- **Last Updated**: 2025-01-08
399
- **Version**: 2.0.0 (Strategy-based Documentation)
400
-
401
- ---
402
-
403
- ## 📝 Changelog
404
-
405
- ### v2.0.0 - 2025-01-08
406
- - **BREAKING**: Documentation format changed to strategy-based
407
- - Removed extensive code examples
408
- - Added rules, prohibitions, and AI agent directions
409
- - Focus on best practices and implementation guidance
410
-
411
- ### v1.0.0 - Initial Release
412
- - Initial feature documentation
@@ -1 +0,0 @@
1
- export * from "./types";
@@ -1,69 +0,0 @@
1
- /**
2
- * Text-to-Video Callback Types
3
- * Single Responsibility: Define callback function signatures
4
- */
5
-
6
- import type { TextToVideoResult } from "./request.types";
7
-
8
- export interface VideoModerationResult {
9
- allowed: boolean;
10
- warnings: string[];
11
- }
12
-
13
- export interface ProjectData {
14
- videoUrl: string;
15
- thumbnailUrl?: string;
16
- prompt: string;
17
- aspectRatio: string;
18
- duration: number;
19
- style: string;
20
- }
21
-
22
- export interface CreationData {
23
- type: "text-to-video";
24
- videoUrl: string;
25
- thumbnailUrl?: string;
26
- prompt: string;
27
- metadata?: Record<string, unknown>;
28
- }
29
-
30
- export interface GenerationStartData {
31
- creationId: string;
32
- type: "text-to-video";
33
- prompt: string;
34
- metadata?: Record<string, unknown>;
35
- }
36
-
37
- export interface TextToVideoCallbacks {
38
- onCreditCheck?: (cost: number) => Promise<boolean>;
39
- onCreditDeduct?: (cost: number) => Promise<void>;
40
- onAuthCheck?: () => boolean;
41
- onModeration?: (prompt: string) => Promise<VideoModerationResult>;
42
- /** Called when generation starts - save a "processing" creation */
43
- onGenerationStart?: (data: GenerationStartData) => Promise<void>;
44
- /** Called when generation completes - update creation to "completed" */
45
- onCreationSave?: (data: CreationData & { creationId: string }) => Promise<void>;
46
- onGenerate?: (result: TextToVideoResult) => void;
47
- onError?: (error: string) => void;
48
- onProgress?: (progress: number) => void;
49
- onPromptChange?: (prompt: string) => void;
50
- onStyleChange?: (style: string) => void;
51
- onTabChange?: (tab: string) => void;
52
- onShowPaywall?: (cost: number) => void;
53
- onShowModerationWarning?: (
54
- warnings: string[],
55
- onCancel: () => void,
56
- onProceed: () => void,
57
- ) => void;
58
- onNavigateToProjects?: () => void;
59
- onNavigateToEditor?: (videoUrl: string) => void;
60
- }
61
-
62
- export interface TextToVideoTranslations {
63
- promptPlaceholder: string;
64
- generateButtonText: string;
65
- processingText: string;
66
- successText: string;
67
- missingPromptTitle: string;
68
- missingPromptMessage: string;
69
- }
@@ -1,106 +0,0 @@
1
- /**
2
- * Text-to-Video Component Prop Types
3
- * Single Responsibility: Define component prop interfaces
4
- */
5
-
6
- import type { ViewStyle } from "react-native";
7
- import type { FrameData } from "./state.types";
8
- import type { TabConfig, VideoStyleOption, AspectRatioOption, VideoDurationOption } from "./config.types";
9
-
10
- export interface GenerationTabsProps {
11
- tabs: TabConfig[];
12
- activeTab: string;
13
- onTabChange: (tabId: string) => void;
14
- getLabel: (key: string) => string;
15
- style?: ViewStyle;
16
- }
17
-
18
- export interface FrameSelectorProps {
19
- frames: FrameData[];
20
- onFrameChange: (index: number) => void;
21
- onFrameDelete: (index: number) => void;
22
- startLabel: string;
23
- endLabel: string;
24
- changeLabel: string;
25
- deleteLabel: string;
26
- style?: ViewStyle;
27
- }
28
-
29
- export interface OptionsPanelProps {
30
- soundEnabled: boolean;
31
- onSoundToggle: (value: boolean) => void;
32
- professionalMode: boolean;
33
- onProfessionalModeToggle: (value: boolean) => void;
34
- duration: number;
35
- soundLabel: string;
36
- soundBadge?: string;
37
- professionalLabel: string;
38
- style?: ViewStyle;
39
- }
40
-
41
- export interface HeroSectionProps {
42
- title: string;
43
- subtitle: string;
44
- icon?: string;
45
- style?: ViewStyle;
46
- }
47
-
48
- export interface HintCarouselProps {
49
- hints: HintItem[];
50
- onHintSelect: (hint: HintItem) => void;
51
- onRefresh?: () => void;
52
- style?: ViewStyle;
53
- }
54
-
55
- export interface HintItem {
56
- id: string;
57
- imageUrl: string;
58
- prompt?: string;
59
- }
60
-
61
- export interface StyleSelectorProps {
62
- styles: VideoStyleOption[];
63
- selectedStyle: string;
64
- onStyleSelect: (styleId: string) => void;
65
- getLabel: (key: string) => string;
66
- title: string;
67
- style?: ViewStyle;
68
- }
69
-
70
- export interface AspectRatioSelectorProps {
71
- ratios: AspectRatioOption[];
72
- selectedRatio: string;
73
- onRatioSelect: (ratioId: string) => void;
74
- getLabel: (key: string) => string;
75
- style?: ViewStyle;
76
- }
77
-
78
- export interface DurationSelectorProps {
79
- durations: VideoDurationOption[];
80
- selectedDuration: number;
81
- onDurationSelect: (duration: number) => void;
82
- getLabel: (key: string) => string;
83
- style?: ViewStyle;
84
- }
85
-
86
- export interface GenerateButtonProps {
87
- isGenerating: boolean;
88
- isDisabled: boolean;
89
- onPress: () => void;
90
- credits?: number;
91
- label: string;
92
- generatingLabel: string;
93
- style?: ViewStyle;
94
- }
95
-
96
- export interface ExamplePromptsProps {
97
- prompts: ExamplePrompt[];
98
- onPromptSelect: (prompt: string) => void;
99
- style?: ViewStyle;
100
- }
101
-
102
- export interface ExamplePrompt {
103
- id: string;
104
- text: string;
105
- emoji?: string;
106
- }
@@ -1,61 +0,0 @@
1
- /**
2
- * Text-to-Video Configuration Types
3
- * Single Responsibility: Define configuration interfaces for flexibility
4
- */
5
-
6
- export interface TabConfig {
7
- id: string;
8
- labelKey: string;
9
- }
10
-
11
- export interface VideoStyleOption {
12
- id: string;
13
- nameKey: string;
14
- descriptionKey?: string;
15
- thumbnail?: string;
16
- }
17
-
18
- export interface AspectRatioOption {
19
- id: string;
20
- value: string;
21
- labelKey: string;
22
- icon?: string;
23
- }
24
-
25
- export interface VideoDurationOption {
26
- value: number;
27
- labelKey: string;
28
- }
29
-
30
- export interface OptionToggleConfig {
31
- id: string;
32
- labelKey: string;
33
- badgeKey?: string;
34
- defaultValue?: boolean;
35
- }
36
-
37
- export interface TextToVideoConfig {
38
- model: string;
39
- creditCost: number;
40
- maxPromptLength?: number;
41
- enableFrames?: boolean;
42
- enableHints?: boolean;
43
- enableSound?: boolean;
44
- enableProfessionalMode?: boolean;
45
- tabs?: TabConfig[];
46
- styles?: VideoStyleOption[];
47
- aspectRatios?: AspectRatioOption[];
48
- durations?: VideoDurationOption[];
49
- options?: OptionToggleConfig[];
50
- }
51
-
52
- export interface HeroConfig {
53
- titleKey: string;
54
- subtitleKey: string;
55
- icon?: string;
56
- }
57
-
58
- export interface ProgressConfig {
59
- titleKey: string;
60
- hintKey: string;
61
- }
@@ -1,56 +0,0 @@
1
- /**
2
- * Text-to-Video Domain Types
3
- * Single Responsibility: Export all domain types
4
- */
5
-
6
- export type {
7
- TextToVideoOptions,
8
- TextToVideoRequest,
9
- TextToVideoResult,
10
- TextToVideoInputBuilder,
11
- TextToVideoResultExtractor,
12
- } from "./request.types";
13
-
14
- export type {
15
- TextToVideoFeatureState,
16
- TextToVideoFormState,
17
- TextToVideoGenerationState,
18
- FrameData,
19
- } from "./state.types";
20
-
21
- export { INITIAL_FORM_STATE, INITIAL_GENERATION_STATE } from "./state.types";
22
-
23
- export type {
24
- TabConfig,
25
- VideoStyleOption,
26
- AspectRatioOption,
27
- VideoDurationOption,
28
- OptionToggleConfig,
29
- TextToVideoConfig,
30
- HeroConfig,
31
- ProgressConfig,
32
- } from "./config.types";
33
-
34
- export type {
35
- VideoModerationResult,
36
- ProjectData,
37
- CreationData,
38
- GenerationStartData,
39
- TextToVideoCallbacks,
40
- TextToVideoTranslations,
41
- } from "./callback.types";
42
-
43
- export type {
44
- GenerationTabsProps,
45
- FrameSelectorProps,
46
- OptionsPanelProps,
47
- HeroSectionProps,
48
- HintCarouselProps,
49
- HintItem,
50
- StyleSelectorProps,
51
- AspectRatioSelectorProps,
52
- DurationSelectorProps,
53
- GenerateButtonProps,
54
- ExamplePromptsProps,
55
- ExamplePrompt,
56
- } from "./component.types";