@adminide-stack/yantra-mobile 12.0.128 → 12.0.129-alpha.1

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 (360) hide show
  1. package/lib/compute.js +57 -1
  2. package/lib/compute.js.map +1 -1
  3. package/lib/features/agent-chat/NativeAgentChat.js +3 -2
  4. package/lib/features/agent-chat/NativeAgentChat.js.map +1 -1
  5. package/lib/features/apps/AppsCatalog.js +10 -0
  6. package/lib/features/apps/AppsCatalog.js.map +1 -1
  7. package/lib/features/apps/mobileAppCatalog.js +11 -0
  8. package/lib/features/apps/mobileAppCatalog.js.map +1 -1
  9. package/lib/features/canvas/AudioEditorExperience.js +448 -105
  10. package/lib/features/canvas/AudioEditorExperience.js.map +1 -1
  11. package/lib/features/canvas/CanvasAgentChatPane.js +33 -14
  12. package/lib/features/canvas/CanvasAgentChatPane.js.map +1 -1
  13. package/lib/features/canvas/CanvasBoardsGrid.js +493 -41
  14. package/lib/features/canvas/CanvasBoardsGrid.js.map +1 -1
  15. package/lib/features/canvas/CanvasChatResultCard.js.map +1 -1
  16. package/lib/features/canvas/CanvasEditToolsPanel.js +37 -1
  17. package/lib/features/canvas/CanvasEditToolsPanel.js.map +1 -1
  18. package/lib/features/canvas/CanvasExperience.js +237 -22
  19. package/lib/features/canvas/CanvasExperience.js.map +1 -1
  20. package/lib/features/canvas/CanvasGeneratePanel.js +119 -26
  21. package/lib/features/canvas/CanvasGeneratePanel.js.map +1 -1
  22. package/lib/features/canvas/CanvasLooksPanel.js +17 -6
  23. package/lib/features/canvas/CanvasLooksPanel.js.map +1 -1
  24. package/lib/features/canvas/CanvasTasksPanel.js +18 -1
  25. package/lib/features/canvas/CanvasTasksPanel.js.map +1 -1
  26. package/lib/features/canvas/DesignCategoryGallery.js +423 -0
  27. package/lib/features/canvas/DesignCategoryGallery.js.map +1 -0
  28. package/lib/features/canvas/ImageEditorExperience.js +763 -187
  29. package/lib/features/canvas/ImageEditorExperience.js.map +1 -1
  30. package/lib/features/canvas/SetStudioExperience.js +199 -11
  31. package/lib/features/canvas/SetStudioExperience.js.map +1 -1
  32. package/lib/features/canvas/VideoEditorExperience.js +59 -40
  33. package/lib/features/canvas/VideoEditorExperience.js.map +1 -1
  34. package/lib/features/canvas/VideoGeneratorExperience.js +134 -34
  35. package/lib/features/canvas/VideoGeneratorExperience.js.map +1 -1
  36. package/lib/features/canvas/aiEdit.js +4 -2
  37. package/lib/features/canvas/aiEdit.js.map +1 -1
  38. package/lib/features/canvas/audioEditor/AudioWaveform.js +96 -0
  39. package/lib/features/canvas/audioEditor/AudioWaveform.js.map +1 -0
  40. package/lib/features/canvas/audioEditor/audioPeaks.js +93 -0
  41. package/lib/features/canvas/audioEditor/audioPeaks.js.map +1 -0
  42. package/lib/features/canvas/canvasTaskSync.js +34 -7
  43. package/lib/features/canvas/canvasTaskSync.js.map +1 -1
  44. package/lib/features/canvas/canvasTasks.js +23 -3
  45. package/lib/features/canvas/canvasTasks.js.map +1 -1
  46. package/lib/features/canvas/canvasTheme.js +10 -24
  47. package/lib/features/canvas/canvasTheme.js.map +1 -1
  48. package/lib/features/canvas/canvasUi.js +1 -1
  49. package/lib/features/canvas/canvasUi.js.map +1 -1
  50. package/lib/features/canvas/createTiles.js +17 -9
  51. package/lib/features/canvas/createTiles.js.map +1 -1
  52. package/lib/features/canvas/deepLinks.js +35 -5
  53. package/lib/features/canvas/deepLinks.js.map +1 -1
  54. package/lib/features/canvas/designCatalog.js +165 -0
  55. package/lib/features/canvas/designCatalog.js.map +1 -0
  56. package/lib/features/canvas/designCategories.js +262 -0
  57. package/lib/features/canvas/designCategories.js.map +1 -0
  58. package/lib/features/canvas/editorControls.js +406 -0
  59. package/lib/features/canvas/editorControls.js.map +1 -0
  60. package/lib/features/canvas/generationModels.js +5 -3
  61. package/lib/features/canvas/generationModels.js.map +1 -1
  62. package/lib/features/canvas/generationTasks.js +162 -0
  63. package/lib/features/canvas/generationTasks.js.map +1 -0
  64. package/lib/features/canvas/generator/BottomSheet.js +167 -0
  65. package/lib/features/canvas/generator/BottomSheet.js.map +1 -0
  66. package/lib/features/canvas/generator/BusinessCardChatCard.js +155 -0
  67. package/lib/features/canvas/generator/BusinessCardChatCard.js.map +1 -0
  68. package/lib/features/canvas/generator/DirectorSheet.js +163 -0
  69. package/lib/features/canvas/generator/DirectorSheet.js.map +1 -0
  70. package/lib/features/canvas/generator/ReframePreview.js +122 -0
  71. package/lib/features/canvas/generator/ReframePreview.js.map +1 -0
  72. package/lib/features/canvas/generator/RunLogCard.js +119 -0
  73. package/lib/features/canvas/generator/RunLogCard.js.map +1 -0
  74. package/lib/features/canvas/generator/ShotPanel.js +261 -0
  75. package/lib/features/canvas/generator/ShotPanel.js.map +1 -0
  76. package/lib/features/canvas/generator/businessCardWidget.js +117 -0
  77. package/lib/features/canvas/generator/businessCardWidget.js.map +1 -0
  78. package/lib/features/canvas/generator/cameraVocabulary.js +142 -0
  79. package/lib/features/canvas/generator/cameraVocabulary.js.map +1 -0
  80. package/lib/features/canvas/generator/cinematicVocabulary.js +416 -0
  81. package/lib/features/canvas/generator/cinematicVocabulary.js.map +1 -0
  82. package/lib/features/canvas/generator/direction.js +41 -0
  83. package/lib/features/canvas/generator/direction.js.map +1 -0
  84. package/lib/features/canvas/generator/reframeGeometry.js +108 -0
  85. package/lib/features/canvas/generator/reframeGeometry.js.map +1 -0
  86. package/lib/features/canvas/generator/runLog.js +71 -0
  87. package/lib/features/canvas/generator/runLog.js.map +1 -0
  88. package/lib/features/canvas/generator/shot.js +133 -0
  89. package/lib/features/canvas/generator/shot.js.map +1 -0
  90. package/lib/features/canvas/generator/useShotSpec.js +87 -0
  91. package/lib/features/canvas/generator/useShotSpec.js.map +1 -0
  92. package/lib/features/canvas/home/HeroComposer.js +214 -0
  93. package/lib/features/canvas/home/HeroComposer.js.map +1 -0
  94. package/lib/features/canvas/home/HeroMonitor.js +225 -0
  95. package/lib/features/canvas/home/HeroMonitor.js.map +1 -0
  96. package/lib/features/canvas/home/LookDetail.js +185 -0
  97. package/lib/features/canvas/home/LookDetail.js.map +1 -0
  98. package/lib/features/canvas/home/LoopingVideo.js +37 -0
  99. package/lib/features/canvas/home/LoopingVideo.js.map +1 -0
  100. package/lib/features/canvas/home/TemplatesGallery.js +253 -0
  101. package/lib/features/canvas/home/TemplatesGallery.js.map +1 -0
  102. package/lib/features/canvas/home/heroShots.js +100 -0
  103. package/lib/features/canvas/home/heroShots.js.map +1 -0
  104. package/lib/features/canvas/homeWork.js +62 -3
  105. package/lib/features/canvas/homeWork.js.map +1 -1
  106. package/lib/features/canvas/imageEditor/ImageMarkup.js +195 -0
  107. package/lib/features/canvas/imageEditor/ImageMarkup.js.map +1 -0
  108. package/lib/features/canvas/imageEditor/imageEditOps.js +367 -0
  109. package/lib/features/canvas/imageEditor/imageEditOps.js.map +1 -0
  110. package/lib/features/canvas/nativeViewerRegistry.js.map +1 -1
  111. package/lib/features/canvas/rankedCatalogSearch.js +375 -0
  112. package/lib/features/canvas/rankedCatalogSearch.js.map +1 -0
  113. package/lib/features/canvas/recorder/CameraRecorderExperience.js +68 -20
  114. package/lib/features/canvas/recorder/CameraRecorderExperience.js.map +1 -1
  115. package/lib/features/canvas/recorder/RecordingReview.js +272 -0
  116. package/lib/features/canvas/recorder/RecordingReview.js.map +1 -0
  117. package/lib/features/canvas/recorder/RecordingsList.js +179 -0
  118. package/lib/features/canvas/recorder/RecordingsList.js.map +1 -0
  119. package/lib/features/canvas/recorder/recorderOps.js +99 -0
  120. package/lib/features/canvas/recorder/recorderOps.js.map +1 -0
  121. package/lib/features/canvas/seedanceShowcase.js +314 -0
  122. package/lib/features/canvas/seedanceShowcase.js.map +1 -0
  123. package/lib/features/canvas/serverTasks.js +149 -15
  124. package/lib/features/canvas/serverTasks.js.map +1 -1
  125. package/lib/features/canvas/sessionRenewal.js +114 -0
  126. package/lib/features/canvas/sessionRenewal.js.map +1 -0
  127. package/lib/features/canvas/set/SetViewportWebView.js +34 -1
  128. package/lib/features/canvas/set/SetViewportWebView.js.map +1 -1
  129. package/lib/features/canvas/set/agent/setTurn.js +4 -2
  130. package/lib/features/canvas/set/agent/setTurn.js.map +1 -1
  131. package/lib/features/canvas/set/setPresets.js +85 -0
  132. package/lib/features/canvas/set/setPresets.js.map +1 -0
  133. package/lib/features/canvas/set/setProject.js +4 -1
  134. package/lib/features/canvas/set/setProject.js.map +1 -1
  135. package/lib/features/canvas/studioCatalog.js +59 -4
  136. package/lib/features/canvas/studioCatalog.js.map +1 -1
  137. package/lib/features/canvas/studioLooks.js +31 -4
  138. package/lib/features/canvas/studioLooks.js.map +1 -1
  139. package/lib/features/canvas/surfaceIndex.js +1 -14
  140. package/lib/features/canvas/surfaceIndex.js.map +1 -1
  141. package/lib/features/canvas/templateSearch.js +489 -0
  142. package/lib/features/canvas/templateSearch.js.map +1 -0
  143. package/lib/features/canvas/useCanvasSession.js +28 -6
  144. package/lib/features/canvas/useCanvasSession.js.map +1 -1
  145. package/lib/features/canvas/useStudioCatalogTemplates.js +41 -5
  146. package/lib/features/canvas/useStudioCatalogTemplates.js.map +1 -1
  147. package/lib/features/canvas/videoEditor/EditorPanels.js +531 -0
  148. package/lib/features/canvas/videoEditor/EditorPanels.js.map +1 -0
  149. package/lib/features/canvas/videoEditor/agent/AgentCutPane.js +48 -4
  150. package/lib/features/canvas/videoEditor/agent/AgentCutPane.js.map +1 -1
  151. package/lib/features/canvas/videoEditor/agent/agentLoop.js +2 -0
  152. package/lib/features/canvas/videoEditor/agent/agentLoop.js.map +1 -1
  153. package/lib/features/canvas/videoEditor/agent/brainClient.js +97 -27
  154. package/lib/features/canvas/videoEditor/agent/brainClient.js.map +1 -1
  155. package/lib/features/canvas/videoEditor/agent/cutTools.js +707 -3
  156. package/lib/features/canvas/videoEditor/agent/cutTools.js.map +1 -1
  157. package/lib/features/canvas/videoEditor/audioServices.js +165 -0
  158. package/lib/features/canvas/videoEditor/audioServices.js.map +1 -0
  159. package/lib/features/canvas/videoEditor/captions.js +144 -0
  160. package/lib/features/canvas/videoEditor/captions.js.map +1 -0
  161. package/lib/features/canvas/videoEditor/compileTimeline.js +24 -16
  162. package/lib/features/canvas/videoEditor/compileTimeline.js.map +1 -1
  163. package/lib/features/canvas/videoEditor/editorModel.js +12 -2
  164. package/lib/features/canvas/videoEditor/editorModel.js.map +1 -1
  165. package/lib/features/canvas/videoEditor/exportTask.js +89 -7
  166. package/lib/features/canvas/videoEditor/exportTask.js.map +1 -1
  167. package/lib/features/canvas/videoEditor/layers.js +117 -0
  168. package/lib/features/canvas/videoEditor/layers.js.map +1 -0
  169. package/lib/features/canvas/videoEditor/remoteMediaClient.js +45 -18
  170. package/lib/features/canvas/videoEditor/remoteMediaClient.js.map +1 -1
  171. package/lib/features/canvas/videoEditor/renderTimeline.js +18 -6
  172. package/lib/features/canvas/videoEditor/renderTimeline.js.map +1 -1
  173. package/lib/features/canvas/videoEditor/revoice.js +138 -0
  174. package/lib/features/canvas/videoEditor/revoice.js.map +1 -0
  175. package/lib/features/canvas/videoEditor/storageUpload.js +34 -0
  176. package/lib/features/canvas/videoEditor/storageUpload.js.map +1 -0
  177. package/lib/features/canvas/videoEditor/textMotion.js +109 -0
  178. package/lib/features/canvas/videoEditor/textMotion.js.map +1 -0
  179. package/lib/features/canvas/videoEditor/transitions.js +31 -0
  180. package/lib/features/canvas/videoEditor/transitions.js.map +1 -0
  181. package/lib/features/chat/TemplatesChatCards.js +8 -3
  182. package/lib/features/chat/TemplatesChatCards.js.map +1 -1
  183. package/lib/features/design/DesignEditorExperience.js +674 -644
  184. package/lib/features/design/DesignEditorExperience.js.map +1 -1
  185. package/lib/features/design/DesignExperience.js +285 -538
  186. package/lib/features/design/DesignExperience.js.map +1 -1
  187. package/lib/features/design/designCore.js +2 -212
  188. package/lib/features/design/designCore.js.map +1 -1
  189. package/lib/features/design/designIndex.js +1 -50
  190. package/lib/features/design/designIndex.js.map +1 -1
  191. package/lib/features/design/doc/aiDesign.js +247 -0
  192. package/lib/features/design/doc/aiDesign.js.map +1 -0
  193. package/lib/features/design/doc/artifacts.js +280 -0
  194. package/lib/features/design/doc/artifacts.js.map +1 -0
  195. package/lib/features/design/doc/chart.js +98 -0
  196. package/lib/features/design/doc/chart.js.map +1 -0
  197. package/lib/features/design/doc/crop.js +104 -0
  198. package/lib/features/design/doc/crop.js.map +1 -0
  199. package/lib/features/design/doc/curve.js +49 -0
  200. package/lib/features/design/doc/curve.js.map +1 -0
  201. package/lib/features/design/doc/docOps.js +397 -0
  202. package/lib/features/design/doc/docOps.js.map +1 -0
  203. package/lib/features/design/doc/findReplace.js +112 -0
  204. package/lib/features/design/doc/findReplace.js.map +1 -0
  205. package/lib/features/design/doc/fonts.js +79 -0
  206. package/lib/features/design/doc/fonts.js.map +1 -0
  207. package/lib/features/design/doc/frames.js +17 -0
  208. package/lib/features/design/doc/frames.js.map +1 -0
  209. package/lib/features/design/doc/geometry.js +133 -0
  210. package/lib/features/design/doc/geometry.js.map +1 -0
  211. package/lib/features/design/doc/imageAdjust.js +203 -0
  212. package/lib/features/design/doc/imageAdjust.js.map +1 -0
  213. package/lib/features/design/doc/legacyDoc.js +107 -0
  214. package/lib/features/design/doc/legacyDoc.js.map +1 -0
  215. package/lib/features/design/doc/newDoc.js +335 -0
  216. package/lib/features/design/doc/newDoc.js.map +1 -0
  217. package/lib/features/design/doc/pageRange.js +17 -0
  218. package/lib/features/design/doc/pageRange.js.map +1 -0
  219. package/lib/features/design/doc/pathScale.js +68 -0
  220. package/lib/features/design/doc/pathScale.js.map +1 -0
  221. package/lib/features/design/doc/qr.js +62 -0
  222. package/lib/features/design/doc/qr.js.map +1 -0
  223. package/lib/features/design/doc/shapes.js +366 -0
  224. package/lib/features/design/doc/shapes.js.map +1 -0
  225. package/lib/features/design/doc/sizes.js +230 -0
  226. package/lib/features/design/doc/sizes.js.map +1 -0
  227. package/lib/features/design/doc/textEffects.js +134 -0
  228. package/lib/features/design/doc/textEffects.js.map +1 -0
  229. package/lib/features/design/doc/textLayout.js +182 -0
  230. package/lib/features/design/doc/textLayout.js.map +1 -0
  231. package/lib/features/design/doc/types.js +30 -0
  232. package/lib/features/design/doc/types.js.map +1 -0
  233. package/lib/features/design/editor/AiPanel.js +194 -0
  234. package/lib/features/design/editor/AiPanel.js.map +1 -0
  235. package/lib/features/design/editor/ChartDataPanel.js +182 -0
  236. package/lib/features/design/editor/ChartDataPanel.js.map +1 -0
  237. package/lib/features/design/editor/CropOverlay.js +199 -0
  238. package/lib/features/design/editor/CropOverlay.js.map +1 -0
  239. package/lib/features/design/editor/DesignCanvas.js +363 -0
  240. package/lib/features/design/editor/DesignCanvas.js.map +1 -0
  241. package/lib/features/design/editor/ExportSheet.js +123 -0
  242. package/lib/features/design/editor/ExportSheet.js.map +1 -0
  243. package/lib/features/design/editor/FindReplacePanel.js +93 -0
  244. package/lib/features/design/editor/FindReplacePanel.js.map +1 -0
  245. package/lib/features/design/editor/ImageTools.js +188 -0
  246. package/lib/features/design/editor/ImageTools.js.map +1 -0
  247. package/lib/features/design/editor/LayerTools.js +485 -0
  248. package/lib/features/design/editor/LayerTools.js.map +1 -0
  249. package/lib/features/design/editor/PageStrip.js +203 -0
  250. package/lib/features/design/editor/PageStrip.js.map +1 -0
  251. package/lib/features/design/editor/Slideshow.js +97 -0
  252. package/lib/features/design/editor/Slideshow.js.map +1 -0
  253. package/lib/features/design/editor/ToolPanels.js +695 -0
  254. package/lib/features/design/editor/ToolPanels.js.map +1 -0
  255. package/lib/features/design/editor/controls.js +630 -0
  256. package/lib/features/design/editor/controls.js.map +1 -0
  257. package/lib/features/design/editor/useDesignSave.js +91 -0
  258. package/lib/features/design/editor/useDesignSave.js.map +1 -0
  259. package/lib/features/design/export/exportDesign.js +170 -0
  260. package/lib/features/design/export/exportDesign.js.map +1 -0
  261. package/lib/features/design/export/pdf.js +143 -0
  262. package/lib/features/design/export/pdf.js.map +1 -0
  263. package/lib/features/design/home/DesignHome.js +688 -0
  264. package/lib/features/design/home/DesignHome.js.map +1 -0
  265. package/lib/features/design/home/studioHome.js +61 -0
  266. package/lib/features/design/home/studioHome.js.map +1 -0
  267. package/lib/features/design/pickDesignImage.js +60 -0
  268. package/lib/features/design/pickDesignImage.js.map +1 -0
  269. package/lib/features/design/render/DesignPageView.js +69 -0
  270. package/lib/features/design/render/DesignPageView.js.map +1 -0
  271. package/lib/features/design/render/PageCapture.js +288 -0
  272. package/lib/features/design/render/PageCapture.js.map +1 -0
  273. package/lib/features/design/render/TextMeasure.js +115 -0
  274. package/lib/features/design/render/TextMeasure.js.map +1 -0
  275. package/lib/features/design/render/fontRegistry.js +110 -0
  276. package/lib/features/design/render/fontRegistry.js.map +1 -0
  277. package/lib/features/design/render/layers.js +392 -0
  278. package/lib/features/design/render/layers.js.map +1 -0
  279. package/lib/features/design/render/svg.js +35 -0
  280. package/lib/features/design/render/svg.js.map +1 -0
  281. package/lib/features/design/render/svgParts.js +435 -0
  282. package/lib/features/design/render/svgParts.js.map +1 -0
  283. package/lib/features/design/surface/BoardScreen.js +529 -0
  284. package/lib/features/design/surface/BoardScreen.js.map +1 -0
  285. package/lib/features/design/surface/CompareView.js +138 -0
  286. package/lib/features/design/surface/CompareView.js.map +1 -0
  287. package/lib/features/design/surface/CreationScreen.js +294 -0
  288. package/lib/features/design/surface/CreationScreen.js.map +1 -0
  289. package/lib/features/design/surface/DesignAgentChatPane.js +444 -0
  290. package/lib/features/design/surface/DesignAgentChatPane.js.map +1 -0
  291. package/lib/features/design/surface/DesignBoards.js +441 -0
  292. package/lib/features/design/surface/DesignBoards.js.map +1 -0
  293. package/lib/features/design/surface/DesignPreview.js +159 -0
  294. package/lib/features/design/surface/DesignPreview.js.map +1 -0
  295. package/lib/features/design/surface/DesignSurfaceExperience.js +80 -0
  296. package/lib/features/design/surface/DesignSurfaceExperience.js.map +1 -0
  297. package/lib/features/design/surface/FullScreenPreview.js +59 -0
  298. package/lib/features/design/surface/FullScreenPreview.js.map +1 -0
  299. package/lib/features/design/surface/NewSystemDialog.js +122 -0
  300. package/lib/features/design/surface/NewSystemDialog.js.map +1 -0
  301. package/lib/features/design/surface/PickerSheet.js +175 -0
  302. package/lib/features/design/surface/PickerSheet.js.map +1 -0
  303. package/lib/features/design/surface/TemplatesGallery.js +156 -0
  304. package/lib/features/design/surface/TemplatesGallery.js.map +1 -0
  305. package/lib/features/design/surface/WetPaint.js +140 -0
  306. package/lib/features/design/surface/WetPaint.js.map +1 -0
  307. package/lib/features/design/surface/agentTurn.js +229 -0
  308. package/lib/features/design/surface/agentTurn.js.map +1 -0
  309. package/lib/features/design/surface/designBoard.js +218 -0
  310. package/lib/features/design/surface/designBoard.js.map +1 -0
  311. package/lib/features/design/surface/designChannel.js +186 -0
  312. package/lib/features/design/surface/designChannel.js.map +1 -0
  313. package/lib/features/design/surface/designChat.js +141 -0
  314. package/lib/features/design/surface/designChat.js.map +1 -0
  315. package/lib/features/design/surface/designConnector.js +266 -0
  316. package/lib/features/design/surface/designConnector.js.map +1 -0
  317. package/lib/features/design/surface/designDocument.js +40 -0
  318. package/lib/features/design/surface/designDocument.js.map +1 -0
  319. package/lib/features/design/surface/designExport.js +55 -0
  320. package/lib/features/design/surface/designExport.js.map +1 -0
  321. package/lib/features/design/surface/designLinks.js +64 -0
  322. package/lib/features/design/surface/designLinks.js.map +1 -0
  323. package/lib/features/design/surface/designPalette.js +24 -0
  324. package/lib/features/design/surface/designPalette.js.map +1 -0
  325. package/lib/features/design/surface/designRun.js +161 -0
  326. package/lib/features/design/surface/designRun.js.map +1 -0
  327. package/lib/features/design/surface/designTheme.js +119 -0
  328. package/lib/features/design/surface/designTheme.js.map +1 -0
  329. package/lib/features/design/surface/execStream.js +206 -0
  330. package/lib/features/design/surface/execStream.js.map +1 -0
  331. package/lib/features/design/surface/metaball.js +48 -0
  332. package/lib/features/design/surface/metaball.js.map +1 -0
  333. package/lib/features/design/surface/pickReferenceFiles.js +35 -0
  334. package/lib/features/design/surface/pickReferenceFiles.js.map +1 -0
  335. package/lib/features/design/surface/useDesignSurface.js +379 -0
  336. package/lib/features/design/surface/useDesignSurface.js.map +1 -0
  337. package/lib/features/docs/DocBlockRow.js +336 -0
  338. package/lib/features/docs/DocBlockRow.js.map +1 -0
  339. package/lib/features/docs/DocsEditorExperience.js +949 -0
  340. package/lib/features/docs/DocsEditorExperience.js.map +1 -0
  341. package/lib/features/docs/DocsToolbar.js +247 -0
  342. package/lib/features/docs/DocsToolbar.js.map +1 -0
  343. package/lib/features/docs/blocks.js +560 -0
  344. package/lib/features/docs/blocks.js.map +1 -0
  345. package/lib/features/docs/docArtifacts.js +129 -0
  346. package/lib/features/docs/docArtifacts.js.map +1 -0
  347. package/lib/features/docs/docEdits.js +201 -0
  348. package/lib/features/docs/docEdits.js.map +1 -0
  349. package/lib/features/docs/docExport.js +235 -0
  350. package/lib/features/docs/docExport.js.map +1 -0
  351. package/lib/features/docs/docShare.js +62 -0
  352. package/lib/features/docs/docShare.js.map +1 -0
  353. package/lib/features/links/openInApp.js +38 -2
  354. package/lib/features/links/openInApp.js.map +1 -1
  355. package/lib/routes.json +54 -0
  356. package/lib/screens/DesignNative/index.js +35 -0
  357. package/lib/screens/DesignNative/index.js.map +1 -0
  358. package/package.json +4 -4
  359. package/lib/features/design/exportDesign.js +0 -133
  360. package/lib/features/design/exportDesign.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import {jsxs,jsx}from'react/jsx-runtime';import {useMemo,useState,useRef,useEffect}from'react';import {View,Text,StyleSheet,ActivityIndicator,ScrollView,TextInput}from'react-native';import {useSafeInsets}from'./withRemoteSafeArea.js';import {MaterialCommunityIcons}from'@expo/vector-icons';import {Image}from'expo-image';import {useKeyboardLiftHeight,KeyboardAwareScreen,KeyboardComposerDock,COMPOSER_INPUT_NATIVE_ID}from'../../components/KeyboardComposerDock.js';import {dismissKeyboard}from'../../utils/keyboardController.js';import {resultUrl,friendlyMediaError,generationImageUrl,generationMediaUrl}from'./videoEditor/mediaActions.js';import {unwrapProxyUrl}from'./videoEditor/remoteMediaClient.js';import {STATIC_VIDEO_MODELS,normalizeModels,promptAudioModels,videoDurationOptions,buildVideoGenerateParams}from'./generationModels.js';import {DEFAULT_PROMO_PRESET,lookupPromoPreset,defaultNarration,EMPTY_PROMO_CONTEXT,defaultPromoQuality,PROMO_PRESETS,PROMO_DURATIONS,PROMO_PLAYBOOKS,PROMO_ASPECT_RATIOS,designPromoProject,PROMO_CONNECTOR,producePromoVideo}from'./promoVideo.js';import {PromoContextFields,PromoProductionFields}from'./PromoContextFields.js';import {useCanvasTheme,themedStyles}from'./canvasTheme.js';import {Pressable,pressedStyle,Segmented,RADIUS,SPACE,HIT,TYPE}from'./canvasUi.js';var __defProp = Object.defineProperty;
