@altimateai/ui-components 0.0.79 → 0.0.80
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/dist/0~315.js +46635 -0
- package/dist/0~315.js.LICENSE.txt +73 -0
- package/dist/0~315.js.map +1 -0
- package/dist/131.js +14352 -0
- package/dist/131.js.map +1 -0
- package/dist/3~315.js +46635 -0
- package/dist/3~315.js.LICENSE.txt +73 -0
- package/dist/3~315.js.map +1 -0
- package/dist/582.js +1299 -0
- package/dist/582.js.map +1 -0
- package/dist/assets/icons/index.d.ts +45 -110
- package/dist/assets/icons/index.d.ts.map +1 -0
- package/dist/chatbotV2.js +5233 -0
- package/dist/chatbotV2.js.map +1 -0
- package/dist/components/api/index.d.ts +7 -0
- package/dist/components/api/index.d.ts.map +1 -0
- package/dist/components/api/useMutation.d.ts +12 -0
- package/dist/components/api/useMutation.d.ts.map +1 -0
- package/dist/components/api/useQuery.d.ts +12 -0
- package/dist/components/api/useQuery.d.ts.map +1 -0
- package/dist/components/chatbotV2/ChatProvider.d.ts +17 -0
- package/dist/components/chatbotV2/ChatProvider.d.ts.map +1 -0
- package/dist/components/chatbotV2/Chatbot.d.ts +4 -0
- package/dist/components/chatbotV2/Chatbot.d.ts.map +1 -0
- package/dist/components/chatbotV2/HelloMessageSample.d.ts +3 -0
- package/dist/components/chatbotV2/HelloMessageSample.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/action-buttons/DownloadMessage.d.ts +9 -0
- package/dist/components/chatbotV2/components/action-buttons/DownloadMessage.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/action-buttons/ShareMessage.d.ts +9 -0
- package/dist/components/chatbotV2/components/action-buttons/ShareMessage.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/artifacts/Artifacts.d.ts +8 -0
- package/dist/components/chatbotV2/components/artifacts/Artifacts.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/artifacts/index.d.ts +2 -0
- package/dist/components/chatbotV2/components/artifacts/index.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/attachmentList/AttachmentList.d.ts +8 -0
- package/dist/components/chatbotV2/components/attachmentList/AttachmentList.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/attachmentList/index.d.ts +2 -0
- package/dist/components/chatbotV2/components/attachmentList/index.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/cancelGenerationButton/CancelGenerationButton.d.ts +3 -0
- package/dist/components/chatbotV2/components/cancelGenerationButton/CancelGenerationButton.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/cancelGenerationButton/index.d.ts +2 -0
- package/dist/components/chatbotV2/components/cancelGenerationButton/index.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/chatMessageActions/ChatFeedbackActions.d.ts +8 -0
- package/dist/components/chatbotV2/components/chatMessageActions/ChatFeedbackActions.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/chatMessageActions/ChatLastMessageActions.d.ts +8 -0
- package/dist/components/chatbotV2/components/chatMessageActions/ChatLastMessageActions.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/chatMessageActions/ChatMessageActions.d.ts +10 -0
- package/dist/components/chatbotV2/components/chatMessageActions/ChatMessageActions.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/chatMessageActions/ChatMessageEndActions.d.ts +9 -0
- package/dist/components/chatbotV2/components/chatMessageActions/ChatMessageEndActions.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/chatMessageActions/index.d.ts +4 -0
- package/dist/components/chatbotV2/components/chatMessageActions/index.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/chatTriggerLink/ChatTriggerLink.d.ts +7 -0
- package/dist/components/chatbotV2/components/chatTriggerLink/ChatTriggerLink.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/citations/Citations.d.ts +28 -0
- package/dist/components/chatbotV2/components/citations/Citations.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/coachAI/CoachAI.d.ts +2 -0
- package/dist/components/chatbotV2/components/coachAI/CoachAI.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/coachAI/index.d.ts +2 -0
- package/dist/components/chatbotV2/components/coachAI/index.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/contextPanel/ContextPanel.d.ts +13 -0
- package/dist/components/chatbotV2/components/contextPanel/ContextPanel.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/contextPanel/index.d.ts +2 -0
- package/dist/components/chatbotV2/components/contextPanel/index.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/emailDialog/EmailDialog.d.ts +10 -0
- package/dist/components/chatbotV2/components/emailDialog/EmailDialog.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/entityItem/EntityItem.d.ts +7 -0
- package/dist/components/chatbotV2/components/entityItem/EntityItem.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/entityItem/index.d.ts +2 -0
- package/dist/components/chatbotV2/components/entityItem/index.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/followup/Followup.d.ts +3 -0
- package/dist/components/chatbotV2/components/followup/Followup.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/index.d.ts +18 -0
- package/dist/components/chatbotV2/components/index.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/interactionPrompt/InteractionPrompt.d.ts +8 -0
- package/dist/components/chatbotV2/components/interactionPrompt/InteractionPrompt.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/interactionPrompt/index.d.ts +2 -0
- package/dist/components/chatbotV2/components/interactionPrompt/index.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/loadingIndicator/LoadingIndicator.d.ts +3 -0
- package/dist/components/chatbotV2/components/loadingIndicator/LoadingIndicator.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/loadingIndicator/index.d.ts +2 -0
- package/dist/components/chatbotV2/components/loadingIndicator/index.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/messageItem/MessageItem.d.ts +12 -0
- package/dist/components/chatbotV2/components/messageItem/MessageItem.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/messageItem/index.d.ts +2 -0
- package/dist/components/chatbotV2/components/messageItem/index.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/messageList/MessageList.d.ts +11 -0
- package/dist/components/chatbotV2/components/messageList/MessageList.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/messageList/index.d.ts +2 -0
- package/dist/components/chatbotV2/components/messageList/index.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/questionForm/QuestionForm.d.ts +15 -0
- package/dist/components/chatbotV2/components/questionForm/QuestionForm.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/questionForm/index.d.ts +2 -0
- package/dist/components/chatbotV2/components/questionForm/index.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/refetchSession/RefetchSession.d.ts +8 -0
- package/dist/components/chatbotV2/components/refetchSession/RefetchSession.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/regenerateButton/RegenerateButton.d.ts +7 -0
- package/dist/components/chatbotV2/components/regenerateButton/RegenerateButton.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/regenerateButton/index.d.ts +2 -0
- package/dist/components/chatbotV2/components/regenerateButton/index.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/selectedContexts/SelectedContexts.d.ts +8 -0
- package/dist/components/chatbotV2/components/selectedContexts/SelectedContexts.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/statusUpdates/StatusUpdates.d.ts +10 -0
- package/dist/components/chatbotV2/components/statusUpdates/StatusUpdates.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/statusUpdates/index.d.ts +2 -0
- package/dist/components/chatbotV2/components/statusUpdates/index.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/todoProgress/TodoProgress.d.ts +8 -0
- package/dist/components/chatbotV2/components/todoProgress/TodoProgress.d.ts.map +1 -0
- package/dist/components/chatbotV2/components/todoProgress/index.d.ts +2 -0
- package/dist/components/chatbotV2/components/todoProgress/index.d.ts.map +1 -0
- package/dist/components/chatbotV2/hooks/transports.d.ts +126 -0
- package/dist/components/chatbotV2/hooks/transports.d.ts.map +1 -0
- package/dist/components/chatbotV2/hooks/useAgentChat.d.ts +41 -0
- package/dist/components/chatbotV2/hooks/useAgentChat.d.ts.map +1 -0
- package/dist/components/chatbotV2/hooks/useEntityDetection.d.ts +4 -0
- package/dist/components/chatbotV2/hooks/useEntityDetection.d.ts.map +1 -0
- package/dist/components/chatbotV2/hooks/useFeedback.d.ts +5 -0
- package/dist/components/chatbotV2/hooks/useFeedback.d.ts.map +1 -0
- package/dist/components/chatbotV2/index.d.ts +22 -0
- package/dist/components/chatbotV2/index.d.ts.map +1 -0
- package/dist/components/chatbotV2/store/chatSlice.d.ts +65 -0
- package/dist/components/chatbotV2/store/chatSlice.d.ts.map +1 -0
- package/dist/components/chatbotV2/store/index.d.ts +10 -0
- package/dist/components/chatbotV2/store/index.d.ts.map +1 -0
- package/dist/{types-ByRPUpXR.d.ts → components/chatbotV2/types.d.ts} +77 -195
- package/dist/components/chatbotV2/types.d.ts.map +1 -0
- package/dist/components/chatbotV2/utils/entityDetection.d.ts +12 -0
- package/dist/components/chatbotV2/utils/entityDetection.d.ts.map +1 -0
- package/dist/components/chatbotV2/utils/streamProcessor.d.ts +98 -0
- package/dist/components/chatbotV2/utils/streamProcessor.d.ts.map +1 -0
- package/dist/components/chatbotV2/utils.d.ts +3 -0
- package/dist/components/chatbotV2/utils.d.ts.map +1 -0
- package/dist/components/dbtDocs/api/index.d.ts +16 -0
- package/dist/components/dbtDocs/api/index.d.ts.map +1 -0
- package/dist/components/dbtDocs/collaboration/ConversationHighlighter.d.ts +6 -0
- package/dist/components/dbtDocs/collaboration/ConversationHighlighter.d.ts.map +1 -0
- package/dist/components/dbtDocs/collaboration/ConversationInputForm.d.ts +13 -0
- package/dist/components/dbtDocs/collaboration/ConversationInputForm.d.ts.map +1 -0
- package/dist/components/dbtDocs/collaboration/ConversationsHighlighter.d.ts +3 -0
- package/dist/components/dbtDocs/collaboration/ConversationsHighlighter.d.ts.map +1 -0
- package/dist/components/dbtDocs/collaboration/DbtDocsCollaborationComponents.d.ts +3 -0
- package/dist/components/dbtDocs/collaboration/DbtDocsCollaborationComponents.d.ts.map +1 -0
- package/dist/components/dbtDocs/collaboration/DbtDocsCollaborationProvider.d.ts +22 -0
- package/dist/components/dbtDocs/collaboration/DbtDocsCollaborationProvider.d.ts.map +1 -0
- package/dist/components/dbtDocs/collaboration/DbtDocsConversationsRightPanel.d.ts +3 -0
- package/dist/components/dbtDocs/collaboration/DbtDocsConversationsRightPanel.d.ts.map +1 -0
- package/dist/components/dbtDocs/collaboration/DbtDocsReducer.d.ts +1931 -0
- package/dist/components/dbtDocs/collaboration/DbtDocsReducer.d.ts.map +1 -0
- package/dist/components/dbtDocs/collaboration/HighlightAnchor.d.ts +12 -0
- package/dist/components/dbtDocs/collaboration/HighlightAnchor.d.ts.map +1 -0
- package/dist/components/dbtDocs/collaboration/HighlightBlocker.d.ts +7 -0
- package/dist/components/dbtDocs/collaboration/HighlightBlocker.d.ts.map +1 -0
- package/dist/components/dbtDocs/collaboration/HotspotButton.d.ts +7 -0
- package/dist/components/dbtDocs/collaboration/HotspotButton.d.ts.map +1 -0
- package/dist/components/dbtDocs/collaboration/NewConversationForm.d.ts +3 -0
- package/dist/components/dbtDocs/collaboration/NewConversationForm.d.ts.map +1 -0
- package/dist/components/dbtDocs/collaboration/ShowConversationsButton.d.ts +3 -0
- package/dist/components/dbtDocs/collaboration/ShowConversationsButton.d.ts.map +1 -0
- package/dist/components/dbtDocs/collaboration/constants.d.ts +20 -0
- package/dist/components/dbtDocs/collaboration/constants.d.ts.map +1 -0
- package/dist/components/dbtDocs/collaboration/conversations/Conversation.d.ts +9 -0
- package/dist/components/dbtDocs/collaboration/conversations/Conversation.d.ts.map +1 -0
- package/dist/components/dbtDocs/collaboration/conversations/ConversationGroup.d.ts +10 -0
- package/dist/components/dbtDocs/collaboration/conversations/ConversationGroup.d.ts.map +1 -0
- package/dist/components/dbtDocs/collaboration/conversations/ConversationGroups.d.ts +3 -0
- package/dist/components/dbtDocs/collaboration/conversations/ConversationGroups.d.ts.map +1 -0
- package/dist/components/dbtDocs/collaboration/conversations/ConversationHeader.d.ts +13 -0
- package/dist/components/dbtDocs/collaboration/conversations/ConversationHeader.d.ts.map +1 -0
- package/dist/components/dbtDocs/collaboration/conversations/ConversationHighlightText.d.ts +6 -0
- package/dist/components/dbtDocs/collaboration/conversations/ConversationHighlightText.d.ts.map +1 -0
- package/dist/components/dbtDocs/collaboration/conversations/ConversationReplyForm.d.ts +9 -0
- package/dist/components/dbtDocs/collaboration/conversations/ConversationReplyForm.d.ts.map +1 -0
- package/dist/components/dbtDocs/collaboration/conversations/ResolveButton.d.ts +8 -0
- package/dist/components/dbtDocs/collaboration/conversations/ResolveButton.d.ts.map +1 -0
- package/dist/components/dbtDocs/collaboration/conversations/context/ConversationsProvider.d.ts +18 -0
- package/dist/components/dbtDocs/collaboration/conversations/context/ConversationsProvider.d.ts.map +1 -0
- package/dist/components/dbtDocs/collaboration/conversations/context/types.d.ts +44 -0
- package/dist/components/dbtDocs/collaboration/conversations/context/types.d.ts.map +1 -0
- package/dist/components/dbtDocs/collaboration/conversations/useConversations.d.ts +5 -0
- package/dist/components/dbtDocs/collaboration/conversations/useConversations.d.ts.map +1 -0
- package/dist/components/dbtDocs/collaboration/highlightUtils.d.ts +28 -0
- package/dist/components/dbtDocs/collaboration/highlightUtils.d.ts.map +1 -0
- package/dist/components/dbtDocs/collaboration/mentions/MentionsInput.d.ts +11 -0
- package/dist/components/dbtDocs/collaboration/mentions/MentionsInput.d.ts.map +1 -0
- package/dist/components/dbtDocs/collaboration/mentions/index.d.ts +32 -0
- package/dist/components/dbtDocs/collaboration/mentions/index.d.ts.map +1 -0
- package/dist/components/dbtDocs/collaboration/newConversationUtils.d.ts +15 -0
- package/dist/components/dbtDocs/collaboration/newConversationUtils.d.ts.map +1 -0
- package/dist/components/dbtDocs/collaboration/selectionEndEvent.d.ts +17 -0
- package/dist/components/dbtDocs/collaboration/selectionEndEvent.d.ts.map +1 -0
- package/dist/components/dbtDocs/collaboration/types.d.ts +15 -0
- package/dist/components/dbtDocs/collaboration/types.d.ts.map +1 -0
- package/dist/components/dbtDocs/collaboration/useConversationUsers.d.ts +5 -0
- package/dist/components/dbtDocs/collaboration/useConversationUsers.d.ts.map +1 -0
- package/dist/components/dbtDocs/collaboration/useDbtDocsCollaboration.d.ts +7 -0
- package/dist/components/dbtDocs/collaboration/useDbtDocsCollaboration.d.ts.map +1 -0
- package/dist/components/dbtDocs/collaboration/useHighlight.d.ts +12 -0
- package/dist/components/dbtDocs/collaboration/useHighlight.d.ts.map +1 -0
- package/dist/components/dbtDocs/details/AddCommentButton.d.ts +3 -0
- package/dist/components/dbtDocs/details/AddCommentButton.d.ts.map +1 -0
- package/dist/components/dbtDocs/details/AddCommentOnCodeButton.d.ts +3 -0
- package/dist/components/dbtDocs/details/AddCommentOnCodeButton.d.ts.map +1 -0
- package/dist/components/dbtDocs/details/AddCommentOnModelDescriptionButton.d.ts +3 -0
- package/dist/components/dbtDocs/details/AddCommentOnModelDescriptionButton.d.ts.map +1 -0
- package/dist/components/dbtDocs/details/DbtDocs.d.ts +10 -0
- package/dist/components/dbtDocs/details/DbtDocs.d.ts.map +1 -0
- package/dist/components/dbtDocs/details/DbtDocsDetails.d.ts +3 -0
- package/dist/components/dbtDocs/details/DbtDocsDetails.d.ts.map +1 -0
- package/dist/components/dbtDocs/details/DbtDocsRenderer.d.ts +8 -0
- package/dist/components/dbtDocs/details/DbtDocsRenderer.d.ts.map +1 -0
- package/dist/components/dbtDocs/details/dbtDocsUtils.d.ts +5 -0
- package/dist/components/dbtDocs/details/dbtDocsUtils.d.ts.map +1 -0
- package/dist/components/dbtDocs/index.d.ts +8 -0
- package/dist/components/dbtDocs/index.d.ts.map +1 -0
- package/dist/components/dbtDocs/resources/dbtDocsAngularApp.d.ts +3 -0
- package/dist/components/dbtDocs/resources/dbtDocsAngularApp.d.ts.map +1 -0
- package/dist/components/lineage/api/index.d.ts +65 -0
- package/dist/components/lineage/api/index.d.ts.map +1 -0
- package/dist/components/lineage/assets/icons/index.d.ts +61 -0
- package/dist/components/lineage/assets/icons/index.d.ts.map +1 -0
- package/dist/components/lineage/cllUtils.d.ts +17 -0
- package/dist/components/lineage/cllUtils.d.ts.map +1 -0
- package/dist/components/lineage/components/AutoExpansionPopover.d.ts +3 -0
- package/dist/components/lineage/components/AutoExpansionPopover.d.ts.map +1 -0
- package/dist/components/lineage/components/BetterPopover.d.ts +14 -0
- package/dist/components/lineage/components/BetterPopover.d.ts.map +1 -0
- package/dist/components/lineage/components/Chip.d.ts +6 -0
- package/dist/components/lineage/components/Chip.d.ts.map +1 -0
- package/dist/components/lineage/components/Column.d.ts +52 -0
- package/dist/components/lineage/components/Column.d.ts.map +1 -0
- package/dist/components/lineage/components/ColumnRow.d.ts +8 -0
- package/dist/components/lineage/components/ColumnRow.d.ts.map +1 -0
- package/dist/components/lineage/components/CustomNodes.d.ts +16 -0
- package/dist/components/lineage/components/CustomNodes.d.ts.map +1 -0
- package/dist/components/lineage/components/DashboardDetails.d.ts +12 -0
- package/dist/components/lineage/components/DashboardDetails.d.ts.map +1 -0
- package/dist/components/lineage/components/DynamicLineage.d.ts +9 -0
- package/dist/components/lineage/components/DynamicLineage.d.ts.map +1 -0
- package/dist/components/lineage/components/ExpandWithConfidenceCard.d.ts +3 -0
- package/dist/components/lineage/components/ExpandWithConfidenceCard.d.ts.map +1 -0
- package/dist/components/lineage/components/ExportButton.d.ts +6 -0
- package/dist/components/lineage/components/ExportButton.d.ts.map +1 -0
- package/dist/components/lineage/components/ExportFinalLineageModal.d.ts +5 -0
- package/dist/components/lineage/components/ExportFinalLineageModal.d.ts.map +1 -0
- package/dist/components/lineage/components/ExposureDetails.d.ts +6 -0
- package/dist/components/lineage/components/ExposureDetails.d.ts.map +1 -0
- package/dist/components/lineage/components/Feedback.d.ts +5 -0
- package/dist/components/lineage/components/Feedback.d.ts.map +1 -0
- package/dist/components/lineage/components/Form.d.ts +5 -0
- package/dist/components/lineage/components/Form.d.ts.map +1 -0
- package/dist/components/lineage/components/FunctionDetails.d.ts +3 -0
- package/dist/components/lineage/components/FunctionDetails.d.ts.map +1 -0
- package/dist/components/lineage/components/LineageLegend.d.ts +3 -0
- package/dist/components/lineage/components/LineageLegend.d.ts.map +1 -0
- package/dist/components/lineage/components/LineageModals.d.ts +3 -0
- package/dist/components/lineage/components/LineageModals.d.ts.map +1 -0
- package/dist/components/lineage/components/Loader/index.d.ts +7 -0
- package/dist/components/lineage/components/Loader/index.d.ts.map +1 -0
- package/dist/components/lineage/components/MoreTables.d.ts +11 -0
- package/dist/components/lineage/components/MoreTables.d.ts.map +1 -0
- package/dist/components/lineage/components/Purpose.d.ts +6 -0
- package/dist/components/lineage/components/Purpose.d.ts.map +1 -0
- package/dist/components/lineage/components/ResetButton.d.ts +6 -0
- package/dist/components/lineage/components/ResetButton.d.ts.map +1 -0
- package/dist/components/lineage/components/Settings.d.ts +6 -0
- package/dist/components/lineage/components/Settings.d.ts.map +1 -0
- package/dist/components/lineage/components/SettingsButton.d.ts +3 -0
- package/dist/components/lineage/components/SettingsButton.d.ts.map +1 -0
- package/dist/components/lineage/components/SidebarErrorBoundary.d.ts +13 -0
- package/dist/components/lineage/components/SidebarErrorBoundary.d.ts.map +1 -0
- package/dist/components/lineage/components/SnowflakeStageDetails.d.ts +3 -0
- package/dist/components/lineage/components/SnowflakeStageDetails.d.ts.map +1 -0
- package/dist/components/lineage/components/SqlLineage.d.ts +12 -0
- package/dist/components/lineage/components/SqlLineage.d.ts.map +1 -0
- package/dist/components/lineage/components/StaticLineage.d.ts +17 -0
- package/dist/components/lineage/components/StaticLineage.d.ts.map +1 -0
- package/dist/components/lineage/components/TableDetails.d.ts +53 -0
- package/dist/components/lineage/components/TableDetails.d.ts.map +1 -0
- package/dist/components/lineage/components/Tags/index.d.ts +5 -0
- package/dist/components/lineage/components/Tags/index.d.ts.map +1 -0
- package/dist/components/lineage/components/ViewsTypeBadge.d.ts +5 -0
- package/dist/components/lineage/components/ViewsTypeBadge.d.ts.map +1 -0
- package/dist/components/lineage/components/sidebarModal/SidebarModal.d.ts +9 -0
- package/dist/components/lineage/components/sidebarModal/SidebarModal.d.ts.map +1 -0
- package/dist/components/lineage/constants.d.ts +12 -0
- package/dist/components/lineage/constants.d.ts.map +1 -0
- package/dist/components/lineage/context/LineageProvider.d.ts +35 -0
- package/dist/components/lineage/context/LineageProvider.d.ts.map +1 -0
- package/dist/components/lineage/context/LineageSlice.d.ts +4673 -0
- package/dist/components/lineage/context/LineageSlice.d.ts.map +1 -0
- package/dist/components/lineage/context/types.d.ts +57 -0
- package/dist/components/lineage/context/types.d.ts.map +1 -0
- package/dist/components/lineage/graph.d.ts +43 -0
- package/dist/components/lineage/graph.d.ts.map +1 -0
- package/dist/components/lineage/index.d.ts +8 -0
- package/dist/components/lineage/index.d.ts.map +1 -0
- package/dist/{lineage/index.d.ts → components/lineage/types.d.ts} +59 -92
- package/dist/components/lineage/types.d.ts.map +1 -0
- package/dist/components/lineage/utils.d.ts +100 -0
- package/dist/components/lineage/utils.d.ts.map +1 -0
- package/dist/components/shared/index.d.ts +2 -0
- package/dist/components/shared/index.d.ts.map +1 -0
- package/dist/components/shared/types.d.ts +18 -0
- package/dist/components/shared/types.d.ts.map +1 -0
- package/dist/components/teammate/AddLearningForm.d.ts +13 -0
- package/dist/components/teammate/AddLearningForm.d.ts.map +1 -0
- package/dist/components/teammate/CoachForm.d.ts +10 -0
- package/dist/components/teammate/CoachForm.d.ts.map +1 -0
- package/dist/components/teammate/CoachFormButton.d.ts +3 -0
- package/dist/components/teammate/CoachFormButton.d.ts.map +1 -0
- package/dist/components/teammate/CoachFormInput.d.ts +8 -0
- package/dist/components/teammate/CoachFormInput.d.ts.map +1 -0
- package/dist/components/teammate/LearningRow.d.ts +10 -0
- package/dist/components/teammate/LearningRow.d.ts.map +1 -0
- package/dist/components/teammate/LearningsList.d.ts +11 -0
- package/dist/components/teammate/LearningsList.d.ts.map +1 -0
- package/dist/components/teammate/TeamMateProvider.d.ts +8 -0
- package/dist/components/teammate/TeamMateProvider.d.ts.map +1 -0
- package/dist/components/teammate/TeamMates.d.ts +10 -0
- package/dist/components/teammate/TeamMates.d.ts.map +1 -0
- package/dist/components/teammate/TeamMatesCard.d.ts +10 -0
- package/dist/components/teammate/TeamMatesCard.d.ts.map +1 -0
- package/dist/components/teammate/alertManager/AlertManagerDisplay.d.ts +4 -0
- package/dist/components/teammate/alertManager/AlertManagerDisplay.d.ts.map +1 -0
- package/dist/components/teammate/assets/index.d.ts +8 -0
- package/dist/components/teammate/assets/index.d.ts.map +1 -0
- package/dist/components/teammate/index.d.ts +11 -0
- package/dist/components/teammate/index.d.ts.map +1 -0
- package/dist/components/teammate/projectGovernor/ChecksInput.d.ts +7 -0
- package/dist/components/teammate/projectGovernor/ChecksInput.d.ts.map +1 -0
- package/dist/components/teammate/projectGovernor/ProjectGovernanceCheck.d.ts +8 -0
- package/dist/components/teammate/projectGovernor/ProjectGovernanceCheck.d.ts.map +1 -0
- package/dist/components/teammate/projectGovernor/ProjectGovernorDisplay.d.ts +3 -0
- package/dist/components/teammate/projectGovernor/ProjectGovernorDisplay.d.ts.map +1 -0
- package/dist/components/teammate/projectGovernor/ProjectGovernorForm.d.ts +7 -0
- package/dist/components/teammate/projectGovernor/ProjectGovernorForm.d.ts.map +1 -0
- package/dist/components/teammate/projectGovernor/types.d.ts +48 -0
- package/dist/components/teammate/projectGovernor/types.d.ts.map +1 -0
- package/dist/components/teammate/teamMateSlice.d.ts +15 -0
- package/dist/components/teammate/teamMateSlice.d.ts.map +1 -0
- package/dist/components/teammate/teamMatesConfig.d.ts +3 -0
- package/dist/components/teammate/teamMatesConfig.d.ts.map +1 -0
- package/dist/components/teammate/teradata/HelloMessage.d.ts +3 -0
- package/dist/components/teammate/teradata/HelloMessage.d.ts.map +1 -0
- package/dist/components/teammate/teradata/MigratorDisplay.d.ts +4 -0
- package/dist/components/teammate/teradata/MigratorDisplay.d.ts.map +1 -0
- package/dist/components/teammate/types.d.ts +113 -0
- package/dist/components/teammate/types.d.ts.map +1 -0
- package/dist/components/teammate/useTeamMateContext.d.ts +3 -0
- package/dist/components/teammate/useTeamMateContext.d.ts.map +1 -0
- package/dist/components/user/ProfileImageByUser.d.ts +7 -0
- package/dist/components/user/ProfileImageByUser.d.ts.map +1 -0
- package/dist/components/user/index.d.ts +3 -0
- package/dist/components/user/index.d.ts.map +1 -0
- package/dist/components/user/types.d.ts +7 -0
- package/dist/components/user/types.d.ts.map +1 -0
- package/dist/dbtDocs.css +297 -0
- package/dist/dbtDocs.css.map +1 -0
- package/dist/dbtDocs.js +1 -0
- package/dist/index.d.ts +14 -285
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -40
- package/dist/lineage.css +1221 -0
- package/dist/lineage.css.map +1 -0
- package/dist/lineage.js +7267 -0
- package/dist/lineage.js.map +1 -0
- package/dist/rslib-runtime.js +20 -0
- package/dist/rslib-runtime.js.map +1 -0
- package/dist/shared/AutosizeTextarea.d.ts +19 -0
- package/dist/shared/AutosizeTextarea.d.ts.map +1 -0
- package/dist/shared/Collapse.d.ts +7 -0
- package/dist/shared/Collapse.d.ts.map +1 -0
- package/dist/shared/Table.d.ts +4 -0
- package/dist/shared/Table.d.ts.map +1 -0
- package/dist/shared/index.d.ts +3 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/utils.d.ts +3 -0
- package/dist/shared/utils.d.ts.map +1 -0
- package/dist/static/image/postgres.png +0 -0
- package/dist/static/image/s3.png +0 -0
- package/dist/static/image/snowflake.png +0 -0
- package/dist/static/svg/botIcon.svg +15 -0
- package/dist/static/svg/brackets.svg +5 -0
- package/dist/static/svg/case-sensitive.svg +5 -0
- package/dist/static/svg/docgen.svg +23 -0
- package/dist/static/svg/half-circle.svg +5 -0
- package/dist/static/svg/opportunities.svg +25 -0
- package/dist/static/svg/split-horizontal.svg +5 -0
- package/dist/static/svg/sqlExpert.svg +24 -0
- package/dist/static/svg/summary.svg +25 -0
- package/dist/styles.css +1638 -0
- package/dist/styles.css.map +1 -0
- package/dist/teammate.css +124 -0
- package/dist/teammate.css.map +1 -0
- package/dist/teammate.js +5655 -0
- package/dist/teammate.js.map +1 -0
- package/dist/user.css +14 -0
- package/dist/user.css.map +1 -0
- package/dist/user.js +13 -0
- package/dist/user.js.map +1 -0
- package/package.json +116 -34
- package/dist/Button-42Dj_nRE.d.ts +0 -28
- package/dist/CoachForm.css +0 -1
- package/dist/CoachForm.js +0 -44445
- package/dist/DbtDocsRenderer.js +0 -45647
- package/dist/IconEye.js +0 -11
- package/dist/Stack.js +0 -7170
- package/dist/Switch.js +0 -128
- package/dist/ToggleGroup.js +0 -8543
- package/dist/_basePickBy.js +0 -151
- package/dist/_baseUniq.js +0 -615
- package/dist/arc.js +0 -83
- package/dist/architecture-U656AL7Q.js +0 -5
- package/dist/architectureDiagram-VXUJARFQ.js +0 -4666
- package/dist/assets/icons/index.js +0 -56
- package/dist/blockDiagram-VD42YOAC.js +0 -2266
- package/dist/c4Diagram-YG6GDRKO.js +0 -1582
- package/dist/channel.js +0 -5
- package/dist/chatbotV2/index.d.ts +0 -359
- package/dist/chatbotV2/index.js +0 -58
- package/dist/chunk-4BX2VUAB.js +0 -9
- package/dist/chunk-55IACEB6.js +0 -9
- package/dist/chunk-B4BG7PRW.js +0 -1377
- package/dist/chunk-DI55MBZ5.js +0 -1382
- package/dist/chunk-FMBD7UC4.js +0 -19
- package/dist/chunk-QN33PNHL.js +0 -20
- package/dist/chunk-QZHKN3VN.js +0 -15
- package/dist/chunk-TZMSLE5B.js +0 -64
- package/dist/classDiagram-2ON5EDUG.js +0 -17
- package/dist/classDiagram-v2-WZHVMYZB.js +0 -17
- package/dist/clone.js +0 -8
- package/dist/cose-bilkent-S5V4N54A.js +0 -2606
- package/dist/cytoscape.esm.js +0 -18731
- package/dist/dagre-6UL2VRFP.js +0 -447
- package/dist/dayjs.min.js +0 -302
- package/dist/defaultLocale.js +0 -171
- package/dist/diagram-PSM6KHXK.js +0 -535
- package/dist/diagram-QEK2KX5R.js +0 -221
- package/dist/diagram-S2PKOQOG.js +0 -143
- package/dist/erDiagram-Q2GNP2WA.js +0 -843
- package/dist/flowDiagram-NV44I4VS.js +0 -1628
- package/dist/ganttDiagram-LVOFAZNH.js +0 -2500
- package/dist/gitGraph-F6HP7TQM.js +0 -5
- package/dist/gitGraphDiagram-NY62KEGX.js +0 -713
- package/dist/graph.js +0 -247
- package/dist/index.css +0 -1
- package/dist/index2.js +0 -689
- package/dist/info-NVLQJR56.js +0 -5
- package/dist/infoDiagram-F6ZHWCRC.js +0 -24
- package/dist/init.js +0 -16
- package/dist/journeyDiagram-XKPGCS4Q.js +0 -837
- package/dist/kanban-definition-3W4ZIXB7.js +0 -720
- package/dist/katex.js +0 -11691
- package/dist/layout.js +0 -1324
- package/dist/lineage/index.js +0 -7328
- package/dist/linear.js +0 -259
- package/dist/main.css +0 -1
- package/dist/main.js +0 -4566
- package/dist/mermaid-parser.core.js +0 -12921
- package/dist/mindmap-definition-VGOIOE7T.js +0 -786
- package/dist/ordinal.js +0 -61
- package/dist/packet-BFZMPI3H.js +0 -5
- package/dist/pie-7BOR55EZ.js +0 -5
- package/dist/pieDiagram-ADFJNKIX.js +0 -163
- package/dist/quadrantDiagram-AYHSOK5B.js +0 -1025
- package/dist/radar-NHE76QYJ.js +0 -5
- package/dist/redux-toolkit.css +0 -1
- package/dist/redux-toolkit.modern.js +0 -12525
- package/dist/requirementDiagram-UZGBJVZJ.js +0 -852
- package/dist/sankeyDiagram-TZEHDZUN.js +0 -811
- package/dist/sequenceDiagram-WL72ISMW.js +0 -2523
- package/dist/shadcn/index.d.ts +0 -761
- package/dist/shadcn/index.js +0 -8680
- package/dist/stateDiagram-FKZM4ZOC.js +0 -264
- package/dist/stateDiagram-v2-4FDKWEC3.js +0 -17
- package/dist/storybook/Accordion.stories.tsx +0 -52
- package/dist/storybook/Alert.stories.tsx +0 -101
- package/dist/storybook/AlertDialog.stories.tsx +0 -161
- package/dist/storybook/AutosizeTextarea.stories.tsx +0 -52
- package/dist/storybook/Avatar.stories.tsx +0 -58
- package/dist/storybook/Badge.stories.tsx +0 -43
- package/dist/storybook/Button.stories.tsx +0 -67
- package/dist/storybook/Calendar.stories.tsx +0 -103
- package/dist/storybook/Card.stories.tsx +0 -69
- package/dist/storybook/Carousel.stories.tsx +0 -274
- package/dist/storybook/Checkbox.stories.tsx +0 -65
- package/dist/storybook/Combobox.stories.tsx +0 -1629
- package/dist/storybook/Command.stories.tsx +0 -35
- package/dist/storybook/DateRange.stories.tsx +0 -540
- package/dist/storybook/DebouncedInput.stories.tsx +0 -179
- package/dist/storybook/DropdownMenu.stories.tsx +0 -36
- package/dist/storybook/Form.stories.tsx +0 -114
- package/dist/storybook/HoverCard.stories.tsx +0 -99
- package/dist/storybook/Input.stories.tsx +0 -156
- package/dist/storybook/InputGroup.stories.tsx +0 -352
- package/dist/storybook/Label.stories.tsx +0 -42
- package/dist/storybook/Menubar.stories.tsx +0 -159
- package/dist/storybook/Pagination.stories.tsx +0 -152
- package/dist/storybook/Popover.stories.tsx +0 -23
- package/dist/storybook/Progress.stories.tsx +0 -89
- package/dist/storybook/RadioGroup.stories.tsx +0 -58
- package/dist/storybook/Resizable.stories.tsx +0 -119
- package/dist/storybook/ScrollArea.stories.tsx +0 -101
- package/dist/storybook/Select.stories.tsx +0 -145
- package/dist/storybook/Sheet.stories.tsx +0 -69
- package/dist/storybook/Sidebar.stories.tsx +0 -97
- package/dist/storybook/Slider.stories.tsx +0 -79
- package/dist/storybook/Switch.stories.tsx +0 -90
- package/dist/storybook/Tabs.stories.tsx +0 -147
- package/dist/storybook/TagsInput.stories.tsx +0 -261
- package/dist/storybook/Textarea.stories.tsx +0 -50
- package/dist/storybook/Toast.stories.tsx +0 -107
- package/dist/storybook/Toggle.stories.tsx +0 -106
- package/dist/storybook/ToggleGroup.stories.tsx +0 -178
- package/dist/storybook/Tooltip.stories.tsx +0 -25
- package/dist/storybook/Typography.stories.tsx +0 -231
- package/dist/storybook/drag-and-drop-file-upload.stories.tsx +0 -99
- package/dist/timeline-definition-IT6M3QCI.js +0 -802
- package/dist/treemap-KMMF4GRG.js +0 -5
- package/dist/xychartDiagram-PRI3JC2R.js +0 -1341
- package/readme.md +0 -11
package/dist/582.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"582.js","sources":["../src/components/dbtDocs/collaboration/conversations/context/types.ts","../src/components/dbtDocs/details/dbtDocsUtils.ts","../src/components/dbtDocs/collaboration/constants.ts","../src/components/dbtDocs/collaboration/highlightUtils.ts","../src/components/dbtDocs/collaboration/DbtDocsReducer.ts","../src/components/dbtDocs/collaboration/DbtDocsCollaborationProvider.tsx","../src/assets/icons/index.tsx","../src/components/dbtDocs/collaboration/HighlightAnchor.tsx","../src/components/dbtDocs/collaboration/ShowConversationsButton.tsx","../src/components/api/index.ts","../src/components/dbtDocs/api/index.ts","../src/components/dbtDocs/collaboration/useDbtDocsCollaboration.ts","../src/components/dbtDocs/collaboration/useHighlight.ts","../src/components/dbtDocs/collaboration/ConversationHighlighter.tsx","../src/components/dbtDocs/collaboration/ConversationsHighlighter.tsx","webpack://@altimateai/ui-components/./src/components/dbtDocs/details/styles.module.scss?3a90","webpack://@altimateai/ui-components/./src/components/user/styles.module.scss?8a81","../src/components/user/ProfileImageByUser.tsx","../src/components/dbtDocs/collaboration/mentions/index.ts","../src/components/dbtDocs/collaboration/mentions/MentionsInput.tsx","../src/components/dbtDocs/collaboration/ConversationInputForm.tsx","../src/components/dbtDocs/collaboration/conversations/ConversationHighlightText.tsx","../src/components/dbtDocs/collaboration/NewConversationForm.tsx","../src/components/dbtDocs/collaboration/conversations/ResolveButton.tsx","../src/components/dbtDocs/collaboration/conversations/ConversationHeader.tsx","../src/components/dbtDocs/collaboration/conversations/Conversation.tsx","../src/components/dbtDocs/collaboration/conversations/ConversationReplyForm.tsx","../src/components/dbtDocs/collaboration/conversations/ConversationGroup.tsx","../src/components/dbtDocs/collaboration/conversations/context/ConversationsProvider.tsx","../src/components/dbtDocs/collaboration/conversations/ConversationGroups.tsx","../src/components/dbtDocs/collaboration/DbtDocsConversationsRightPanel.tsx","../src/components/dbtDocs/collaboration/conversations/useConversations.ts","../src/components/dbtDocs/collaboration/useConversationUsers.ts","../src/components/dbtDocs/collaboration/DbtDocsCollaborationComponents.tsx","../src/components/dbtDocs/collaboration/HotspotButton.tsx","../src/components/dbtDocs/details/AddCommentOnCodeButton.tsx","../src/components/dbtDocs/details/AddCommentOnModelDescriptionButton.tsx","../src/components/dbtDocs/details/AddCommentButton.tsx","../src/components/dbtDocs/details/DbtDocsDetails.tsx","../src/components/dbtDocs/details/DbtDocs.tsx"],"sourcesContent":["import { User } from \"../../../../user/types\";\nimport { DbtDocsShareDetails } from \"../../types\";\n\nexport interface Conversation {\n timestamp: string;\n user_id: number;\n message: string;\n conversation_id: number;\n}\n\nexport interface ConversationGroup {\n owner: number;\n conversation_group_id: number;\n conversations: Conversation[];\n status: \"Pending\" | \"Expired\";\n meta: {\n field?: \"description\";\n column?: string;\n filePath: string;\n highlight: string;\n uniqueId?: string;\n resource_type?: string;\n range: {\n end: { line: number; character: number };\n start: { line: number; character: number };\n };\n };\n}\n\nexport enum ConversationSources {\n DBT_DOCS = \"dbt-docs\",\n DOCUMENTATION_EDITOR = \"documentation-editor\",\n SAAS = \"saas\",\n}\n\nexport interface ConversationGroupStateProps {\n currentUserId: User[\"id\"] | undefined;\n conversationGroup: ConversationGroup;\n shareId: DbtDocsShareDetails[\"share_id\"];\n isSelected: boolean;\n}\n","export const getResourceTypeAndPageFromUrlHash = () => {\n const hashParts = window.location.hash?.split(\"#\")[1]?.replace(\"!/\", \"\")?.split(\"/\");\n return { name: hashParts?.[1], resourceType: hashParts?.[0] };\n};\n","export const ALTIMATE_MAIN_ID = \"altimate_main\";\nexport const HIGHLIGHT_CLASS_NAME = \"altimate-post-highlight\";\nexport const SELECTED_POST_CLASS_NAME = \"altimate-post-selected\";\nexport const HIGHLIGHT_MASK_CLASS_NAME = `${HIGHLIGHT_CLASS_NAME}-mask`;\nexport const ALTIMATE_DISPLAY_ELEMENT_ID_PREFIX = \"altimate-display-\";\nexport const BODY_ON_COMMENT_CLASS_NAME = \"altimate-on-post\";\nexport const HIGHLIGHT_MASK_ID = `${ALTIMATE_DISPLAY_ELEMENT_ID_PREFIX}highlight-mask`;\nexport const HIGHLIGHT_MASK_CLIP_ID = `${ALTIMATE_DISPLAY_ELEMENT_ID_PREFIX}highlight-mask-clip`;\nexport const HIGHLIGHT_CURSOR_CLASS_NAME = \"altimate-post-highlight-cursor\";\nexport const BODY_XPATH = \"/html/body\";\nexport const RECTANGLE_SCREENSHOT_SUFFIX = \"-rc\";\n\nexport const EXTENSION_ROOT_ELEMENT_ID = \"\";\n\nexport const HIGHLIGHT_CLASS = `${ALTIMATE_DISPLAY_ELEMENT_ID_PREFIX}-highlight`;\nexport const HIGHLIGHT_HOVER_CLASS = `${ALTIMATE_DISPLAY_ELEMENT_ID_PREFIX}-highlight-hover`;\nexport const ACTIVE_HIGHLIGHT_CLASS = `${ALTIMATE_DISPLAY_ELEMENT_ID_PREFIX}-active-highlight`;\nexport const ACTIVE_HIGHLIGHT_HOVER_CLASS = `${ALTIMATE_DISPLAY_ELEMENT_ID_PREFIX}-active-highlight-hover`;\nexport const HIGHLIGHT_WRAPPER_TAGNAME = \"altimate-highlight-wrapper\";\nexport const ACTIVE_HIGHLIGHT_WRAPPER_TAGNAME = \"altimate-active-highlight-wrapper\";\n\nexport const ZIndex = 1049;\n","import Highlighter from \"web-highlighter\";\nimport { DomNode, SelectedNode } from \"web-highlighter/dist/types\";\nimport { ACTIVE_HIGHLIGHT_CLASS, HIGHLIGHT_CLASS, HIGHLIGHT_HOVER_CLASS } from \"./constants\";\nimport { ConversationGroup } from \"./conversations/context/types\";\n\nconst highlighter = new Highlighter({\n style: {\n className: HIGHLIGHT_CLASS,\n },\n // wrapTag: HIGHLIGHT_WRAPPER_TAGNAME,\n});\nexport const activeHighlighter = new Highlighter({\n style: {\n className: ACTIVE_HIGHLIGHT_CLASS,\n },\n // wrapTag: ACTIVE_HIGHLIGHT_WRAPPER_TAGNAME,\n});\n\nconst selectedNodesHook = (_id: unknown, selectedNodes: unknown) =>\n (selectedNodes as SelectedNode[]).filter(node => node.$node.nodeValue?.trim() !== \"\");\n\nconst serializeRestoreHook = (_hs: unknown, start: unknown, end: unknown) => {\n const startNode = start as DomNode;\n const endNode = end as DomNode;\n const nodeNameBlacklist = [\"BR\", \"HR\"];\n\n // BR nodes break the highlighting\n // let's set the restored range start/end their parents instead\n // it's unlikely that BRs will also have BRs as parents.\n // filter here any nodes that break highlighting in the future\n if (nodeNameBlacklist.includes(startNode.$node.nodeName) && startNode.$node.parentNode) {\n startNode.$node = startNode.$node.parentNode;\n }\n if (nodeNameBlacklist.includes(endNode.$node.nodeName) && endNode.$node.parentNode) {\n endNode.$node = endNode.$node.parentNode;\n }\n\n return [startNode, endNode];\n};\n\nhighlighter.hooks.Render.SelectedNodes.tap(selectedNodesHook);\nhighlighter.hooks.Serialize.Restore.tap(serializeRestoreHook);\nactiveHighlighter.hooks.Render.SelectedNodes.tap(selectedNodesHook);\nactiveHighlighter.hooks.Serialize.Restore.tap(serializeRestoreHook);\n\n// TODO: hover for active highlight if we want\nhighlighter\n .on(\"selection:hover\", ({ id }) => {\n // display different bg color when hover\n highlighter.addClass(HIGHLIGHT_HOVER_CLASS, id);\n })\n .on(\"selection:hover-out\", ({ id }) => {\n // remove the hover effect when leaving\n highlighter.removeClass(HIGHLIGHT_HOVER_CLASS, id);\n });\n\nexport type HighlightSource = ReturnType<typeof highlighter.fromRange>;\n\nexport default highlighter;\n\nexport const getHighlightSourceFromPostAnchor = (\n post: Partial<ConversationGroup>\n): HighlightSource | null => {\n if (!post.meta?.highlight) {\n return null;\n }\n\n return JSON.parse(post.meta?.highlight);\n};\n\nexport const removeHighlight = (anchor: Partial<ConversationGroup>): void => {\n const hs = getHighlightSourceFromPostAnchor(anchor);\n\n if (!hs) {\n return;\n }\n\n highlighter.remove(hs.id);\n activeHighlighter.remove(hs.id);\n};\n\nexport const addHighlight = (\n anchor: Partial<ConversationGroup> & { id?: string },\n active?: boolean\n): HighlightSource | null => {\n const hs = getHighlightSourceFromPostAnchor(anchor);\n\n const highlighterToUse = active ? activeHighlighter : highlighter;\n\n if (!hs) {\n return null;\n }\n\n return highlighterToUse.fromStore(hs.startMeta, hs.endMeta, hs.text, hs.id, {\n id: anchor.id,\n });\n};\nexport const getCodeBlockElementInPage = () => {\n const modelParts = getModelPartsFromLocationHash();\n // analysis page has element id as sql, other pages have code as id\n const codeSection =\n modelParts?.[1] === \"analysis\"\n ? document.getElementById(\"sql\")\n : document.getElementById(\"code\");\n return codeSection?.parentElement\n ?.querySelector(\"code-block\")\n ?.querySelector(\"code.ng-binding.highlight\") as HTMLElement | null;\n};\n\nexport const getModelPartsFromLocationHash = () => {\n const hashParts = window.location.hash.split(\"#\");\n return hashParts.find(text => text.startsWith(\"!\"))?.split(\"/\");\n};\n\nexport const getModelDescriptionElement = () => {\n return document.querySelector('[marked=\"model.description\"]') as HTMLElement | null;\n};\n\nexport const getConversationGroupTargetElement = (meta: ConversationGroup[\"meta\"]) => {\n if (!meta.field) {\n return getCodeBlockElementInPage();\n }\n\n // desc for column\n if (meta.column) {\n const columnDescriptionTd = Array.from(\n document.querySelectorAll(\"column-details tr:not(.ng-hide) td:first-child\")\n )\n .find(el => (el as HTMLElement).innerText === meta.column)\n ?.parentElement?.querySelector(\"td:nth-child(3)\");\n return columnDescriptionTd as HTMLElement | null;\n }\n\n // desc for model\n return getModelDescriptionElement()?.firstChild as HTMLElement | null;\n};\n\nexport const getField = (element: HTMLElement): ConversationGroup[\"meta\"][\"field\"] => {\n if (element.getAttribute(\"marked\") === \"model.description\") {\n return \"description\";\n }\n};\n\nexport const getSelectionRange = (\n field: ConversationGroup[\"meta\"][\"field\"],\n target: HTMLElement,\n highlightedText: string,\n selectionEnd: { y: number },\n selectionStart: { y: number }\n) => {\n if (field === \"description\") {\n return {\n start: 0,\n end: 0,\n x: 0,\n y: 0,\n };\n }\n // For code element\n const lineNumbers = target.querySelectorAll(`.line-numbers-rows > span`);\n\n const selectedLines = highlightedText.split(\"\\n\");\n\n // Find y which is higher to negate whether user selects from bottom to top or top to bottom\n const endY = Math.max(selectionStart.y, selectionEnd.y);\n\n // Find which line number is in between the node dimensions\n const end = Array.from(lineNumbers).findIndex(node => {\n const { height, y } = node.getBoundingClientRect();\n return endY >= y && endY <= y + height;\n });\n\n const endLineNumberElement = lineNumbers[end] as HTMLElement;\n\n const start = end - selectedLines.length + 1;\n\n console.log(\"start and end lines found\", start, end);\n\n return {\n x: endLineNumberElement.offsetLeft,\n y: endLineNumberElement.offsetTop + endLineNumberElement.offsetHeight / 2,\n start,\n end,\n };\n};\n\nexport const getSelectionAllowedElements = () => {\n return [getCodeBlockElementInPage()?.parentElement, getModelDescriptionElement()];\n};\n","import { User } from \"../../user/types\";\nimport { getResourceTypeAndPageFromUrlHash } from \"../details/dbtDocsUtils\";\nimport { ConversationGroup, ConversationSources } from \"./conversations/context/types\";\nimport { getModelPartsFromLocationHash } from \"./highlightUtils\";\nimport { LoadingState, NewConversation } from \"./types\";\nimport { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\n\nexport interface Manifest {\n exposures?: Record<string, { name: string; original_file_path: string; unique_id: string }>;\n macros?: Record<string, { name: string; original_file_path: string; unique_id: string }>;\n nodes?: Record<\n string,\n {\n name: string;\n original_file_path: string;\n unique_id: string;\n raw_code: string;\n }\n >;\n sources?: Record<string, { name: string; original_file_path: string; unique_id: string }>;\n}\nexport interface DbtDocsState {\n users: Record<number, User>;\n currentUserId: User[\"id\"] | undefined;\n isRightPanelOpen: boolean;\n selectedConversationId: ConversationGroup[\"conversation_group_id\"] | undefined;\n conversations: Record<number, ConversationGroup>;\n conversationsLoadingState: LoadingState;\n newConversation: NewConversation | undefined;\n shareId: number | undefined;\n docsAppRendered: boolean;\n currentPage: {\n resourceType: string;\n name: string;\n };\n codeblockLoaded: boolean;\n source: ConversationSources;\n manifest: Manifest;\n}\n\nexport const initialState = {\n users: {},\n isRightPanelOpen: false,\n selectedConversationId: undefined,\n conversations: {},\n conversationsLoadingState: LoadingState.UNINITIALIZED,\n newConversation: undefined,\n shareId: undefined,\n docsAppRendered: false,\n currentPage: getResourceTypeAndPageFromUrlHash(),\n codeblockLoaded: false,\n source: ConversationSources.DBT_DOCS,\n manifest: {},\n} as DbtDocsState;\n\nconst conversationsSlice = createSlice({\n name: \"appState\",\n initialState,\n reducers: {\n setDocsAppRendered: (state, action: PayloadAction<DbtDocsState[\"docsAppRendered\"]>) => {\n state.docsAppRendered = action.payload;\n },\n setManifest: (state, action: PayloadAction<DbtDocsState[\"manifest\"]>) => {\n state.manifest = action.payload;\n },\n updateCurrentPage: (state, action: PayloadAction<DbtDocsState[\"currentPage\"]>) => {\n state.currentPage = action.payload;\n },\n setConversationSource: (state, action: PayloadAction<DbtDocsState[\"source\"]>) => {\n state.source = action.payload;\n },\n updateCodeblockLoaded: (state, action: PayloadAction<DbtDocsState[\"codeblockLoaded\"]>) => {\n state.codeblockLoaded = action.payload;\n },\n setShareId: (state, action: PayloadAction<DbtDocsState[\"shareId\"]>) => {\n state.shareId = action.payload;\n },\n setCurrentUserId: (state, action: PayloadAction<DbtDocsState[\"currentUserId\"]>) => {\n state.currentUserId = action.payload;\n },\n setConversationsLoadingState: (\n state,\n action: PayloadAction<DbtDocsState[\"conversationsLoadingState\"]>\n ) => {\n state.conversationsLoadingState = action.payload;\n },\n refetchConversations: state => {\n state.conversationsLoadingState = LoadingState.UNINITIALIZED;\n },\n setUsers: (state, action: PayloadAction<User[] | undefined>) => {\n if (!action.payload?.length) {\n return state;\n }\n return {\n ...state,\n users: action.payload.reduce((acc: Record<string, User>, user) => {\n acc[user.id] = user;\n return acc;\n }, {}),\n };\n },\n updateRightPanelState: (state, action: PayloadAction<DbtDocsState[\"isRightPanelOpen\"]>) => {\n state.isRightPanelOpen = action.payload;\n },\n updateSelectedConversationId: (\n state,\n action: PayloadAction<DbtDocsState[\"selectedConversationId\"]>\n ) => {\n state.selectedConversationId = action.payload;\n },\n upsertConversation: (state, action: PayloadAction<ConversationGroup>) => {\n state.conversations = {\n ...state.conversations,\n [action.payload.conversation_group_id]: {\n ...state.conversations[action.payload.conversation_group_id],\n ...action.payload,\n },\n };\n },\n resolveConversationGroup: (\n state,\n {\n payload: { conversationGroupId },\n }: PayloadAction<{ shareId: number; conversationGroupId: number }>\n ) => {\n if (state.conversations[conversationGroupId]) {\n delete state.conversations[conversationGroupId];\n }\n },\n updateNewConversation: (state, action: PayloadAction<NewConversation>) => {\n const updated = { ...action.payload };\n if (!updated.meta) {\n console.log(\"Invalid meta\");\n return;\n }\n const modelParts = getModelPartsFromLocationHash();\n if (!modelParts || modelParts.length < 3) {\n console.error(\"Unable to find model parts\", modelParts);\n return;\n }\n\n console.log(\"model parts found\", modelParts);\n updated.meta.uniqueId = modelParts[2];\n updated.meta.resource_type = modelParts[1];\n if (!updated.meta.range) {\n updated.meta.range = {\n end: { line: 0, character: 0 },\n start: { line: 0, character: 0 },\n };\n }\n if (updated.meta.uniqueId) {\n const node =\n state.manifest.nodes?.[updated.meta.uniqueId] ||\n state.manifest.macros?.[updated.meta.uniqueId];\n updated.meta.filePath = node?.original_file_path || \"\";\n }\n state.newConversation = updated;\n },\n resetNewConversation: state => {\n state.newConversation = undefined;\n },\n setConversations: (state, action: PayloadAction<ConversationGroup[] | undefined>) => {\n if (!action.payload) {\n return;\n }\n state.conversations = action.payload.reduce(\n (acc: Record<string, ConversationGroup>, conversation) => {\n acc[conversation.conversation_group_id] = conversation;\n return acc;\n },\n {}\n );\n\n // Setting this to default\n state.selectedConversationId =\n state.selectedConversationId || action.payload[0].conversation_group_id;\n },\n },\n});\n\nexport const {\n setCurrentUserId,\n setShareId,\n updateSelectedConversationId,\n updateRightPanelState,\n setUsers,\n setConversations,\n resetNewConversation,\n updateNewConversation,\n upsertConversation,\n setDocsAppRendered,\n updateCurrentPage,\n updateCodeblockLoaded,\n resolveConversationGroup,\n setConversationsLoadingState,\n refetchConversations,\n setConversationSource,\n setManifest,\n} = conversationsSlice.actions;\nexport default conversationsSlice;\n","import { createContext, ReactNode, useCallback, useContext, useMemo, useReducer } from \"react\";\nimport conversationsSlice, { DbtDocsState } from \"./DbtDocsReducer\";\nimport { UnknownAction } from \"@reduxjs/toolkit\";\nimport { ConversationSources } from \"./conversations/context/types\";\n\ninterface ContextProps {\n state: DbtDocsState;\n dispatch: React.Dispatch<UnknownAction>;\n getValue: (callback: (state: DbtDocsState) => unknown) => unknown;\n}\n\nexport const DbtDocsCollaborationContext = createContext<ContextProps>({\n state: conversationsSlice.getInitialState(),\n dispatch: () => null,\n getValue: () => null,\n});\n\nconst DbtDocsCollaborationProvider = ({\n children,\n shareId,\n userId,\n conversationGroupId,\n source,\n}: {\n children: ReactNode;\n shareId: number;\n userId?: number;\n conversationGroupId?: number;\n source: ConversationSources;\n}) => {\n const [state, dispatch] = useReducer(conversationsSlice.reducer, {\n ...conversationsSlice.getInitialState(),\n shareId,\n currentUserId: userId,\n selectedConversationId: conversationGroupId,\n isRightPanelOpen: Boolean(conversationGroupId),\n source,\n });\n\n const getValue = useCallback(\n (callback: (state: DbtDocsState) => unknown) => {\n return callback(state as DbtDocsState);\n },\n [state]\n );\n\n const values = useMemo(\n () => ({\n state,\n dispatch,\n getValue,\n }),\n [state, dispatch, getValue]\n );\n\n return (\n <DbtDocsCollaborationContext.Provider value={values}>\n {children}\n </DbtDocsCollaborationContext.Provider>\n );\n};\n\nexport default DbtDocsCollaborationProvider;\n\nexport const useDbtDocsCollaborationContext = () => {\n return useContext(DbtDocsCollaborationContext);\n};\n\nexport const useDbtDocsCollaborationSelector = (callback: (state: DbtDocsState) => unknown) => {\n const { getValue } = useContext(DbtDocsCollaborationContext);\n return getValue(callback);\n};\n\nexport const useDbtDocsCollaborationDispatch = () => {\n const { dispatch } = useContext(DbtDocsCollaborationContext);\n return dispatch;\n};\n","import BoltIcon from \"./bolt.svg?react\";\nimport BracketsIcon from \"./brackets.svg?url\";\nimport HalfCircleIcon from \"./half-circle.svg?url\";\nimport CaseSensitiveIcon from \"./case-sensitive.svg?url\";\nimport SplitHorizontalIcon from \"./split-horizontal.svg?url\";\n\nimport { HTMLAttributes } from \"react\";\n\nexport { default as ThinkingIcon } from \"./thinking.svg?react\";\nexport { default as CircleIcon } from \"./circle.svg?react\";\nexport { default as DownloadIcon } from \"./download.svg?react\";\nexport { default as ArrowRightIcon } from \"./arrow-right.svg?react\";\nexport { default as DatabaseIcon } from \"./database.svg?react\";\nexport { default as GitMergeIcon } from \"./git-merge.svg?react\";\nexport { default as ArrowLeftIcon } from \"./arrow-left.svg?react\";\nexport { default as DbtIcon } from \"./dbt.svg?react\";\n\ninterface Props {\n icon: string;\n}\nconst Icon = ({\n icon,\n className = \"\",\n ...rest\n}: Props & HTMLAttributes<HTMLElement>) => (\n <i className={`${className} codicon codicon-${icon}`} {...rest} />\n);\n\nexport const RemoveIcon = (props: HTMLAttributes<HTMLElement>): JSX.Element => (\n <Icon icon=\"remove\" {...props} />\n);\n\nexport const CodeIcon = (props: HTMLAttributes<HTMLElement>): JSX.Element => (\n <Icon icon=\"code\" {...props} />\n);\n\nexport const AddIcon = (props: HTMLAttributes<HTMLElement>): JSX.Element => (\n <Icon icon=\"add\" {...props} />\n);\n\nexport const DeleteIcon = (props: HTMLAttributes<HTMLElement>): JSX.Element => (\n <Icon icon=\"trash\" {...props} />\n);\n\nexport const GlobeIcon = (props: HTMLAttributes<HTMLElement>): JSX.Element => (\n <Icon icon=\"globe\" {...props} />\n);\n\nexport const GithubIcon = (props: HTMLAttributes<HTMLElement>): JSX.Element => (\n <Icon icon=\"github-inverted\" {...props} />\n);\n\nexport const FilesIcon = (props: HTMLAttributes<HTMLElement>): JSX.Element => (\n <Icon icon=\"files\" {...props} />\n);\n\nexport const CommentAddIcon = (\n props: HTMLAttributes<HTMLElement>,\n): JSX.Element => <Icon icon=\"comment-add\" {...props} />;\n\nexport const CommentDiscussionIcon = (\n props: HTMLAttributes<HTMLElement>,\n): JSX.Element => <Icon icon=\"comment-discussion\" {...props} />;\n\nexport const CommentUnresolvedIcon = (\n props: HTMLAttributes<HTMLElement>,\n): JSX.Element => <Icon icon=\"comment-unresolved\" {...props} />;\n\nexport const CheckNoOutlineIcon = (\n props: HTMLAttributes<HTMLElement>,\n): JSX.Element => <Icon icon=\"check\" {...props} />;\n\nexport const CheckedIcon = (\n props: HTMLAttributes<HTMLElement>,\n): JSX.Element => <Icon icon=\"pass-filled\" {...props} />;\n\nexport const PassIcon = (props: HTMLAttributes<HTMLElement>): JSX.Element => (\n <Icon icon=\"pass\" {...props} />\n);\n\nexport const RefreshIcon = (\n props: HTMLAttributes<HTMLElement>,\n): JSX.Element => <Icon icon=\"debug-restart\" {...props} />;\n\nexport const SettingsIcon = (\n props: HTMLAttributes<HTMLElement>,\n): JSX.Element => <Icon icon=\"gear\" {...props} />;\n\nexport const ChevronUpIcon = (\n props: HTMLAttributes<HTMLElement>,\n): JSX.Element => <Icon icon=\"chevron-up\" {...props} />;\n\nexport const ChevronDownIcon = (\n props: HTMLAttributes<HTMLElement>,\n): JSX.Element => <Icon icon=\"chevron-down\" {...props} />;\n\nexport const ChevronRightIcon = (\n props: HTMLAttributes<HTMLElement>,\n): JSX.Element => <Icon icon=\"chevron-right\" {...props} />;\n\nexport const ChevronLeftIcon = (\n props: HTMLAttributes<HTMLElement>,\n): JSX.Element => <Icon icon=\"chevron-left\" {...props} />;\n\nexport const MoreIcon = (props: HTMLAttributes<HTMLElement>): JSX.Element => (\n <Icon icon=\"more\" {...props} />\n);\n\nexport const InfoCircleIcon = (\n props: HTMLAttributes<HTMLElement>,\n): JSX.Element => <Icon icon=\"info\" {...props} />;\n\nexport const AskIcon = (props: HTMLAttributes<HTMLElement>): JSX.Element => (\n <Icon icon=\"send\" {...props} />\n);\n\nexport const CloseIcon = (props: HTMLAttributes<HTMLElement>): JSX.Element => (\n <Icon icon=\"close\" {...props} />\n);\n\nexport const EditIcon = (props: HTMLAttributes<HTMLElement>): JSX.Element => (\n <Icon icon=\"pencil\" {...props} />\n);\n\nexport const ShareIcon = (props: HTMLAttributes<HTMLElement>): JSX.Element => (\n <Icon icon=\"share\" {...props} />\n);\n\nexport const SearchIcon = (props: HTMLAttributes<HTMLElement>): JSX.Element => (\n <Icon icon=\"search\" {...props} />\n);\n\nexport const FileIcon = (props: HTMLAttributes<HTMLElement>): JSX.Element => (\n <Icon icon=\"file\" {...props} />\n);\n\nexport const WarningIcon = (\n props: HTMLAttributes<HTMLElement>,\n): JSX.Element => <Icon icon=\"warning\" {...props} />;\n\nexport const SendIcon = (props: HTMLAttributes<HTMLElement>): JSX.Element => (\n <Icon icon=\"send\" {...props} />\n);\n\nexport {\n BoltIcon,\n BracketsIcon,\n HalfCircleIcon,\n SplitHorizontalIcon,\n CaseSensitiveIcon,\n};\n","import { AnimatePresence } from \"framer-motion\";\nimport { ALTIMATE_DISPLAY_ELEMENT_ID_PREFIX, ZIndex } from \"./constants\";\nimport { AddIcon } from \"../../../assets/icons\";\nimport { Button } from \"@altimateai/lego\";\nimport { createPortal } from \"react-dom\";\nimport { MouseEvent } from \"react\";\n\ninterface Props {\n pos: { x: number; y: number; element: HTMLElement };\n onAddComment: (e: MouseEvent) => void;\n}\nconst HighlightAnchor = ({ pos, onAddComment }: Props) => {\n return createPortal(\n <AnimatePresence>\n {pos && (\n <Button\n onClick={onAddComment}\n id={`${ALTIMATE_DISPLAY_ELEMENT_ID_PREFIX}-highlight`}\n style={{\n position: \"absolute\",\n top: pos.y,\n left: pos.x,\n // right: \"15px\",\n zIndex: ZIndex + 5,\n cursor: \"pointer\",\n background: \"#007AFF\",\n width: 26,\n height: 26,\n borderRadius: \"100%\",\n boxShadow: \"none\",\n border: \"none\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n fontSize: \"13px\",\n fontWeight: \"bold\",\n color: \"#fff\",\n padding: 0,\n }}\n >\n <AddIcon />\n </Button>\n )}\n </AnimatePresence>,\n pos.element.parentElement!,\n );\n};\n\nexport default HighlightAnchor;\n","import { Button } from \"@altimateai/lego\";\nimport { updateRightPanelState } from \"./DbtDocsReducer\";\nimport {\n useDbtDocsCollaborationContext,\n useDbtDocsCollaborationDispatch,\n} from \"./DbtDocsCollaborationProvider\";\n\nconst ShowConversationsButton = () => {\n const {\n state: { isRightPanelOpen },\n } = useDbtDocsCollaborationContext();\n const dispatch = useDbtDocsCollaborationDispatch();\n\n const toggleRightPanel = () => {\n dispatch(updateRightPanelState(!isRightPanelOpen));\n };\n return (\n <Button onClick={toggleRightPanel}>\n {isRightPanelOpen ? \"Hide conversations\" : \"Show conversations\"}\n </Button>\n );\n};\n\nexport default ShowConversationsButton;\n","export const ApiHelper = {\n get: async <T>(_url: string, _data?: Record<string, unknown>, _request?: RequestInit) =>\n ({}) as T,\n post: async <T>(_url: string, _data: Record<string, unknown>, _request?: RequestInit) =>\n ({}) as T,\n};\n\nexport { default as useQuery } from \"./useQuery\";\nexport { default as useMutation } from \"./useMutation\";\n","import { ApiHelper } from \"../../api/index\";\nimport { DbtDocsShareDetails } from \"../collaboration/types\";\nimport { User } from \"../../user/types\";\nimport {\n Conversation,\n ConversationGroup,\n} from \"../collaboration/conversations/context/types\";\n\n// Dbt docs conversation apis\nexport const getDbtDocsShareDetailsById = (\n shareId: DbtDocsShareDetails[\"share_id\"],\n) => ApiHelper.get<DbtDocsShareDetails | null>(`dbt/dbt_docs_share/${shareId}`);\n\nexport const createNewConversationGroup = (\n shareId: DbtDocsShareDetails[\"share_id\"],\n data: Partial<ConversationGroup> & { message: string },\n source: string,\n) =>\n ApiHelper.post<{\n conversation_group_id: ConversationGroup[\"conversation_group_id\"];\n }>(`dbt/dbt_docs_share/${shareId}/conversation_group`, {\n ...data,\n telemetry: {\n eventName: \"dbtCollaboration:create\",\n properties: { source },\n },\n });\n\nexport const addConversationToGroup = (\n shareId: DbtDocsShareDetails[\"share_id\"],\n conversationGroupId: ConversationGroup[\"conversation_group_id\"],\n data: Partial<Conversation>,\n source: string,\n) =>\n ApiHelper.post(\n `dbt/dbt_docs_share/${shareId}/conversation_group/${conversationGroupId}/conversation`,\n {\n ...data,\n telemetry: {\n eventName: \"dbtCollaboration:reply\",\n properties: { source },\n },\n },\n );\n\nexport const getConversationsByShareId = (\n shareId: DbtDocsShareDetails[\"share_id\"],\n) =>\n ApiHelper.get<{ dbt_docs_share_conversations: ConversationGroup[] }>(\n `dbt/dbt_docs_share/${shareId}/conversations`,\n );\n\nexport const getUserList = (company?: string) =>\n ApiHelper.get<User[]>(\"users/chat\", { company });\n\nexport const resolveConversationGroup = (\n shareId: DbtDocsShareDetails[\"share_id\"],\n conversationGroupId: ConversationGroup[\"conversation_group_id\"],\n source: string,\n) =>\n ApiHelper.post(\n `dbt/dbt_docs_share/${shareId}/conversation_group/${conversationGroupId}/resolve`,\n {\n resolved: true,\n telemetry: {\n eventName: \"dbtCollaboration:resolve\",\n properties: { source },\n },\n },\n );\n","import { useCallback, useEffect, useState } from \"react\";\nimport { getDbtDocsShareDetailsById } from \"../api/index\";\nimport { DbtDocsState, setManifest } from \"./DbtDocsReducer\";\nimport {\n useDbtDocsCollaborationDispatch,\n useDbtDocsCollaborationSelector,\n} from \"./DbtDocsCollaborationProvider\";\nimport { DbtDocsShareDetails } from \"./types\";\n\nconst useDbtDocsCollaboration = () => {\n const shareId = useDbtDocsCollaborationSelector(\n state => state.shareId\n ) as DbtDocsState[\"shareId\"];\n const [shareDetails, setShareDetails] = useState<DbtDocsShareDetails | null>(null);\n const [loading, setLoading] = useState(false);\n const dispatch = useDbtDocsCollaborationDispatch();\n\n useEffect(() => {\n if (!shareDetails?.manifest_presigned_url) {\n return;\n }\n\n fetch(shareDetails.manifest_presigned_url)\n .then(response => response.json())\n .then(response => {\n dispatch(setManifest(response));\n })\n .catch(error =>\n console.error(\"error loading manifest\", error, shareDetails.manifest_presigned_url)\n );\n }, [dispatch, shareDetails?.manifest_presigned_url]);\n\n const loadDetails = useCallback(async () => {\n if (!shareId) {\n return;\n }\n setLoading(true);\n const response = await getDbtDocsShareDetailsById(shareId);\n if (response) {\n setShareDetails(response);\n // Hack to close the sidebar when dbt docs is shown\n const leftArrowBtn = document.getElementById(\"collapse-sidebar\");\n leftArrowBtn?.click();\n }\n setLoading(false);\n }, [shareId]);\n\n useEffect(() => {\n if (!shareId || shareDetails || loading) {\n return;\n }\n loadDetails();\n }, [shareId, shareDetails, loadDetails, loading]);\n\n return { shareDetails, loading };\n};\n\nexport default useDbtDocsCollaboration;\n","import { useState, useEffect, useCallback } from \"react\";\nimport { getField, getSelectionRange, removeHighlight } from \"./highlightUtils\";\nimport { NewConversation } from \"./types\";\nimport {\n useDbtDocsCollaborationDispatch,\n useDbtDocsCollaborationSelector,\n} from \"./DbtDocsCollaborationProvider\";\nimport { SelectionRange } from \"./selectionEndEvent\";\nimport { resetNewConversation } from \"./DbtDocsReducer\";\nimport { ConversationGroup } from \"./conversations/context/types\";\n\nconst useHighlight = () => {\n const selectedConversation = useDbtDocsCollaborationSelector(state =>\n state.selectedConversationId ? state.conversations[state.selectedConversationId] : null\n ) as ConversationGroup | null;\n const isDocsAppRendered = useDbtDocsCollaborationSelector(\n state => state.docsAppRendered\n ) as boolean;\n const newConversation = useDbtDocsCollaborationSelector(\n state => state.newConversation\n ) as NewConversation;\n\n const dispatch = useDbtDocsCollaborationDispatch();\n const [highlightPostData, setHighlightPostData] = useState<NewConversation | null>(null);\n // Set the position to be used to show the highlight popover\n const [pos, setPos] = useState<{\n x: number;\n y: number;\n element: HTMLElement;\n } | null>(null);\n\n useEffect(() => {\n if (newConversation) {\n setHighlightPostData(null);\n setPos(null);\n }\n }, [newConversation]);\n\n const resetHighlights = useCallback(() => {\n console.log(\"resetHighlights\");\n if (highlightPostData) {\n removeHighlight(highlightPostData);\n }\n setPos(null);\n setHighlightPostData(null);\n }, [highlightPostData]);\n\n useEffect(() => {\n if (!selectedConversation || !isDocsAppRendered) {\n return;\n }\n if (selectedConversation.meta.resource_type && selectedConversation.meta.uniqueId) {\n window.location.hash = `#!/${selectedConversation.meta.resource_type}/${selectedConversation.meta.uniqueId}`;\n }\n }, [selectedConversation, isDocsAppRendered, dispatch]);\n\n const onSelectionEnd = (event: CustomEvent) => {\n const target = event.target as HTMLElement;\n const field = getField(target);\n const { end: selectionEnd, start: selectionStart } = event.detail\n .selectionRange as SelectionRange;\n const selection = document.getSelection();\n if (!selection || !selection.rangeCount) {\n resetHighlights();\n return null;\n }\n\n const range = selection.getRangeAt(0);\n\n const highlightedText = range.toString();\n\n const code = target?.innerText;\n if (!highlightedText || !code) {\n return;\n }\n\n const { end, start, x, y } = getSelectionRange(\n field,\n target,\n highlightedText,\n selectionEnd,\n selectionStart\n );\n\n console.log(\"selection range\", end, start, x, y);\n const data = {\n meta: {\n filePath: \"\",\n field,\n highlight: highlightedText,\n range: {\n end: { line: end, character: 0 },\n start: { line: start, character: 0 },\n },\n },\n };\n\n dispatch(resetNewConversation());\n setPos({\n x,\n y,\n element: target,\n });\n\n document.body.addEventListener(\"click\", resetHighlights, { once: true });\n setHighlightPostData(data);\n };\n\n return {\n getHighlightedSelectionData: () => highlightPostData,\n pos,\n onSelectionEnd,\n };\n};\n\nexport default useHighlight;\n","import { useEffect, useMemo, useRef } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { updateSelectedConversationId } from \"./DbtDocsReducer\";\nimport { getConversationGroupTargetElement } from \"./highlightUtils\";\nimport { ConversationGroup } from \"./conversations/context/types\";\nimport {\n useDbtDocsCollaborationDispatch,\n useDbtDocsCollaborationSelector,\n} from \"./DbtDocsCollaborationProvider\";\nimport { CommentUnresolvedIcon } from \"../../../assets/icons\";\n\nconst ConversationHighlighter = ({\n conversationGroup,\n}: {\n conversationGroup: ConversationGroup;\n}) => {\n const selectedConversationId = useDbtDocsCollaborationSelector(\n (state) => state.selectedConversationId,\n ) as ConversationGroup[\"conversation_group_id\"] | undefined;\n const dispatch = useDbtDocsCollaborationDispatch();\n const highlightRef = useRef<HTMLDivElement | null>(null);\n const target = useMemo(() => {\n return getConversationGroupTargetElement(conversationGroup.meta);\n }, [conversationGroup.meta]);\n\n const handleClick = () => {\n dispatch(\n updateSelectedConversationId(conversationGroup.conversation_group_id),\n );\n };\n\n const position = useMemo(() => {\n if (!target) {\n return;\n }\n\n if (conversationGroup.meta.field === \"description\") {\n return { top: 0, bottom: target.offsetHeight };\n }\n\n let top = 0;\n let bottom = 0;\n for (\n let i = conversationGroup.meta.range.start.line;\n i <= conversationGroup.meta.range.end.line;\n i++\n ) {\n const lineNumber = target.querySelector(\n `.line-numbers-rows > span:nth-child(${i + 1})`,\n );\n if (lineNumber) {\n if (i === conversationGroup.meta.range.start.line) {\n top = (lineNumber as HTMLSpanElement).offsetTop + 15;\n }\n if (i === conversationGroup.meta.range.end.line) {\n bottom =\n (lineNumber as HTMLSpanElement).offsetTop +\n (lineNumber as HTMLSpanElement).offsetHeight;\n }\n // (lineNumber as HTMLSpanElement).classList.add(\"altimate-highlight\");\n }\n }\n return { top, bottom };\n }, [\n target,\n conversationGroup.meta.field,\n conversationGroup.meta.range.start.line,\n conversationGroup.meta.range.end.line,\n ]);\n\n useEffect(() => {\n if (selectedConversationId !== conversationGroup.conversation_group_id) {\n return;\n }\n\n highlightRef.current?.scrollIntoView({\n behavior: \"smooth\",\n block: \"center\",\n });\n }, [conversationGroup.conversation_group_id, selectedConversationId]);\n\n if (!position || !target?.parentElement) {\n return null;\n }\n\n return createPortal(\n <div\n ref={highlightRef}\n className={`altimate-highlighter ${selectedConversationId === conversationGroup.conversation_group_id ? \"active\" : \"\"}`}\n style={{ top: position.top, height: position.bottom - position.top }}\n onClick={handleClick}\n >\n <CommentUnresolvedIcon />\n </div>,\n target.parentElement,\n );\n};\n\nexport default ConversationHighlighter;\n","import { DbtDocsState } from \"./DbtDocsReducer\";\nimport { useDbtDocsCollaborationSelector } from \"./DbtDocsCollaborationProvider\";\nimport ConversationHighlighter from \"./ConversationHighlighter\";\nimport { ConversationGroup } from \"./conversations/context/types\";\n\nconst ConversationsHighlighter = () => {\n const conversationGroups = useDbtDocsCollaborationSelector(state =>\n Object.values(state.conversations || {})\n ) as ConversationGroup[] | undefined;\n const codeblockLoaded = useDbtDocsCollaborationSelector(\n state => state.codeblockLoaded\n ) as boolean;\n const currentPage = useDbtDocsCollaborationSelector(\n state => state.currentPage\n ) as DbtDocsState[\"currentPage\"];\n\n const conversationsInCurrentPage = conversationGroups?.filter(\n conversationGroup =>\n conversationGroup.meta.resource_type === currentPage.resourceType &&\n conversationGroup.meta.uniqueId === currentPage.name\n );\n\n if (!conversationsInCurrentPage?.length || !codeblockLoaded) {\n return null;\n }\n\n return (\n <>\n {conversationsInCurrentPage.map(conversationGroup => (\n <ConversationHighlighter\n conversationGroup={conversationGroup}\n key={conversationGroup.conversation_group_id}\n />\n ))}\n </>\n );\n};\n\nexport default ConversationsHighlighter;\n","// extracted by css-extract-rspack-plugin\nexport default {\"dbtDocs\":\"dbtDocs-fMtUb6\",\"hotspotButton\":\"hotspotButton-dTVyi_\",\"pulse\":\"pulse-b0fWZW\",\"conversationRightPanelCloseButton\":\"conversationRightPanelCloseButton-UrkRMu\",\"conversationRightPanel\":\"conversationRightPanel-sztyiY\",\"newConversationForm\":\"newConversationForm-K9GEep\",\"highlightText\":\"highlightText-LYVCe1\",\"conversationInputForm\":\"conversationInputForm-SdxXJT\",\"conversationGroup\":\"conversationGroup-hiNZQ0\",\"replyForm\":\"replyForm-qvHtmB\",\"resolveButton\":\"resolveButton-roENjF\"};","// extracted by css-extract-rspack-plugin\nexport default {\"profileImage\":\"profileImage-tkto2K\"};","import { User } from \"./types\";\nimport classes from \"./styles.module.scss\";\n\ninterface Props {\n user?: User | null;\n}\nconst ProfileImageByUser = ({ user }: Props) => {\n return <div className={classes.profileImage}>{user?.first_name?.[0] || \"\"}</div>;\n};\n\nexport default ProfileImageByUser;\n","export const StyleMentionInput = {\n \"&multiLine\": {\n minHeight: \"40px\",\n },\n input: {\n border: \"none\",\n outline: \"none\",\n fontWeight: \"500\",\n fontSize: \"15px\",\n color: \"rgba(0, 5, 15, 0.85)\",\n },\n suggestions: {\n backgroundColor: \"var(--background--01)\",\n border: \"1px solid rgba(0,0,0,0.1)\",\n borderRadius: \"8px\",\n padding: \"5px\",\n boxShadow: \"0px 0px 10px rgba(0,0,0,0.1)\",\n minWidth: \"150px\",\n maxHeight: \"200px\",\n overflowY: \"auto\" as const,\n item: {\n fontSize: \"15px\",\n padding: \"4px 11px 4px 11px\",\n borderRadius: \"4px\",\n fontWeight: \"500\",\n \"&focused\": {\n backgroundColor: \"var(--background--04)\",\n },\n },\n },\n};\n","import { KeyboardEvent as ReactKeyboardEvent } from \"react\";\nimport { MentionsInput, Mention } from \"react-mentions\";\nimport { StyleMentionInput } from \".\";\nimport { User } from \"../../../user/types\";\n\ninterface Props {\n value: string;\n setValue: (v: string) => void;\n users: User[];\n placeholder?: string;\n onEnterKeypress?: () => void;\n}\n\nconst MentionsInputComponent = ({\n value,\n setValue,\n users: propsUsers,\n placeholder = \"Type your reply here...\",\n onEnterKeypress,\n}: Props) => {\n const users = propsUsers.map(user => ({\n ...user,\n display: user.display_name,\n }));\n const onKeyDown = (\n e: ReactKeyboardEvent<HTMLInputElement> | ReactKeyboardEvent<HTMLTextAreaElement>\n ) => {\n // dbt docs has shortcut `T` to open search. when typing in this textbox, search is opened whenever t key is pressed\n e.stopPropagation();\n if (e.key === \"Enter\" && !e.shiftKey) {\n e.preventDefault();\n onEnterKeypress?.();\n }\n };\n\n const onAdd = (id: string | number, display: string) => {\n console.info(`[MentionsInputComponent] on mention select`, { id, display });\n };\n\n const handleChange = (e: { target: { value: string } }) => {\n setValue(e.target.value);\n };\n\n return (\n <MentionsInput\n autoFocus\n value={value}\n onChange={handleChange}\n style={{\n ...StyleMentionInput,\n minHeight: \"40px\",\n marginBottom: \"10px\",\n }}\n placeholder={placeholder}\n className=\"mentions-input\"\n onKeyDown={onKeyDown}\n >\n <Mention\n displayTransform={(_id, display) => `@${display}`}\n trigger=\"@\"\n markup=\"@[__id__](__display__)\"\n data={users}\n appendSpaceOnAdd\n renderSuggestion={(highlightedDisplay, focused) => (\n <div className={`user ${focused ? \"focused\" : \"\"}`}>{highlightedDisplay.display}</div>\n )}\n onAdd={onAdd}\n />\n </MentionsInput>\n );\n};\n\nexport default MentionsInputComponent;\n","import { LoadingButton } from \"@altimateai/lego\";\nimport ProfileImageByUser from \"../../user/ProfileImageByUser\";\nimport { User } from \"../../user/types\";\nimport MentionsInputComponent from \"./mentions/MentionsInput\";\nimport classes from \"../details/styles.module.scss\";\nimport { AskIcon } from \"../../../assets/icons\";\n\ninterface Props {\n comment: string;\n setComment: (comment: string) => void;\n loading: boolean;\n users: User[];\n currentUser: User | null;\n placeholder?: string;\n onEnterKeypress?: () => void;\n}\nconst ConversationInputForm = ({\n comment,\n setComment,\n loading,\n users,\n currentUser,\n placeholder,\n onEnterKeypress,\n}: Props) => {\n return (\n <div className={classes.conversationInputForm}>\n {currentUser ? <ProfileImageByUser user={currentUser} /> : null}\n <MentionsInputComponent\n value={comment}\n setValue={setComment}\n users={users}\n placeholder={placeholder}\n onEnterKeypress={onEnterKeypress}\n />\n <LoadingButton loading={loading} color=\"primary\">\n <AskIcon />\n </LoadingButton>\n </div>\n );\n};\n\nexport default ConversationInputForm;\n","import { CodeBlock } from \"@altimateai/lego\";\nimport { ConversationGroup } from \"./context/types\";\nimport classes from \"../../details/styles.module.scss\";\n\nconst ConversationHighlightText = ({\n meta: { highlight: text, filePath, field, column },\n}: {\n meta: ConversationGroup[\"meta\"];\n}) => {\n if (!text) {\n return null;\n }\n\n const path = column ? `${filePath} (${column})` : filePath;\n\n return (\n <div className={classes.highlightText}>\n <CodeBlock\n code={text}\n language={field ? \"markdown\" : \"sql\"}\n // show line numbers only for sql\n showLineNumbers={!field}\n fileName={path}\n theme=\"light\" // TODO: fix this\n />\n </div>\n );\n};\n\nexport default ConversationHighlightText;\n","import { FormEvent, useState } from \"react\";\nimport { Card, CardContent } from \"@altimateai/lego\";\nimport { createNewConversationGroup } from \"../api/index\";\nimport {\n DbtDocsState,\n refetchConversations,\n resetNewConversation,\n updateRightPanelState,\n} from \"./DbtDocsReducer\";\nimport classes from \"../details/styles.module.scss\";\nimport ConversationInputForm from \"./ConversationInputForm\";\nimport ConversationHighlightText from \"./conversations/ConversationHighlightText\";\nimport { User } from \"../../user/types\";\nimport {\n useDbtDocsCollaborationDispatch,\n useDbtDocsCollaborationSelector,\n} from \"./DbtDocsCollaborationProvider\";\nimport { ConversationGroup } from \"./conversations/context/types\";\n\nconst NewConversationForm = () => {\n const usersList = useDbtDocsCollaborationSelector(\n (state) => state.users,\n ) as Record<string, User>;\n const newConversation = useDbtDocsCollaborationSelector(\n (state) => state.newConversation,\n ) as DbtDocsState[\"newConversation\"];\n const currentUser = useDbtDocsCollaborationSelector((state) =>\n state.currentUserId ? state.users[state.currentUserId] : null,\n ) as User | null;\n\n const shareId = useDbtDocsCollaborationSelector(\n (state) => state.shareId,\n ) as DbtDocsState[\"shareId\"];\n const dispatch = useDbtDocsCollaborationDispatch();\n\n const [loading, setLoading] = useState(false);\n const [comment, setComment] = useState(\"\");\n\n const handleSubmit = async (e?: FormEvent) => {\n e?.stopPropagation();\n e?.preventDefault();\n\n if (!newConversation || !shareId) {\n return;\n }\n\n setLoading(true);\n try {\n console.log(\"saving conversation\", newConversation, comment);\n const createGroupResponse = await createNewConversationGroup(\n shareId,\n {\n ...newConversation,\n message: comment,\n },\n \"dbt-docs\", // this component is used only from dbt docs page\n );\n if (!createGroupResponse.conversation_group_id) {\n console.error(\n \"Unable to create conversation group\",\n createGroupResponse,\n );\n return;\n }\n console.log(\n \"Successfully created conversation group\",\n createGroupResponse,\n );\n } catch (err) {\n console.error(\"error while saving conversation\", newConversation, err);\n }\n dispatch(refetchConversations());\n setLoading(false);\n dispatch(updateRightPanelState(true));\n dispatch(resetNewConversation());\n setComment(\"\");\n };\n\n return (\n <Card className={classes.newConversationForm}>\n <CardContent className=\"al-pt-4\">\n <form onSubmit={handleSubmit}>\n <h4>Add comment</h4>\n <ConversationHighlightText\n meta={newConversation?.meta || ({} as ConversationGroup[\"meta\"])}\n />\n <ConversationInputForm\n comment={comment}\n setComment={setComment}\n loading={loading}\n users={Object.values(usersList)}\n currentUser={currentUser}\n placeholder=\"Start a conversation or add others with @\"\n onEnterKeypress={handleSubmit}\n />\n </form>\n </CardContent>\n </Card>\n );\n};\n\nexport default NewConversationForm;\n","import { IconButton } from \"@altimateai/lego\";\nimport { CheckNoOutlineIcon } from \"../../../../assets/icons\";\nimport classes from \"../../details/styles.module.scss\";\nimport { useState } from \"react\";\nimport { resolveConversationGroup as resolveConversationGroupApi } from \"../../api\";\nimport { DbtDocsShareDetails } from \"../types\";\nimport { ConversationGroup } from \"./context/types\";\nimport { useConversationGroupContext } from \"./context/ConversationsProvider\";\n\nconst ResolveButton = ({\n conversationGroupId,\n shareId,\n}: {\n conversationGroupId?: ConversationGroup[\"conversation_group_id\"];\n shareId: DbtDocsShareDetails[\"share_id\"];\n}) => {\n const { onResolve, source } = useConversationGroupContext();\n const [loading, setLoading] = useState(false);\n const handleClick = async () => {\n if (!conversationGroupId) {\n return;\n }\n setLoading(true);\n await resolveConversationGroupApi(shareId, conversationGroupId, source);\n onResolve();\n setLoading(false);\n };\n if (!conversationGroupId) {\n return null;\n }\n return (\n <IconButton\n disabled={loading}\n className={classes.resolveButton}\n title=\"Resolve conversation\"\n onClick={handleClick}\n >\n <CheckNoOutlineIcon />\n </IconButton>\n );\n};\n\nexport default ResolveButton;\n","import dayjs from \"dayjs\";\nimport { CardTitle } from \"@altimateai/lego\";\nimport ProfileImageByUser from \"../../../user/ProfileImageByUser\";\nimport { User } from \"../../../user/types\";\nimport ResolveButton from \"./ResolveButton\";\nimport { ConversationGroup } from \"./context/types\";\nimport { DbtDocsShareDetails } from \"../types\";\nimport { Stack } from \"@altimateai/lego\";\n\ninterface Props {\n user?: User;\n timestamp: string;\n showResolveButton?: boolean;\n shareId: DbtDocsShareDetails[\"share_id\"];\n conversationGroupId?: ConversationGroup[\"conversation_group_id\"];\n}\nconst ConversationHeader = ({\n user,\n timestamp,\n showResolveButton,\n conversationGroupId,\n shareId,\n}: Props) => {\n return (\n <CardTitle>\n <Stack align=\"center\" justify=\"between\" className=\"mb-0\">\n <Stack align=\"center\">\n <ProfileImageByUser user={user} />\n <h4>\n {user?.first_name} {user?.last_name}\n </h4>\n <span>{dayjs(timestamp).format(\"HH:mm, DD MMM YY\")}</span>\n </Stack>\n {showResolveButton ? (\n <ResolveButton\n conversationGroupId={conversationGroupId}\n shareId={shareId}\n />\n ) : null}\n </Stack>\n </CardTitle>\n );\n};\n\nexport default ConversationHeader;\n","import { Card, CardContent } from \"@altimateai/lego\";\nimport { useConversationGroupContext } from \"./context/ConversationsProvider\";\nimport ConversationHeader from \"./ConversationHeader\";\nimport { Conversation } from \"./context/types\";\nimport { DbtDocsShareDetails } from \"../types\";\nimport { useMemo } from \"react\";\n\ninterface Props {\n conversation: Conversation;\n shareId: DbtDocsShareDetails[\"share_id\"];\n}\nconst ConversationComponent = ({ conversation, shareId }: Props) => {\n const { users } = useConversationGroupContext();\n const user = useMemo(() => {\n if (!conversation?.user_id) {\n return;\n }\n\n return users[conversation.user_id];\n }, [conversation.user_id, users]);\n\n return (\n <Card>\n <ConversationHeader\n user={user}\n timestamp={conversation.timestamp}\n shareId={shareId}\n />\n <CardContent>\n <p>{conversation.message.replace(/@\\[(.*?)\\]\\((.*?)\\)/g, \"@$2\")}</p>\n </CardContent>\n </Card>\n );\n};\n\nexport default ConversationComponent;\n","import { FormEvent, useState } from \"react\";\nimport { addConversationToGroup } from \"../../api/index\";\nimport { useConversationGroupContext } from \"./context/ConversationsProvider\";\nimport classes from \"../../details/styles.module.scss\";\nimport ConversationInputForm from \"../ConversationInputForm\";\nimport { ConversationGroup } from \"./context/types\";\nimport { DbtDocsShareDetails } from \"../types\";\n\ninterface Props {\n conversationGroupId: ConversationGroup[\"conversation_group_id\"];\n shareId: DbtDocsShareDetails[\"share_id\"];\n}\n\nconst ConversationReplyForm = ({ conversationGroupId, shareId }: Props) => {\n const { currentUser, users, onReplyAdd, source } = useConversationGroupContext();\n const usersList = Object.values(users);\n const [replyText, setReplyText] = useState(\"\");\n const [isLoading, setIsLoading] = useState(false);\n\n const submitReply = async (e?: FormEvent) => {\n e?.stopPropagation();\n e?.preventDefault();\n\n if (!shareId || !conversationGroupId) {\n return;\n }\n setIsLoading(true);\n console.log(\"saving reply\", shareId, conversationGroupId, {\n message: replyText,\n });\n try {\n await addConversationToGroup(\n shareId,\n conversationGroupId,\n {\n message: replyText,\n },\n source\n );\n onReplyAdd();\n } catch (err) {\n console.error(\"error while saving reply\", err);\n }\n\n setIsLoading(false);\n setReplyText(\"\");\n };\n\n return (\n <div className={classes.replyForm}>\n <form onSubmit={submitReply} className=\"\">\n <ConversationInputForm\n comment={replyText}\n setComment={setReplyText}\n loading={isLoading}\n users={Object.values(usersList)}\n currentUser={currentUser || null}\n onEnterKeypress={submitReply}\n />\n </form>\n </div>\n );\n};\n\nexport default ConversationReplyForm;\n","import { useCallback, useMemo, useState } from \"react\";\nimport { Card, CardContent } from \"@altimateai/lego\";\nimport { ConversationGroup } from \"./context/types\";\nimport Conversation from \"./Conversation\";\nimport ConversationHeader from \"./ConversationHeader\";\nimport ConversationReplyForm from \"./ConversationReplyForm\";\nimport classes from \"../../details/styles.module.scss\";\nimport ConversationHighlightText from \"./ConversationHighlightText\";\nimport { useConversationGroupContext } from \"./context/ConversationsProvider\";\nimport { DbtDocsShareDetails } from \"../types\";\nimport { Button } from \"@altimateai/lego\";\n\ninterface Props {\n conversationGroup: ConversationGroup;\n shareId: DbtDocsShareDetails[\"share_id\"];\n onSelect: () => void;\n}\n\nconst ConversationGroupComponent = ({\n conversationGroup,\n shareId,\n onSelect,\n}: Props) => {\n const { users } = useConversationGroupContext();\n const user = useMemo(() => {\n if (!conversationGroup.owner) {\n return;\n }\n\n return users[conversationGroup.owner];\n }, [conversationGroup.owner, users]);\n\n // const codeblockLoaded = useConversationGroupSelector(\n // (state) => state.codeblockLoaded\n // ) as boolean | undefined;\n\n const { isSelected } = useConversationGroupContext();\n const [showReplies, setShowReplies] = useState(false);\n\n const onRender = useCallback(\n (node: HTMLElement | null) => {\n if (!isSelected || !node) {\n return;\n }\n\n console.log(\n \"ConversationGroupComponent scrolling\",\n conversationGroup.conversation_group_id,\n );\n setTimeout(() => {\n (node as unknown as HTMLElement).scrollIntoView({\n behavior: \"smooth\",\n block: \"center\",\n });\n // adding this timeout of 500ms to wait for ConversationHighlighter to complete scrolling\n }, 1000);\n },\n [conversationGroup.conversation_group_id, isSelected],\n );\n\n if (\n !conversationGroup?.conversations?.length ||\n conversationGroup?.status !== \"Pending\"\n ) {\n return null;\n }\n\n const [first, ...rest] = conversationGroup.conversations;\n const replyButtonText = rest.length\n ? rest.length > 1\n ? `${rest.length} replies`\n : `${rest.length} reply`\n : \"Reply\";\n\n return (\n <div ref={onRender} className={classes.conversationGroup}>\n <Card className={`${isSelected ? \"active\" : \"\"}`} onClick={onSelect}>\n <ConversationHeader\n user={user}\n timestamp={first.timestamp}\n showResolveButton\n conversationGroupId={conversationGroup.conversation_group_id}\n shareId={shareId}\n />\n <CardContent>\n <ConversationHighlightText meta={conversationGroup.meta} />\n <p>{first.message.replace(/@\\[(.*?)\\]\\((.*?)\\)/g, \"@$2\")}</p>\n <Button\n onClick={() => setShowReplies((prev) => !prev)}\n variant=\"link\"\n >\n {replyButtonText}\n </Button>\n {rest.length ? (\n <>\n {showReplies ? (\n <>\n {rest.map((c) => (\n <Conversation\n key={c.conversation_id}\n conversation={c}\n shareId={shareId}\n />\n ))}\n </>\n ) : null}\n </>\n ) : null}\n {showReplies ? (\n <ConversationReplyForm\n conversationGroupId={conversationGroup.conversation_group_id}\n shareId={shareId}\n />\n ) : null}\n </CardContent>\n </Card>\n </div>\n );\n};\n\nexport default ConversationGroupComponent;\n","import { createContext, useMemo, useContext } from \"react\";\nimport { ConversationGroup, ConversationSources } from \"./types\";\nimport ConversationGroupComponent from \"../ConversationGroup\";\nimport { User } from \"../../../../user/types\";\nimport { DbtDocsShareDetails } from \"../../types\";\n\ninterface Props {\n currentUser?: User;\n conversationGroup?: ConversationGroup;\n shareId?: DbtDocsShareDetails[\"share_id\"];\n isSelected: boolean;\n users: Record<User[\"id\"], User>;\n onSelect: () => void;\n onResolve: () => void;\n onReplyAdd: () => void;\n source: ConversationSources;\n}\n\nconst ConversationGroupContext = createContext<Props>({\n users: {},\n conversationGroup: undefined,\n currentUser: undefined,\n isSelected: false,\n shareId: undefined,\n onSelect: () => null,\n onResolve: () => null,\n onReplyAdd: () => null,\n source: ConversationSources.DBT_DOCS,\n});\n\nconst ConversationGroupProvider = ({\n currentUser,\n conversationGroup,\n shareId,\n onSelect,\n isSelected,\n users,\n onResolve,\n onReplyAdd,\n source,\n}: Props): JSX.Element | null => {\n const values = useMemo(\n () => ({\n currentUser,\n conversationGroup,\n shareId,\n onSelect,\n isSelected,\n users,\n onResolve,\n onReplyAdd,\n source,\n }),\n [\n currentUser,\n conversationGroup,\n shareId,\n onSelect,\n isSelected,\n users,\n onResolve,\n onReplyAdd,\n source,\n ]\n );\n\n if (!conversationGroup || !shareId) {\n return null;\n }\n\n return (\n <ConversationGroupContext.Provider value={values}>\n <ConversationGroupComponent\n conversationGroup={conversationGroup}\n shareId={shareId}\n onSelect={onSelect}\n />\n </ConversationGroupContext.Provider>\n );\n};\n\nexport default ConversationGroupProvider;\n\nexport const useConversationGroupContext = () => useContext(ConversationGroupContext);\n","import { User } from \"../../../user/types\";\nimport {\n useDbtDocsCollaborationDispatch,\n useDbtDocsCollaborationSelector,\n} from \"../DbtDocsCollaborationProvider\";\nimport {\n DbtDocsState,\n refetchConversations,\n resolveConversationGroup,\n updateSelectedConversationId,\n} from \"../DbtDocsReducer\";\nimport ConversationGroupProvider from \"./context/ConversationsProvider\";\nimport { ConversationGroup } from \"./context/types\";\n\nconst ConversationGroups = () => {\n const source = useDbtDocsCollaborationSelector(state => state.source) as DbtDocsState[\"source\"];\n const conversationGroups = useDbtDocsCollaborationSelector(\n state => state.conversations\n ) as DbtDocsState[\"conversations\"];\n const selectedConversationId = useDbtDocsCollaborationSelector(\n state => state.selectedConversationId\n ) as DbtDocsState[\"selectedConversationId\"];\n const shareId = useDbtDocsCollaborationSelector(\n state => state.shareId\n ) as DbtDocsState[\"shareId\"];\n\n const users = useDbtDocsCollaborationSelector(state => state.users) as Record<number, User>;\n const currentUserId = useDbtDocsCollaborationSelector(state => state.currentUserId) as User[\"id\"];\n\n const dispatch = useDbtDocsCollaborationDispatch();\n\n if (!currentUserId || !shareId) {\n return null;\n }\n\n const user = users[currentUserId];\n\n const onResolve = (conversationGroupId: ConversationGroup[\"conversation_group_id\"]) => {\n dispatch(resolveConversationGroup({ shareId, conversationGroupId }));\n };\n const onSelect = (conversationGroupId: ConversationGroup[\"conversation_group_id\"]) => {\n dispatch(updateSelectedConversationId(conversationGroupId));\n };\n\n const onReplyAdd = (conversationGroupId: ConversationGroup[\"conversation_group_id\"]) => {\n console.log(\"onReplyAdd\", conversationGroupId);\n dispatch(refetchConversations());\n };\n\n if (!conversationGroups || !Object.keys(conversationGroups).length) {\n return <div>No conversations yet!</div>;\n }\n\n return (\n <div>\n {Object.values(conversationGroups).map(conversationGroup => (\n <ConversationGroupProvider\n key={conversationGroup.conversation_group_id}\n conversationGroup={conversationGroup}\n shareId={shareId as unknown as number}\n isSelected={selectedConversationId === conversationGroup.conversation_group_id}\n currentUser={user}\n onResolve={() => onResolve(conversationGroup.conversation_group_id)}\n onSelect={() => onSelect(conversationGroup.conversation_group_id)}\n users={users}\n onReplyAdd={() => onReplyAdd(conversationGroup.conversation_group_id)}\n source={source}\n />\n ))}\n </div>\n );\n};\n\nexport default ConversationGroups;\n","import classes from \"../details/styles.module.scss\";\nimport NewConversationForm from \"./NewConversationForm\";\nimport ConversationGroups from \"./conversations/ConversationGroups\";\nimport { Button } from \"@altimateai/lego\";\nimport {\n resetNewConversation,\n updateRightPanelState,\n updateSelectedConversationId,\n} from \"./DbtDocsReducer\";\nimport {\n useDbtDocsCollaborationDispatch,\n useDbtDocsCollaborationSelector,\n} from \"./DbtDocsCollaborationProvider\";\nimport { CloseIcon } from \"../../../assets/icons\";\n\nconst DbtDocsConversationsRightPanel = () => {\n const isRightPanelOpen = useDbtDocsCollaborationSelector(\n (state) => state.isRightPanelOpen,\n );\n const selectedConversationId = useDbtDocsCollaborationSelector(\n (state) => state.selectedConversationId,\n ) as string | undefined;\n const newConversation = useDbtDocsCollaborationSelector(\n (state) => state.newConversation,\n );\n const dispatch = useDbtDocsCollaborationDispatch();\n\n const handleClose = () => {\n dispatch(updateRightPanelState(false));\n dispatch(updateSelectedConversationId(undefined));\n\n dispatch(resetNewConversation());\n };\n const isOpen =\n !!newConversation || isRightPanelOpen || selectedConversationId;\n if (!isOpen) {\n return null;\n }\n\n return (\n <>\n <Button\n variant=\"ghost\"\n onClick={handleClose}\n className={classes.conversationRightPanelCloseButton}\n >\n <CloseIcon />\n </Button>\n\n <div className={classes.conversationRightPanel}>\n <h3>Comments</h3>\n {newConversation ? <NewConversationForm /> : <ConversationGroups />}\n </div>\n </>\n );\n};\n\nexport default DbtDocsConversationsRightPanel;\n","import { useCallback, useEffect, useRef } from \"react\";\nimport { getConversationsByShareId } from \"../../api/index\";\nimport { DbtDocsState, setConversations, setConversationsLoadingState } from \"../DbtDocsReducer\";\nimport { DbtDocsShareDetails, LoadingState } from \"../types\";\nimport { ConversationGroup } from \"./context/types\";\nimport {\n useDbtDocsCollaborationDispatch,\n useDbtDocsCollaborationSelector,\n} from \"../DbtDocsCollaborationProvider\";\n\nconst PollingInterval = 10;\nconst useConversations = () => {\n const timer = useRef<NodeJS.Timeout | undefined>();\n const shareId = useDbtDocsCollaborationSelector(\n state => state.shareId\n ) as DbtDocsState[\"shareId\"];\n const loadingState = useDbtDocsCollaborationSelector(\n state => state.conversationsLoadingState\n ) as LoadingState;\n const dispatch = useDbtDocsCollaborationDispatch();\n const conversations = useDbtDocsCollaborationSelector(state =>\n Object.keys(state.conversations || {})\n ) as ConversationGroup[\"conversation_group_id\"][];\n\n const fetchConversations = useCallback(\n (shareId: DbtDocsShareDetails[\"share_id\"]) => {\n clearTimeout(timer.current);\n getConversationsByShareId(shareId)\n .then(data => {\n console.log(\"useConversations\", data);\n dispatch(setConversations(data?.dbt_docs_share_conversations));\n timer.current = setTimeout(() => {\n fetchConversations(shareId);\n }, PollingInterval * 1000);\n })\n .catch(err => console.error(\"error while fetching conversations list\", err))\n .finally(() => {\n dispatch(setConversationsLoadingState(LoadingState.INITIALIZED));\n });\n },\n [dispatch]\n );\n\n useEffect(() => {\n if (loadingState !== LoadingState.UNINITIALIZED || !shareId) {\n return;\n }\n dispatch(setConversationsLoadingState(LoadingState.LOADING));\n fetchConversations(shareId);\n }, [dispatch, loadingState, conversations, shareId, fetchConversations]);\n\n return { isLoading: loadingState === LoadingState.LOADING };\n};\n\nexport default useConversations;\n","import { useEffect, useState } from \"react\";\nimport { User } from \"../../user/types\";\nimport { getUserList } from \"../api/index\";\nimport { setUsers } from \"./DbtDocsReducer\";\nimport {\n useDbtDocsCollaborationDispatch,\n useDbtDocsCollaborationSelector,\n} from \"./DbtDocsCollaborationProvider\";\nimport { LoadingState } from \"./types\";\n\nconst useConversationUsers = () => {\n const dispatch = useDbtDocsCollaborationDispatch();\n const users = useDbtDocsCollaborationSelector(state =>\n Object.keys(state.users || {})\n ) as User[\"id\"][];\n\n const [loadingState, setLoadingState] = useState(LoadingState.UNINITIALIZED);\n\n useEffect(() => {\n if (loadingState !== LoadingState.UNINITIALIZED || Object.keys(users).length) {\n return;\n }\n setLoadingState(LoadingState.LOADING);\n getUserList()\n .then(data => {\n console.log(\"useConversationUsers\", data);\n dispatch(setUsers(data));\n })\n .catch(err => console.error(\"error while fetching users list\", err))\n .finally(() => {\n setLoadingState(LoadingState.INITIALIZED);\n });\n }, [dispatch, loadingState, users]);\n\n return { isLoading: loadingState === LoadingState.LOADING };\n};\n\nexport default useConversationUsers;\n","// import DbtDocsCodeblock from \"./DbtDocsCodeblock\";\nimport ConversationsHighlighter from \"./ConversationsHighlighter\";\nimport DbtDocsConversationsRightPanel from \"./DbtDocsConversationsRightPanel\";\nimport useConversations from \"./conversations/useConversations\";\nimport useConversationUsers from \"./useConversationUsers\";\n\nconst DbtDocsCollaborationComponents = () => {\n useConversationUsers();\n useConversations();\n\n return (\n <div>\n <DbtDocsConversationsRightPanel />\n <ConversationsHighlighter />\n </div>\n );\n};\n\nexport default DbtDocsCollaborationComponents;\n","import { AddIcon } from \"../../../assets/icons\";\nimport { ButtonProps, IconButton } from \"@altimateai/lego\";\nimport classes from \"../details/styles.module.scss\";\nimport { createPortal } from \"react-dom\";\n\ntype Props = ButtonProps & {\n target: HTMLElement;\n};\nconst HotspotButton = ({ target, ...rest }: Props) => {\n return createPortal(\n <IconButton\n className={classes.hotspotButton}\n title=\"Click to start conversation\"\n {...rest}\n >\n <AddIcon />\n </IconButton>,\n target,\n );\n};\n\nexport default HotspotButton;\n","import { useCallback, useEffect, useState } from \"react\";\nimport {\n useDbtDocsCollaborationSelector,\n useDbtDocsCollaborationDispatch,\n} from \"../collaboration/DbtDocsCollaborationProvider\";\nimport HotspotButton from \"../collaboration/HotspotButton\";\nimport {\n getCodeBlockElementInPage,\n getModelPartsFromLocationHash,\n} from \"../collaboration/highlightUtils\";\nimport { Manifest, updateNewConversation } from \"../collaboration/DbtDocsReducer\";\nimport { ConversationGroup } from \"../collaboration/conversations/context/types\";\n\nconst AddCommentOnCodeButton = () => {\n const dispatch = useDbtDocsCollaborationDispatch();\n const codeBlockUpdated = useDbtDocsCollaborationSelector(\n state => state.codeblockLoaded\n ) as boolean;\n const manifest = useDbtDocsCollaborationSelector(state => state.manifest) as Manifest;\n const [lineNumber, setLineNumber] = useState(0);\n const codeElement = getCodeBlockElementInPage()?.parentElement;\n\n const handleClick = () => {\n if (!codeElement || !manifest.nodes) {\n return;\n }\n const modelParts = getModelPartsFromLocationHash();\n if (!modelParts || modelParts.length < 3) {\n console.error(\"Unable to find model parts\", modelParts);\n return;\n }\n const code = manifest.nodes[modelParts[2]]?.raw_code;\n const data = {\n highlight: code.split(\"\\n\")[lineNumber],\n range: {\n end: { line: lineNumber, character: 0 },\n start: { line: lineNumber, character: 0 },\n },\n } as unknown as ConversationGroup[\"meta\"];\n\n dispatch(updateNewConversation({ meta: data }));\n };\n\n const onMouseMove = useCallback(\n (e: MouseEvent) => {\n if (!codeElement) {\n return;\n }\n const endY = e.y;\n const lineNumbers = codeElement.querySelectorAll(`.line-numbers-rows > span`);\n const end = Array.from(lineNumbers).findIndex(node => {\n const { height, y } = node.getBoundingClientRect();\n return endY >= y && endY <= y + height;\n });\n setLineNumber(end);\n },\n [codeElement]\n );\n\n useEffect(() => {\n if (!codeBlockUpdated || !codeElement) {\n return;\n }\n\n codeElement.addEventListener(\"mousemove\", onMouseMove);\n\n return () => {\n codeElement.removeEventListener(\"mousemove\", onMouseMove);\n };\n }, [codeBlockUpdated, codeElement, onMouseMove]);\n\n if (!codeBlockUpdated || !codeElement) {\n return null;\n }\n return (\n <HotspotButton target={codeElement} onClick={handleClick} style={{ top: lineNumber * 21.2 }} />\n );\n};\n\nexport default AddCommentOnCodeButton;\n","import { updateNewConversation } from \"../collaboration/DbtDocsReducer\";\nimport {\n useDbtDocsCollaborationSelector,\n useDbtDocsCollaborationDispatch,\n} from \"../collaboration/DbtDocsCollaborationProvider\";\nimport HotspotButton from \"../collaboration/HotspotButton\";\nimport { getModelDescriptionElement } from \"../collaboration/highlightUtils\";\nimport { ConversationGroup } from \"../collaboration/conversations/context/types\";\n\nconst AddCommentOnModelDescriptionButton = () => {\n const dispatch = useDbtDocsCollaborationDispatch();\n const codeBlockUpdated = useDbtDocsCollaborationSelector(\n state => state.codeblockLoaded\n ) as boolean;\n const descriptionElement = getModelDescriptionElement();\n\n const handleClick = () => {\n const data = {\n field: \"description\",\n highlight: descriptionElement?.innerText,\n } as unknown as ConversationGroup[\"meta\"];\n\n dispatch(updateNewConversation({ meta: data }));\n };\n\n if (!codeBlockUpdated || !descriptionElement) {\n return null;\n }\n return <HotspotButton target={descriptionElement} onClick={handleClick} />;\n};\n\nexport default AddCommentOnModelDescriptionButton;\n","import AddCommentOnCodeButton from \"./AddCommentOnCodeButton\";\nimport AddCommentOnModelDescriptionButton from \"./AddCommentOnModelDescriptionButton\";\n\nconst AddCommentButton = () => {\n return (\n <>\n <AddCommentOnModelDescriptionButton />\n <AddCommentOnCodeButton />\n </>\n );\n};\n\nexport default AddCommentButton;\n","import { MouseEvent, lazy } from \"react\";\nimport { updateNewConversation } from \"../collaboration/DbtDocsReducer\";\nimport HighlightAnchor from \"../collaboration/HighlightAnchor\";\nimport ShowConversationsButton from \"../collaboration/ShowConversationsButton\";\nimport useDbtDocsCollaboration from \"../collaboration/useDbtDocsCollaboration\";\nimport useHighlight from \"../collaboration/useHighlight\";\nimport DbtDocsCollaborationComponents from \"../collaboration/DbtDocsCollaborationComponents\";\nimport AddCommentButton from \"./AddCommentButton\";\nimport { useDbtDocsCollaborationDispatch } from \"../collaboration/DbtDocsCollaborationProvider\";\nimport { Stack } from \"@altimateai/lego\";\n\nconst DbtDocsRenderer = lazy(() => import(\"./DbtDocsRenderer\"));\n\nconst DbtDocsDetails = () => {\n const { loading, shareDetails } = useDbtDocsCollaboration();\n const dispatch = useDbtDocsCollaborationDispatch();\n const { getHighlightedSelectionData, pos, onSelectionEnd } = useHighlight();\n const onAddComment = (e: MouseEvent) => {\n e.stopPropagation();\n const data = getHighlightedSelectionData();\n if (data) {\n dispatch(updateNewConversation(data));\n }\n };\n\n if (loading) {\n return <div>Loading...</div>;\n }\n\n if (!shareDetails?.catalog_presigned_url || !shareDetails?.manifest_presigned_url) {\n return <div>Unable to load required artifacts. Please try again.</div>;\n }\n return (\n <div>\n <Stack direction=\"row\" justify=\"end\" className=\"mb-2\">\n <AddCommentButton />\n <ShowConversationsButton />\n </Stack>\n <DbtDocsCollaborationComponents />\n <DbtDocsRenderer shareDetails={shareDetails} onSelectionEnd={onSelectionEnd} />\n {pos ? <HighlightAnchor pos={pos} onAddComment={onAddComment} /> : null}\n </div>\n );\n};\n\nexport default DbtDocsDetails;\n","import { ConversationSources } from \"../collaboration/conversations/context/types\";\nimport DbtDocsCollaborationProvider from \"../collaboration/DbtDocsCollaborationProvider\";\nimport DbtDocsDetails from \"./DbtDocsDetails\";\n\nexport interface Props {\n shareId: number;\n userId?: number;\n conversationGroupId?: number;\n source: ConversationSources;\n}\n\nconst DbtDocs = ({ shareId, userId, conversationGroupId, source }: Props) => {\n return (\n <div className=\"altimate-component\">\n <DbtDocsCollaborationProvider\n shareId={shareId}\n userId={userId}\n conversationGroupId={conversationGroupId}\n source={source}\n >\n <DbtDocsDetails />\n </DbtDocsCollaborationProvider>\n </div>\n );\n};\n\nexport default DbtDocs;\n"],"names":["ConversationSources","getResourceTypeAndPageFromUrlHash","hashParts","window","ALTIMATE_DISPLAY_ELEMENT_ID_PREFIX","HIGHLIGHT_CLASS","HIGHLIGHT_HOVER_CLASS","ACTIVE_HIGHLIGHT_CLASS","highlighter","Highlighter","activeHighlighter","selectedNodesHook","_id","selectedNodes","node","serializeRestoreHook","_hs","start","end","startNode","endNode","nodeNameBlacklist","id","getHighlightSourceFromPostAnchor","post","JSON","removeHighlight","anchor","hs","getCodeBlockElementInPage","modelParts","getModelPartsFromLocationHash","codeSection","document","text","getModelDescriptionElement","getConversationGroupTargetElement","meta","columnDescriptionTd","Array","el","getField","element","getSelectionRange","field","target","highlightedText","selectionEnd","selectionStart","lineNumbers","selectedLines","endY","Math","height","y","endLineNumberElement","console","getSelectionAllowedElements","initialState","undefined","LoadingState","conversationsSlice","createSlice","state","action","acc","user","conversationGroupId","updated","conversation","setCurrentUserId","setShareId","updateSelectedConversationId","updateRightPanelState","setUsers","setConversations","resetNewConversation","updateNewConversation","upsertConversation","setDocsAppRendered","updateCurrentPage","updateCodeblockLoaded","resolveConversationGroup","setConversationsLoadingState","refetchConversations","setConversationSource","setManifest","DbtDocsCollaborationContext","createContext","DbtDocsCollaborationProvider","children","shareId","userId","source","dispatch","useReducer","Boolean","getValue","useCallback","callback","values","useMemo","useDbtDocsCollaborationContext","useContext","useDbtDocsCollaborationSelector","useDbtDocsCollaborationDispatch","Icon","icon","className","rest","AddIcon","props","CommentUnresolvedIcon","CheckNoOutlineIcon","AskIcon","CloseIcon","HighlightAnchor","pos","onAddComment","createPortal","AnimatePresence","Button","ZIndex","ShowConversationsButton","isRightPanelOpen","toggleRightPanel","ApiHelper","_url","_data","_request","getDbtDocsShareDetailsById","createNewConversationGroup","data","addConversationToGroup","getConversationsByShareId","getUserList","company","useDbtDocsCollaboration","shareDetails","setShareDetails","useState","loading","setLoading","useEffect","fetch","response","error","loadDetails","leftArrowBtn","useHighlight","selectedConversation","isDocsAppRendered","newConversation","highlightPostData","setHighlightPostData","setPos","resetHighlights","onSelectionEnd","event","selection","range","code","x","ConversationHighlighter","conversationGroup","selectedConversationId","highlightRef","useRef","handleClick","position","top","bottom","i","lineNumber","ConversationsHighlighter","conversationGroups","Object","codeblockLoaded","currentPage","conversationsInCurrentPage","ProfileImageByUser","classes","StyleMentionInput","MentionsInputComponent","value","setValue","propsUsers","placeholder","onEnterKeypress","users","onKeyDown","e","onAdd","display","handleChange","MentionsInput","Mention","highlightedDisplay","focused","ConversationInputForm","comment","setComment","currentUser","LoadingButton","ConversationHighlightText","filePath","column","path","CodeBlock","NewConversationForm","usersList","handleSubmit","createGroupResponse","err","Card","CardContent","ResolveButton","onResolve","useConversationGroupContext","resolveConversationGroupApi","IconButton","ConversationHeader","timestamp","showResolveButton","CardTitle","Stack","dayjs","ConversationComponent","ConversationReplyForm","onReplyAdd","replyText","setReplyText","isLoading","setIsLoading","submitReply","ConversationGroupComponent","onSelect","isSelected","showReplies","setShowReplies","onRender","setTimeout","first","replyButtonText","prev","c","Conversation","ConversationGroupContext","ConversationGroupProvider","ConversationGroups","currentUserId","DbtDocsConversationsRightPanel","handleClose","isOpen","PollingInterval","useConversations","timer","loadingState","conversations","fetchConversations","clearTimeout","useConversationUsers","setLoadingState","DbtDocsCollaborationComponents","HotspotButton","AddCommentOnCodeButton","codeBlockUpdated","manifest","setLineNumber","codeElement","onMouseMove","AddCommentOnModelDescriptionButton","descriptionElement","AddCommentButton","DbtDocsRenderer","lazy","DbtDocsDetails","getHighlightedSelectionData","DbtDocs"],"mappings":"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"}
|
|
@@ -1,110 +1,45 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
declare const
|
|
16
|
-
declare const
|
|
17
|
-
declare const
|
|
18
|
-
declare const
|
|
19
|
-
declare const
|
|
20
|
-
declare const
|
|
21
|
-
declare const
|
|
22
|
-
declare const
|
|
23
|
-
declare const
|
|
24
|
-
declare const
|
|
25
|
-
declare const
|
|
26
|
-
declare const
|
|
27
|
-
declare const
|
|
28
|
-
declare const
|
|
29
|
-
declare const
|
|
30
|
-
declare const
|
|
31
|
-
declare const
|
|
32
|
-
declare const
|
|
33
|
-
declare const
|
|
34
|
-
declare const
|
|
35
|
-
declare const
|
|
36
|
-
declare const
|
|
37
|
-
declare const
|
|
38
|
-
declare const
|
|
39
|
-
declare const
|
|
40
|
-
declare const
|
|
41
|
-
declare const
|
|
42
|
-
declare const
|
|
43
|
-
declare const
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
declare const SettingsIcon: FC<SVGProps<SVGSVGElement>>;
|
|
47
|
-
declare const ShareIcon: FC<SVGProps<SVGSVGElement>>;
|
|
48
|
-
declare const SplitHorizontalIcon: FC<SVGProps<SVGSVGElement>>;
|
|
49
|
-
declare const ThinkingIcon: FC<SVGProps<SVGSVGElement>>;
|
|
50
|
-
declare const ThumbsDownIcon: FC<SVGProps<SVGSVGElement>>;
|
|
51
|
-
declare const ThumbsUpIcon: FC<SVGProps<SVGSVGElement>>;
|
|
52
|
-
declare const UploadIcon: FC<SVGProps<SVGSVGElement>>;
|
|
53
|
-
declare const UserIcon: FC<SVGProps<SVGSVGElement>>;
|
|
54
|
-
declare const WarningIcon: FC<SVGProps<SVGSVGElement>>;
|
|
55
|
-
|
|
56
|
-
export {
|
|
57
|
-
AddIcon,
|
|
58
|
-
ArrowLeftIcon,
|
|
59
|
-
ArrowRightIcon,
|
|
60
|
-
AskIcon,
|
|
61
|
-
BoltIcon,
|
|
62
|
-
BracketsIcon,
|
|
63
|
-
CalendarIcon,
|
|
64
|
-
CaseSensitiveIcon,
|
|
65
|
-
CheckNoOutlineIcon,
|
|
66
|
-
CheckedIcon,
|
|
67
|
-
ChevronDownIcon,
|
|
68
|
-
ChevronLeftIcon,
|
|
69
|
-
ChevronRightIcon,
|
|
70
|
-
ChevronUpIcon,
|
|
71
|
-
CircleIcon,
|
|
72
|
-
CloseIcon,
|
|
73
|
-
CodeIcon,
|
|
74
|
-
CommentAddIcon,
|
|
75
|
-
CommentDiscussionIcon,
|
|
76
|
-
CommentUnresolvedIcon,
|
|
77
|
-
CopyIcon,
|
|
78
|
-
DatabaseIcon,
|
|
79
|
-
DbtIcon,
|
|
80
|
-
DeleteIcon,
|
|
81
|
-
DownloadIcon,
|
|
82
|
-
EditIcon,
|
|
83
|
-
FileIcon,
|
|
84
|
-
FileUploadIcon,
|
|
85
|
-
FilesIcon,
|
|
86
|
-
GitMergeIcon,
|
|
87
|
-
GithubIcon,
|
|
88
|
-
GlobeIcon,
|
|
89
|
-
GripVerticalIcon,
|
|
90
|
-
HalfCircleIcon,
|
|
91
|
-
InfoCircleIcon,
|
|
92
|
-
LoaderIcon,
|
|
93
|
-
MoreIcon,
|
|
94
|
-
PanelLeftIcon,
|
|
95
|
-
PassIcon,
|
|
96
|
-
RefreshIcon,
|
|
97
|
-
RemoveIcon,
|
|
98
|
-
RobotIcon,
|
|
99
|
-
SearchIcon,
|
|
100
|
-
SendIcon,
|
|
101
|
-
SettingsIcon,
|
|
102
|
-
ShareIcon,
|
|
103
|
-
SplitHorizontalIcon,
|
|
104
|
-
ThinkingIcon,
|
|
105
|
-
ThumbsDownIcon,
|
|
106
|
-
ThumbsUpIcon,
|
|
107
|
-
UploadIcon,
|
|
108
|
-
UserIcon,
|
|
109
|
-
WarningIcon
|
|
110
|
-
};
|
|
1
|
+
import BoltIcon from "./bolt.svg?react";
|
|
2
|
+
import BracketsIcon from "./brackets.svg?url";
|
|
3
|
+
import HalfCircleIcon from "./half-circle.svg?url";
|
|
4
|
+
import CaseSensitiveIcon from "./case-sensitive.svg?url";
|
|
5
|
+
import SplitHorizontalIcon from "./split-horizontal.svg?url";
|
|
6
|
+
import { HTMLAttributes } from "react";
|
|
7
|
+
export { default as ThinkingIcon } from "./thinking.svg?react";
|
|
8
|
+
export { default as CircleIcon } from "./circle.svg?react";
|
|
9
|
+
export { default as DownloadIcon } from "./download.svg?react";
|
|
10
|
+
export { default as ArrowRightIcon } from "./arrow-right.svg?react";
|
|
11
|
+
export { default as DatabaseIcon } from "./database.svg?react";
|
|
12
|
+
export { default as GitMergeIcon } from "./git-merge.svg?react";
|
|
13
|
+
export { default as ArrowLeftIcon } from "./arrow-left.svg?react";
|
|
14
|
+
export { default as DbtIcon } from "./dbt.svg?react";
|
|
15
|
+
export declare const RemoveIcon: (props: HTMLAttributes<HTMLElement>) => JSX.Element;
|
|
16
|
+
export declare const CodeIcon: (props: HTMLAttributes<HTMLElement>) => JSX.Element;
|
|
17
|
+
export declare const AddIcon: (props: HTMLAttributes<HTMLElement>) => JSX.Element;
|
|
18
|
+
export declare const DeleteIcon: (props: HTMLAttributes<HTMLElement>) => JSX.Element;
|
|
19
|
+
export declare const GlobeIcon: (props: HTMLAttributes<HTMLElement>) => JSX.Element;
|
|
20
|
+
export declare const GithubIcon: (props: HTMLAttributes<HTMLElement>) => JSX.Element;
|
|
21
|
+
export declare const FilesIcon: (props: HTMLAttributes<HTMLElement>) => JSX.Element;
|
|
22
|
+
export declare const CommentAddIcon: (props: HTMLAttributes<HTMLElement>) => JSX.Element;
|
|
23
|
+
export declare const CommentDiscussionIcon: (props: HTMLAttributes<HTMLElement>) => JSX.Element;
|
|
24
|
+
export declare const CommentUnresolvedIcon: (props: HTMLAttributes<HTMLElement>) => JSX.Element;
|
|
25
|
+
export declare const CheckNoOutlineIcon: (props: HTMLAttributes<HTMLElement>) => JSX.Element;
|
|
26
|
+
export declare const CheckedIcon: (props: HTMLAttributes<HTMLElement>) => JSX.Element;
|
|
27
|
+
export declare const PassIcon: (props: HTMLAttributes<HTMLElement>) => JSX.Element;
|
|
28
|
+
export declare const RefreshIcon: (props: HTMLAttributes<HTMLElement>) => JSX.Element;
|
|
29
|
+
export declare const SettingsIcon: (props: HTMLAttributes<HTMLElement>) => JSX.Element;
|
|
30
|
+
export declare const ChevronUpIcon: (props: HTMLAttributes<HTMLElement>) => JSX.Element;
|
|
31
|
+
export declare const ChevronDownIcon: (props: HTMLAttributes<HTMLElement>) => JSX.Element;
|
|
32
|
+
export declare const ChevronRightIcon: (props: HTMLAttributes<HTMLElement>) => JSX.Element;
|
|
33
|
+
export declare const ChevronLeftIcon: (props: HTMLAttributes<HTMLElement>) => JSX.Element;
|
|
34
|
+
export declare const MoreIcon: (props: HTMLAttributes<HTMLElement>) => JSX.Element;
|
|
35
|
+
export declare const InfoCircleIcon: (props: HTMLAttributes<HTMLElement>) => JSX.Element;
|
|
36
|
+
export declare const AskIcon: (props: HTMLAttributes<HTMLElement>) => JSX.Element;
|
|
37
|
+
export declare const CloseIcon: (props: HTMLAttributes<HTMLElement>) => JSX.Element;
|
|
38
|
+
export declare const EditIcon: (props: HTMLAttributes<HTMLElement>) => JSX.Element;
|
|
39
|
+
export declare const ShareIcon: (props: HTMLAttributes<HTMLElement>) => JSX.Element;
|
|
40
|
+
export declare const SearchIcon: (props: HTMLAttributes<HTMLElement>) => JSX.Element;
|
|
41
|
+
export declare const FileIcon: (props: HTMLAttributes<HTMLElement>) => JSX.Element;
|
|
42
|
+
export declare const WarningIcon: (props: HTMLAttributes<HTMLElement>) => JSX.Element;
|
|
43
|
+
export declare const SendIcon: (props: HTMLAttributes<HTMLElement>) => JSX.Element;
|
|
44
|
+
export { BoltIcon, BracketsIcon, HalfCircleIcon, SplitHorizontalIcon, CaseSensitiveIcon, };
|
|
45
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/assets/icons/index.tsx"],"names":[],"mappings":"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"}
|