@umituz/react-native-ai-generation-content 1.61.64 → 1.61.65

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@umituz/react-native-ai-generation-content",
3
- "version": "1.61.64",
3
+ "version": "1.61.65",
4
4
  "description": "Provider-agnostic AI generation orchestration for React Native with result preview components",
5
5
  "main": "src/index.ts",
6
6
  "types": "src/index.ts",
@@ -7,11 +7,6 @@ export {
7
7
  DEFAULT_ANIMATION_STYLE_ID,
8
8
  } from "./animation.constants";
9
9
 
10
- export {
11
- DEFAULT_MUSIC_MOODS,
12
- DEFAULT_MUSIC_MOOD_ID,
13
- } from "./music.constants";
14
-
15
10
  export {
16
11
  DEFAULT_DURATION_OPTIONS,
17
12
  DEFAULT_VIDEO_DURATION,
@@ -1,9 +1,6 @@
1
1
  // Animation Types
2
2
  export type { AnimationStyle, AnimationStyleId } from "./animation.types";
3
3
 
4
- // Music Types
5
- export type { MusicMood, MusicMoodId } from "./music.types";
6
-
7
4
  // Duration Types
8
5
  export type { VideoDuration, DurationOption } from "./duration.types";
9
6
 
@@ -10,9 +10,6 @@
10
10
  // Animation Types
11
11
  export type { AnimationStyle, AnimationStyleId } from "./domain";
12
12
 
13
- // Music Types
14
- export type { MusicMood, MusicMoodId } from "./domain";
15
-
16
13
  // Duration Types
17
14
  export type { VideoDuration, DurationOption } from "./domain";
18
15
 
@@ -54,8 +51,6 @@ export type {
54
51
  export {
55
52
  DEFAULT_ANIMATION_STYLES as IMAGE_TO_VIDEO_ANIMATION_STYLES,
56
53
  DEFAULT_ANIMATION_STYLE_ID as IMAGE_TO_VIDEO_DEFAULT_ANIMATION,
57
- DEFAULT_MUSIC_MOODS as IMAGE_TO_VIDEO_MUSIC_MOODS,
58
- DEFAULT_MUSIC_MOOD_ID as IMAGE_TO_VIDEO_DEFAULT_MUSIC,
59
54
  DEFAULT_DURATION_OPTIONS as IMAGE_TO_VIDEO_DURATION_OPTIONS,
60
55
  DEFAULT_VIDEO_DURATION as IMAGE_TO_VIDEO_DEFAULT_DURATION,
61
56
  DEFAULT_FORM_VALUES as IMAGE_TO_VIDEO_FORM_DEFAULTS,
@@ -101,7 +96,6 @@ export type {
101
96
  export {
102
97
  ImageToVideoAnimationStyleSelector,
103
98
  ImageToVideoDurationSelector,
104
- ImageToVideoMusicMoodSelector,
105
99
  ImageToVideoSelectionGrid,
106
100
  ImageToVideoGenerateButton,
107
101
  } from "./presentation";
@@ -109,7 +103,6 @@ export {
109
103
  export type {
110
104
  ImageToVideoAnimationStyleSelectorProps,
111
105
  ImageToVideoDurationSelectorProps,
112
- ImageToVideoMusicMoodSelectorProps,
113
106
  ImageToVideoSelectionGridProps,
114
107
  ImageToVideoSelectionGridTranslations,
115
108
  ImageToVideoGenerateButtonProps,
@@ -10,10 +10,6 @@ export type { AnimationStyleSelectorProps as ImageToVideoAnimationStyleSelectorP
10
10
  export { DurationSelector as ImageToVideoDurationSelector } from "./DurationSelector";
11
11
  export type { DurationSelectorProps as ImageToVideoDurationSelectorProps } from "./DurationSelector";
12
12
 
13
- // Music Mood Selector
14
- export { MusicMoodSelector as ImageToVideoMusicMoodSelector } from "./MusicMoodSelector";
15
- export type { MusicMoodSelectorProps as ImageToVideoMusicMoodSelectorProps } from "./MusicMoodSelector";
16
-
17
13
  // Image Selection Grid
18
14
  export { ImageSelectionGrid as ImageToVideoSelectionGrid } from "./ImageSelectionGrid";
19
15
  export type {
@@ -55,7 +55,7 @@ export {
55
55
 
56
56
  // Image-to-Video Feature
57
57
  export type {
58
- AnimationStyle, AnimationStyleId, MusicMood, MusicMoodId,
58
+ AnimationStyle, AnimationStyleId,
59
59
  VideoDuration, DurationOption as ImageToVideoDurationOption,
60
60
  ImageToVideoFormState, ImageToVideoFormActions, ImageToVideoFormDefaults,
61
61
  ImageToVideoCallbacks, ImageToVideoFormConfig, ImageToVideoTranslationsExtended,
@@ -68,18 +68,17 @@ export type {
68
68
  UseImageToVideoFormOptions, UseImageToVideoFormReturn,
69
69
  UseImageToVideoFeatureProps, UseImageToVideoFeatureReturn,
70
70
  ImageToVideoAnimationStyleSelectorProps, ImageToVideoDurationSelectorProps,
71
- ImageToVideoMusicMoodSelectorProps, ImageToVideoSelectionGridProps,
71
+ ImageToVideoSelectionGridProps,
72
72
  ImageToVideoSelectionGridTranslations, ImageToVideoGenerateButtonProps,
73
73
  } from "../domains/image-to-video";
74
74
  export {
75
75
  IMAGE_TO_VIDEO_ANIMATION_STYLES, IMAGE_TO_VIDEO_DEFAULT_ANIMATION,
76
- IMAGE_TO_VIDEO_MUSIC_MOODS, IMAGE_TO_VIDEO_DEFAULT_MUSIC,
77
76
  IMAGE_TO_VIDEO_DURATION_OPTIONS, IMAGE_TO_VIDEO_DEFAULT_DURATION,
78
77
  IMAGE_TO_VIDEO_FORM_DEFAULTS, IMAGE_TO_VIDEO_CONFIG,
79
78
  executeImageToVideo, hasImageToVideoSupport,
80
79
  useImageToVideoFormState, useImageToVideoGeneration, useImageToVideoForm, useImageToVideoFeature,
81
80
  ImageToVideoAnimationStyleSelector, ImageToVideoDurationSelector,
82
- ImageToVideoMusicMoodSelector, ImageToVideoSelectionGrid, ImageToVideoGenerateButton,
81
+ ImageToVideoSelectionGrid, ImageToVideoGenerateButton,
83
82
  } from "../domains/image-to-video";
84
83
 
85
84
  // Wizard Flows
@@ -1,53 +0,0 @@
1
- /**
2
- * Music Mood Constants
3
- * Default music moods for image-to-video
4
- */
5
-
6
- import type { MusicMood } from "../types";
7
-
8
- export const DEFAULT_MUSIC_MOODS: MusicMood[] = [
9
- {
10
- id: "none",
11
- name: "No Music",
12
- description: "Silent video",
13
- icon: "volume-mute-outline",
14
- },
15
- {
16
- id: "energetic",
17
- name: "Energetic",
18
- description: "Upbeat and dynamic",
19
- icon: "flash-outline",
20
- },
21
- {
22
- id: "calm",
23
- name: "Calm",
24
- description: "Peaceful and relaxing",
25
- icon: "leaf-outline",
26
- },
27
- {
28
- id: "happy",
29
- name: "Happy",
30
- description: "Cheerful and joyful",
31
- icon: "happy-outline",
32
- },
33
- {
34
- id: "emotional",
35
- name: "Emotional",
36
- description: "Touching and heartfelt",
37
- icon: "heart-outline",
38
- },
39
- {
40
- id: "rhythmic",
41
- name: "Rhythmic",
42
- description: "Beat-driven and groovy",
43
- icon: "musical-notes-outline",
44
- },
45
- {
46
- id: "custom",
47
- name: "Custom",
48
- description: "Upload your own audio",
49
- icon: "cloud-upload-outline",
50
- },
51
- ];
52
-
53
- export const DEFAULT_MUSIC_MOOD_ID = "none";
@@ -1,21 +0,0 @@
1
- /**
2
- * Music Types for Image-to-Video
3
- * Defines music mood options
4
- */
5
-
6
- export interface MusicMood {
7
- id: string;
8
- name: string;
9
- description: string;
10
- icon: string;
11
- }
12
-
13
- export type MusicMoodId =
14
- | "none"
15
- | "energetic"
16
- | "calm"
17
- | "happy"
18
- | "emotional"
19
- | "rhythmic"
20
- | "custom"
21
- | string;
@@ -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
- });