1
+ import {jsxs,jsx}from'react/jsx-runtime';import {useMemo,useState,useRef,useEffect}from'react';import {View,Text,StyleSheet,ActivityIndicator,ScrollView,TextInput}from'react-native';import {useSafeInsets}from'./withRemoteSafeArea.js';import {MaterialCommunityIcons}from'@expo/vector-icons';import {Image}from'expo-image';import {useKeyboardLiftHeight,KeyboardAwareScreen,KeyboardComposerDock,COMPOSER_INPUT_NATIVE_ID}from'../../components/KeyboardComposerDock.js';import {dismissKeyboard}from'../../utils/keyboardController.js';import {resultUrl,friendlyMediaError,generationImageUrl,generationMediaUrl}from'./videoEditor/mediaActions.js';import {unwrapProxyUrl}from'./videoEditor/remoteMediaClient.js';import {STATIC_VIDEO_MODELS,normalizeModels,promptAudioModels,videoDurationOptions,buildVideoGenerateParams}from'./generationModels.js';import {PROMO_ASPECT_RATIOS,DEFAULT_PROMO_PRESET,lookupPromoPreset,defaultNarration,EMPTY_PROMO_CONTEXT,defaultPromoQuality,PROMO_PRESETS,PROMO_DURATIONS,PROMO_PLAYBOOKS,designPromoProject,PROMO_CONNECTOR,producePromoVideo}from'./promoVideo.js';import {PromoContextFields,PromoProductionFields}from'./PromoContextFields.js';import {runTrackedGeneration}from'./generationTasks.js';import {imageLaneCall}from'./generatorReferences.js';import {DirectorPill,DirectorSheet}from'./generator/DirectorSheet.js';import {EMPTY_DIRECTION,directedPrompt}from'./generator/direction.js';import {ShotPanel,ShotStructureButton}from'./generator/ShotPanel.js';import {briefWorthStructuring}from'./generator/shot.js';import {useShotSpec}from'./generator/useShotSpec.js';import {RunLogCard}from'./generator/RunLogCard.js';import {logStep,finishRun,failRun,startRun}from'./generator/runLog.js';import {useCanvasTheme,themedStyles}from'./canvasTheme.js';import {Pressable,pressedStyle,Segmented,RADIUS,SPACE,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;
@@ -26,15 +26,20 @@ function VideoGeneratorExperience({
26
26
  item,
27
27
  restyle = false,
28
28
  initialPrompt = "",
29
+ initialAspect,
30
+ initialResolution,
31
+ initialReferenceUrl,
32
+ boardId,
29
33
  runAction,
30
34
  onClose,
31
35
  onGenerated,
32
36
  onPromoDesigned
33
37
  }) {
38
+ var _a;
34
39
  const theme = useCanvasTheme();
35
40
  const styles = useMemo(() => makeStyles(theme), [theme]);
36
41
  const imageReference = (mode === "video" || mode === "promo") && (item == null ? void 0 : item.type) === "image" ? unwrapProxyUrl(item.src) : null;
37
- const [referenceUrl, setReferenceUrl] = useState(imageReference);
42
+ const [referenceUrl, setReferenceUrl] = useState(imageReference != null ? imageReference : initialReferenceUrl ? unwrapProxyUrl(initialReferenceUrl) : null);
38
43
  const [videoSourceUrl, setVideoSourceUrl] = useState(restyle && (item == null ? void 0 : item.type) === "video" ? unwrapProxyUrl(item.src) : null);
39
44
  const [capturing, setCapturing] = useState(mode === "video" && (item == null ? void 0 : item.type) === "video" && !restyle);
40
45
  const [frameSec, setFrameSec] = useState(1);
@@ -42,7 +47,17 @@ function VideoGeneratorExperience({
42
47
  const [selectedModel, setSelectedModel] = useState("");
43
48
  const [videoDuration, setVideoDuration] = useState(0);
44
49
  const [prompt, setPrompt] = useState(initialPrompt);
45
- const [aspect, setAspect] = useState(mode === "image" ? "1:1" : "16:9");
50
+ const [aspect, setAspect] = useState(() => {
51
+ const allowed = mode === "promo" ? PROMO_ASPECT_RATIOS : ASPECTS;
52
+ if (initialAspect && allowed.includes(initialAspect)) return initialAspect;
53
+ return mode === "image" ? "1:1" : "16:9";
54
+ });
55
+ const [videoResolution, setVideoResolution] = useState(initialResolution || "1080p");
56
+ const [direction, setDirection] = useState(EMPTY_DIRECTION);
57
+ const [directorOpen, setDirectorOpen] = useState(false);
58
+ const [runLog, setRunLog] = useState(null);
59
+ const runLogRef = useRef(null);
60
+ const shot = useShotSpec(runAction);
46
61
  const [promoPreset, setPromoPreset] = useState(mode === "promo" && (item == null ? void 0 : item.type) === "video" ? "footage-remix" : DEFAULT_PROMO_PRESET);
47
62
  const [promoDuration, setPromoDuration] = useState(lookupPromoPreset(mode === "promo" && (item == null ? void 0 : item.type) === "video" ? "footage-remix" : DEFAULT_PROMO_PRESET).defaultDurationSeconds);
48
63
  const [promoCaptions, setPromoCaptions] = useState(true);
@@ -98,13 +113,13 @@ ${err instanceof Error ? err.message : String(err)}`.slice(0, 280));
98
113
  let cancelled = false;
99
114
  const job = mode === "image" ? runAction("yantra-image-generation", "YANTRA_GEMINI_IMAGE_LIST_MODELS", {}) : mode === "audio" ? runAction("yantra-audio", "YANTRA_AUDIO_LIST_MODELS", {}) : runAction("yantra-video-generation", "YANTRA_VIDEO_GENERATION_LIST_MODELS", {});
100
115
  job.then((result) => {
101
- var _a, _b;
116
+ var _a2, _b;
102
117
  if (cancelled) return;
103
118
  let list = normalizeModels(result);
104
119
  if (mode === "audio") list = promptAudioModels(list);
105
120
  if (mode === "video" && list.length === 0) list = STATIC_VIDEO_MODELS;
106
121
  setModels(list);
107
- const prefer = restyle && mode === "video" ? (_a = list.find((m) => m.supportsVideoInput)) == null ? void 0 : _a.id : (_b = list[0]) == null ? void 0 : _b.id;
122
+ const prefer = restyle && mode === "video" ? (_a2 = list.find((m) => m.supportsVideoInput)) == null ? void 0 : _a2.id : (_b = list[0]) == null ? void 0 : _b.id;
108
123
  if (prefer) setSelectedModel((current) => current || prefer);
109
124
  }).catch(() => {
110
125
  if (cancelled) return;
@@ -119,6 +134,12 @@ ${err instanceof Error ? err.message : String(err)}`.slice(0, 280));
119
134
  }, [mode, restyle, runAction]);
120
135
  const selectedModelInfo = models.find((m) => m.id === selectedModel);
121
136
  const durationChoices = mode === "video" ? videoDurationOptions(selectedModelInfo) : [];
137
+ const resolutions = mode === "video" ? (_a = selectedModelInfo == null ? void 0 : selectedModelInfo.resolutions) != null ? _a : [] : [];
138
+ const effectiveResolution = resolutions.length ? resolutions.includes(videoResolution) ? videoResolution : resolutions.includes("1080p") ? "1080p" : resolutions[resolutions.length - 1] : void 0;
139
+ const putRunLog = (next) => {
140
+ runLogRef.current = next;
141
+ setRunLog(next);
142
+ };
122
143
  useEffect(() => {
123
144
  if (videoDuration && !durationChoices.includes(videoDuration)) setVideoDuration(0);
124
145
  }, [durationChoices, videoDuration]);
@@ -131,16 +152,44 @@ ${err instanceof Error ? err.message : String(err)}`.slice(0, 280));
131
152
  }
132
153
  setBusy(true);
133
154
  setNotice(null);
134
- const job = mode === "image" ? runAction("yantra-image-generation", "YANTRA_GEMINI_IMAGE_GENERATE", __spreadValues({
155
+ const {
156
+ compiled: capturedShot,
157
+ snapshot: shotSnapshot
158
+ } = mode === "video" ? shot.capture() : {
159
+ compiled: null,
160
+ snapshot: null
161
+ };
162
+ const sent = mode === "video" ? directedPrompt((capturedShot == null ? void 0 : capturedShot.prompt) || text, direction) : text;
163
+ if (capturedShot) shot.clear();
164
+ putRunLog(logStep(startRun(`Generate ${mode === "promo" ? "marketing video" : mode}`), "Submitting\u2026"));
165
+ const job = mode === "image" ? runTrackedGeneration(__spreadProps(__spreadValues({
166
+ run: runAction,
167
+ connector: "yantra-image-generation"
168
+ }, imageLaneCall({
135
169
  prompt: text,
136
- aspectRatio: aspect
137
- }, selectedModel ? {
138
- model: selectedModel
139
- } : {})).then((result) => generationImageUrl(result)) : mode === "audio" ? runAction("yantra-audio", "YANTRA_AUDIO_RUN_PROMPT", __spreadValues({
140
- prompt: text
141
- }, selectedModel ? {
142
- model: selectedModel
143
- } : {})).then((result) => resultUrl(result, "YANTRA_AUDIO_RUN_PROMPT")) : mode === "promo" ? producePromoVideo((action, params) => runAction(PROMO_CONNECTOR, action, params), __spreadValues(__spreadValues(__spreadProps(__spreadValues(__spreadValues(__spreadValues(__spreadProps(__spreadValues(__spreadValues({
170
+ aspectRatio: aspect,
171
+ model: selectedModel || void 0,
172
+ stills: referenceUrl ? [unwrapProxyUrl(referenceUrl)] : [],
173
+ role: "reference"
174
+ })), {
175
+ mode: "image",
176
+ prompt: text,
177
+ boardId,
178
+ resolveUrl: generationImageUrl
179
+ })) : mode === "audio" ? runTrackedGeneration({
180
+ run: runAction,
181
+ connector: "yantra-audio",
182
+ action: "YANTRA_AUDIO_RUN_PROMPT",
183
+ params: __spreadValues({
184
+ prompt: text
185
+ }, selectedModel ? {
186
+ model: selectedModel
187
+ } : {}),
188
+ mode: "audio",
189
+ prompt: text,
190
+ boardId,
191
+ resolveUrl: (result) => resultUrl(result, "YANTRA_AUDIO_RUN_PROMPT")
192
+ }) : mode === "promo" ? producePromoVideo((action, params) => runAction(PROMO_CONNECTOR, action, params), __spreadValues(__spreadValues(__spreadProps(__spreadValues(__spreadValues(__spreadValues(__spreadProps(__spreadValues(__spreadValues({
144
193
  prompt: text,
145
194
  preset: promoPreset,
146
195
  durationSeconds: promoDuration,
@@ -162,21 +211,47 @@ ${err instanceof Error ? err.message : String(err)}`.slice(0, 280));
162
211
  narratorVoice: promoNarrator
