@adminide-stack/yantra-mobile 12.0.125-alpha.1 → 12.0.125

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 (96) hide show
  1. package/lib/features/canvas/AudioEditorExperience.js +207 -109
  2. package/lib/features/canvas/AudioEditorExperience.js.map +1 -1
  3. package/lib/features/canvas/CanvasAgentChatPane.js +87 -72
  4. package/lib/features/canvas/CanvasAgentChatPane.js.map +1 -1
  5. package/lib/features/canvas/CanvasBoardsGrid.js +494 -387
  6. package/lib/features/canvas/CanvasBoardsGrid.js.map +1 -1
  7. package/lib/features/canvas/CanvasChatResultCard.js +78 -59
  8. package/lib/features/canvas/CanvasChatResultCard.js.map +1 -1
  9. package/lib/features/canvas/CanvasEditToolsPanel.js +126 -84
  10. package/lib/features/canvas/CanvasEditToolsPanel.js.map +1 -1
  11. package/lib/features/canvas/CanvasExperience.js +108 -126
  12. package/lib/features/canvas/CanvasExperience.js.map +1 -1
  13. package/lib/features/canvas/CanvasGeneratePanel.js +178 -166
  14. package/lib/features/canvas/CanvasGeneratePanel.js.map +1 -1
  15. package/lib/features/canvas/CanvasLibrarySheet.js +119 -123
  16. package/lib/features/canvas/CanvasLibrarySheet.js.map +1 -1
  17. package/lib/features/canvas/CanvasLooksPanel.js +113 -89
  18. package/lib/features/canvas/CanvasLooksPanel.js.map +1 -1
  19. package/lib/features/canvas/CanvasModelPicker.js +79 -79
  20. package/lib/features/canvas/CanvasModelPicker.js.map +1 -1
  21. package/lib/features/canvas/CanvasTasksPanel.js +193 -128
  22. package/lib/features/canvas/CanvasTasksPanel.js.map +1 -1
  23. package/lib/features/canvas/CanvasTemplatesPanel.js +106 -94
  24. package/lib/features/canvas/CanvasTemplatesPanel.js.map +1 -1
  25. package/lib/features/canvas/CanvasToolDock.js +195 -127
  26. package/lib/features/canvas/CanvasToolDock.js.map +1 -1
  27. package/lib/features/canvas/FrameExtractorExperience.js +163 -100
  28. package/lib/features/canvas/FrameExtractorExperience.js.map +1 -1
  29. package/lib/features/canvas/GeneratorReferenceSlots.js +132 -69
  30. package/lib/features/canvas/GeneratorReferenceSlots.js.map +1 -1
  31. package/lib/features/canvas/ImageEditorExperience.js +278 -209
  32. package/lib/features/canvas/ImageEditorExperience.js.map +1 -1
  33. package/lib/features/canvas/InfluencerStudioExperience.js +167 -125
  34. package/lib/features/canvas/InfluencerStudioExperience.js.map +1 -1
  35. package/lib/features/canvas/MoodboardExperience.js +102 -85
  36. package/lib/features/canvas/MoodboardExperience.js.map +1 -1
  37. package/lib/features/canvas/NativeCanvasViewer.js +203 -192
  38. package/lib/features/canvas/NativeCanvasViewer.js.map +1 -1
  39. package/lib/features/canvas/PromoContextFields.js +125 -92
  40. package/lib/features/canvas/PromoContextFields.js.map +1 -1
  41. package/lib/features/canvas/SetStudioExperience.js +225 -143
  42. package/lib/features/canvas/SetStudioExperience.js.map +1 -1
  43. package/lib/features/canvas/VideoClipsExperience.js +126 -92
  44. package/lib/features/canvas/VideoClipsExperience.js.map +1 -1
  45. package/lib/features/canvas/VideoEditExperience.js +154 -142
  46. package/lib/features/canvas/VideoEditExperience.js.map +1 -1
  47. package/lib/features/canvas/VideoEditorExperience.js +551 -492
  48. package/lib/features/canvas/VideoEditorExperience.js.map +1 -1
  49. package/lib/features/canvas/VideoGeneratorExperience.js +284 -131
  50. package/lib/features/canvas/VideoGeneratorExperience.js.map +1 -1
  51. package/lib/features/canvas/canvasTasks.js +7 -3
  52. package/lib/features/canvas/canvasTasks.js.map +1 -1
  53. package/lib/features/canvas/canvasTheme.js +265 -0
  54. package/lib/features/canvas/canvasTheme.js.map +1 -0
  55. package/lib/features/canvas/canvasUi.js +381 -0
  56. package/lib/features/canvas/canvasUi.js.map +1 -0
  57. package/lib/features/canvas/recorder/CameraRecorderExperience.js +109 -52
  58. package/lib/features/canvas/recorder/CameraRecorderExperience.js.map +1 -1
  59. package/lib/features/canvas/serverTasks.js +1 -1
  60. package/lib/features/canvas/serverTasks.js.map +1 -1
  61. package/lib/features/canvas/set/SetViewportWebView.js +1 -1
  62. package/lib/features/canvas/set/SetViewportWebView.js.map +1 -1
  63. package/lib/features/canvas/videoEditor/BlurBoxOverlay.js +8 -7
  64. package/lib/features/canvas/videoEditor/BlurBoxOverlay.js.map +1 -1
  65. package/lib/features/canvas/videoEditor/ExportTaskCard.js +44 -41
  66. package/lib/features/canvas/videoEditor/ExportTaskCard.js.map +1 -1
  67. package/lib/features/canvas/videoEditor/agent/AgentCutPane.js +50 -45
  68. package/lib/features/canvas/videoEditor/agent/AgentCutPane.js.map +1 -1
  69. package/lib/features/canvas/videoEditor/exportTask.js +3 -2
  70. package/lib/features/canvas/videoEditor/exportTask.js.map +1 -1
  71. package/lib/features/canvas/videoEditor/formWidgets.js +116 -64
  72. package/lib/features/canvas/videoEditor/formWidgets.js.map +1 -1
  73. package/lib/features/canvas/videoEditor/produce/ProduceVideoSheet.js +77 -63
  74. package/lib/features/canvas/videoEditor/produce/ProduceVideoSheet.js.map +1 -1
  75. package/lib/features/canvas/videoEditor/tools/ToolsDrawer.js +95 -79
  76. package/lib/features/canvas/videoEditor/tools/ToolsDrawer.js.map +1 -1
  77. package/lib/features/design/DesignEditorExperience.js +241 -160
  78. package/lib/features/design/DesignEditorExperience.js.map +1 -1
  79. package/lib/features/design/DesignExperience.js +300 -143
  80. package/lib/features/design/DesignExperience.js.map +1 -1
  81. package/lib/features/webbuilder/WebBuilderExperience.js +1 -1
  82. package/lib/features/webbuilder/WebBuilderExperience.js.map +1 -1
  83. package/lib/features/webbuilder/buildFragments.js +3 -2
  84. package/lib/features/webbuilder/buildFragments.js.map +1 -1
  85. package/lib/features/webbuilder/components/PublishSheet.js +1 -1
  86. package/lib/features/webbuilder/components/PublishSheet.js.map +1 -1
  87. package/lib/features/webbuilder/webbuilderPrompts.js +2 -5
  88. package/lib/features/webbuilder/webbuilderPrompts.js.map +1 -1
  89. package/lib/screens/WebBuilderNative/sandboxProxyApi.js +120 -0
  90. package/lib/screens/WebBuilderNative/sandboxProxyApi.js.map +1 -0
  91. package/lib/screens/WebBuilderNative/useRestoredSandboxes.js.map +1 -1
  92. package/lib/screens/WebBuilderNative/useWebBuilderHost.js +26 -4
  93. package/lib/screens/WebBuilderNative/useWebBuilderHost.js.map +1 -1
  94. package/lib/screens/WebBuilderNative/webbuilderTransport.js +110 -7
  95. package/lib/screens/WebBuilderNative/webbuilderTransport.js.map +1 -1
  96. package/package.json +4 -4
