@adminide-stack/yantra-mobile 12.0.69-alpha.9 → 12.0.69
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/lib/components/GatewayConnector/GatewayConnector.js +2 -2
- package/lib/components/GatewayConnector/GatewayConnector.js.map +1 -1
- package/lib/components/KeyboardComposerDock.js +8 -1
- package/lib/components/KeyboardComposerDock.js.map +1 -1
- package/lib/components/NavigationHeader/NavigationHeader.js +2 -2
- package/lib/components/NavigationHeader/NavigationHeader.js.map +1 -1
- package/lib/config/env-config.js +4 -0
- package/lib/config/env-config.js.map +1 -1
- package/lib/contexts/ChatLiveStreamContext.js +4 -1
- package/lib/contexts/ChatLiveStreamContext.js.map +1 -1
- package/lib/features/agent-chat/NativeAgentChat.js +2 -0
- package/lib/features/agent-chat/NativeAgentChat.js.map +1 -1
- package/lib/features/apps/AppsCatalog.js +2 -2
- package/lib/features/apps/AppsCatalog.js.map +1 -1
- package/lib/features/audio-input/MicErrorBoundary.js +2 -2
- package/lib/features/audio-input/MicErrorBoundary.js.map +1 -1
- package/lib/features/canvas/AudioEditorExperience.js +308 -0
- package/lib/features/canvas/AudioEditorExperience.js.map +1 -0
- package/lib/features/canvas/CanvasAgentChatPane.js +310 -0
- package/lib/features/canvas/CanvasAgentChatPane.js.map +1 -0
- package/lib/features/canvas/CanvasBoardsGrid.js +414 -0
- package/lib/features/canvas/CanvasBoardsGrid.js.map +1 -0
- package/lib/features/canvas/CanvasChatResultCard.js +113 -0
- package/lib/features/canvas/CanvasChatResultCard.js.map +1 -0
- package/lib/features/canvas/CanvasEditToolsPanel.js +179 -0
- package/lib/features/canvas/CanvasEditToolsPanel.js.map +1 -0
- package/lib/features/canvas/CanvasExperience.js +859 -0
- package/lib/features/canvas/CanvasExperience.js.map +1 -0
- package/lib/features/canvas/CanvasGeneratePanel.js +514 -0
- package/lib/features/canvas/CanvasGeneratePanel.js.map +1 -0
- package/lib/features/canvas/CanvasLibrarySheet.js +355 -0
- package/lib/features/canvas/CanvasLibrarySheet.js.map +1 -0
- package/lib/features/canvas/CanvasLooksPanel.js +184 -0
- package/lib/features/canvas/CanvasLooksPanel.js.map +1 -0
- package/lib/features/canvas/CanvasTasksPanel.js +138 -0
- package/lib/features/canvas/CanvasTasksPanel.js.map +1 -0
- package/lib/features/canvas/CanvasTemplatesPanel.js +226 -0
- package/lib/features/canvas/CanvasTemplatesPanel.js.map +1 -0
- package/lib/features/canvas/CanvasToolDock.js +423 -0
- package/lib/features/canvas/CanvasToolDock.js.map +1 -0
- package/lib/features/canvas/FrameExtractorExperience.js +242 -0
- package/lib/features/canvas/FrameExtractorExperience.js.map +1 -0
- package/lib/features/canvas/ImageEditorExperience.js +491 -0
- package/lib/features/canvas/ImageEditorExperience.js.map +1 -0
- package/lib/features/canvas/InfluencerStudioExperience.js +288 -0
- package/lib/features/canvas/InfluencerStudioExperience.js.map +1 -0
- package/lib/features/canvas/MoodboardExperience.js +205 -0
- package/lib/features/canvas/MoodboardExperience.js.map +1 -0
- package/lib/features/canvas/NativeCanvasViewer.js +929 -0
- package/lib/features/canvas/NativeCanvasViewer.js.map +1 -0
- package/lib/features/canvas/PromoContextFields.js +150 -0
- package/lib/features/canvas/PromoContextFields.js.map +1 -0
- package/lib/features/canvas/SetStudioExperience.js +323 -0
- package/lib/features/canvas/SetStudioExperience.js.map +1 -0
- package/lib/features/canvas/VideoClipsExperience.js +175 -0
- package/lib/features/canvas/VideoClipsExperience.js.map +1 -0
- package/lib/features/canvas/VideoEditExperience.js +824 -0
- package/lib/features/canvas/VideoEditExperience.js.map +1 -0
- package/lib/features/canvas/VideoEditorExperience.js +3050 -0
- package/lib/features/canvas/VideoEditorExperience.js.map +1 -0
- package/lib/features/canvas/VideoGeneratorExperience.js +415 -0
- package/lib/features/canvas/VideoGeneratorExperience.js.map +1 -0
- package/lib/features/canvas/aiEdit.js +53 -0
- package/lib/features/canvas/aiEdit.js.map +1 -0
- package/lib/features/canvas/canvasAgentChat.js +76 -0
- package/lib/features/canvas/canvasAgentChat.js.map +1 -0
- package/lib/features/canvas/canvasBoardsCatalog.js +59 -0
- package/lib/features/canvas/canvasBoardsCatalog.js.map +1 -0
- package/lib/features/canvas/canvasBoardsSnapshot.js +14 -1
- package/lib/features/canvas/canvasBoardsSnapshot.js.map +1 -1
- package/lib/features/canvas/canvasChatDisplay.js +38 -0
- package/lib/features/canvas/canvasChatDisplay.js.map +1 -0
- package/lib/features/canvas/canvasChatTemplates.js +219 -0
- package/lib/features/canvas/canvasChatTemplates.js.map +1 -0
- package/lib/features/canvas/canvasCore.js +138 -1
- package/lib/features/canvas/canvasCore.js.map +1 -1
- package/lib/features/canvas/canvasEditOps.js +224 -0
- package/lib/features/canvas/canvasEditOps.js.map +1 -0
- package/lib/features/canvas/canvasTasks.js +187 -0
- package/lib/features/canvas/canvasTasks.js.map +1 -0
- package/lib/features/canvas/designPromptTemplates.js +3084 -0
- package/lib/features/canvas/designPromptTemplates.js.map +1 -0
- package/lib/features/canvas/editTools.js +54 -0
- package/lib/features/canvas/editTools.js.map +1 -0
- package/lib/features/canvas/extendVideo.js +5 -0
- package/lib/features/canvas/extendVideo.js.map +1 -0
- package/lib/features/canvas/frameExtract.js +33 -0
- package/lib/features/canvas/frameExtract.js.map +1 -0
- package/lib/features/canvas/generationModels.js +201 -0
- package/lib/features/canvas/generationModels.js.map +1 -0
- package/lib/features/canvas/influencer/influencerPipeline.js +170 -0
- package/lib/features/canvas/influencer/influencerPipeline.js.map +1 -0
- package/lib/features/canvas/influencer/productReel.js +72 -0
- package/lib/features/canvas/influencer/productReel.js.map +1 -0
- package/lib/features/canvas/influencer/reelPlan.js +159 -0
- package/lib/features/canvas/influencer/reelPlan.js.map +1 -0
- package/lib/features/canvas/moodboardCore.js +13 -0
- package/lib/features/canvas/moodboardCore.js.map +1 -0
- package/lib/features/canvas/promoProjectImport.js +99 -0
- package/lib/features/canvas/promoProjectImport.js.map +1 -0
- package/lib/features/canvas/promoVideo.js +312 -0
- package/lib/features/canvas/promoVideo.js.map +1 -0
- package/lib/features/canvas/recorder/CameraRecorderExperience.js +109 -0
- package/lib/features/canvas/recorder/CameraRecorderExperience.js.map +1 -0
- package/lib/features/canvas/sessionIdentity.js +28 -1
- package/lib/features/canvas/sessionIdentity.js.map +1 -1
- package/lib/features/canvas/set/SetViewportWebView.js +133 -0
- package/lib/features/canvas/set/SetViewportWebView.js.map +1 -0
- package/lib/features/canvas/set/cameraPath.js +194 -0
- package/lib/features/canvas/set/cameraPath.js.map +1 -0
- package/lib/features/canvas/set/setProject.js +24 -0
- package/lib/features/canvas/set/setProject.js.map +1 -0
- package/lib/features/canvas/storageLibrary.js +184 -0
- package/lib/features/canvas/storageLibrary.js.map +1 -0
- package/lib/features/canvas/studioCatalog.js +129 -0
- package/lib/features/canvas/studioCatalog.js.map +1 -0
- package/lib/features/canvas/studioLooks.js +189 -0
- package/lib/features/canvas/studioLooks.js.map +1 -0
- package/lib/features/canvas/surfaceIndex.js +63 -1
- package/lib/features/canvas/surfaceIndex.js.map +1 -1
- package/lib/features/canvas/templateImport/invideoNative.js +221 -0
- package/lib/features/canvas/templateImport/invideoNative.js.map +1 -0
- package/lib/features/canvas/templateImport/loadTemplate.js +43 -0
- package/lib/features/canvas/templateImport/loadTemplate.js.map +1 -0
- package/lib/features/canvas/templateImport/renderConfig.js +93 -0
- package/lib/features/canvas/templateImport/renderConfig.js.map +1 -0
- package/lib/features/canvas/useStudioCatalogTemplates.js +134 -0
- package/lib/features/canvas/useStudioCatalogTemplates.js.map +1 -0
- package/lib/features/canvas/video3d.js +109 -0
- package/lib/features/canvas/video3d.js.map +1 -0
- package/lib/features/canvas/videoClips.js +42 -0
- package/lib/features/canvas/videoClips.js.map +1 -0
- package/lib/features/canvas/videoEditor/agent/AgentCutPane.js +120 -0
- package/lib/features/canvas/videoEditor/agent/AgentCutPane.js.map +1 -0
- package/lib/features/canvas/videoEditor/agent/agentLoop.js +69 -0
- package/lib/features/canvas/videoEditor/agent/agentLoop.js.map +1 -0
- package/lib/features/canvas/videoEditor/agent/brainClient.js +45 -0
- package/lib/features/canvas/videoEditor/agent/brainClient.js.map +1 -0
- package/lib/features/canvas/videoEditor/agent/cutTools.js +129 -0
- package/lib/features/canvas/videoEditor/agent/cutTools.js.map +1 -0
- package/lib/features/canvas/videoEditor/editorModel.js +346 -0
- package/lib/features/canvas/videoEditor/editorModel.js.map +1 -0
- package/lib/features/canvas/videoEditor/exportRenderer.js +214 -0
- package/lib/features/canvas/videoEditor/exportRenderer.js.map +1 -0
- package/lib/features/canvas/videoEditor/filters.js +41 -0
- package/lib/features/canvas/videoEditor/filters.js.map +1 -0
- package/lib/features/canvas/videoEditor/mediaActions.js +57 -0
- package/lib/features/canvas/videoEditor/mediaActions.js.map +1 -0
- package/lib/features/canvas/videoEditor/remoteMediaClient.js +129 -0
- package/lib/features/canvas/videoEditor/remoteMediaClient.js.map +1 -0
- package/lib/features/canvas/videoEditor/solidColorPng.js +115 -0
- package/lib/features/canvas/videoEditor/solidColorPng.js.map +1 -0
- package/lib/features/canvas/videoEditor/videoEditOps.js +191 -0
- package/lib/features/canvas/videoEditor/videoEditOps.js.map +1 -0
- package/lib/features/canvas/videoEditor/videoProjectsStore.js +82 -0
- package/lib/features/canvas/videoEditor/videoProjectsStore.js.map +1 -0
- package/lib/features/canvas/videoRenderer.js +8 -0
- package/lib/features/canvas/videoRenderer.js.map +1 -0
- package/lib/features/canvas/withRemoteSafeArea.js +2 -2
- package/lib/features/canvas/withRemoteSafeArea.js.map +1 -1
- package/lib/features/characters/characterStudioProps.js +14 -0
- package/lib/features/characters/characterStudioProps.js.map +1 -0
- package/lib/features/chat/ChatCodeBlock.js +7 -3
- package/lib/features/chat/ChatCodeBlock.js.map +1 -1
- package/lib/features/chat/ChatTranscript.js +7 -3
- package/lib/features/chat/ChatTranscript.js.map +1 -1
- package/lib/features/chat/ChatWidgetCard.js +13 -0
- package/lib/features/chat/ChatWidgetCard.js.map +1 -0
- package/lib/features/chat/ConnectorConnectCard.js +164 -0
- package/lib/features/chat/ConnectorConnectCard.js.map +1 -0
- package/lib/features/chat/ConnectorConnectPrompt.js +254 -0
- package/lib/features/chat/ConnectorConnectPrompt.js.map +1 -0
- package/lib/features/chat/MessageActionBar.js.map +1 -1
- package/lib/features/chat/QueuedFollowUps.js +71 -0
- package/lib/features/chat/QueuedFollowUps.js.map +1 -0
- package/lib/features/chat/chatWidgets.js +37 -0
- package/lib/features/chat/chatWidgets.js.map +1 -0
- package/lib/features/chat/connectorConnect.js +179 -0
- package/lib/features/chat/connectorConnect.js.map +1 -0
- package/lib/features/chat/connectorConnectHandbacks.js +55 -0
- package/lib/features/chat/connectorConnectHandbacks.js.map +1 -0
- package/lib/features/design/DesignEditorExperience.js +643 -0
- package/lib/features/design/DesignEditorExperience.js.map +1 -0
- package/lib/features/design/DesignExperience.js +444 -0
- package/lib/features/design/DesignExperience.js.map +1 -0
- package/lib/features/design/designCore.js +298 -0
- package/lib/features/design/designCore.js.map +1 -0
- package/lib/features/design/designIndex.js +150 -0
- package/lib/features/design/designIndex.js.map +1 -0
- package/lib/features/design/exportDesign.js +133 -0
- package/lib/features/design/exportDesign.js.map +1 -0
- package/lib/features/job-search/ApplicationsPanel.js +907 -0
- package/lib/features/job-search/ApplicationsPanel.js.map +1 -0
- package/lib/features/job-search/ContactsPanel.js +627 -0
- package/lib/features/job-search/ContactsPanel.js.map +1 -0
- package/lib/features/job-search/InsightsPanel.js +299 -0
- package/lib/features/job-search/InsightsPanel.js.map +1 -0
- package/lib/features/job-search/InterviewPanel.js +637 -0
- package/lib/features/job-search/InterviewPanel.js.map +1 -0
- package/lib/features/job-search/JdPastePrompt.js +130 -0
- package/lib/features/job-search/JdPastePrompt.js.map +1 -0
- package/lib/features/job-search/JobCard.js +199 -0
- package/lib/features/job-search/JobCard.js.map +1 -0
- package/lib/features/job-search/JobDetailSheet.js +255 -0
- package/lib/features/job-search/JobDetailSheet.js.map +1 -0
- package/lib/features/job-search/JobSearchAgentChatPane.js +377 -0
- package/lib/features/job-search/JobSearchAgentChatPane.js.map +1 -0
- package/lib/features/job-search/JobSearchExperience.js +1324 -0
- package/lib/features/job-search/JobSearchExperience.js.map +1 -0
- package/lib/features/job-search/JobSearchLocationField.js +231 -0
- package/lib/features/job-search/JobSearchLocationField.js.map +1 -0
- package/lib/features/job-search/ProfilePanel.js +679 -0
- package/lib/features/job-search/ProfilePanel.js.map +1 -0
- package/lib/features/job-search/RepliesPanel.js +344 -0
- package/lib/features/job-search/RepliesPanel.js.map +1 -0
- package/lib/features/job-search/SavedPanel.js +297 -0
- package/lib/features/job-search/SavedPanel.js.map +1 -0
- package/lib/features/job-search/chat/widgetContent.js +29 -0
- package/lib/features/job-search/chat/widgetContent.js.map +1 -0
- package/lib/features/job-search/cvText.js +91 -0
- package/lib/features/job-search/cvText.js.map +1 -0
- package/lib/features/job-search/jobAgentSwipe.js +7 -0
- package/lib/features/job-search/jobAgentSwipe.js.map +1 -0
- package/lib/features/job-search/jobSearchClient.js +184 -0
- package/lib/features/job-search/jobSearchClient.js.map +1 -0
- package/lib/features/job-search/jobSearchExec.js +14 -0
- package/lib/features/job-search/jobSearchExec.js.map +1 -0
- package/lib/features/job-search/jobSearchRuntime.js +50 -0
- package/lib/features/job-search/jobSearchRuntime.js.map +1 -0
- package/lib/features/job-search/jobSearchTheme.js +44 -0
- package/lib/features/job-search/jobSearchTheme.js.map +1 -0
- package/lib/features/job-search/savedJobs.js +85 -0
- package/lib/features/job-search/savedJobs.js.map +1 -0
- package/lib/features/job-search/searchHistory.js +117 -0
- package/lib/features/job-search/searchHistory.js.map +1 -0
- package/lib/features/job-search/types.js +36 -0
- package/lib/features/job-search/types.js.map +1 -0
- package/lib/features/job-search/useJobSearchSession.js +558 -0
- package/lib/features/job-search/useJobSearchSession.js.map +1 -0
- package/lib/features/messaging/ChatComponents.js +529 -0
- package/lib/features/messaging/ChatComponents.js.map +1 -0
- package/lib/features/messaging/ChatInviteDeepLink.js +116 -0
- package/lib/features/messaging/ChatInviteDeepLink.js.map +1 -0
- package/lib/features/messaging/ContactsScreen.js +288 -0
- package/lib/features/messaging/ContactsScreen.js.map +1 -0
- package/lib/features/messaging/ConversationListScreen.js +147 -0
- package/lib/features/messaging/ConversationListScreen.js.map +1 -0
- package/lib/features/messaging/MessageActions.js +290 -0
- package/lib/features/messaging/MessageActions.js.map +1 -0
- package/lib/features/messaging/NativeChatExperience.js +189 -0
- package/lib/features/messaging/NativeChatExperience.js.map +1 -0
- package/lib/features/messaging/RegistrationScreen.js +11 -14
- package/lib/features/messaging/RegistrationScreen.js.map +1 -1
- package/lib/features/messaging/ThreadScreen.js +215 -0
- package/lib/features/messaging/ThreadScreen.js.map +1 -0
- package/lib/features/messaging/chatInviteLink.js +52 -0
- package/lib/features/messaging/chatInviteLink.js.map +1 -0
- package/lib/features/messaging/chatModel.js +278 -0
- package/lib/features/messaging/chatModel.js.map +1 -0
- package/lib/features/messaging/chatOperations.js +106 -1
- package/lib/features/messaging/chatOperations.js.map +1 -1
- package/lib/features/messaging/emojiCatalog.js +60 -0
- package/lib/features/messaging/emojiCatalog.js.map +1 -0
- package/lib/features/messaging/emojiKeywords.js +1592 -0
- package/lib/features/messaging/emojiKeywords.js.map +1 -0
- package/lib/features/messaging/nativeChatChannelQuery.js +27 -0
- package/lib/features/messaging/nativeChatChannelQuery.js.map +1 -0
- package/lib/features/messaging/phoneNumbers.js +52 -1
- package/lib/features/messaging/phoneNumbers.js.map +1 -1
- package/lib/features/messaging/sha256.js +68 -0
- package/lib/features/messaging/sha256.js.map +1 -0
- package/lib/features/messaging/useChatData.js +421 -0
- package/lib/features/messaging/useChatData.js.map +1 -0
- package/lib/features/messaging/useContactMatches.js +191 -0
- package/lib/features/messaging/useContactMatches.js.map +1 -0
- package/lib/features/messaging/usePhoneVerification.js +12 -12
- package/lib/features/messaging/usePhoneVerification.js.map +1 -1
- package/lib/features/messaging/yantraChatOrg.js +8 -3
- package/lib/features/messaging/yantraChatOrg.js.map +1 -1
- package/lib/features/resume/AnnotateModal.js +100 -0
- package/lib/features/resume/AnnotateModal.js.map +1 -0
- package/lib/features/resume/AnnotationBar.js +69 -0
- package/lib/features/resume/AnnotationBar.js.map +1 -0
- package/lib/features/resume/ExportSheet.js +105 -0
- package/lib/features/resume/ExportSheet.js.map +1 -0
- package/lib/features/resume/ResumeAgentChatPane.js +95 -0
- package/lib/features/resume/ResumeAgentChatPane.js.map +1 -0
- package/lib/features/resume/ResumeEditor.js +676 -0
- package/lib/features/resume/ResumeEditor.js.map +1 -0
- package/lib/features/resume/ResumeExperience.js +235 -0
- package/lib/features/resume/ResumeExperience.js.map +1 -0
- package/lib/features/resume/ResumeListPanel.js +262 -0
- package/lib/features/resume/ResumeListPanel.js.map +1 -0
- package/lib/features/resume/ResumeToolbar.js +236 -0
- package/lib/features/resume/ResumeToolbar.js.map +1 -0
- package/lib/features/resume/annotations.js +17 -0
- package/lib/features/resume/annotations.js.map +1 -0
- package/lib/features/resume/documentCss.js +52 -0
- package/lib/features/resume/documentCss.js.map +1 -0
- package/lib/features/resume/draft.js +89 -0
- package/lib/features/resume/draft.js.map +1 -0
- package/lib/features/resume/exportResume.js +43 -0
- package/lib/features/resume/exportResume.js.map +1 -0
- package/lib/features/resume/pickResumePhoto.js +22 -0
- package/lib/features/resume/pickResumePhoto.js.map +1 -0
- package/lib/features/resume/renderResume.js +121 -0
- package/lib/features/resume/renderResume.js.map +1 -0
- package/lib/features/resume/resumeClient.js +69 -0
- package/lib/features/resume/resumeClient.js.map +1 -0
- package/lib/features/resume/resumeExec.js +14 -0
- package/lib/features/resume/resumeExec.js.map +1 -0
- package/lib/features/resume/resumeIndex.js +244 -0
- package/lib/features/resume/resumeIndex.js.map +1 -0
- package/lib/features/resume/resumeRuntime.js +50 -0
- package/lib/features/resume/resumeRuntime.js.map +1 -0
- package/lib/features/resume/resumeTheme.js +34 -0
- package/lib/features/resume/resumeTheme.js.map +1 -0
- package/lib/features/resume/resumeToolbox.js +49 -0
- package/lib/features/resume/resumeToolbox.js.map +1 -0
- package/lib/features/resume/templates.js +90 -0
- package/lib/features/resume/templates.js.map +1 -0
- package/lib/features/resume/types.js +10 -0
- package/lib/features/resume/types.js.map +1 -0
- package/lib/features/resume/useResumeSession.js +183 -0
- package/lib/features/resume/useResumeSession.js.map +1 -0
- package/lib/features/shopping/DealsPanel.js +254 -0
- package/lib/features/shopping/DealsPanel.js.map +1 -0
- package/lib/features/shopping/HistoryPanel.js +147 -0
- package/lib/features/shopping/HistoryPanel.js.map +1 -0
- package/lib/features/shopping/OrdersPanel.js +157 -0
- package/lib/features/shopping/OrdersPanel.js.map +1 -0
- package/lib/features/shopping/ProductCard.js +326 -0
- package/lib/features/shopping/ProductCard.js.map +1 -0
- package/lib/features/shopping/ProductDetailSheet.js +313 -0
- package/lib/features/shopping/ProductDetailSheet.js.map +1 -0
- package/lib/features/shopping/ProductFilterBar.js +153 -0
- package/lib/features/shopping/ProductFilterBar.js.map +1 -0
- package/lib/features/shopping/ProductPhoto.js +27 -0
- package/lib/features/shopping/ProductPhoto.js.map +1 -0
- package/lib/features/shopping/SavedPanel.js +139 -0
- package/lib/features/shopping/SavedPanel.js.map +1 -0
- package/lib/features/shopping/ShoppingAgentChatPane.js +436 -0
- package/lib/features/shopping/ShoppingAgentChatPane.js.map +1 -0
- package/lib/features/shopping/ShoppingExperience.js +888 -0
- package/lib/features/shopping/ShoppingExperience.js.map +1 -0
- package/lib/features/shopping/TrendingSections.js +199 -0
- package/lib/features/shopping/TrendingSections.js.map +1 -0
- package/lib/features/shopping/WatchlistPanel.js +148 -0
- package/lib/features/shopping/WatchlistPanel.js.map +1 -0
- package/lib/features/shopping/catalog.js +238 -0
- package/lib/features/shopping/catalog.js.map +1 -0
- package/lib/features/shopping/chat/ShoppingChatResultCard.js +175 -0
- package/lib/features/shopping/chat/ShoppingChatResultCard.js.map +1 -0
- package/lib/features/shopping/chat/streamAssistantReply.js +34 -0
- package/lib/features/shopping/chat/streamAssistantReply.js.map +1 -0
- package/lib/features/shopping/chat/widgetContent.js +233 -0
- package/lib/features/shopping/chat/widgetContent.js.map +1 -0
- package/lib/features/shopping/hooks/useTrendingProducts.js +162 -0
- package/lib/features/shopping/hooks/useTrendingProducts.js.map +1 -0
- package/lib/features/shopping/productImage.js +42 -0
- package/lib/features/shopping/productImage.js.map +1 -0
- package/lib/features/shopping/savedProducts.js +84 -0
- package/lib/features/shopping/savedProducts.js.map +1 -0
- package/lib/features/shopping/services/catalogActions.js +166 -0
- package/lib/features/shopping/services/catalogActions.js.map +1 -0
- package/lib/features/shopping/services/parsePriceCheckIntent.js +58 -0
- package/lib/features/shopping/services/parsePriceCheckIntent.js.map +1 -0
- package/lib/features/shopping/services/parseShoppingIntent.js +67 -0
- package/lib/features/shopping/services/parseShoppingIntent.js.map +1 -0
- package/lib/features/shopping/services/productAvailability.js +25 -0
- package/lib/features/shopping/services/productAvailability.js.map +1 -0
- package/lib/features/shopping/services/productFilters.js +72 -0
- package/lib/features/shopping/services/productFilters.js.map +1 -0
- package/lib/features/shopping/services/retailerUrl.js +75 -0
- package/lib/features/shopping/services/retailerUrl.js.map +1 -0
- package/lib/features/shopping/services/shoppingChatReply.js +46 -0
- package/lib/features/shopping/services/shoppingChatReply.js.map +1 -0
- package/lib/features/shopping/services/shoppingProductSearch.js +336 -0
- package/lib/features/shopping/services/shoppingProductSearch.js.map +1 -0
- package/lib/features/shopping/services/shoppingSearchConnectorClient.js +41 -0
- package/lib/features/shopping/services/shoppingSearchConnectorClient.js.map +1 -0
- package/lib/features/shopping/shopAgentSwipe.js +7 -0
- package/lib/features/shopping/shopAgentSwipe.js.map +1 -0
- package/lib/features/shopping/shoppingCart.js +116 -0
- package/lib/features/shopping/shoppingCart.js.map +1 -0
- package/lib/features/shopping/shoppingExec.js +14 -0
- package/lib/features/shopping/shoppingExec.js.map +1 -0
- package/lib/features/shopping/shoppingHistoryStore.js +176 -0
- package/lib/features/shopping/shoppingHistoryStore.js.map +1 -0
- package/lib/features/shopping/shoppingRuntime.js +63 -0
- package/lib/features/shopping/shoppingRuntime.js.map +1 -0
- package/lib/features/shopping/timeAgo.js +14 -0
- package/lib/features/shopping/timeAgo.js.map +1 -0
- package/lib/features/shopping/useShoppingSearch.js +262 -0
- package/lib/features/shopping/useShoppingSearch.js.map +1 -0
- package/lib/features/travel/BookHeaderGlow.js +48 -0
- package/lib/features/travel/BookHeaderGlow.js.map +1 -0
- package/lib/features/travel/BookingsPanel.js +29 -0
- package/lib/features/travel/BookingsPanel.js.map +1 -0
- package/lib/features/travel/DiscoverPanel.js +155 -0
- package/lib/features/travel/DiscoverPanel.js.map +1 -0
- package/lib/features/travel/FlightCompareBar.js +86 -0
- package/lib/features/travel/FlightCompareBar.js.map +1 -0
- package/lib/features/travel/FlightDealsBoard.js +100 -0
- package/lib/features/travel/FlightDealsBoard.js.map +1 -0
- package/lib/features/travel/HistoryPanel.js +82 -0
- package/lib/features/travel/HistoryPanel.js.map +1 -0
- package/lib/features/travel/PopularDestinations.js +144 -0
- package/lib/features/travel/PopularDestinations.js.map +1 -0
- package/lib/features/travel/SavedPanel.js +27 -0
- package/lib/features/travel/SavedPanel.js.map +1 -0
- package/lib/features/travel/TravelAgentChatPane.js +303 -0
- package/lib/features/travel/TravelAgentChatPane.js.map +1 -0
- package/lib/features/travel/TravelBookHero.js +425 -0
- package/lib/features/travel/TravelBookHero.js.map +1 -0
- package/lib/features/travel/TravelDatesField.js +234 -0
- package/lib/features/travel/TravelDatesField.js.map +1 -0
- package/lib/features/travel/TravelDetailSheet.js +106 -0
- package/lib/features/travel/TravelDetailSheet.js.map +1 -0
- package/lib/features/travel/TravelExperience.js +624 -0
- package/lib/features/travel/TravelExperience.js.map +1 -0
- package/lib/features/travel/TravelGuestsField.js +85 -0
- package/lib/features/travel/TravelGuestsField.js.map +1 -0
- package/lib/features/travel/TravelLanding.js +318 -0
- package/lib/features/travel/TravelLanding.js.map +1 -0
- package/lib/features/travel/TravelLocationField.js +179 -0
- package/lib/features/travel/TravelLocationField.js.map +1 -0
- package/lib/features/travel/TravelPropertyCard.js +266 -0
- package/lib/features/travel/TravelPropertyCard.js.map +1 -0
- package/lib/features/travel/TravelPropertyPhoto.js +22 -0
- package/lib/features/travel/TravelPropertyPhoto.js.map +1 -0
- package/lib/features/travel/TravelRailFlyout.js +79 -0
- package/lib/features/travel/TravelRailFlyout.js.map +1 -0
- package/lib/features/travel/TravelResultsMap.js +126 -0
- package/lib/features/travel/TravelResultsMap.js.map +1 -0
- package/lib/features/travel/WorkspacePanel.js +148 -0
- package/lib/features/travel/WorkspacePanel.js.map +1 -0
- package/lib/features/travel/appNav.js +244 -0
- package/lib/features/travel/appNav.js.map +1 -0
- package/lib/features/travel/calendarDays.js +50 -0
- package/lib/features/travel/calendarDays.js.map +1 -0
- package/lib/features/travel/catalog.js +72 -0
- package/lib/features/travel/catalog.js.map +1 -0
- package/lib/features/travel/chat/TravelChatResultCard.js +107 -0
- package/lib/features/travel/chat/TravelChatResultCard.js.map +1 -0
- package/lib/features/travel/chat/widgetContent.js +107 -0
- package/lib/features/travel/chat/widgetContent.js.map +1 -0
- package/lib/features/travel/flightDeals.js +65 -0
- package/lib/features/travel/flightDeals.js.map +1 -0
- package/lib/features/travel/mapCoordinates.js +36 -0
- package/lib/features/travel/mapCoordinates.js.map +1 -0
- package/lib/features/travel/parseTravelIntent.js +303 -0
- package/lib/features/travel/parseTravelIntent.js.map +1 -0
- package/lib/features/travel/savedStays.js +66 -0
- package/lib/features/travel/savedStays.js.map +1 -0
- package/lib/features/travel/services/flightDealsBoard.js +111 -0
- package/lib/features/travel/services/flightDealsBoard.js.map +1 -0
- package/lib/features/travel/services/flightSearchConnectorClient.js +42 -0
- package/lib/features/travel/services/flightSearchConnectorClient.js.map +1 -0
- package/lib/features/travel/services/geocodeLocation.js +79 -0
- package/lib/features/travel/services/geocodeLocation.js.map +1 -0
- package/lib/features/travel/services/placePredictions.js +113 -0
- package/lib/features/travel/services/placePredictions.js.map +1 -0
- package/lib/features/travel/services/resolveOriginCity.js +27 -0
- package/lib/features/travel/services/resolveOriginCity.js.map +1 -0
- package/lib/features/travel/services/resortifiConnectorClient.js +76 -0
- package/lib/features/travel/services/resortifiConnectorClient.js.map +1 -0
- package/lib/features/travel/services/travelFlightSearch.js +289 -0
- package/lib/features/travel/services/travelFlightSearch.js.map +1 -0
- package/lib/features/travel/services/travelPropertySearch.js +377 -0
- package/lib/features/travel/services/travelPropertySearch.js.map +1 -0
- package/lib/features/travel/travelAgentSwipe.js +7 -0
- package/lib/features/travel/travelAgentSwipe.js.map +1 -0
- package/lib/features/travel/travelExec.js +14 -0
- package/lib/features/travel/travelExec.js.map +1 -0
- package/lib/features/travel/travelHistoryStore.js +108 -0
- package/lib/features/travel/travelHistoryStore.js.map +1 -0
- package/lib/features/travel/travelRuntime.js +62 -0
- package/lib/features/travel/travelRuntime.js.map +1 -0
- package/lib/features/travel/types.js +9 -0
- package/lib/features/travel/types.js.map +1 -0
- package/lib/features/travel/useTravelSearch.js +330 -0
- package/lib/features/travel/useTravelSearch.js.map +1 -0
- package/lib/features/travel/workspaceContent.js +548 -0
- package/lib/features/travel/workspaceContent.js.map +1 -0
- package/lib/hooks/useCdecliChannel.js +128 -6
- package/lib/hooks/useCdecliChannel.js.map +1 -1
- package/lib/hooks/useChatApi.js +4 -2
- package/lib/hooks/useChatApi.js.map +1 -1
- package/lib/hooks/useChatStream.js +77 -63
- package/lib/hooks/useChatStream.js.map +1 -1
- package/lib/hooks/useHostConnectorCard.js +24 -0
- package/lib/hooks/useHostConnectorCard.js.map +1 -0
- package/lib/hooks/useObtainSystemToken.js +23 -5
- package/lib/hooks/useObtainSystemToken.js.map +1 -1
- package/lib/hooks/webViewRetentionPolicy.js +1 -0
- package/lib/hooks/webViewRetentionPolicy.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/screens/Chat/index.js +51 -22
- package/lib/screens/Chat/index.js.map +1 -1
- package/lib/screens/ChatNative/index.js +13 -2
- package/lib/screens/ChatNative/index.js.map +1 -1
- package/lib/screens/Home/HomeScreen.js +3 -3
- package/lib/screens/Home/HomeScreen.js.map +1 -1
- package/lib/screens/Home/components/ChatHistoryLanding.js +32 -32
- package/lib/screens/Home/components/ChatHistoryLanding.js.map +1 -1
- package/lib/screens/JobSearchNative/useJobSearchHostChat.js +12 -6
- package/lib/screens/JobSearchNative/useJobSearchHostChat.js.map +1 -1
- package/lib/screens/ResumeNative/useResumeHostChat.js +12 -6
- package/lib/screens/ResumeNative/useResumeHostChat.js.map +1 -1
- package/lib/screens/ShoppingNative/useShoppingHostChat.js +12 -6
- package/lib/screens/ShoppingNative/useShoppingHostChat.js.map +1 -1
- package/lib/screens/TravelNative/useTravelHostChat.js +12 -6
- package/lib/screens/TravelNative/useTravelHostChat.js.map +1 -1
- package/lib/screens/WebBuilder/WebViewWithNavigation.js +2 -2
- package/lib/screens/WebBuilder/WebViewWithNavigation.js.map +1 -1
- package/lib/services/brainQuickReply.js +38 -1
- package/lib/services/brainQuickReply.js.map +1 -1
- package/lib/state/chatThreadMerge.js +6 -1
- package/lib/state/chatThreadMerge.js.map +1 -1
- package/package.json +6 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VideoEditExperience.js","sources":["../../../src/features/canvas/VideoEditExperience.tsx"],"sourcesContent":["/**\n * Native twin of web canvas \"Edit Video\" — category + op tabs over\n * `yantra-video-editing` (trim, crop, pad, rotate, concat, …). Apply is one\n * connector op; history is undo; Done writes the latest URL onto the board.\n */\nimport React, { useCallback, useMemo, useState } from 'react';\nimport { ActivityIndicator, Pressable, ScrollView, StyleSheet, Text, TextInput, View } from 'react-native';\nimport { MaterialCommunityIcons } from '@expo/vector-icons';\nimport type { CanvasItem } from './canvasCore';\nimport { getVideoPreviewRenderer } from './videoRenderer';\nimport { friendlyMediaError, resultUrl, type RunMediaAction } from './videoEditor/mediaActions';\nimport {\n INSTANT_HINT,\n VIDEO_EDIT_ACTIONS,\n VIDEO_EDIT_CATEGORIES,\n resultKind,\n type VideoEditCategory,\n type VideoEditOp,\n} from './videoEditor/videoEditOps';\n\nexport interface VideoEditExperienceProps {\n src: string;\n name?: string;\n /** Other board items — overlay, concat, add-audio, slideshow. */\n items?: readonly CanvasItem[];\n runAction?: RunMediaAction;\n onClose: () => void;\n onApplied: (url: string, kind: 'video' | 'image' | 'audio') => void;\n}\n\nexport function VideoEditExperience({\n src,\n name,\n items = [],\n runAction,\n onClose,\n onApplied,\n}: VideoEditExperienceProps) {\n const [history, setHistory] = useState<string[]>([src]);\n const [appliedKind, setAppliedKind] = useState<'video' | 'image' | 'audio'>('video');\n const [busy, setBusy] = useState<string | null>(null);\n const [notice, setNotice] = useState<string | null>(null);\n const [probe, setProbe] = useState<string | null>(null);\n const [playing, setPlaying] = useState(false);\n const [category, setCategory] = useState<VideoEditCategory>('basic');\n const [op, setOp] = useState<VideoEditOp>('trim');\n const [form, setForm] = useState(defaultForm);\n const current = history[history.length - 1];\n const edited = history.length > 1;\n const VideoPreview = getVideoPreviewRenderer();\n const ops = VIDEO_EDIT_CATEGORIES.find((c) => c.id === category)?.ops ?? [];\n\n const patch = useCallback(<K extends keyof EditForm>(key: K, value: EditForm[K]) => {\n setForm((prev) => ({ ...prev, [key]: value }));\n }, []);\n\n const apply = useCallback(() => {\n if (!runAction) {\n setNotice('Editing needs the host connector — not wired in this host.');\n return;\n }\n if (busy) return;\n const action = VIDEO_EDIT_ACTIONS[op];\n const params = paramsFor(op, form);\n setBusy(opLabel(op));\n setPlaying(false);\n setProbe(null);\n runAction('yantra-video-editing', action, { input_url: current, ...params })\n .then((result) => {\n if (op === 'probe') {\n setProbe(JSON.stringify(result.data ?? result, null, 2));\n return;\n }\n setHistory((h) => [...h, resultUrl(result, action)]);\n setAppliedKind(resultKind(op));\n setNotice(null);\n })\n .catch((err: unknown) => setNotice(friendlyMediaError(err, 'video edit')))\n .finally(() => setBusy(null));\n }, [busy, current, form, op, runAction]);\n\n const done = () => {\n if (edited) onApplied(current, appliedKind);\n else onClose();\n };\n\n const videos = useMemo(() => items.filter((i) => i.type === 'video' && i.src !== current), [items, current]);\n const images = useMemo(() => items.filter((i) => i.type === 'image'), [items]);\n const audios = useMemo(() => items.filter((i) => i.type === 'audio'), [items]);\n\n return (\n <View style={styles.root} testID=\"video-editor\">\n <View style={styles.header}>\n <Pressable onPress={onClose} hitSlop={10} accessibilityRole=\"button\" accessibilityLabel=\"Close editor\">\n <MaterialCommunityIcons name=\"close\" size={22} color=\"#F7F7FA\" />\n </Pressable>\n <Text style={styles.headerTitle} numberOfLines={1}>\n {name?.trim() || 'Edit video'}\n </Text>\n <View style={styles.headerActions}>\n <Pressable\n onPress={() => setHistory((h) => (h.length > 1 ? h.slice(0, -1) : h))}\n hitSlop={10}\n disabled={!edited || busy !== null}\n accessibilityRole=\"button\"\n accessibilityLabel=\"Undo\"\n style={!edited || busy ? styles.disabled : null}\n >\n <MaterialCommunityIcons name=\"undo-variant\" size={21} color=\"#F7F7FA\" />\n </Pressable>\n <Pressable onPress={done} hitSlop={10} accessibilityRole=\"button\" accessibilityLabel=\"Done\">\n <Text style={styles.done}>{edited ? 'Done' : 'Close'}</Text>\n </Pressable>\n </View>\n </View>\n\n <View style={styles.stage}>\n {VideoPreview ? (\n <VideoPreview\n src={current}\n playing={playing}\n rate={1}\n volume={1}\n muted={false}\n trimStartSec={0}\n trimEndSec={null}\n onTime={(sec, dur) => {\n if (dur > 0 && sec >= dur - 0.15) setPlaying(false);\n }}\n />\n ) : (\n <MaterialCommunityIcons name=\"video-outline\" size={56} color=\"#2A2440\" />\n )}\n <Pressable\n onPress={() => setPlaying((p) => !p)}\n style={styles.playBtn}\n accessibilityRole=\"button\"\n accessibilityLabel={playing ? 'Pause' : 'Play'}\n disabled={!VideoPreview}\n >\n <MaterialCommunityIcons name={playing ? 'pause' : 'play'} size={26} color=\"#0A0A0C\" />\n </Pressable>\n {busy ? (\n <View style={styles.busyVeil}>\n <ActivityIndicator color=\"#F7F7FA\" />\n <Text style={styles.busyLabel}>{busy}…</Text>\n </View>\n ) : null}\n </View>\n\n <View style={styles.panel}>\n <ScrollView\n horizontal\n showsHorizontalScrollIndicator={false}\n contentContainerStyle={styles.chipRow}\n style={styles.chipScroll}\n >\n {VIDEO_EDIT_CATEGORIES.map((cat) => {\n const active = category === cat.id;\n return (\n <Pressable\n key={cat.id}\n onPress={() => {\n setCategory(cat.id);\n setOp(cat.ops[0].op);\n setProbe(null);\n }}\n style={[styles.catChip, active && styles.catChipOn]}\n >\n <Text style={[styles.catLabel, active && styles.catLabelOn]}>{cat.label}</Text>\n </Pressable>\n );\n })}\n </ScrollView>\n <ScrollView\n horizontal\n showsHorizontalScrollIndicator={false}\n contentContainerStyle={styles.chipRow}\n style={styles.chipScroll}\n >\n {ops.map((entry) => {\n const active = op === entry.op;\n return (\n <Pressable\n key={entry.op}\n onPress={() => {\n setOp(entry.op);\n setProbe(null);\n }}\n style={[styles.opChip, active && styles.opChipOn]}\n >\n <Text style={[styles.opLabel, active && styles.opLabelOn]}>{entry.label}</Text>\n </Pressable>\n );\n })}\n </ScrollView>\n\n <ScrollView style={styles.controls} contentContainerStyle={styles.controlsInner}>\n <OpControls op={op} form={form} patch={patch} videos={videos} images={images} audios={audios} />\n {probe ? <Text style={styles.probe}>{probe}</Text> : null}\n </ScrollView>\n\n <Pressable\n onPress={apply}\n disabled={busy !== null}\n style={[styles.apply, busy && styles.disabled]}\n accessibilityRole=\"button\"\n accessibilityLabel=\"Apply edit\"\n >\n <Text style={styles.applyLabel}>Apply {opLabel(op)}</Text>\n </Pressable>\n </View>\n\n {notice ? (\n <View style={styles.notice}>\n <Text style={styles.noticeText}>{notice}</Text>\n <Pressable onPress={() => setNotice(null)} hitSlop={8}>\n <Text style={styles.noticeDismiss}>OK</Text>\n </Pressable>\n </View>\n ) : null}\n </View>\n );\n}\n\ninterface EditForm {\n trimStart: number;\n trimEnd: number;\n speed: number;\n codec: 'h264' | 'h265' | 'av1';\n resolution: '720p' | '1080p' | '4k';\n gifFps: number;\n gifWidth: number;\n thumbTime: number;\n fps: number;\n cropX: string;\n cropY: string;\n cropW: string;\n cropH: string;\n padW: string;\n padH: string;\n padColor: string;\n rotateDeg: number;\n flipH: boolean;\n flipV: boolean;\n fadeInMs: number;\n fadeOutMs: number;\n blur: number;\n denoise: 'light' | 'medium' | 'strong';\n stabilize: number;\n delogoX: number;\n delogoY: number;\n delogoW: number;\n delogoH: number;\n brightness: number;\n contrast: number;\n saturation: number;\n volume: number;\n lufs: number;\n delayMs: number;\n overlayText: string;\n overlayX: string;\n overlayY: string;\n overlaySize: number;\n overlayImage: string;\n pipUrl: string;\n subtitleUrl: string;\n chroma: string;\n chromaSim: number;\n loop: number;\n tags: string;\n extraUrls: string[];\n stackDir: 'h' | 'v';\n transitionUrl: string;\n transitionFx: string;\n transitionMs: number;\n addAudioUrl: string;\n extractFps: number;\n slideSec: number;\n sheetCols: number;\n sheetRows: number;\n}\n\nconst defaultForm = (): EditForm => ({\n trimStart: 0,\n trimEnd: 10,\n speed: 1.5,\n codec: 'h264',\n resolution: '720p',\n gifFps: 10,\n gifWidth: 360,\n thumbTime: 0,\n fps: 30,\n cropX: '0',\n cropY: '0',\n cropW: 'iw',\n cropH: 'ih',\n padW: '1280',\n padH: '720',\n padColor: 'black',\n rotateDeg: 90,\n flipH: false,\n flipV: false,\n fadeInMs: 500,\n fadeOutMs: 500,\n blur: 5,\n denoise: 'medium',\n stabilize: 30,\n delogoX: 0,\n delogoY: 0,\n delogoW: 100,\n delogoH: 50,\n brightness: 0,\n contrast: 1,\n saturation: 1,\n volume: 1,\n lufs: -16,\n delayMs: 0,\n overlayText: '',\n overlayX: '10',\n overlayY: '10',\n overlaySize: 24,\n overlayImage: '',\n pipUrl: '',\n subtitleUrl: '',\n chroma: '#00ff00',\n chromaSim: 0.1,\n loop: 2,\n tags: 'title=My Video',\n extraUrls: [],\n stackDir: 'h',\n transitionUrl: '',\n transitionFx: 'fade',\n transitionMs: 1000,\n addAudioUrl: '',\n extractFps: 1,\n slideSec: 2,\n sheetCols: 5,\n sheetRows: 5,\n});\n\nfunction paramsFor(op: VideoEditOp, f: EditForm): Record<string, unknown> {\n switch (op) {\n case 'trim':\n return { start_secs: f.trimStart, end_secs: f.trimEnd };\n case 'speed':\n return { factor: f.speed };\n case 'transcode':\n return { codec: f.codec, resolution: f.resolution };\n case 'gif':\n return { fps: f.gifFps, width: f.gifWidth };\n case 'thumbnail':\n return { time_secs: f.thumbTime };\n case 'fps':\n return { fps: f.fps };\n case 'crop':\n return { x: f.cropX, y: f.cropY, width: f.cropW, height: f.cropH };\n case 'pad':\n return { width: f.padW, height: f.padH, color: f.padColor };\n case 'rotate':\n return { degrees: f.rotateDeg, flip_h: f.flipH, flip_v: f.flipV };\n case 'fade':\n return { fade_in_ms: f.fadeInMs, fade_out_ms: f.fadeOutMs };\n case 'blur':\n return { radius: f.blur };\n case 'denoise':\n return { strength: f.denoise };\n case 'stabilize':\n return { smoothing: f.stabilize };\n case 'delogo':\n return { x: f.delogoX, y: f.delogoY, width: f.delogoW, height: f.delogoH };\n case 'color_adjust':\n return { brightness: f.brightness, contrast: f.contrast, saturation: f.saturation };\n case 'volume':\n return { level: f.volume };\n case 'audio_normalize':\n return { i: f.lufs };\n case 'audio_delay':\n return { delay_ms: f.delayMs };\n case 'overlay_text':\n return { text: f.overlayText, x: f.overlayX, y: f.overlayY, font_size: f.overlaySize };\n case 'overlay_image':\n return { overlay_image: f.overlayImage };\n case 'picture_in_picture':\n return { overlay: f.pipUrl };\n case 'burn_subtitles':\n return { subtitle_file: f.subtitleUrl };\n case 'chroma_key':\n return { color: f.chroma, similarity: f.chromaSim };\n case 'loop':\n return { count: f.loop };\n case 'metadata': {\n const tags: Record<string, string> = {};\n f.tags.split('\\n').forEach((line) => {\n const eq = line.indexOf('=');\n if (eq > 0) tags[line.slice(0, eq).trim()] = line.slice(eq + 1).trim();\n });\n return { tags };\n }\n case 'concat':\n return { input_urls: f.extraUrls };\n case 'stack':\n return { input_urls: f.extraUrls, direction: f.stackDir };\n case 'transition':\n return { input2_url: f.transitionUrl, effect: f.transitionFx, duration_ms: f.transitionMs };\n case 'add_audio':\n return { audio_input_url: f.addAudioUrl };\n case 'extract_frames':\n return { fps: f.extractFps };\n case 'slideshow':\n return { duration_per_image: f.slideSec };\n case 'contact_sheet':\n return { cols: f.sheetCols, rows: f.sheetRows };\n default:\n return {};\n }\n}\n\nfunction opLabel(op: VideoEditOp): string {\n for (const cat of VIDEO_EDIT_CATEGORIES) {\n const hit = cat.ops.find((o) => o.op === op);\n if (hit) return hit.label;\n }\n return op;\n}\n\nfunction OpControls({\n op,\n form,\n patch,\n videos,\n images,\n audios,\n}: {\n op: VideoEditOp;\n form: EditForm;\n patch: <K extends keyof EditForm>(key: K, value: EditForm[K]) => void;\n videos: readonly CanvasItem[];\n images: readonly CanvasItem[];\n audios: readonly CanvasItem[];\n}) {\n const hint = INSTANT_HINT[op];\n if (hint) return <Text style={styles.hint}>{hint}</Text>;\n\n if (op === 'trim') {\n return (\n <View style={styles.row}>\n <Stepper\n label=\"Start\"\n value={`${form.trimStart.toFixed(1)}s`}\n onLess={() => patch('trimStart', Math.max(0, form.trimStart - 0.5))}\n onMore={() => patch('trimStart', Math.min(form.trimEnd - 0.5, form.trimStart + 0.5))}\n />\n <Stepper\n label=\"End\"\n value={`${form.trimEnd.toFixed(1)}s`}\n onLess={() => patch('trimEnd', Math.max(form.trimStart + 0.5, form.trimEnd - 0.5))}\n onMore={() => patch('trimEnd', form.trimEnd + 0.5)}\n />\n </View>\n );\n }\n if (op === 'speed') {\n return (\n <View style={styles.row}>\n {[0.25, 0.5, 1.5, 2, 4].map((factor) => (\n <Pressable\n key={factor}\n onPress={() => patch('speed', factor)}\n style={[styles.choice, form.speed === factor && styles.choiceOn]}\n >\n <Text style={[styles.choiceLabel, form.speed === factor && styles.choiceLabelOn]}>\n {factor}×\n </Text>\n </Pressable>\n ))}\n </View>\n );\n }\n if (op === 'transcode') {\n return (\n <View style={styles.row}>\n {(['h264', 'h265', 'av1'] as const).map((codec) => (\n <Pressable\n key={codec}\n onPress={() => patch('codec', codec)}\n style={[styles.choice, form.codec === codec && styles.choiceOn]}\n >\n <Text style={[styles.choiceLabel, form.codec === codec && styles.choiceLabelOn]}>\n {codec.toUpperCase()}\n </Text>\n </Pressable>\n ))}\n {(['720p', '1080p', '4k'] as const).map((res) => (\n <Pressable\n key={res}\n onPress={() => patch('resolution', res)}\n style={[styles.choice, form.resolution === res && styles.choiceOn]}\n >\n <Text style={[styles.choiceLabel, form.resolution === res && styles.choiceLabelOn]}>{res}</Text>\n </Pressable>\n ))}\n </View>\n );\n }\n if (op === 'gif') {\n return (\n <View style={styles.row}>\n <Stepper\n label=\"FPS\"\n value={`${form.gifFps}`}\n onLess={() => patch('gifFps', Math.max(5, form.gifFps - 1))}\n onMore={() => patch('gifFps', Math.min(24, form.gifFps + 1))}\n />\n {[360, 480, 640].map((w) => (\n <Pressable\n key={w}\n onPress={() => patch('gifWidth', w)}\n style={[styles.choice, form.gifWidth === w && styles.choiceOn]}\n >\n <Text style={[styles.choiceLabel, form.gifWidth === w && styles.choiceLabelOn]}>{w}px</Text>\n </Pressable>\n ))}\n </View>\n );\n }\n if (op === 'thumbnail') {\n return (\n <Stepper\n label=\"At\"\n value={`${form.thumbTime.toFixed(1)}s`}\n onLess={() => patch('thumbTime', Math.max(0, form.thumbTime - 0.5))}\n onMore={() => patch('thumbTime', form.thumbTime + 0.5)}\n />\n );\n }\n if (op === 'fps') {\n return (\n <View style={styles.row}>\n {[24, 30, 60].map((n) => (\n <Pressable\n key={n}\n onPress={() => patch('fps', n)}\n style={[styles.choice, form.fps === n && styles.choiceOn]}\n >\n <Text style={[styles.choiceLabel, form.fps === n && styles.choiceLabelOn]}>{n} fps</Text>\n </Pressable>\n ))}\n </View>\n );\n }\n if (op === 'crop') {\n return (\n <View style={styles.grid}>\n <Field label=\"X\" value={form.cropX} onChange={(v) => patch('cropX', v)} />\n <Field label=\"Y\" value={form.cropY} onChange={(v) => patch('cropY', v)} />\n <Field label=\"Width\" value={form.cropW} onChange={(v) => patch('cropW', v)} />\n <Field label=\"Height\" value={form.cropH} onChange={(v) => patch('cropH', v)} />\n </View>\n );\n }\n if (op === 'pad') {\n return (\n <View style={styles.grid}>\n <Field label=\"Width\" value={form.padW} onChange={(v) => patch('padW', v)} />\n <Field label=\"Height\" value={form.padH} onChange={(v) => patch('padH', v)} />\n <Field label=\"Color\" value={form.padColor} onChange={(v) => patch('padColor', v)} />\n </View>\n );\n }\n if (op === 'rotate') {\n return (\n <View style={styles.row}>\n {[90, 180, 270].map((deg) => (\n <Pressable\n key={deg}\n onPress={() => patch('rotateDeg', deg)}\n style={[styles.choice, form.rotateDeg === deg && styles.choiceOn]}\n >\n <Text style={[styles.choiceLabel, form.rotateDeg === deg && styles.choiceLabelOn]}>{deg}°</Text>\n </Pressable>\n ))}\n <Pressable\n onPress={() => patch('flipH', !form.flipH)}\n style={[styles.choice, form.flipH && styles.choiceOn]}\n >\n <Text style={[styles.choiceLabel, form.flipH && styles.choiceLabelOn]}>Flip H</Text>\n </Pressable>\n <Pressable\n onPress={() => patch('flipV', !form.flipV)}\n style={[styles.choice, form.flipV && styles.choiceOn]}\n >\n <Text style={[styles.choiceLabel, form.flipV && styles.choiceLabelOn]}>Flip V</Text>\n </Pressable>\n </View>\n );\n }\n if (op === 'fade') {\n return (\n <View style={styles.row}>\n <Stepper\n label=\"In\"\n value={`${form.fadeInMs}ms`}\n onLess={() => patch('fadeInMs', Math.max(0, form.fadeInMs - 100))}\n onMore={() => patch('fadeInMs', form.fadeInMs + 100)}\n />\n <Stepper\n label=\"Out\"\n value={`${form.fadeOutMs}ms`}\n onLess={() => patch('fadeOutMs', Math.max(0, form.fadeOutMs - 100))}\n onMore={() => patch('fadeOutMs', form.fadeOutMs + 100)}\n />\n </View>\n );\n }\n if (op === 'blur') {\n return (\n <Stepper\n label=\"Radius\"\n value={`${form.blur}`}\n onLess={() => patch('blur', Math.max(1, form.blur - 1))}\n onMore={() => patch('blur', form.blur + 1)}\n />\n );\n }\n if (op === 'denoise') {\n return (\n <View style={styles.row}>\n {(['light', 'medium', 'strong'] as const).map((level) => (\n <Pressable\n key={level}\n onPress={() => patch('denoise', level)}\n style={[styles.choice, form.denoise === level && styles.choiceOn]}\n >\n <Text style={[styles.choiceLabel, form.denoise === level && styles.choiceLabelOn]}>\n {level}\n </Text>\n </Pressable>\n ))}\n </View>\n );\n }\n if (op === 'stabilize') {\n return (\n <Stepper\n label=\"Smooth\"\n value={`${form.stabilize}`}\n onLess={() => patch('stabilize', Math.max(1, form.stabilize - 5))}\n onMore={() => patch('stabilize', Math.min(60, form.stabilize + 5))}\n />\n );\n }\n if (op === 'delogo') {\n return (\n <View style={styles.grid}>\n <Stepper\n label=\"X\"\n value={`${form.delogoX}`}\n onLess={() => patch('delogoX', Math.max(0, form.delogoX - 8))}\n onMore={() => patch('delogoX', form.delogoX + 8)}\n />\n <Stepper\n label=\"Y\"\n value={`${form.delogoY}`}\n onLess={() => patch('delogoY', Math.max(0, form.delogoY - 8))}\n onMore={() => patch('delogoY', form.delogoY + 8)}\n />\n <Stepper\n label=\"W\"\n value={`${form.delogoW}`}\n onLess={() => patch('delogoW', Math.max(8, form.delogoW - 8))}\n onMore={() => patch('delogoW', form.delogoW + 8)}\n />\n <Stepper\n label=\"H\"\n value={`${form.delogoH}`}\n onLess={() => patch('delogoH', Math.max(8, form.delogoH - 8))}\n onMore={() => patch('delogoH', form.delogoH + 8)}\n />\n </View>\n );\n }\n if (op === 'color_adjust') {\n return (\n <View style={styles.row}>\n <Stepper\n label=\"Bright\"\n value={form.brightness.toFixed(1)}\n onLess={() => patch('brightness', Math.round((form.brightness - 0.1) * 10) / 10)}\n onMore={() => patch('brightness', Math.round((form.brightness + 0.1) * 10) / 10)}\n />\n <Stepper\n label=\"Contrast\"\n value={form.contrast.toFixed(1)}\n onLess={() => patch('contrast', Math.max(0, Math.round((form.contrast - 0.1) * 10) / 10))}\n onMore={() => patch('contrast', Math.round((form.contrast + 0.1) * 10) / 10)}\n />\n <Stepper\n label=\"Sat\"\n value={form.saturation.toFixed(1)}\n onLess={() => patch('saturation', Math.max(0, Math.round((form.saturation - 0.1) * 10) / 10))}\n onMore={() => patch('saturation', Math.round((form.saturation + 0.1) * 10) / 10)}\n />\n </View>\n );\n }\n if (op === 'volume') {\n return (\n <View style={styles.row}>\n {[0.25, 0.5, 1, 1.5, 2].map((level) => (\n <Pressable\n key={level}\n onPress={() => patch('volume', level)}\n style={[styles.choice, form.volume === level && styles.choiceOn]}\n >\n <Text style={[styles.choiceLabel, form.volume === level && styles.choiceLabelOn]}>\n {Math.round(level * 100)}%\n </Text>\n </Pressable>\n ))}\n </View>\n );\n }\n if (op === 'audio_normalize') {\n return (\n <Stepper\n label=\"LUFS\"\n value={`${form.lufs}`}\n onLess={() => patch('lufs', form.lufs - 1)}\n onMore={() => patch('lufs', form.lufs + 1)}\n />\n );\n }\n if (op === 'audio_delay') {\n return (\n <Stepper\n label=\"Delay\"\n value={`${form.delayMs}ms`}\n onLess={() => patch('delayMs', Math.max(0, form.delayMs - 50))}\n onMore={() => patch('delayMs', form.delayMs + 50)}\n />\n );\n }\n if (op === 'overlay_text') {\n return (\n <View>\n <Field label=\"Text\" value={form.overlayText} onChange={(v) => patch('overlayText', v)} />\n <View style={styles.row}>\n <Field label=\"X\" value={form.overlayX} onChange={(v) => patch('overlayX', v)} />\n <Field label=\"Y\" value={form.overlayY} onChange={(v) => patch('overlayY', v)} />\n <Stepper\n label=\"Size\"\n value={`${form.overlaySize}`}\n onLess={() => patch('overlaySize', Math.max(10, form.overlaySize - 2))}\n onMore={() => patch('overlaySize', form.overlaySize + 2)}\n />\n </View>\n </View>\n );\n }\n if (op === 'overlay_image') {\n return (\n <PickRow\n label=\"Overlay image\"\n items={images}\n selected={form.overlayImage}\n onSelect={(url) => patch('overlayImage', url)}\n empty=\"Add an image to the board first.\"\n />\n );\n }\n if (op === 'picture_in_picture') {\n return (\n <PickRow\n label=\"PiP clip\"\n items={[...videos, ...images]}\n selected={form.pipUrl}\n onSelect={(url) => patch('pipUrl', url)}\n empty=\"Add another clip or image to the board.\"\n />\n );\n }\n if (op === 'burn_subtitles') {\n return <Field label=\"Subtitle URL\" value={form.subtitleUrl} onChange={(v) => patch('subtitleUrl', v)} />;\n }\n if (op === 'chroma_key') {\n return (\n <View style={styles.row}>\n <Field label=\"Color\" value={form.chroma} onChange={(v) => patch('chroma', v)} />\n <Stepper\n label=\"Sim\"\n value={form.chromaSim.toFixed(2)}\n onLess={() => patch('chromaSim', Math.max(0, Math.round((form.chromaSim - 0.05) * 100) / 100))}\n onMore={() => patch('chromaSim', Math.round((form.chromaSim + 0.05) * 100) / 100)}\n />\n </View>\n );\n }\n if (op === 'loop') {\n return (\n <Stepper\n label=\"Count\"\n value={`${form.loop}`}\n onLess={() => patch('loop', Math.max(1, form.loop - 1))}\n onMore={() => patch('loop', form.loop + 1)}\n />\n );\n }\n if (op === 'metadata') {\n return <Field label=\"Tags (key=value)\" value={form.tags} onChange={(v) => patch('tags', v)} multiline />;\n }\n if (op === 'concat' || op === 'stack') {\n return (\n <View>\n {op === 'stack' ? (\n <View style={styles.row}>\n <Pressable\n onPress={() => patch('stackDir', 'h')}\n style={[styles.choice, form.stackDir === 'h' && styles.choiceOn]}\n >\n <Text style={[styles.choiceLabel, form.stackDir === 'h' && styles.choiceLabelOn]}>\n Horizontal\n </Text>\n </Pressable>\n <Pressable\n onPress={() => patch('stackDir', 'v')}\n style={[styles.choice, form.stackDir === 'v' && styles.choiceOn]}\n >\n <Text style={[styles.choiceLabel, form.stackDir === 'v' && styles.choiceLabelOn]}>\n Vertical\n </Text>\n </Pressable>\n </View>\n ) : null}\n <PickMulti\n items={videos}\n selected={form.extraUrls}\n onChange={(urls) => patch('extraUrls', urls)}\n empty=\"Add more videos to the board.\"\n />\n </View>\n );\n }\n if (op === 'slideshow') {\n return (\n <Stepper\n label=\"Each\"\n value={`${form.slideSec}s`}\n onLess={() => patch('slideSec', Math.max(0.5, form.slideSec - 0.5))}\n onMore={() => patch('slideSec', form.slideSec + 0.5)}\n />\n );\n }\n if (op === 'transition') {\n return (\n <View>\n <PickRow\n label=\"Second clip\"\n items={videos}\n selected={form.transitionUrl}\n onSelect={(url) => patch('transitionUrl', url)}\n empty=\"Add another video to the board.\"\n />\n <View style={styles.row}>\n {['fade', 'wipeleft', 'slideright', 'circlecrop'].map((fx) => (\n <Pressable\n key={fx}\n onPress={() => patch('transitionFx', fx)}\n style={[styles.choice, form.transitionFx === fx && styles.choiceOn]}\n >\n <Text style={[styles.choiceLabel, form.transitionFx === fx && styles.choiceLabelOn]}>\n {fx}\n </Text>\n </Pressable>\n ))}\n </View>\n <Stepper\n label=\"Ms\"\n value={`${form.transitionMs}`}\n onLess={() => patch('transitionMs', Math.max(200, form.transitionMs - 200))}\n onMore={() => patch('transitionMs', form.transitionMs + 200)}\n />\n </View>\n );\n }\n if (op === 'add_audio') {\n return (\n <PickRow\n label=\"Audio\"\n items={audios}\n selected={form.addAudioUrl}\n onSelect={(url) => patch('addAudioUrl', url)}\n empty=\"Add an audio item to the board.\"\n />\n );\n }\n if (op === 'extract_frames') {\n return (\n <Stepper\n label=\"FPS\"\n value={`${form.extractFps}`}\n onLess={() => patch('extractFps', Math.max(1, form.extractFps - 1))}\n onMore={() => patch('extractFps', form.extractFps + 1)}\n />\n );\n }\n if (op === 'contact_sheet') {\n return (\n <View style={styles.row}>\n <Stepper\n label=\"Cols\"\n value={`${form.sheetCols}`}\n onLess={() => patch('sheetCols', Math.max(1, form.sheetCols - 1))}\n onMore={() => patch('sheetCols', form.sheetCols + 1)}\n />\n <Stepper\n label=\"Rows\"\n value={`${form.sheetRows}`}\n onLess={() => patch('sheetRows', Math.max(1, form.sheetRows - 1))}\n onMore={() => patch('sheetRows', form.sheetRows + 1)}\n />\n </View>\n );\n }\n return <Text style={styles.hint}>Apply to run this edit.</Text>;\n}\n\nfunction Field({\n label,\n value,\n onChange,\n multiline,\n}: {\n label: string;\n value: string;\n onChange: (v: string) => void;\n multiline?: boolean;\n}) {\n return (\n <View style={styles.field}>\n <Text style={styles.fieldLabel}>{label}</Text>\n <TextInput\n value={value}\n onChangeText={onChange}\n style={[styles.fieldInput, multiline && styles.fieldMulti]}\n placeholderTextColor=\"#5A5A66\"\n autoCapitalize=\"none\"\n autoCorrect={false}\n multiline={multiline}\n />\n </View>\n );\n}\n\nfunction Stepper({\n label,\n value,\n onLess,\n onMore,\n}: {\n label: string;\n value: string;\n onLess: () => void;\n onMore: () => void;\n}) {\n return (\n <View style={styles.stepper}>\n <Text style={styles.stepperLabel}>{label}</Text>\n <Pressable onPress={onLess} hitSlop={8} accessibilityRole=\"button\" accessibilityLabel={`${label} less`}>\n <MaterialCommunityIcons name=\"minus\" size={15} color=\"#F7F7FA\" />\n </Pressable>\n <Text style={styles.stepperValue}>{value}</Text>\n <Pressable onPress={onMore} hitSlop={8} accessibilityRole=\"button\" accessibilityLabel={`${label} more`}>\n <MaterialCommunityIcons name=\"plus\" size={15} color=\"#F7F7FA\" />\n </Pressable>\n </View>\n );\n}\n\nfunction PickRow({\n label,\n items,\n selected,\n onSelect,\n empty,\n}: {\n label: string;\n items: readonly CanvasItem[];\n selected: string;\n onSelect: (url: string) => void;\n empty: string;\n}) {\n if (items.length === 0) return <Text style={styles.hint}>{empty}</Text>;\n return (\n <View>\n <Text style={styles.fieldLabel}>{label}</Text>\n <ScrollView horizontal showsHorizontalScrollIndicator={false} contentContainerStyle={styles.row}>\n {items.map((item) => {\n const on = item.src === selected;\n return (\n <Pressable\n key={item.id}\n onPress={() => onSelect(item.src)}\n style={[styles.choice, on && styles.choiceOn]}\n >\n <Text style={[styles.choiceLabel, on && styles.choiceLabelOn]} numberOfLines={1}>\n {item.generatedAssetName || item.type}\n </Text>\n </Pressable>\n );\n })}\n </ScrollView>\n </View>\n );\n}\n\nfunction PickMulti({\n items,\n selected,\n onChange,\n empty,\n}: {\n items: readonly CanvasItem[];\n selected: string[];\n onChange: (urls: string[]) => void;\n empty: string;\n}) {\n if (items.length === 0) return <Text style={styles.hint}>{empty}</Text>;\n return (\n <ScrollView horizontal showsHorizontalScrollIndicator={false} contentContainerStyle={styles.row}>\n {items.map((item) => {\n const on = selected.includes(item.src);\n return (\n <Pressable\n key={item.id}\n onPress={() => onChange(on ? selected.filter((u) => u !== item.src) : [...selected, item.src])}\n style={[styles.choice, on && styles.choiceOn]}\n >\n <Text style={[styles.choiceLabel, on && styles.choiceLabelOn]} numberOfLines={1}>\n {item.generatedAssetName || item.type}\n </Text>\n </Pressable>\n );\n })}\n </ScrollView>\n );\n}\n\nconst styles = StyleSheet.create({\n root: { flex: 1, backgroundColor: '#0A0A0C' },\n header: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingHorizontal: 16,\n paddingVertical: 12,\n gap: 12,\n },\n headerTitle: { flex: 1, color: '#F7F7FA', fontSize: 15, fontWeight: '600', textAlign: 'center' },\n headerActions: { flexDirection: 'row', alignItems: 'center', gap: 16 },\n done: { color: '#8B7CFF', fontSize: 15, fontWeight: '600' },\n disabled: { opacity: 0.35 },\n stage: {\n flex: 1,\n marginHorizontal: 14,\n borderRadius: 18,\n backgroundColor: '#0F0F14',\n overflow: 'hidden',\n alignItems: 'center',\n justifyContent: 'center',\n },\n playBtn: {\n position: 'absolute',\n width: 52,\n height: 52,\n borderRadius: 26,\n backgroundColor: '#F7F7FA',\n alignItems: 'center',\n justifyContent: 'center',\n },\n busyVeil: {\n ...StyleSheet.absoluteFillObject,\n borderRadius: 18,\n alignItems: 'center',\n justifyContent: 'center',\n gap: 10,\n backgroundColor: 'rgba(10, 10, 12, 0.55)',\n },\n busyLabel: { color: '#E8E8EE', fontSize: 12.5 },\n panel: {\n maxHeight: '48%',\n borderTopWidth: StyleSheet.hairlineWidth,\n borderTopColor: 'rgba(255,255,255,0.08)',\n paddingBottom: 10,\n },\n chipScroll: { flexGrow: 0 },\n chipRow: { paddingHorizontal: 12, paddingTop: 8, gap: 6, flexDirection: 'row' },\n catChip: { paddingHorizontal: 10, paddingVertical: 6, borderRadius: 999, backgroundColor: '#1F1F24' },\n catChipOn: { backgroundColor: '#F7F7FA' },\n catLabel: { color: '#9A9AA5', fontSize: 11, fontWeight: '600' },\n catLabelOn: { color: '#0A0A0C' },\n opChip: { paddingHorizontal: 10, paddingVertical: 5, borderRadius: 999, backgroundColor: '#16161A' },\n opChipOn: { backgroundColor: '#8B7CFF' },\n opLabel: { color: '#C8C8D0', fontSize: 12, fontWeight: '500' },\n opLabelOn: { color: '#0A0A0C' },\n controls: { maxHeight: 140, marginTop: 6 },\n controlsInner: { paddingHorizontal: 14, paddingBottom: 8, gap: 8 },\n apply: {\n marginHorizontal: 14,\n marginTop: 4,\n height: 40,\n borderRadius: 10,\n backgroundColor: '#8B7CFF',\n alignItems: 'center',\n justifyContent: 'center',\n },\n applyLabel: { color: '#0A0A0C', fontSize: 14, fontWeight: '700' },\n row: { flexDirection: 'row', alignItems: 'center', gap: 8, flexWrap: 'wrap', paddingVertical: 4 },\n grid: { flexDirection: 'row', flexWrap: 'wrap', gap: 8 },\n hint: { color: '#9A9AA5', fontSize: 13, lineHeight: 18 },\n probe: { color: '#C8C8D0', fontSize: 11, fontFamily: 'Menlo', marginTop: 6 },\n choice: {\n paddingHorizontal: 12,\n paddingVertical: 8,\n borderRadius: 9,\n backgroundColor: '#1F1F24',\n maxWidth: 140,\n },\n choiceOn: { backgroundColor: '#8B7CFF' },\n choiceLabel: { color: '#F7F7FA', fontSize: 12.5, fontWeight: '500' },\n choiceLabelOn: { color: '#0A0A0C' },\n field: { minWidth: 88, flexGrow: 1 },\n fieldLabel: { color: '#9A9AA5', fontSize: 11, marginBottom: 4 },\n fieldInput: {\n color: '#F7F7FA',\n fontSize: 13,\n paddingHorizontal: 10,\n paddingVertical: 8,\n borderRadius: 9,\n backgroundColor: '#1F1F24',\n },\n fieldMulti: { minHeight: 56, textAlignVertical: 'top' },\n stepper: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 9,\n paddingHorizontal: 12,\n paddingVertical: 8,\n borderRadius: 9,\n backgroundColor: '#1F1F24',\n },\n stepperLabel: { color: '#9A9AA5', fontSize: 11.5 },\n stepperValue: {\n color: '#F7F7FA',\n fontSize: 12.5,\n fontVariant: ['tabular-nums'],\n minWidth: 44,\n textAlign: 'center',\n },\n notice: {\n position: 'absolute',\n left: 20,\n right: 20,\n bottom: 24,\n flexDirection: 'row',\n alignItems: 'center',\n gap: 12,\n paddingHorizontal: 14,\n paddingVertical: 11,\n borderRadius: 12,\n backgroundColor: 'rgba(248, 250, 252, 0.96)',\n },\n noticeText: { flex: 1, color: '#0f172a', fontSize: 13 },\n noticeDismiss: { color: '#6C5CE7', fontSize: 13, fontWeight: '600' },\n});\n"],"names":["_a"],"mappings":"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"}
|