163
212
  } : {}), promoUseCases.trim() ? {
164
213
  useCases: promoUseCases
165
- } : {}), (msg) => setPromoProgress(msg), void 0, () => cancelledRef.current).then((promo) => promo.url) : runAction("yantra-video-generation", "YANTRA_VIDEO_GENERATION_GENERATE", buildVideoGenerateParams({
166
- prompt: text,
167
- aspectRatio: aspect,
168
- model: selectedModel || void 0,
169
- durationSeconds: videoDuration || void 0,
170
- referenceImageUrl: referenceUrl ? unwrapProxyUrl(referenceUrl) : void 0,
171
- referenceVideoUrl: videoSourceUrl ? unwrapProxyUrl(videoSourceUrl) : void 0
172
- })).then((result) => generationMediaUrl(result));
173
- job.then((url) => onGenerated(url, {
174
- prompt: text,
175
- aspect,
176
- mode
177
- })).catch((err) => {
214
+ } : {}), (msg) => {
215
+ setPromoProgress(msg);
216
+ if (runLogRef.current) putRunLog(logStep(runLogRef.current, msg));
217
+ }, void 0, () => cancelledRef.current).then((promo) => promo.url) : runTrackedGeneration({
218
+ run: runAction,
219
+ connector: "yantra-video-generation",
220
+ action: "YANTRA_VIDEO_GENERATION_GENERATE",
221
+ params: buildVideoGenerateParams({
222
+ prompt: sent,
223
+ // The spec's framing wins when it has one: the compiled prompt was written against it.
224
+ aspectRatio: (capturedShot == null ? void 0 : capturedShot.aspectRatio) || aspect,
225
+ model: selectedModel || void 0,
226
+ durationSeconds: (capturedShot == null ? void 0 : capturedShot.durationSeconds) || videoDuration || void 0,
227
+ referenceImageUrl: referenceUrl ? unwrapProxyUrl(referenceUrl) : void 0,
228
+ referenceVideoUrl: videoSourceUrl ? unwrapProxyUrl(videoSourceUrl) : void 0,
229
+ resolution: effectiveResolution,
230
+ // Constraints ride the provider's negative_prompt, never the prompt.
231
+ negativePrompt: capturedShot == null ? void 0 : capturedShot.negativePrompt
232
+ }),
233
+ mode: "video",
234
+ prompt: sent,
235
+ boardId,
236
+ resolveUrl: generationMediaUrl
237
+ });
238
+ if (mode !== "promo" && runLogRef.current) putRunLog(logStep(runLogRef.current, `Generating ${mode}\u2026`));
239
+ job.then((url) => {
240
+ onGenerated(url, {
241
+ prompt: text,
242
+ aspect,
243
+ mode
244
+ });
245
+ if (runLogRef.current) {
246
+ const seconds = (capturedShot == null ? void 0 : capturedShot.durationSeconds) || videoDuration;
247
+ putRunLog(finishRun(runLogRef.current, mode === "video" ? `Generated a ${seconds ? `${seconds}s ` : ""}${(capturedShot == null ? void 0 : capturedShot.aspectRatio) || aspect}${effectiveResolution ? ` ${effectiveResolution}` : ""} video and placed it on the board.` : `Generated ${mode === "image" ? "an image" : mode === "audio" ? "audio" : "a marketing video"} and placed it on the board.`));
248
+ }
249
+ }).catch((err) => {
178
250
  if (cancelledRef.current || err instanceof Error && err.message === "cancelled") return;
179
- setNotice(friendlyMediaError(err, `${mode} generation`));
251
+ const message = friendlyMediaError(err, `${mode} generation`);
252
+ setNotice(message);
253
+ if (runLogRef.current) putRunLog(failRun(runLogRef.current, message));
254
+ if (shotSnapshot == null ? void 0 : shotSnapshot.spec) shot.restore(shotSnapshot);
180
255
  }).finally(() => {
181
256
  setBusy(false);
182
257
  setPromoProgress(null);
@@ -196,7 +271,7 @@ ${err instanceof Error ? err.message : String(err)}`.slice(0, 280));
196
271
  /* @__PURE__ */ jsx(Text, { style: styles.headerTitle, children: title }),
197
272
  /* @__PURE__ */ jsx(View, { style: styles.headerSpacer })
198
273
  ] }),
199
- /* @__PURE__ */ jsxs(Pressable, { style: [styles.stage, mode === "promo" && styles.stageCompact], onPress: dismissKeyboard, accessible: false, children: [
274
+ /* @__PURE__ */ jsxs(Pressable, { style: [styles.stage, (mode === "promo" || mode === "video" && shot.spec) && styles.stageCompact], onPress: dismissKeyboard, accessible: false, children: [
200
275
  referenceUrl ? /* @__PURE__ */ jsx(Image, { source: {
201
276
  uri: referenceUrl
202
277
  }, style: StyleSheet.absoluteFill, contentFit: "contain" }) : /* @__PURE__ */ jsx(MaterialCommunityIcons, { name: stageIcon, size: 48, color: "rgba(255,255,255,0.22)" }),
@@ -219,6 +294,11 @@ ${err instanceof Error ? err.message : String(err)}`.slice(0, 280));
219
294
  ] }) }, sec)) })