@@ -1,4 +1,4 @@
1
- import {jsxs,jsx,Fragment}from'react/jsx-runtime';import {useMemo,useState,useRef,useCallback}from'react';import {StyleSheet,View,Pressable,Text,ScrollView,TextInput,FlatList,Image,ActivityIndicator}from'react-native';import {MaterialCommunityIcons}from'@expo/vector-icons';import {useSafeAreaInsets}from'react-native-safe-area-context';import {friendlyMediaError,resultUrl}from'./videoEditor/mediaActions.js';import {unwrapProxyUrl,deriveAgentEndpoint}from'./videoEditor/remoteMediaClient.js';import {generateWorld3D,generateObject3D,renderSetStill}from'./video3d.js';import {MOVES,frameCount,cameraPath}from'./set/cameraPath.js';import {newSet,MESH_TARGET_HEIGHT_M,newObjectId,vec3}from'./set/setProject.js';import {SetViewportWebView}from'./set/SetViewportWebView.js';import {KIT_ENTRIES}from'./set/supplyLibrary.js';import {tidySet,updateObjects,removeObjects,placeObjects,uniqueName}from'./set/agent/setOps.js';import {runSetTurn}from'./set/agent/setTurn.js';var __defProp = Object.defineProperty;
1
+ import {jsxs,jsx,Fragment}from'react/jsx-runtime';import {useMemo,useState,useRef,useCallback}from'react';import {View,Text,ScrollView,TextInput,FlatList,Image,ActivityIndicator,StyleSheet}from'react-native';import {MaterialCommunityIcons}from'@expo/vector-icons';import {useSafeAreaInsets}from'react-native-safe-area-context';import {friendlyMediaError,resultUrl}from'./videoEditor/mediaActions.js';import {unwrapProxyUrl,deriveAgentEndpoint}from'./videoEditor/remoteMediaClient.js';import {generateWorld3D,generateObject3D,renderSetStill}from'./video3d.js';import {MOVES,frameCount,cameraPath}from'./set/cameraPath.js';import {newSet,MESH_TARGET_HEIGHT_M,newObjectId,vec3}from'./set/setProject.js';import {SetViewportWebView}from'./set/SetViewportWebView.js';import {KIT_ENTRIES}from'./set/supplyLibrary.js';import {tidySet,updateObjects,removeObjects,placeObjects,uniqueName}from'./set/agent/setOps.js';import {runSetTurn}from'./set/agent/setTurn.js';import {useCanvasTheme,themedStyles}from'./canvasTheme.js';import {Pressable,pressedStyle,SPACE,RADIUS,HIT,TYPE}from'./canvasUi.js';var __defProp = Object.defineProperty;
2
2
  var __defProps = Object.defineProperties;
3
3
  var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
4
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
@@ -17,7 +17,18 @@ var __spreadValues = (a, b) => {
17
17
  return a;
18
18
  };
