@umituz/react-native-ai-generation-content 1.72.30 → 1.72.31

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.72.30",
3
+ "version": "1.72.31",
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",
@@ -31,7 +31,12 @@ export const IMAGE_TO_VIDEO_WIZARD_CONFIG: WizardFeatureConfig = {
31
31
  type: "selection",
32
32
  titleKey: "generation.duration.title",
33
33
  selectionType: "duration",
34
- options: [{ id: "4s", label: "4 seconds", value: 4 }],
34
+ layout: "list",
35
+ options: [
36
+ { id: "4s", label: "4 seconds", value: 4 },
37
+ { id: "5s", label: "5 seconds", value: 5 },
38
+ { id: "6s", label: "6 seconds", value: 6 },
39
+ ],
35
40
  required: true,
36
41
  defaultValue: "4s",
37
42
  },
@@ -49,7 +49,12 @@ export const TEXT_TO_VIDEO_WIZARD_CONFIG: WizardFeatureConfig = {
49
49
  type: "selection",
50
50
  titleKey: "generation.duration.title",
51
51
  selectionType: "duration",
52
- options: [{ id: "4s", label: "4 seconds", value: 4 }],
52
+ layout: "list",
53
+ options: [
54
+ { id: "4s", label: "4 seconds", value: 4 },
55
+ { id: "5s", label: "5 seconds", value: 5 },
56
+ { id: "6s", label: "6 seconds", value: 6 },
57
+ ],
53
58
  required: true,
54
59
  defaultValue: "4s",
55
60
  },
@@ -134,7 +134,7 @@ export const SelectionScreen: React.FC<SelectionScreenProps> = ({
134
134
  <ScreenLayout scrollable={true} edges={["left", "right"]} hideScrollIndicator={true} contentContainerStyle={styles.scrollContent}>
135
135
  <AtomicText type="headlineMedium" color="textPrimary" style={styles.title}>{translations.title}</AtomicText>
136
136
  {translations.subtitle ? <AtomicText type="bodyMedium" color="textSecondary" style={styles.subtitle}>{translations.subtitle}</AtomicText> : null}
137
- <View style={styles.optionsGrid}>{options.map(renderOption)}</View>
137
+ <View style={[styles.optionsGrid, config?.layout === "grid" && { flexDirection: "row", flexWrap: "wrap" }]}>{options.map(renderOption)}</View>
138
138
  </ScreenLayout>
139
139
  </View>
140
140
  );
@@ -145,19 +145,19 @@ const createStyles = (tokens: DesignTokens) =>
145
145
  scrollContent: { paddingHorizontal: tokens.spacing.lg, paddingBottom: 40 },
146
146
  title: { marginBottom: tokens.spacing.sm },
147
147
  subtitle: { marginBottom: tokens.spacing.lg },
148
- optionsGrid: { flexDirection: "row", flexWrap: "wrap", gap: tokens.spacing.sm },
148
+ optionsGrid: { gap: tokens.spacing.sm },
149
149
  optionCard: {
150
150
  flex: 1,
151
- minWidth: "45%",
151
+ width: "100%",
152
152
  padding: tokens.spacing.md,
153
153
  borderWidth: 2,
154
154
  borderRadius: tokens.borders.radius.md,
155
+ flexDirection: "row",
155
156
  alignItems: "center",
156
- justifyContent: "center",
157
- gap: tokens.spacing.xs,
157
+ gap: tokens.spacing.md,
158
158
  position: "relative",
159
159
  },
160
- optionLabel: { textAlign: "center" },
160
+ optionLabel: { flex: 1, textAlign: "left" },
161
161
  checkmark: {
162
162
  position: "absolute",
163
163
  top: tokens.spacing.xs,