220
295
  ] }) : null,
221
296
  keyboardOpen ? null : /* @__PURE__ */ jsx(Pressable, { onPress: dismissKeyboard, accessible: false, children: /* @__PURE__ */ jsx(Text, { style: styles.hint, children: hint }) }),
297
+ runLog && !busy && !keyboardOpen ? /* @__PURE__ */ jsx(View, { style: styles.runLog, children: /* @__PURE__ */ jsx(RunLogCard, { run: runLog }) }) : null,
298
+ mode === "video" && shot.spec && shot.constraints && !keyboardOpen ? /* @__PURE__ */ jsx(ScrollView, { style: styles.promoScroll, contentContainerStyle: styles.shotBlock, keyboardShouldPersistTaps: "handled", children: /* @__PURE__ */ jsx(ShotPanel, { spec: shot.spec, constraints: shot.constraints, onChange: shot.setSpec, onDiscard: () => {
299
+ const brief = shot.discard();
300
+ if (brief) setPrompt(brief);
301
+ }, onRestructure: () => void shot.structure(shot.brief.current, selectedModel), busy: shot.busy }) }) : null,
222
302
  mode === "promo" && !keyboardOpen ? (
223
303
  // Promo has many settings: they scroll in their own region, grouped and labelled,
224
304
  // so the wall of chips becomes a short form.
@@ -289,13 +369,20 @@ ${err instanceof Error ? err.message : String(err)}`.slice(0, 280));
289
369
  "s"
290
370
  ] }) }, secs))
291
371
  ] }) : null,
372
+ mode === "video" && !keyboardOpen ? /* @__PURE__ */ jsxs(View, { style: styles.aspectRow, children: [
373
+ resolutions.map((res) => /* @__PURE__ */ jsx(Pressable, { onPress: () => setVideoResolution(res), style: ({
374
+ pressed
375
+ }) => [styles.chip, effectiveResolution === res && styles.chipOn, pressedStyle(pressed)], accessibilityRole: "button", accessibilityLabel: `Resolution ${res}`, children: /* @__PURE__ */ jsx(Text, { style: [styles.chipLabel, effectiveResolution === res && styles.chipLabelOn], children: res }) }, res)),
376
+ /* @__PURE__ */ jsx(DirectorPill, { value: direction, onPress: () => setDirectorOpen(true) }),
377
+ !shot.spec && briefWorthStructuring(prompt) && runAction ? /* @__PURE__ */ jsx(ShotStructureButton, { busy: shot.busy, onPress: () => void shot.structure(prompt, selectedModel) }) : null
378
+ ] }) : null,
292
379
  mode !== "audio" ? /* @__PURE__ */ jsx(View, { style: styles.segmentRow, children: /* @__PURE__ */ jsx(Segmented, { options: (mode === "promo" ? PROMO_ASPECT_RATIOS : ASPECTS).map((value) => ({
293
380
  id: value,
294
381
  label: value
295
382
  })), value: aspect, onChange: (value) => setAspect(value), style: styles.segmented }) }) : null,
296
383
  /* @__PURE__ */ jsx(KeyboardComposerDock, { closedInset: insets.bottom, onSwipeUp: () => {
297
- var _a;
298
- return (_a = inputRef.current) == null ? void 0 : _a.focus();
384
+ var _a2;
385
+ return (_a2 = inputRef.current) == null ? void 0 : _a2.focus();
299
386
  }, children: /* @__PURE__ */ jsx(View, { style: styles.composer, children: /* @__PURE__ */ jsxs(View, { style: styles.composerField, children: [
300
387
  /* @__PURE__ */ jsx(TextInput, { ref: inputRef, nativeID: COMPOSER_INPUT_NATIVE_ID, value: prompt, onChangeText: setPrompt, placeholder: mode === "image" ? "Describe the image\u2026" : mode === "audio" ? "Describe the audio\u2026" : mode === "promo" ? "Describe the promo\u2026" : "Describe the video\u2026", placeholderTextColor: theme.mutedForeground, style: styles.input, multiline: true, editable: !busy }),
301
388
  mode === "promo" && onPromoDesigned && !lookupPromoPreset(promoPreset).produceOnly ? /* @__PURE__ */ jsx(Pressable, { onPress: () => {
@@ -325,9 +412,13 @@ ${err instanceof Error ? err.message : String(err)}`.slice(0, 280));
325
412
  pressed