19
19
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ const HSCROLL = {
21
+ flexGrow: 0
22
+ };
20
23
  const NUDGE_M = 0.25;
24
+ const TAB_ICONS = {
25
+ set: "auto-fix",
26
+ view: "rotate-3d-variant",
27
+ world: "earth",
28
+ object: "cube-outline",
29
+ render: "camera-iris",
30
+ move: "movie-open-outline"
31
+ };
21
32
  const LIFT_M = 0.1;
22
33
  const TURN_DEG = 15;
23
34
  const GROW = 1.15;
@@ -31,6 +42,8 @@ function SetStudioExperience({
31
42
  indexUrl
32
43
  }) {
33
44
  var _a, _b;
45
+ const theme = useCanvasTheme();
46
+ const styles = useMemo(() => makeStyles(theme), [theme]);
34
47
  const insets = useSafeAreaInsets();
35
48
  const stills = useMemo(() => boardItems.filter((item) => item.type === "image").map((item) => ({
36
49
  id: item.id,
@@ -342,23 +355,36 @@ function SetStudioExperience({
342
355
  paddingBottom: insets.bottom + 8
343
356
  }], children: [
344
357
  /* @__PURE__ */ jsxs(View, { style: styles.head, children: [
345
- /* @__PURE__ */ jsx(Pressable, { onPress: onClose, hitSlop: 10, children: /* @__PURE__ */ jsx(MaterialCommunityIcons, { name: "close", size: 22, color: "#e2e8f0" }) }),
358
+ /* @__PURE__ */ jsx(Pressable, { onPress: onClose, hitSlop: 10, style: ({
359
+ pressed
360
+ }) => [styles.headBtn, pressedStyle(pressed)], children: /* @__PURE__ */ jsx(MaterialCommunityIcons, { name: "close", size: 22, color: theme.edInk }) }),
346
361
  /* @__PURE__ */ jsx(Text, { style: styles.title, children: "3D set" }),
347
- /* @__PURE__ */ jsx(Pressable, { onPress: undo, hitSlop: 10, disabled: past.length === 0 || Boolean(busy), accessibilityLabel: "Undo", children: /* @__PURE__ */ jsx(MaterialCommunityIcons, { name: "undo", size: 22, color: past.length ? "#e2e8f0" : "#3f3f46" }) })
362
+ /* @__PURE__ */ jsx(Pressable, { onPress: undo, hitSlop: 10, disabled: past.length === 0 || Boolean(busy), accessibilityLabel: "Undo", style: ({
363
+ pressed
364
+ }) => [styles.headBtn, pressedStyle(pressed)], children: /* @__PURE__ */ jsx(MaterialCommunityIcons, { name: "undo", size: 22, color: past.length ? theme.edInk : theme.edInk3 }) })
348
365
  ] }),
349
366
  /* @__PURE__ */ jsx(View, { style: styles.viewport, children: /* @__PURE__ */ jsx(SetViewportWebView, { worldUrl, propUrl: project.objects.length ? void 0 : propUrl, camera: project.camera, objects: project.objects, lighting: project.lighting, onFrame, onLoadError: (what) => setError(what === "world" ? "The world backdrop would not load. Generate it again." : "The 3D object would not load. Generate it again."), webRef: viewportApi }) }),
350
- /* @__PURE__ */ jsx(ScrollView, { horizontal: true, showsHorizontalScrollIndicator: false, contentContainerStyle: styles.tabs, children: [["set", "Set"], ["view", "View"], ["world", "World"], ["object", "Object"], ["render", "Render"], ["move", "Move"]].map(([id, label]) => /* @__PURE__ */ jsx(Pressable, { onPress: () => setTab(id), style: [styles.tab, tab === id && styles.tabOn], children: /* @__PURE__ */ jsx(Text, { style: [styles.tabLabel, tab === id && styles.tabLabelOn], children: label }) }, id)) }),
351
- /* @__PURE__ */ jsxs(ScrollView, { style: styles.body, keyboardShouldPersistTaps: "handled", children: [
367
+ /* @__PURE__ */ jsx(ScrollView, { style: HSCROLL, horizontal: true, showsHorizontalScrollIndicator: false, contentContainerStyle: styles.tabs, children: [["set", "Set"], ["view", "View"], ["world", "World"], ["object", "Object"], ["render", "Render"], ["move", "Move"]].map(([id, label]) => /* @__PURE__ */ jsxs(Pressable, { onPress: () => setTab(id), style: ({
368
+ pressed
369
+ }) => [styles.tab, pressedStyle(pressed)], children: [
370
+ /* @__PURE__ */ jsx(View, { style: [styles.tabIcon, tab === id && styles.tabIconOn], children: /* @__PURE__ */ jsx(MaterialCommunityIcons, { name: TAB_ICONS[id], size: 22, color: tab === id ? theme.edInk : theme.edInk3 }) }),
371
+ /* @__PURE__ */ jsx(Text, { style: [styles.tabLabel, tab === id && styles.tabLabelOn], children: label })
372
+ ] }, id)) }),
373
+ /* @__PURE__ */ jsxs(ScrollView, { style: styles.body, contentContainerStyle: styles.bodyContent, keyboardShouldPersistTaps: "handled", children: [
352
374
  tab === "set" ? /* @__PURE__ */ jsxs(Fragment, { children: [
353
- /* @__PURE__ */ jsx(TextInput, { value: brief, onChangeText: setBrief, style: styles.input, multiline: true, placeholderTextColor: "#7A7A88", placeholder: project.objects.length ? 'Change it: "lower the camera", "add a second figure"\u2026' : 'Describe the set: "a barista behind a caf\xE9 counter at dawn"', accessibilityLabel: "Describe the set" }),
354
- /* @__PURE__ */ jsx(Pressable, { onPress: () => void describeSet(), style: [styles.cta, (!brief.trim() || Boolean(busy)) && styles.ctaOff], disabled: !brief.trim() || Boolean(busy), children: /* @__PURE__ */ jsx(Text, { style: styles.ctaLabel, children: project.objects.length ? "Ask the set agent" : "Describe the set" }) }),
375
+ /* @__PURE__ */ jsx(TextInput, { value: brief, onChangeText: setBrief, style: styles.input, multiline: true, placeholderTextColor: theme.edInk3, placeholder: project.objects.length ? 'Change it: "lower the camera", "add a second figure"\u2026' : 'Describe the set: "a barista behind a caf\xE9 counter at dawn"', accessibilityLabel: "Describe the set" }),
376
+ /* @__PURE__ */ jsx(Pressable, { onPress: () => void describeSet(), style: ({
377
+ pressed
378
+ }) => [styles.cta, (!brief.trim() || Boolean(busy)) && styles.ctaOff, pressedStyle(pressed)], disabled: !brief.trim() || Boolean(busy), children: /* @__PURE__ */ jsx(Text, { style: styles.ctaLabel, children: project.objects.length ? "Ask the set agent" : "Describe the set" }) }),
355
379
  steps.length ? /* @__PURE__ */ jsx(View, { style: styles.steps, children: steps.map((step, i) => /* @__PURE__ */ jsxs(Text, { style: styles.step, numberOfLines: 1, children: [
356
380
  step.label,
357
381
  step.detail ? ` \xB7 ${step.detail}` : ""
358
382
  ] }, `${i}-${step.label}`)) }) : null,
359
383
  agentReply ? /* @__PURE__ */ jsx(Text, { style: styles.reply, children: agentReply }) : null,
360
384
  /* @__PURE__ */ jsx(Text, { style: styles.section, children: "Pieces" }),
361
- project.objects.length === 0 ? /* @__PURE__ */ jsx(Text, { style: styles.hint, children: "Nothing on the set yet. Describe it above, or add a piece." }) : /* @__PURE__ */ jsx(View, { style: styles.moveRow, children: project.objects.map((o) => /* @__PURE__ */ jsx(Pressable, { onPress: () => setSelectedId(o.id === selectedId ? null : o.id), style: [styles.chip, o.id === selectedId && styles.chipOn, o.hidden && styles.chipHidden], children: /* @__PURE__ */ jsxs(Text, { style: [styles.chipLabel, o.id === selectedId && styles.chipLabelOn], children: [
385
+ project.objects.length === 0 ? /* @__PURE__ */ jsx(Text, { style: styles.hint, children: "Nothing on the set yet. Describe it above, or add a piece." }) : /* @__PURE__ */ jsx(View, { style: styles.moveRow, children: project.objects.map((o) => /* @__PURE__ */ jsx(Pressable, { onPress: () => setSelectedId(o.id === selectedId ? null : o.id), style: ({
386
+ pressed
387
+ }) => [styles.chip, o.id === selectedId && styles.chipOn, o.hidden && styles.chipHidden, pressedStyle(pressed)], children: /* @__PURE__ */ jsxs(Text, { style: [styles.chipLabel, o.id === selectedId && styles.chipLabelOn], children: [
362
388
  o.locked ? "\u{1F512} " : "",
363
389
  o.name
364
390
  ] }) }, o.id)) }),
@@ -392,25 +418,37 @@ function SetStudioExperience({
392
418
  y: selected.scale.y / GROW,
393
419
  z: selected.scale.z / GROW
394
420
  }
395
- }), "Smaller"]].map(([icon, onPress, label]) => /* @__PURE__ */ jsx(Pressable, { onPress, style: styles.iconBtn, accessibilityLabel: label, children: /* @__PURE__ */ jsx(MaterialCommunityIcons, { name: icon, size: 18, color: "#F7F7FA" }) }, label)) }),
421
+ }), "Smaller"]].map(([icon, onPress, label]) => /* @__PURE__ */ jsx(Pressable, { onPress, style: ({
422
+ pressed
423
+ }) => [styles.iconBtn, pressedStyle(pressed)], accessibilityLabel: label, children: /* @__PURE__ */ jsx(MaterialCommunityIcons, { name: icon, size: 20, color: theme.edInk }) }, label)) }),
396
424
  /* @__PURE__ */ jsxs(View, { style: styles.moveRow, children: [
397
425
  /* @__PURE__ */ jsx(Pressable, { onPress: () => editSelected({
398
426
  id: selected.id,
399
427
  hidden: !selected.hidden
400
- }), style: styles.chip, children: /* @__PURE__ */ jsx(Text, { style: styles.chipLabel, children: selected.hidden ? "Show" : "Hide" }) }),
428
+ }), style: ({
429
+ pressed
430
+ }) => [styles.chip, pressedStyle(pressed)], children: /* @__PURE__ */ jsx(Text, { style: styles.chipLabel, children: selected.hidden ? "Show" : "Hide" }) }),
401
431
  /* @__PURE__ */ jsx(Pressable, { onPress: () => editSelected({
402
432
  id: selected.id,
403
433
  locked: !selected.locked
404
- }), style: styles.chip, children: /* @__PURE__ */ jsx(Text, { style: styles.chipLabel, children: selected.locked ? "Unlock" : "Lock" }) }),
434
+ }), style: ({
435
+ pressed
436
+ }) => [styles.chip, pressedStyle(pressed)], children: /* @__PURE__ */ jsx(Text, { style: styles.chipLabel, children: selected.locked ? "Unlock" : "Lock" }) }),
405
437
  /* @__PURE__ */ jsx(Pressable, { onPress: () => {
406
438
  var _a2;
407
439
  return (_a2 = viewportApi.current) == null ? void 0 : _a2.frameObject(selected.id);
408
- }, style: styles.chip, children: /* @__PURE__ */ jsx(Text, { style: styles.chipLabel, children: "Frame" }) }),
409
- /* @__PURE__ */ jsx(Pressable, { onPress: deleteSelected, style: styles.chip, children: /* @__PURE__ */ jsx(Text, { style: [styles.chipLabel, styles.danger], children: "Delete" }) })
440
+ }, style: ({
441
+ pressed
442
+ }) => [styles.chip, pressedStyle(pressed)], children: /* @__PURE__ */ jsx(Text, { style: styles.chipLabel, children: "Frame" }) }),
443
+ /* @__PURE__ */ jsx(Pressable, { onPress: deleteSelected, style: ({
444
+ pressed
445
+ }) => [styles.chip, styles.chipDanger, pressedStyle(pressed)], children: /* @__PURE__ */ jsx(Text, { style: [styles.chipLabel, styles.danger], children: "Delete" }) })
410
446
  ] })
411
447
  ] }) : null,
