@adminide-stack/yantra-mobile 12.0.69-alpha.9 → 12.0.70-alpha.0
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 +166 -0
- package/lib/features/chat/ConnectorConnectCard.js.map +1 -0
- package/lib/features/chat/ConnectorConnectPrompt.js +272 -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 +207 -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":"JobSearchAgentChatPane.js","sources":["../../../src/features/job-search/JobSearchAgentChatPane.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { Pressable, ScrollView, StyleSheet, Text, View } from 'react-native';\nimport { Feather, MaterialCommunityIcons } from '@expo/vector-icons';\nimport { NativeAgentChat, type AgentChatMessage, type AgentChatSuggestion } from '../agent-chat';\nimport { delayMs, splitReplyChunks } from '../shopping/chat/streamAssistantReply';\nimport type { MessageAttachment } from '../../hooks/useChatStream';\nimport type { JobPosting } from './types';\nimport type { ApplyFromChatResult } from './useJobSearchSession';\nimport type { JobSearchHostChat } from './hostChat';\nimport { parseJobSearchIntent, shouldUseHostLane } from './chat/widgetContent';\nimport { companyAvatarColor } from './jobSearchTheme';\n\nconst STREAM_TICK_MS = 16;\nconst CONVERSATION_REPLY =\n 'Tell me what to look for — a role, a company, a city, or remote. For example: remote senior backend engineer roles.';\n\nconst SUGGESTIONS: AgentChatSuggestion[] = [\n { id: 'find', label: 'Find roles', prompt: 'Find remote senior backend engineer roles' },\n { id: 'research', label: 'Research a company', prompt: 'Research Stripe for a senior backend role' },\n {\n id: 'analyze',\n label: 'Analyze a JD',\n prompt: 'Analyze this job description against my profile — I will paste the JD.',\n },\n {\n id: 'tailor',\n label: 'Tailor an application',\n prompt: 'Tailor my full application package for a job posting I name.',\n },\n {\n id: 'track',\n label: \"This week's pipeline\",\n prompt: 'Show my application pipeline: statuses, follow-ups, and what to apply to next.',\n },\n {\n id: 'outreach',\n label: 'Write outreach',\n prompt: 'Write a LinkedIn DM for one of my applications with a real hook.',\n },\n];\n\nexport function JobSearchAgentChatPane({\n visible,\n onClose,\n hostChat,\n applyFromChat,\n jobs,\n onViewJobs,\n onOpenJob,\n seedTurn = null,\n onClearChat,\n isDark,\n ink,\n muted,\n screen,\n border,\n card,\n accent,\n}: {\n visible: boolean;\n onClose: () => void;\n hostChat?: JobSearchHostChat;\n applyFromChat: (text: string) => Promise<ApplyFromChatResult>;\n jobs: JobPosting[];\n onViewJobs: () => void;\n onOpenJob: (job: JobPosting) => void;\n seedTurn?: {\n text: string;\n files?: MessageAttachment[];\n id?: string;\n mode?: 'send' | 'greet';\n greeting?: string;\n desk?: 'research' | 'tailor';\n } | null;\n /** Clears local + host chat and notifies parent to reset search. */\n onClearChat?: () => void;\n isDark: boolean;\n ink: string;\n muted: string;\n screen: string;\n border: string;\n card: string;\n accent: string;\n}) {\n const [localMessages, setLocalMessages] = useState<AgentChatMessage[]>([]);\n const [busy, setBusy] = useState(false);\n const [stream, setStream] = useState<string | null>(null);\n const [hitQuery, setHitQuery] = useState('');\n /** Landing chip desk: research / tailor empty state instead of a lone greeting bubble. */\n const [desk, setDesk] = useState<'default' | 'research' | 'tailor'>('default');\n const [composerSeed, setComposerSeed] = useState<string | null>(null);\n const [composerSeedKey, setComposerSeedKey] = useState(0);\n const inFlight = useRef(false);\n const seededKey = useRef<string | null>(null);\n const streamGen = useRef(0);\n const liveRef = useRef('');\n /** Native search owns the turn — ignore host busy/stream so Thinking does not reappear after results. */\n const nativeOwnsTurn = useRef(false);\n\n const hostMessages = hostChat?.messages ?? [];\n const messages = hostMessages.length > 0 ? hostMessages : localMessages;\n\n const pumpTo = async (gen: number, target: string) => {\n if (streamGen.current !== gen) return;\n let current = liveRef.current;\n if (target === current) return;\n if (!target.startsWith(current)) {\n current = '';\n liveRef.current = '';\n }\n const rest = target.slice(current.length);\n for (const chunk of splitReplyChunks(rest)) {\n if (streamGen.current !== gen) return;\n liveRef.current += chunk;\n setStream(liveRef.current);\n await delayMs(STREAM_TICK_MS);\n }\n };\n\n const summarizeJobs = (rows: JobPosting[], query: string) => {\n const q = query.trim();\n if (rows.length === 0) {\n return q\n ? `I couldn't find roles matching **${q}**. Try a broader title or drop the location.`\n : `I couldn't find roles for that request. Try a different query.`;\n }\n const header = q\n ? `I found **${rows.length} role${rows.length === 1 ? '' : 's'}** for **${q}**:`\n : `I found **${rows.length} role${rows.length === 1 ? '' : 's'}**:`;\n const preview = rows.slice(0, 3);\n const lines = preview.map((j, i) => `${i + 1}. **${j.title}** — ${j.company}${j.remote ? ' · Remote' : ''}`);\n const remaining = rows.length - preview.length;\n const parts = [header, '', ...lines];\n if (remaining > 0) parts.push('', `_+ ${remaining} more in the card below._`);\n parts.push('', 'Tap **View roles** below to browse the full list on the Jobs page.');\n return parts.join('\\n');\n };\n\n const runNativeSearch = (query: string, showLocalTurns: boolean) => {\n const gen = ++streamGen.current;\n nativeOwnsTurn.current = true;\n liveRef.current = `Searching live boards for **${query}**…`;\n setBusy(true);\n setStream(liveRef.current);\n void applyFromChat(query)\n .then(async (result) => {\n if (streamGen.current !== gen) return;\n if (result.conversation) {\n if (showLocalTurns) {\n await pumpTo(gen, CONVERSATION_REPLY);\n setLocalMessages((prev) => [\n ...prev,\n { id: `a-${Date.now()}`, role: 'assistant', content: CONVERSATION_REPLY },\n ]);\n }\n setBusy(false);\n setStream(null);\n liveRef.current = '';\n return;\n }\n if (!result.error && result.jobs.length > 0) setHitQuery(result.query);\n else setHitQuery('');\n const body = result.error || summarizeJobs(result.jobs, result.query);\n await pumpTo(gen, body);\n if (streamGen.current !== gen) return;\n if (showLocalTurns) {\n setLocalMessages((prev) => [...prev, { id: `a-${Date.now()}`, role: 'assistant', content: body }]);\n }\n // Clear busy before stream so Thinking never flashes between the reply and the card.\n setBusy(false);\n setStream(null);\n liveRef.current = '';\n })\n .finally(() => {\n if (streamGen.current !== gen) return;\n nativeOwnsTurn.current = false;\n inFlight.current = false;\n setBusy(false);\n });\n };\n\n const send = (text: string, files?: MessageAttachment[]) => {\n const trimmed = text.trim();\n if (!trimmed && !files?.length) return;\n streamGen.current += 1;\n setStream(null);\n inFlight.current = true;\n const fileCount = files?.length ?? 0;\n const parsed = parseJobSearchIntent(trimmed);\n const useHost = Boolean(hostChat) && shouldUseHostLane(trimmed, fileCount);\n\n if (useHost && hostChat) {\n nativeOwnsTurn.current = false;\n if (!hostChat.connected) {\n setLocalMessages((prev) => [\n ...prev,\n { id: `u-${Date.now()}`, role: 'user', content: trimmed },\n {\n id: `a-${Date.now()}`,\n role: 'assistant',\n content:\n hostChat.error ||\n 'CDeCLI is not connected yet. Check gateway status in the header, then send again.',\n },\n ]);\n inFlight.current = false;\n return;\n }\n // Host-only: do not also run native search. Parallel lanes left Thinking/Drafting\n // on after the roles card appeared (research prompts match SEARCH_HINT via \"role\").\n hostChat.send(trimmed, files);\n inFlight.current = false;\n return;\n }\n\n setLocalMessages((prev) => [\n ...prev,\n { id: `u-${Date.now()}`, role: 'user', content: trimmed, createdAt: new Date().toISOString() },\n ]);\n if (parsed) {\n runNativeSearch(trimmed, true);\n return;\n }\n setLocalMessages((prev) => [\n ...prev,\n { id: `a-${Date.now()}`, role: 'assistant', content: CONVERSATION_REPLY },\n ]);\n inFlight.current = false;\n };\n\n const clearChat = () => {\n streamGen.current += 1;\n liveRef.current = '';\n nativeOwnsTurn.current = false;\n setStream(null);\n setBusy(false);\n inFlight.current = false;\n setLocalMessages([]);\n setHitQuery('');\n setDesk('default');\n setComposerSeed(null);\n seededKey.current = null;\n hostChat?.clear?.();\n onClearChat?.();\n };\n\n useEffect(() => {\n if (!visible || !seedTurn) return;\n const key = seedTurn.id ?? `${seedTurn.text}|${seedTurn.files?.length ?? 0}|${seedTurn.mode ?? 'send'}`;\n if (seededKey.current === key) return;\n seededKey.current = key;\n // Conversational chips (Research / Tailor): open a focused desk — do not\n // auto-send a long instruction that leaves the user on Pondering…\n if (seedTurn.mode === 'greet') {\n const kind = seedTurn.desk === 'tailor' ? 'tailor' : 'research';\n setHitQuery('');\n setBusy(false);\n setStream(null);\n setLocalMessages([]);\n setDesk(kind);\n setComposerSeed(kind === 'research' ? 'Research ' : '');\n setComposerSeedKey((n) => n + 1);\n return;\n }\n setDesk('default');\n send(seedTurn.text, seedTurn.files);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [visible, seedTurn]);\n\n const emptyTitle =\n desk === 'research' ? 'Research a company' : desk === 'tailor' ? 'Tailor an application' : 'Job hunt copilot';\n const emptyBody =\n desk === 'research'\n ? 'Name a company and the role you are targeting. I will cover culture, tech stack, live openings, and verifiable hooks.'\n : desk === 'tailor'\n ? 'Paste a JD URL or name the company + role and I will build the tailored package.'\n : 'Search live boards, tailor a resume, and track applications in one place.';\n const placeholder =\n desk === 'research'\n ? 'e.g. Stripe — senior backend'\n : desk === 'tailor'\n ? 'e.g. paste JD URL or company + role'\n : 'Find roles, tailor a JD, or ask about the pipeline…';\n const deskSuggestions: AgentChatSuggestion[] =\n desk === 'research'\n ? [\n { id: 'r-stripe', label: 'Stripe', prompt: 'Research Stripe for a senior backend engineer role' },\n { id: 'r-notion', label: 'Notion', prompt: 'Research Notion for a product engineer role' },\n { id: 'r-vercel', label: 'Vercel', prompt: 'Research Vercel for a full stack engineer role' },\n ]\n : desk === 'tailor'\n ? [\n {\n id: 't-url',\n label: 'I have a JD URL',\n prompt: 'Tailor my application — I will paste the job URL next.',\n },\n {\n id: 't-paste',\n label: 'I will paste the JD',\n prompt: 'Tailor my application — I will paste the job description next.',\n },\n ]\n : SUGGESTIONS;\n\n return (\n <NativeAgentChat\n title=\"Job Agent\"\n visible={visible}\n onClose={onClose}\n messages={messages}\n renderConnectorCard={hostChat?.renderConnectorCard}\n onSend={(text, files) => {\n setDesk('default');\n send(text, files);\n }}\n onClear={clearChat}\n busy={busy || (Boolean(hostChat?.busy) && !nativeOwnsTurn.current && !stream)}\n streamingContent={stream ?? (nativeOwnsTurn.current ? null : (hostChat?.streaming ?? null))}\n error={hostChat?.error ?? null}\n placeholder={placeholder}\n emptyTitle={emptyTitle}\n emptyBody={emptyBody}\n suggestions={messages.length === 0 ? deskSuggestions : []}\n composerSeed={composerSeed}\n composerSeedKey={composerSeedKey}\n onComposerSeedConsumed={() => setComposerSeed(null)}\n composerLead={\n hitQuery && jobs.length > 0 ? (\n <JobHitsCard\n jobs={jobs}\n query={hitQuery}\n onViewJobs={onViewJobs}\n onOpenJob={onOpenJob}\n ink={ink}\n muted={muted}\n border={border}\n card={card}\n accent={accent}\n />\n ) : null\n }\n isDark={isDark}\n ink={ink}\n muted={muted}\n screen={screen}\n border={border}\n />\n );\n}\n\nconst PREVIEW_LIMIT = 8;\nconst TILE_W = 112;\n\nfunction JobHitsCard({\n jobs,\n query,\n onViewJobs,\n onOpenJob,\n ink,\n muted,\n border,\n card,\n accent,\n}: {\n jobs: JobPosting[];\n query: string;\n onViewJobs: () => void;\n onOpenJob: (job: JobPosting) => void;\n ink: string;\n muted: string;\n border: string;\n card: string;\n accent: string;\n}) {\n const preview = jobs.slice(0, PREVIEW_LIMIT);\n const remaining = jobs.length - preview.length;\n const queryHint = query.trim() ? `Roles for ${query.trim()}` : 'Job results';\n\n return (\n <View style={[hitStyles.wrap, { backgroundColor: card, borderColor: border }]}>\n <Text style={[hitStyles.title, { color: ink }]} numberOfLines={1}>\n {queryHint}\n </Text>\n <Text style={[hitStyles.sub, { color: muted }]} numberOfLines={1}>\n {jobs.length} role{jobs.length === 1 ? '' : 's'}\n </Text>\n <ScrollView\n horizontal\n nestedScrollEnabled\n directionalLockEnabled\n keyboardShouldPersistTaps=\"handled\"\n showsHorizontalScrollIndicator\n bounces\n style={hitStyles.hScroll}\n contentContainerStyle={hitStyles.row}\n >\n {preview.map((job) => (\n <Pressable\n key={job.id}\n unstable_pressDelay={80}\n onPress={() => onOpenJob(job)}\n style={hitStyles.tile}\n >\n <View style={[hitStyles.avatar, { backgroundColor: companyAvatarColor(job.company) }]}>\n <MaterialCommunityIcons name=\"briefcase-outline\" size={22} color=\"#FFFFFF\" />\n </View>\n <Text style={[hitStyles.thumbTitle, { color: ink }]} numberOfLines={2}>\n {job.title}\n </Text>\n <Text style={[hitStyles.thumbMeta, { color: muted }]} numberOfLines={1}>\n {job.company}\n </Text>\n </Pressable>\n ))}\n {remaining > 0 ? (\n <Pressable\n onPress={onViewJobs}\n style={[hitStyles.more, { borderColor: border }]}\n accessibilityRole=\"button\"\n accessibilityLabel={`View ${remaining} more roles`}\n >\n <Text style={[hitStyles.moreText, { color: muted }]}>+{remaining} more</Text>\n </Pressable>\n ) : null}\n </ScrollView>\n <Pressable\n onPress={onViewJobs}\n style={[hitStyles.cta, { backgroundColor: accent }]}\n accessibilityRole=\"button\"\n accessibilityLabel=\"View roles\"\n >\n <Feather name=\"external-link\" size={12} color=\"#fff\" />\n <Text style={hitStyles.ctaText}>View roles</Text>\n </Pressable>\n </View>\n );\n}\n\nconst hitStyles = StyleSheet.create({\n wrap: {\n marginHorizontal: 12,\n marginBottom: 8,\n borderWidth: StyleSheet.hairlineWidth,\n borderRadius: 8,\n padding: 10,\n gap: 4,\n },\n title: { fontSize: 12, fontWeight: '600' },\n sub: { fontSize: 11, marginBottom: 4 },\n hScroll: { flexGrow: 0 },\n row: { gap: 8, paddingBottom: 4, paddingRight: 20 },\n tile: { width: TILE_W },\n avatar: {\n width: TILE_W,\n height: 56,\n borderRadius: 6,\n alignItems: 'center',\n justifyContent: 'center',\n },\n\n thumbTitle: { marginTop: 4, fontSize: 11, fontWeight: '600', lineHeight: 14 },\n thumbMeta: { fontSize: 10, marginTop: 1 },\n more: {\n width: TILE_W,\n alignItems: 'center',\n justifyContent: 'center',\n borderWidth: 1,\n borderStyle: 'dashed',\n borderRadius: 6,\n minHeight: 70,\n },\n moreText: { fontSize: 11 },\n cta: {\n marginTop: 8,\n borderRadius: 6,\n paddingVertical: 7,\n alignItems: 'center',\n justifyContent: 'center',\n flexDirection: 'row',\n gap: 6,\n },\n ctaText: { color: '#fff', fontWeight: '600', fontSize: 11 },\n});\n"],"names":["_a","_b","_c"],"mappings":"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"}
|