326
413
  }) => [styles.send, (!prompt.trim() || busy || capturing) && styles.sendDisabled, pressedStyle(pressed && !busy)], accessibilityRole: "button", accessibilityLabel: `Generate ${mode}`, children: busy ? /* @__PURE__ */ jsx(ActivityIndicator, { color: theme.primaryForeground }) : /* @__PURE__ */ jsx(MaterialCommunityIcons, { name: "arrow-up", size: 20, color: theme.primaryForeground }) })
327
414
  ] }) }) }),
328
- notice ? /* @__PURE__ */ jsxs(View, { style: styles.notice, children: [
329
- /* @__PURE__ */ jsx(Text, { style: styles.noticeText, children: notice }),
330
- /* @__PURE__ */ jsx(Pressable, { onPress: () => setNotice(null), hitSlop: 8, children: /* @__PURE__ */ jsx(Text, { style: styles.noticeDismiss, children: "OK" }) })
415
+ directorOpen && mode === "video" ? /* @__PURE__ */ jsx(DirectorSheet, { value: direction, onChange: setDirection, onClose: () => setDirectorOpen(false), prompt }) : null,
416
+ notice || shot.error ? /* @__PURE__ */ jsxs(View, { style: styles.notice, children: [
417
+ /* @__PURE__ */ jsx(Text, { style: styles.noticeText, children: notice || shot.error }),
418
+ /* @__PURE__ */ jsx(Pressable, { onPress: () => {
419
+ setNotice(null);
420
+ shot.dismissError();
421
+ }, hitSlop: 8, children: /* @__PURE__ */ jsx(Text, { style: styles.noticeDismiss, children: "OK" }) })
331
422
  ] }) : null
332
423
  ] });
333
424
  }
@@ -376,6 +467,15 @@ const makeStyles = themedStyles((theme) => StyleSheet.create({
376
467
  promoScroll: {
377
468
  flex: 1
378
469
  },
470
+ shotBlock: {
471
+ paddingHorizontal: SPACE.lg,
472
+ paddingTop: SPACE.md,
473
+ paddingBottom: SPACE.lg
474
+ },
475
+ runLog: {
476
+ paddingHorizontal: SPACE.lg,
477
+ paddingTop: SPACE.md
478
+ },
379
479
  groupLabel: __spreadProps(__spreadValues({}, TYPE.label), {
380
480
  color: theme.mutedForeground,
381
481
  paddingHorizontal: SPACE.lg,