412
448
  /* @__PURE__ */ jsx(Text, { style: styles.section, children: "Add a piece" }),
413
- /* @__PURE__ */ jsx(View, { style: styles.moveRow, children: KIT_ENTRIES.map((entry) => /* @__PURE__ */ jsx(Pressable, { onPress: () => addKit(entry.id), style: styles.chip, children: /* @__PURE__ */ jsx(Text, { style: styles.chipLabel, children: entry.label }) }, entry.id)) }),
449
+ /* @__PURE__ */ jsx(View, { style: styles.moveRow, children: KIT_ENTRIES.map((entry) => /* @__PURE__ */ jsx(Pressable, { onPress: () => addKit(entry.id), style: ({
450
+ pressed
451
+ }) => [styles.chip, pressedStyle(pressed)], children: /* @__PURE__ */ jsx(Text, { style: styles.chipLabel, children: entry.label }) }, entry.id)) }),
414
452
  /* @__PURE__ */ jsxs(Text, { style: styles.hint, children: [
415
453
  "Generated meshes are normalised to ",
416
454
  MESH_TARGET_HEIGHT_M,
@@ -419,215 +457,259 @@ function SetStudioExperience({
419
457
  ] }) : null,
420
458
  tab === "view" ? /* @__PURE__ */ jsx(Text, { style: styles.hint, children: "Drag to orbit. Use World / Object / Render / Move for the shot." }) : null,
421
459
  tab === "world" ? /* @__PURE__ */ jsxs(Fragment, { children: [
422
- /* @__PURE__ */ jsx(TextInput, { value: worldPrompt, onChangeText: setWorldPrompt, style: styles.input, multiline: true, placeholderTextColor: "#7A7A88" }),
423
- /* @__PURE__ */ jsx(Pressable, { onPress: () => void runWorld(), style: styles.cta, disabled: Boolean(busy), children: /* @__PURE__ */ jsx(Text, { style: styles.ctaLabel, children: "Generate world" }) })
460
+ /* @__PURE__ */ jsx(TextInput, { value: worldPrompt, onChangeText: setWorldPrompt, style: styles.input, multiline: true, placeholderTextColor: theme.edInk3 }),
461
+ /* @__PURE__ */ jsx(Pressable, { onPress: () => void runWorld(), style: ({
462
+ pressed
463
+ }) => [styles.cta, Boolean(busy) && styles.ctaOff, pressedStyle(pressed)], disabled: Boolean(busy), children: /* @__PURE__ */ jsx(Text, { style: styles.ctaLabel, children: "Generate world" }) })
424
464
  ] }) : null,
425
465
  tab === "object" ? /* @__PURE__ */ jsxs(Fragment, { children: [
426
466
  /* @__PURE__ */ jsx(FlatList, { horizontal: true, data: stills, keyExtractor: (item) => item.id, renderItem: ({
427
467
  item
428
- }) => /* @__PURE__ */ jsx(Pressable, { onPress: () => setPropUrl(item.src), style: [styles.thumbWrap, propUrl === item.src && styles.thumbOn], children: /* @__PURE__ */ jsx(Image, { source: {
468
+ }) => /* @__PURE__ */ jsx(Pressable, { onPress: () => setPropUrl(item.src), style: ({
469
+ pressed
470
+ }) => [styles.thumbWrap, propUrl === item.src && styles.thumbOn, pressedStyle(pressed)], children: /* @__PURE__ */ jsx(Image, { source: {
429
471
  uri: item.src
430
472
  }, style: styles.thumb }) }) }),
431
- /* @__PURE__ */ jsx(TextInput, { value: objectPrompt, onChangeText: setObjectPrompt, style: styles.input, multiline: true, placeholderTextColor: "#7A7A88", placeholder: "Optional mesh prompt" }),
432
- /* @__PURE__ */ jsx(Pressable, { onPress: () => void runObject(), style: styles.cta, disabled: Boolean(busy), children: /* @__PURE__ */ jsx(Text, { style: styles.ctaLabel, children: "Generate object" }) })
473
+ /* @__PURE__ */ jsx(TextInput, { value: objectPrompt, onChangeText: setObjectPrompt, style: styles.input, multiline: true, placeholderTextColor: theme.edInk3, placeholder: "Optional mesh prompt" }),
474
+ /* @__PURE__ */ jsx(Pressable, { onPress: () => void runObject(), style: ({
475
+ pressed
476
+ }) => [styles.cta, Boolean(busy) && styles.ctaOff, pressedStyle(pressed)], disabled: Boolean(busy), children: /* @__PURE__ */ jsx(Text, { style: styles.ctaLabel, children: "Generate object" }) })
433
477
  ] }) : null,
434
478
  tab === "render" ? /* @__PURE__ */ jsxs(Fragment, { children: [
435
- /* @__PURE__ */ jsx(TextInput, { value: look, onChangeText: setLook, style: styles.input, multiline: true, placeholderTextColor: "#7A7A88" }),
436
- /* @__PURE__ */ jsx(Pressable, { onPress: () => void runRender(), style: styles.cta, disabled: Boolean(busy), children: /* @__PURE__ */ jsx(Text, { style: styles.ctaLabel, children: "Render still" }) })
479
+ /* @__PURE__ */ jsx(TextInput, { value: look, onChangeText: setLook, style: styles.input, multiline: true, placeholderTextColor: theme.edInk3 }),
480
+ /* @__PURE__ */ jsx(Pressable, { onPress: () => void runRender(), style: ({
481
+ pressed
482
+ }) => [styles.cta, Boolean(busy) && styles.ctaOff, pressedStyle(pressed)], disabled: Boolean(busy), children: /* @__PURE__ */ jsx(Text, { style: styles.ctaLabel, children: "Render still" }) })
437
483
  ] }) : null,
438
484
  tab === "move" ? /* @__PURE__ */ jsxs(Fragment, { children: [
439
- /* @__PURE__ */ jsx(View, { style: styles.moveRow, children: MOVES.map((m) => /* @__PURE__ */ jsx(Pressable, { onPress: () => setMove(m.kind), style: [styles.chip, move === m.kind && styles.chipOn], children: /* @__PURE__ */ jsx(Text, { style: [styles.chipLabel, move === m.kind && styles.chipLabelOn], children: m.label }) }, m.kind)) }),
440
- /* @__PURE__ */ jsx(View, { style: styles.moveRow, children: [2, 3, 4, 6].map((sec) => /* @__PURE__ */ jsx(Pressable, { onPress: () => setDuration(sec), style: [styles.chip, duration === sec && styles.chipOn], children: /* @__PURE__ */ jsxs(Text, { style: [styles.chipLabel, duration === sec && styles.chipLabelOn], children: [
485
+ /* @__PURE__ */ jsx(View, { style: styles.moveRow, children: MOVES.map((m) => /* @__PURE__ */ jsx(Pressable, { onPress: () => setMove(m.kind), style: ({
486
+ pressed
487
+ }) => [styles.chip, move === m.kind && styles.chipOn, pressedStyle(pressed)], children: /* @__PURE__ */ jsx(Text, { style: [styles.chipLabel, move === m.kind && styles.chipLabelOn], children: m.label }) }, m.kind)) }),
488
+ /* @__PURE__ */ jsx(View, { style: styles.moveRow, children: [2, 3, 4, 6].map((sec) => /* @__PURE__ */ jsx(Pressable, { onPress: () => setDuration(sec), style: ({
489
+ pressed
490
+ }) => [styles.chip, duration === sec && styles.chipOn, pressedStyle(pressed)], children: /* @__PURE__ */ jsxs(Text, { style: [styles.chipLabel, duration === sec && styles.chipLabelOn], children: [
441
491
  sec,
442
492
  "s"
443
493
  ] }) }, sec)) }),
444
- /* @__PURE__ */ jsx(Pressable, { onPress: () => void runMove(), style: styles.cta, disabled: Boolean(busy), children: /* @__PURE__ */ jsx(Text, { style: styles.ctaLabel, children: "Render move" }) })
494
+ /* @__PURE__ */ jsx(Pressable, { onPress: () => void runMove(), style: ({
495
+ pressed
496
+ }) => [styles.cta, Boolean(busy) && styles.ctaOff, pressedStyle(pressed)], disabled: Boolean(busy), children: /* @__PURE__ */ jsx(Text, { style: styles.ctaLabel, children: "Render move" }) })
445
497
  ] }) : null,
446
498
  busy ? /* @__PURE__ */ jsxs(View, { style: styles.busyRow, children: [
447
- /* @__PURE__ */ jsx(ActivityIndicator, { color: "#C4B5FD" }),
499
+ /* @__PURE__ */ jsx(ActivityIndicator, { color: theme.edInk2 }),
448
500
  /* @__PURE__ */ jsx(Text, { style: styles.progress, children: busy })
449
501
  ] }) : null,
450
502
  error ? /* @__PURE__ */ jsx(Text, { style: styles.error, children: error }) : null
451
503
  ] })
452
504
  ] });
453
505
  }
454
- const styles = StyleSheet.create({
506
+ const makeStyles = themedStyles((theme) => StyleSheet.create({
455
507
  root: {
456
508
  flex: 1,
457
- backgroundColor: "#0B0B0E"
509
+ backgroundColor: theme.edBg
458
510
  },
459
511
  head: {
460
512
  flexDirection: "row",
461
513
  alignItems: "center",
462
514
  justifyContent: "space-between",
463
- paddingHorizontal: 16,
464
- marginBottom: 6
465
- },
466
- title: {
467
- fontSize: 17,
468
- fontWeight: "700",
469
- color: "#F7F7FA"
515
+ paddingHorizontal: SPACE.sm,
516
+ minHeight: HIT + SPACE.xs,
517
+ marginBottom: SPACE.xs
518
+ },
519
+ headBtn: {
520
+ width: HIT,
521
+ height: HIT,
522
+ borderRadius: HIT / 2,
523
+ alignItems: "center",
524
+ justifyContent: "center"
470
525
  },
526
+ title: __spreadProps(__spreadValues({}, TYPE.title), {
527
+ color: theme.edInk
528
+ }),
471
529
  viewport: {
472
- height: 240,
473
- marginHorizontal: 12,
474
- borderRadius: 12,
475
- overflow: "hidden"
530
+ height: 260,
531
+ marginHorizontal: SPACE.md,
532
+ borderRadius: RADIUS.lg,
533
+ overflow: "hidden",
534
+ backgroundColor: "#050506"
476
535
  },
477
536
  tabs: {
478
- paddingHorizontal: 12,
479
- gap: 8,
480
- paddingVertical: 10
537
+ paddingHorizontal: SPACE.sm,
538
+ paddingVertical: SPACE.sm,
539
+ gap: SPACE.xs
481
540
  },
482
541
  tab: {
483
- paddingHorizontal: 12,
484
- paddingVertical: 8,
485
- borderRadius: 9,
486
- backgroundColor: "#1F1F24"
542
+ minWidth: 60,
543
+ alignItems: "center",
544
+ gap: SPACE.xs,
545
+ paddingVertical: SPACE.xs
546
+ },
547
+ tabIcon: {
548
+ width: 48,
549
+ height: 34,
550
+ borderRadius: RADIUS.pill,
551
+ alignItems: "center",
552
+ justifyContent: "center"
487
553
  },
488
- tabOn: {
489
- backgroundColor: "#8B7CFF"
554
+ tabIconOn: {
555
+ backgroundColor: theme.edRaisedHi
490
556
  },
491
557
  tabLabel: {
492
- color: "#F7F7FA",
493
- fontSize: 12.5,
494
- fontWeight: "600"
558
+ fontSize: 11,
559
+ lineHeight: 14,
560
+ fontWeight: "500",
561
+ color: theme.edInk3
495
562
  },
496
563
  tabLabelOn: {
497
- color: "#0A0A0C"
564
+ color: theme.edInk,
565
+ fontWeight: "600"
498
566
  },
499
567
  body: {
500
568
  flex: 1,
501
- paddingHorizontal: 12
569
+ backgroundColor: theme.edPanel,
570
+ borderTopLeftRadius: RADIUS.xl,
571
+ borderTopRightRadius: RADIUS.xl
502
572
  },
503
- hint: {
504
- color: "#7A7A88",
505
- fontSize: 13,
506
- marginBottom: 8
573
+ bodyContent: {
574
+ paddingHorizontal: SPACE.lg,
575
+ paddingTop: SPACE.lg,
576
+ paddingBottom: SPACE.xl
507
577
  },
508
- input: {
509
- minHeight: 64,
510
- borderRadius: 12,
511
- paddingHorizontal: 12,
512
- paddingVertical: 10,
513
- backgroundColor: "#1F1F24",
514
- color: "#F7F7FA",
515
- marginBottom: 10,
578
+ hint: __spreadProps(__spreadValues({}, TYPE.caption), {
579
+ fontWeight: "400",
580
+ fontSize: 13,
581
+ lineHeight: 18,
582
+ color: theme.edInk3,
583
+ marginBottom: SPACE.sm
584
+ }),
585
+ input: __spreadProps(__spreadValues({}, TYPE.body), {
586
+ minHeight: 76,
587
+ borderRadius: RADIUS.md,
588
+ paddingHorizontal: SPACE.md + 2,
589
+ paddingVertical: SPACE.md,
590
+ backgroundColor: theme.edRaised,
591
+ color: theme.edInk,
592
+ marginBottom: SPACE.md,
516
593
  textAlignVertical: "top"
517
- },
594
+ }),
518
595
  cta: {
519
- paddingVertical: 12,
520
- borderRadius: 12,
521
- backgroundColor: "#F7F7FA",
596
+ minHeight: 48,
597
+ borderRadius: RADIUS.pill,
598
+ backgroundColor: theme.primary,
522
599
  alignItems: "center",
523
- marginBottom: 10
524
- },
525
- ctaLabel: {
526
- fontWeight: "700",
527
- color: "#0f172a"
600
+ justifyContent: "center",
601
+ marginBottom: SPACE.md
528
602
  },
603
+ ctaLabel: __spreadProps(__spreadValues({}, TYPE.label), {
604
+ fontSize: 15,
605
+ color: theme.primaryForeground
606
+ }),
529
607
  ctaOff: {
530
- opacity: 0.5
608
+ opacity: 0.45
531
609
  },
532
610
  steps: {
533
- gap: 2,
534
- marginBottom: 8
535
- },
536
- step: {
537
- color: "#A5A5B4",
538
- fontSize: 11.5
539
- },
540
- reply: {
541
- color: "#E4E4EC",
542
- fontSize: 13,
543
- lineHeight: 18,
544
- marginBottom: 10
545
- },
546
- section: {
547
- color: "#F7F7FA",
548
- fontSize: 12,
549
- fontWeight: "700",
550
- marginTop: 6,
551
- marginBottom: 8
552
- },
611
+ gap: SPACE.xs,
612
+ marginBottom: SPACE.sm
613
+ },
614
+ step: __spreadProps(__spreadValues({}, TYPE.caption), {
615
+ fontWeight: "400",
616
+ color: theme.edInk2
617
+ }),
618
+ reply: __spreadProps(__spreadValues({}, TYPE.body), {
619
+ fontSize: 14,
620
+ lineHeight: 20,
621
+ color: theme.edInk,
622
+ marginBottom: SPACE.md
623
+ }),
624
+ section: __spreadProps(__spreadValues({}, TYPE.label), {
625
+ color: theme.edInk,
626
+ marginTop: SPACE.md,
627
+ marginBottom: SPACE.sm
628
+ }),
553
629
  editor: {
554
- padding: 10,
555
- borderRadius: 12,
556
- backgroundColor: "#16161B",
557
- marginBottom: 10,
558
- gap: 4
559
- },
560
- editorTitle: {
561
- color: "#F7F7FA",
562
- fontSize: 12.5,
563
- fontWeight: "600",
564
- marginBottom: 6
565
- },
630
+ padding: SPACE.md,
631
+ borderRadius: RADIUS.lg,
632
+ backgroundColor: theme.edRaised,
633
+ marginBottom: SPACE.md,
634
+ gap: SPACE.xs
635
+ },
636
+ editorTitle: __spreadProps(__spreadValues({}, TYPE.label), {
637
+ color: theme.edInk,
638
+ marginBottom: SPACE.sm
639
+ }),
566
640
  iconBtn: {
567
- width: 38,
568
- height: 38,
569
- borderRadius: 9,
570
- backgroundColor: "#1F1F24",
641
+ width: 42,
642
+ height: 42,
643
+ borderRadius: 21,
644
+ backgroundColor: theme.edRaisedHi,
571
645
  alignItems: "center",
572
646
  justifyContent: "center"
573
647
  },
574
648
  chipHidden: {
575
649
  opacity: 0.45
576
650
  },
651
+ chipDanger: {
652
+ backgroundColor: theme.edDangerSoft
653
+ },
577
654
  danger: {
578
- color: "#FCA5A5"
655
+ color: theme.edDanger
579
656
  },
580
657
  thumbWrap: {
581
- width: 64,
582
- height: 64,
583
- borderRadius: 8,
658
+ width: 68,
659
+ height: 68,
660
+ borderRadius: RADIUS.md,
584
661
  overflow: "hidden",
585
- marginRight: 8,
662
+ marginRight: SPACE.sm,
663
+ marginBottom: SPACE.md,
586
664
  borderWidth: 2,
587
- borderColor: "transparent"
665
+ borderColor: "transparent",
666
+ backgroundColor: theme.edRaised
588
667
  },
589
668
  thumbOn: {
590
- borderColor: "#8B7CFF"
669
+ borderColor: theme.edInk
591
670
  },
592
671
  thumb: {
593
672
  width: "100%",
594
- height: "100%"
673
+ height: "100%",
674
+ borderRadius: RADIUS.md - 2
595
675
  },
596
676
  moveRow: {
597
677
  flexDirection: "row",
598
678
  flexWrap: "wrap",
599
- gap: 8,
600
- marginBottom: 10
679
+ gap: SPACE.sm,
680
+ marginBottom: SPACE.md
601
681
  },
602
682
  chip: {
603
- paddingHorizontal: 10,
604
- paddingVertical: 7,
605
- borderRadius: 8,
606
- backgroundColor: "#1F1F24"
683
+ minHeight: 36,
684
+ paddingHorizontal: SPACE.md + 2,
685
+ borderRadius: RADIUS.pill,
686
+ alignItems: "center",
687
+ justifyContent: "center",
688
+ backgroundColor: theme.edRaisedHi
607
689
  },
608
690
  chipOn: {
609
- backgroundColor: "#8B7CFF"
610
- },
611
- chipLabel: {
612
- color: "#F7F7FA",
613
- fontSize: 12
691
+ backgroundColor: theme.edInk
614
692
  },
693
+ chipLabel: __spreadProps(__spreadValues({}, TYPE.label), {
694
+ color: theme.edInk
695
+ }),
615
696
  chipLabelOn: {
616
- color: "#0A0A0C"
697
+ color: theme.edOnInk
617
698
  },
618
699
  busyRow: {
619
700
  flexDirection: "row",
620
701
  alignItems: "center",
621
- gap: 8,
622
- marginTop: 6
623
- },
624
- progress: {
625
- color: "#C4B5FD",
626
- fontSize: 12
627
- },
628
- error: {
629
- color: "#FECACA",
630
- fontSize: 12,
631
- marginTop: 8
632
- }
633
- });export{SetStudioExperience};//# sourceMappingURL=SetStudioExperience.js.map
702
+ gap: SPACE.sm,
703
+ marginTop: SPACE.sm
704
+ },
705
+ progress: __spreadProps(__spreadValues({}, TYPE.caption), {
706
+ color: theme.edInk2
707
+ }),
708
+ error: __spreadProps(__spreadValues({}, TYPE.caption), {
709
+ color: theme.edDanger,
710
+ marginTop: SPACE.sm,
711
+ padding: SPACE.md,
712
+ borderRadius: RADIUS.md,
713
+ backgroundColor: theme.edDangerSoft
714
+ })
715
+ }));export{SetStudioExperience};//# sourceMappingURL=SetStudioExperience.js.map