@projectcor/maia-components 2.28.0 → 2.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/App.js +55 -0
- package/lib/components/atoms/ActionableButton.js +60 -0
- package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.js +89 -0
- package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.styles.js +21 -0
- package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.utils.js +9 -0
- package/lib/components/atoms/AgentActivityIndicator/index.js +2 -0
- package/lib/components/atoms/ApprovalBox/ApprovalBox.js +209 -0
- package/lib/components/atoms/ApprovalBox/ApprovalBox.styles.js +93 -0
- package/lib/components/atoms/ApprovalBox/index.js +2 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCard.js +218 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCard.styles.js +52 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.js +448 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.styles.js +58 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardImage.js +55 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardImage.styles.js +14 -0
- package/lib/components/atoms/AttachmentCard/index.js +4 -0
- package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.js +442 -0
- package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.styles.js +119 -0
- package/lib/components/atoms/AttachmentPreviewModal/ExcelPreview.js +222 -0
- package/lib/components/atoms/AttachmentPreviewModal/PptPreview.js +313 -0
- package/lib/components/atoms/AttachmentPreviewModal/WordPreview.js +128 -0
- package/lib/components/atoms/AttachmentPreviewModal/index.js +2 -0
- package/lib/components/atoms/Backdrop/Backdrop.js +17 -0
- package/lib/components/atoms/Backdrop/Backdrop.styles.js +9 -0
- package/lib/components/atoms/Backdrop/index.js +2 -0
- package/lib/components/atoms/CardItem.js +7 -0
- package/lib/components/atoms/CardMenu/CardMenu.js +131 -0
- package/lib/components/atoms/CardMenu/index.js +2 -0
- package/lib/components/atoms/CardMenu/styles.js +21 -0
- package/lib/components/atoms/ChatClientSelector/ChatClientSelector.js +77 -0
- package/lib/components/atoms/ChatClientSelector/index.js +2 -0
- package/lib/components/atoms/ChatDisclaimerMessage/ChatDisclaimerMessage.js +9 -0
- package/lib/components/atoms/ChatDisclaimerMessage/index.js +2 -0
- package/lib/components/atoms/ChatDisclaimerMessage/styles.js +6 -0
- package/lib/components/atoms/Checkbox/Checkbox.js +34 -0
- package/lib/components/atoms/Checkbox/index.js +2 -0
- package/lib/components/atoms/Checkbox/styles.js +39 -0
- package/lib/components/atoms/Chip/Chip.js +150 -0
- package/lib/components/atoms/Chip/index.js +2 -0
- package/lib/components/atoms/Chip/styles.js +43 -0
- package/lib/components/atoms/ChipLlm/ChipLlm.js +45 -0
- package/lib/components/atoms/ChipLlm/ChipLlm.style.js +21 -0
- package/lib/components/atoms/ChipLlm/index.js +2 -0
- package/lib/components/atoms/ChipStatus/ChipStatus.interface.js +2 -0
- package/lib/components/atoms/ChipStatus/ChipStatus.js +14 -0
- package/lib/components/atoms/ChipStatus/ChipStatus.styles.js +27 -0
- package/lib/components/atoms/ChipStatus/index.js +2 -0
- package/lib/components/atoms/ClearButton.js +6 -0
- package/lib/components/atoms/ClientSelector/ClientSelector.js +146 -0
- package/lib/components/atoms/ClientSelector/ClientSelector.styles.js +15 -0
- package/lib/components/atoms/ClientSelector/index.js +2 -0
- package/lib/components/atoms/ContextMentionChip/ContextMentionChip.js +38 -0
- package/lib/components/atoms/ContextMentionChip/ContextMentionChip.styles.js +188 -0
- package/lib/components/atoms/ContextMentionChip/MentionOverflowLabel.js +39 -0
- package/lib/components/atoms/ContextMentionChip/buildChipElement.js +434 -0
- package/lib/components/atoms/ContextMentionChip/index.js +4 -0
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +411 -0
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.styles.js +10 -0
- package/lib/components/atoms/ContextMentionEditor/index.js +2 -0
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +309 -0
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +157 -0
- package/lib/components/atoms/ContextMentionItem/index.js +2 -0
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +307 -0
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.styles.js +108 -0
- package/lib/components/atoms/ContextMentionPopover/index.js +3 -0
- package/lib/components/atoms/CopyToClipboard.js +70 -0
- package/lib/components/atoms/EditableLabel/EditableLabel.js +110 -0
- package/lib/components/atoms/EditableLabel/index.js +2 -0
- package/lib/components/atoms/EditableLabel/styles.js +7 -0
- package/lib/components/atoms/EmptySearchClients/EmptySearchClients.js +22 -0
- package/lib/components/atoms/EmptySearchClients/EmptySearchClients.styles.js +18 -0
- package/lib/components/atoms/EmptySearchClients/index.js +2 -0
- package/lib/components/atoms/EmptySearchProjects/EmptySearchProjects.js +19 -0
- package/lib/components/atoms/EmptySearchProjects/EmptySearchProjects.styles.js +15 -0
- package/lib/components/atoms/EmptySearchProjects/index.js +2 -0
- package/lib/components/atoms/EntitySelector/EntitySelector.js +247 -0
- package/lib/components/atoms/EntitySelector/EntitySelector.skeleton.js +38 -0
- package/lib/components/atoms/EntitySelector/EntitySelector.styles.js +67 -0
- package/lib/components/atoms/EntitySelector/index.js +2 -0
- package/lib/components/atoms/ErrorSearchClients/ErrorSearchClients.js +14 -0
- package/lib/components/atoms/ErrorSearchClients/ErrorSearchClients.styles.js +15 -0
- package/lib/components/atoms/ErrorSearchFaqs/ErrorSearchFaqs.js +14 -0
- package/lib/components/atoms/ErrorSearchFaqs/ErrorSearchFaqs.style.js +15 -0
- package/lib/components/atoms/ErrorSearchFaqs/index.js +2 -0
- package/lib/components/atoms/ErrorSearchProjects/ErrorSearchProjects.js +18 -0
- package/lib/components/atoms/ErrorSearchProjects/ErrorSearchProjects.style.js +15 -0
- package/lib/components/atoms/ErrorSearchProjects/index.js +2 -0
- package/lib/components/atoms/Expand/Expand.js +32 -0
- package/lib/components/atoms/Expand/index.js +2 -0
- package/lib/components/atoms/Fade/Fade.js +56 -0
- package/lib/components/atoms/Fade/index.js +2 -0
- package/lib/components/atoms/FeedbackButton/FeedbackButton.js +59 -0
- package/lib/components/atoms/FeedbackButton/FeedbackButton.styles.js +14 -0
- package/lib/components/atoms/FeedbackButton/index.js +2 -0
- package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.js +138 -0
- package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.skeleton.js +44 -0
- package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.styles.js +43 -0
- package/lib/components/atoms/FrequentlyAskedQuestions/index.js +2 -0
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +122 -0
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.skeleton.js +43 -0
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +62 -0
- package/lib/components/atoms/FrequentlyUsedActions/index.js +2 -0
- package/lib/components/atoms/GoBackButton.js +24 -0
- package/lib/components/atoms/HelpButton.js +44 -0
- package/lib/components/atoms/IconButton.js +56 -0
- package/lib/components/atoms/ImagePreview/ImagePreview.js +96 -0
- package/lib/components/atoms/ImagePreview/ImagePreview.styles.js +70 -0
- package/lib/components/atoms/Input/CustomInput.interface.js +2 -0
- package/lib/components/atoms/Input/CustomInput.js +91 -0
- package/lib/components/atoms/Input/CustomInput.styles.js +39 -0
- package/lib/components/atoms/Input/index.js +2 -0
- package/lib/components/atoms/ListMenuOption/ListMenuOption.js +41 -0
- package/lib/components/atoms/ListMenuOption/index.js +2 -0
- package/lib/components/atoms/ListMenuOption/styles.js +9 -0
- package/lib/components/atoms/Loader.js +41 -0
- package/lib/components/atoms/LoadingFaqs/LoadingFaqs.js +11 -0
- package/lib/components/atoms/LoadingFaqs/LoadingFaqs.style.js +6 -0
- package/lib/components/atoms/LoadingFaqs/index.js +2 -0
- package/lib/components/atoms/LoadingSearchClients/LoadingSearchClients.js +11 -0
- package/lib/components/atoms/LoadingSearchClients/LoadingSearchClients.styles.js +6 -0
- package/lib/components/atoms/LoadingSearchClients/index.js +2 -0
- package/lib/components/atoms/LoadingSearchProjects/LoadingSearchProjects.js +14 -0
- package/lib/components/atoms/LoadingSearchProjects/LoadingSearchProjects.style.js +10 -0
- package/lib/components/atoms/LoadingSearchProjects/index.js +2 -0
- package/lib/components/atoms/LoadingText/LoadingText.js +18 -0
- package/lib/components/atoms/LoadingText/index.js +2 -0
- package/lib/components/atoms/LoadingText/styles.js +7 -0
- package/lib/components/atoms/MAIAButton/MAIAButton.js +33 -0
- package/lib/components/atoms/MAIAButton/index.js +2 -0
- package/lib/components/atoms/MAIAError/MAIAError.js +15 -0
- package/lib/components/atoms/MAIAError/index.js +2 -0
- package/lib/components/atoms/MAIAInput/MAIAInput.js +1058 -0
- package/lib/components/atoms/MAIAInput/MAIAInputEditor.js +266 -0
- package/lib/components/atoms/MAIAInput/index.js +2 -0
- package/lib/components/atoms/MAIAInput/maiaInputLayout.js +25 -0
- package/lib/components/atoms/MAIAInput/styles.js +182 -0
- package/lib/components/atoms/MAIAMessage/MAIAMessage.interfaces.js +2 -0
- package/lib/components/atoms/MAIAMessage/MAIAMessage.js +22 -0
- package/lib/components/atoms/MAIAMessage/index.js +2 -0
- package/lib/components/atoms/MAIAMessage/styles.js +7 -0
- package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.config.js +23 -0
- package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.interfaces.js +2 -0
- package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.js +51 -0
- package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.styles.js +26 -0
- package/lib/components/atoms/MaiaStreamdown/index.js +2 -0
- package/lib/components/atoms/MaiaWrapper/MaiaWrapper.js +18 -0
- package/lib/components/atoms/MaiaWrapper/MaiaWrapperBase.js +84 -0
- package/lib/components/atoms/MaiaWrapper/ModernMaiaWrapper.js +15 -0
- package/lib/components/atoms/MaiaWrapper/index.js +3 -0
- package/lib/components/atoms/MaiaWrapper/styles.js +21 -0
- package/lib/components/atoms/ModalClientAccess/ModalClientAccess.interface.js +2 -0
- package/lib/components/atoms/ModalClientAccess/ModalClientAccess.js +84 -0
- package/lib/components/atoms/ModalClientAccess/ModalClientAccess.styles.js +53 -0
- package/lib/components/atoms/ModalClientAccess/index.js +2 -0
- package/lib/components/atoms/ModalInfo/ModalInfo.js +52 -0
- package/lib/components/atoms/ModalInfo/ModalInfoContent.js +7 -0
- package/lib/components/atoms/ModalInfo/index.js +3 -0
- package/lib/components/atoms/ModalInfo/styles.js +7 -0
- package/lib/components/atoms/ModalProject/ModalProject.interface.js +2 -0
- package/lib/components/atoms/ModalProject/ModalProject.js +112 -0
- package/lib/components/atoms/ModalProject/ModalProject.style.js +59 -0
- package/lib/components/atoms/ModalProject/index.js +2 -0
- package/lib/components/atoms/NextPageLoader.js +33 -0
- package/lib/components/atoms/OnboardingModalButton/OnboardingModal.js +28 -0
- package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.js +180 -0
- package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.styles.js +34 -0
- package/lib/components/atoms/OnboardingModalButton/index.js +3 -0
- package/lib/components/atoms/OptionAccessibility/OptionAccessibility.js +131 -0
- package/lib/components/atoms/OptionAccessibility/OptionAccessibility.styles.js +59 -0
- package/lib/components/atoms/OptionAccessibility/index.js +2 -0
- package/lib/components/atoms/OptionCorPermission/OptionCorPermission.js +27 -0
- package/lib/components/atoms/OptionCorPermission/OptionCorPermission.styles.js +18 -0
- package/lib/components/atoms/OptionCorPermission/index.js +2 -0
- package/lib/components/atoms/PrimaryButton.js +31 -0
- package/lib/components/atoms/ProjectSelector/ProjectSelector.js +77 -0
- package/lib/components/atoms/ProjectSelector/ProjectSelector.styles.js +61 -0
- package/lib/components/atoms/ProjectSelector/index.js +2 -0
- package/lib/components/atoms/SecondaryButton.js +20 -0
- package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.js +20 -0
- package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.styles.js +20 -0
- package/lib/components/atoms/SessionGeneratingDot/index.js +2 -0
- package/lib/components/atoms/Skeleton/Skeleton.js +36 -0
- package/lib/components/atoms/Skeleton/index.js +2 -0
- package/lib/components/atoms/SlashCommandChip/SlashCommandChip.js +16 -0
- package/lib/components/atoms/SlashCommandChip/SlashCommandChip.styles.js +24 -0
- package/lib/components/atoms/SlashCommandChip/buildSlashChipElement.js +18 -0
- package/lib/components/atoms/SlashCommandChip/index.js +4 -0
- package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.js +210 -0
- package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.styles.js +53 -0
- package/lib/components/atoms/SlashCommandDropdown/index.js +2 -0
- package/lib/components/atoms/Switch/Switch.js +27 -0
- package/lib/components/atoms/Switch/Switch.styles.js +22 -0
- package/lib/components/atoms/Switch/index.js +2 -0
- package/lib/components/atoms/TextArea/CustomTextArea.interface.js +2 -0
- package/lib/components/atoms/TextArea/CustomTextArea.js +93 -0
- package/lib/components/atoms/TextArea/CustomTextArea.styles.js +25 -0
- package/lib/components/atoms/TextArea/TextArea.interfaces.js +2 -0
- package/lib/components/atoms/TextArea/TextArea.js +172 -0
- package/lib/components/atoms/TextArea/TextArea.styles.js +16 -0
- package/lib/components/atoms/TextArea/index.js +2 -0
- package/lib/components/atoms/ThirdButton.js +19 -0
- package/lib/components/atoms/VideoModal/VideoModal.js +76 -0
- package/lib/components/atoms/VideoModal/index.js +2 -0
- package/lib/components/atoms/WithAppCfg.js +26 -0
- package/lib/components/atoms/WithFeatureValidation.js +23 -0
- package/lib/components/atoms/WrapperCenterIcon/WrapperCenterIcon.js +9 -0
- package/lib/components/atoms/WrapperCenterIcon/WrapperCenterIcon.styles.js +6 -0
- package/lib/components/atoms/WrapperCenterIcon/index.js +2 -0
- package/lib/components/atoms/icons/AIIcon.js +23 -0
- package/lib/components/atoms/icons/AacFile.js +39 -0
- package/lib/components/atoms/icons/AccessibilityIcon.js +42 -0
- package/lib/components/atoms/icons/ActionAssignIcon.js +111 -0
- package/lib/components/atoms/icons/ActionCalendarIcon.js +112 -0
- package/lib/components/atoms/icons/ActionChargeHoursIcon.js +111 -0
- package/lib/components/atoms/icons/ActionChatIcon.js +71 -0
- package/lib/components/atoms/icons/ActionCreateIcon.js +91 -0
- package/lib/components/atoms/icons/ActionCreateReworkIcon.js +39 -0
- package/lib/components/atoms/icons/ActionCreateSubtaskIcon.js +37 -0
- package/lib/components/atoms/icons/ActionEditIcon.js +39 -0
- package/lib/components/atoms/icons/ActionSummaryMessagesIcon.js +88 -0
- package/lib/components/atoms/icons/ActionSummaryTaskIcon.js +37 -0
- package/lib/components/atoms/icons/ActionTimeBackIcon.js +112 -0
- package/lib/components/atoms/icons/AgentMaiaIcon.js +31 -0
- package/lib/components/atoms/icons/Brain.js +77 -0
- package/lib/components/atoms/icons/CorAccessIcon.js +41 -0
- package/lib/components/atoms/icons/CorLogo.js +76 -0
- package/lib/components/atoms/icons/CsvFile.js +41 -0
- package/lib/components/atoms/icons/DocFile.js +41 -0
- package/lib/components/atoms/icons/DocxFile.js +41 -0
- package/lib/components/atoms/icons/EmptyClientIllustration.js +67 -0
- package/lib/components/atoms/icons/EmptyHistory.js +46 -0
- package/lib/components/atoms/icons/EmptySearchIllustration.js +37 -0
- package/lib/components/atoms/icons/EmptyState.js +84 -0
- package/lib/components/atoms/icons/EmptyStateAgents.js +58 -0
- package/lib/components/atoms/icons/ErrorIcon.js +14 -0
- package/lib/components/atoms/icons/ErrorSearchIllustration.js +52 -0
- package/lib/components/atoms/icons/ErrorState.js +51 -0
- package/lib/components/atoms/icons/FaqChevronIcon.js +39 -0
- package/lib/components/atoms/icons/FaqsIcon.js +51 -0
- package/lib/components/atoms/icons/FlacIcon.js +39 -0
- package/lib/components/atoms/icons/FolderIcon.js +29 -0
- package/lib/components/atoms/icons/HomeIcon.js +30 -0
- package/lib/components/atoms/icons/ImageFile.js +46 -0
- package/lib/components/atoms/icons/M4aFile.js +39 -0
- package/lib/components/atoms/icons/MAIAIcon.js +20 -0
- package/lib/components/atoms/icons/MAIAIsologo.js +65 -0
- package/lib/components/atoms/icons/MDFile.js +41 -0
- package/lib/components/atoms/icons/MaiaChatLayoutFloatingIcon.js +41 -0
- package/lib/components/atoms/icons/MaiaChatLayoutFullscreenIcon.js +41 -0
- package/lib/components/atoms/icons/MaiaChatLayoutMenuIcon.js +33 -0
- package/lib/components/atoms/icons/MaiaChatLayoutSidebarIcon.js +41 -0
- package/lib/components/atoms/icons/MaiaInputAddIcon.js +42 -0
- package/lib/components/atoms/icons/MaiaInputAttachIcon.js +29 -0
- package/lib/components/atoms/icons/MaiaInputAttachmentImageIcon.js +33 -0
- package/lib/components/atoms/icons/MaiaInputDeepSearchIcon.js +35 -0
- package/lib/components/atoms/icons/MaiaInputMentionIcon.js +44 -0
- package/lib/components/atoms/icons/MaiaInputRobotIcon.js +29 -0
- package/lib/components/atoms/icons/MaiaInputSendIcon.js +29 -0
- package/lib/components/atoms/icons/MaiaInputSlashIcon.js +29 -0
- package/lib/components/atoms/icons/MaiaInputWebSearchIcon.js +35 -0
- package/lib/components/atoms/icons/MaiaSettingsProject.js +111 -0
- package/lib/components/atoms/icons/MaiaSettingsProjectV2.js +193 -0
- package/lib/components/atoms/icons/MaiaSparkleIcon.js +75 -0
- package/lib/components/atoms/icons/MaiaStoreIcon.js +31 -0
- package/lib/components/atoms/icons/Mp3File.js +39 -0
- package/lib/components/atoms/icons/Mp4File.js +39 -0
- package/lib/components/atoms/icons/MyAgentsNavIcon.js +51 -0
- package/lib/components/atoms/icons/NewChat.js +29 -0
- package/lib/components/atoms/icons/NotionIcon.js +36 -0
- package/lib/components/atoms/icons/OgaFile.js +39 -0
- package/lib/components/atoms/icons/OggFile.js +39 -0
- package/lib/components/atoms/icons/PdfFile.js +39 -0
- package/lib/components/atoms/icons/PptFile.js +47 -0
- package/lib/components/atoms/icons/PptxFile.js +49 -0
- package/lib/components/atoms/icons/RetryIcon.js +34 -0
- package/lib/components/atoms/icons/SkillIcon.js +30 -0
- package/lib/components/atoms/icons/SkillsNavIcon.js +27 -0
- package/lib/components/atoms/icons/SubtaskIcon.js +36 -0
- package/lib/components/atoms/icons/TaskLinkIcon.js +27 -0
- package/lib/components/atoms/icons/TelescopeIcon.js +60 -0
- package/lib/components/atoms/icons/TemplateGradientIcon.js +42 -0
- package/lib/components/atoms/icons/TextFile.js +41 -0
- package/lib/components/atoms/icons/WavFile.js +39 -0
- package/lib/components/atoms/icons/WebmFile.js +50 -0
- package/lib/components/atoms/icons/XlsFile.js +42 -0
- package/lib/components/atoms/icons/XlsxFile.js +42 -0
- package/lib/components/atoms/icons/index.js +50 -0
- package/lib/components/atoms/index.js +42 -0
- package/lib/components/index.js +11 -0
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.interface.js +2 -0
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +149 -0
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.styles.js +53 -0
- package/lib/components/molecules/AbmSection/AbmGeneralSection.js +415 -0
- package/lib/components/molecules/AbmSection/AbmGeneralSection.styles.js +152 -0
- package/lib/components/molecules/AbmSection/AbmKnowledgeSection.js +374 -0
- package/lib/components/molecules/AbmSection/AbmKnowledgeSection.styles.js +106 -0
- package/lib/components/molecules/AbmSection/AbmLoaderFiles.js +92 -0
- package/lib/components/molecules/AbmSection/AbmLoaderFiles.styles.js +57 -0
- package/lib/components/molecules/AbmSection/index.js +4 -0
- package/lib/components/molecules/ChatAIClientSelector/ChatAIClientSelector.js +52 -0
- package/lib/components/molecules/ChatAIClientSelector/index.js +2 -0
- package/lib/components/molecules/ChatAIContent/ChatAIContent.js +117 -0
- package/lib/components/molecules/ChatAIContent/ChatAIContent.skeleton.js +187 -0
- package/lib/components/molecules/ChatAIContent/ChatAIContent.styles.js +6 -0
- package/lib/components/molecules/ChatAIContent/index.js +2 -0
- package/lib/components/molecules/ChatAIHistory/ChatAIHistory.js +241 -0
- package/lib/components/molecules/ChatAIHistory/index.js +2 -0
- package/lib/components/molecules/ChatAIHistory/styles.js +22 -0
- package/lib/components/molecules/ChatAIHome/ChatAIHome.js +649 -0
- package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.js +115 -0
- package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.styles.js +95 -0
- package/lib/components/molecules/ChatAIHome/index.js +2 -0
- package/lib/components/molecules/ChatAIHome/styles.js +335 -0
- package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.js +137 -0
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +853 -0
- package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.js +47 -0
- package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.styles.js +37 -0
- package/lib/components/molecules/ChatAIMessages/README.md +101 -0
- package/lib/components/molecules/ChatAIMessages/index.js +2 -0
- package/lib/components/molecules/ChatAIMessages/newStyles.js +131 -0
- package/lib/components/molecules/ChatAIMessages/styles.js +94 -0
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +1217 -0
- package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +58 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.js +127 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.styles.js +34 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/index.js +2 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +189 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +26 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/index.js +2 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +448 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +108 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/index.js +2 -0
- package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.js +48 -0
- package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.styles.js +38 -0
- package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/index.js +2 -0
- package/lib/components/molecules/ChatAIModal/constants.js +40 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.js +16 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.styles.js +12 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/constants.js +13 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/index.js +3 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/useFloatingPanelDragTilt.js +57 -0
- package/lib/components/molecules/ChatAIModal/index.js +2 -0
- package/lib/components/molecules/ChatAIModal/layout.js +74 -0
- package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.js +457 -0
- package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.styles.js +218 -0
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +357 -0
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +145 -0
- package/lib/components/molecules/ChatAIMySkills/index.js +2 -0
- package/lib/components/molecules/ChatAIProjectSelector/ChatAIProjectSelector.js +48 -0
- package/lib/components/molecules/ChatAIProjectSelector/ChatAIProjectSelector.styles.js +49 -0
- package/lib/components/molecules/ChatAIProjectSelector/index.js +2 -0
- package/lib/components/molecules/ChatFooter/ChatFooter.js +337 -0
- package/lib/components/molecules/ChatFooter/ChatFooterCorAccess.js +32 -0
- package/lib/components/molecules/ChatFooter/ChatFooterCorAccess.styles.js +14 -0
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +201 -0
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.styles.js +51 -0
- package/lib/components/molecules/ChatFooter/index.js +2 -0
- package/lib/components/molecules/ChatFooter/styles.js +23 -0
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +62 -0
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.styles.js +6 -0
- package/lib/components/molecules/ContextMentionInput/index.js +2 -0
- package/lib/components/molecules/MessageFeedback/MessageFeedback.js +118 -0
- package/lib/components/molecules/MessageFeedback/index.js +2 -0
- package/lib/components/molecules/MessageFeedback/styles.js +14 -0
- package/lib/components/molecules/ProjectSummaryChat/ProjectSummaryChat.js +127 -0
- package/lib/components/molecules/ProjectSummaryChat/index.js +2 -0
- package/lib/components/molecules/ProjectSummaryChat/styles.js +8 -0
- package/lib/components/molecules/ProjectSummaryConfig/ProjectSummaryConfig.js +152 -0
- package/lib/components/molecules/ProjectSummaryConfig/index.js +2 -0
- package/lib/components/molecules/ProjectSummaryConfig/styles.js +86 -0
- package/lib/components/molecules/ProjectSummaryContent/ProjectSummaryContent.js +49 -0
- package/lib/components/molecules/ProjectSummaryContent/index.js +2 -0
- package/lib/components/molecules/ProjectSummaryModal/ProjectSummaryModal.js +19 -0
- package/lib/components/molecules/ProjectSummaryModal/index.js +2 -0
- package/lib/components/molecules/ProjectSummaryModal/styles.js +2 -0
- package/lib/components/molecules/Sidebar/Sidebar.js +715 -0
- package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +157 -0
- package/lib/components/molecules/Sidebar/Sidebar.skeleton.js +48 -0
- package/lib/components/molecules/Sidebar/Sidebar.styles.js +75 -0
- package/lib/components/molecules/Sidebar/index.js +2 -0
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +1420 -0
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.styles.js +93 -0
- package/lib/components/organisms/AbmAgentModal/index.js +2 -0
- package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +175 -0
- package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.styles.js +34 -0
- package/lib/components/organisms/AbmSkillGenerateModal/index.js +2 -0
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +432 -0
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +98 -0
- package/lib/components/organisms/AbmSkillModal/index.js +2 -0
- package/lib/components/organisms/ChatAI/ChatAI.js +167 -0
- package/lib/components/organisms/ChatAI/index.js +2 -0
- package/lib/components/organisms/ChatAI/styles.js +7 -0
- package/lib/components/organisms/ClientAIButton/ClientAIButton.js +23 -0
- package/lib/components/organisms/ClientAIButton/index.js +2 -0
- package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.js +86 -0
- package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.styles.js +39 -0
- package/lib/components/organisms/DeleteAgentModal/index.js +2 -0
- package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.js +122 -0
- package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.styles.js +47 -0
- package/lib/components/organisms/DeleteQuestionModal/index.js +2 -0
- package/lib/components/organisms/EditQuestionModal/EditQuestionModal.js +138 -0
- package/lib/components/organisms/EditQuestionModal/EditQuestionModal.styles.js +69 -0
- package/lib/components/organisms/EditQuestionModal/index.js +2 -0
- package/lib/components/organisms/ModalFileExceeds/ModalFileExceeds.js +113 -0
- package/lib/components/organisms/ModalFileExceeds/ModalFileExceeds.styles.js +54 -0
- package/lib/components/organisms/ModalFileExceeds/index.js +2 -0
- package/lib/components/organisms/ProjectAIButton/ProjectAIButton.js +26 -0
- package/lib/components/organisms/ProjectAIButton/index.js +2 -0
- package/lib/components/organisms/ProjectSummary/ProjectSummary.js +60 -0
- package/lib/components/organisms/ProjectSummary/index.js +2 -0
- package/lib/components/organisms/ProjectSummary/styles.js +7 -0
- package/lib/components/organisms/SnackBar/Snackbar.interface.js +2 -0
- package/lib/components/organisms/SnackBar/Snackbar.js +73 -0
- package/lib/components/organisms/SnackBar/Snackbar.styles.js +9 -0
- package/lib/components/organisms/SnackBar/index.js +2 -0
- package/lib/components/organisms/SourcesInformation/SourceItem.js +18 -0
- package/lib/components/organisms/SourcesInformation/SourceItem.styles.js +14 -0
- package/lib/components/organisms/SourcesInformation/SourcesInformationModal.js +66 -0
- package/lib/components/organisms/SourcesInformation/SourcesInformationModal.styles.js +27 -0
- package/lib/components/organisms/SourcesInformation/index.js +2 -0
- package/lib/constants/config.js +13 -0
- package/lib/constants/formatExtensions.js +55 -0
- package/lib/constants/gqlClient.js +4 -0
- package/lib/constants/maiaHourAgentAccess.js +15 -0
- package/lib/constants/maiaTaskPanelAccess.js +24 -0
- package/lib/constants/maiaTaskPanelOutsideClick.js +9 -0
- package/lib/constants/maiaTaskPanelZIndex.js +19 -0
- package/lib/constants/permissions/config.js +72 -0
- package/lib/constants/permissions/index.js +3 -0
- package/lib/constants/permissions/types.js +2 -0
- package/lib/constants/permissions/utils.js +18 -0
- package/lib/constants/plannerSyncEvents.js +15 -0
- package/lib/constants/taskLinkIcon.js +15 -0
- package/lib/constants/taskUrls.js +11 -0
- package/lib/context/cor-user.js +31 -0
- package/lib/context/global-context.js +39 -0
- package/lib/dev/DevChatAI.js +101 -0
- package/lib/dev/DevContextMentionInput.js +67 -0
- package/lib/dev/ProjectSummary.js +9 -0
- package/lib/dev/Providers.js +27 -0
- package/lib/exports.js +2 -0
- package/lib/hooks/README.md +192 -0
- package/lib/hooks/index.js +30 -0
- package/lib/hooks/useAccessClient/index.js +2 -0
- package/lib/hooks/useAccessClient/useAccessClient.js +81 -0
- package/lib/hooks/useAgentModel/index.js +2 -0
- package/lib/hooks/useAgentModel/useAgentModel.js +62 -0
- package/lib/hooks/useAgentModel/useCreateAgent.js +128 -0
- package/lib/hooks/useAgentModel/useDeleteAgent.js +88 -0
- package/lib/hooks/useAgentModel/useUpdateAgent.js +129 -0
- package/lib/hooks/useAgentSuggestions.js +60 -0
- package/lib/hooks/useCaretPosition.js +65 -0
- package/lib/hooks/useChatManager/index.js +2 -0
- package/lib/hooks/useChatManager/useChatManager.interface.js +2 -0
- package/lib/hooks/useChatManager/useChatManager.js +1782 -0
- package/lib/hooks/useChatMessages/index.js +2 -0
- package/lib/hooks/useChatMessages/useChatMessages.interface.js +2 -0
- package/lib/hooks/useChatMessages/useChatMessages.js +722 -0
- package/lib/hooks/useChats/index.js +2 -0
- package/lib/hooks/useChats/useChats.interfaces.js +2 -0
- package/lib/hooks/useChats/useChats.js +187 -0
- package/lib/hooks/useClientSearch.js +163 -0
- package/lib/hooks/useContextMentions.js +463 -0
- package/lib/hooks/useContextPinPopover.js +228 -0
- package/lib/hooks/useDebounce.js +18 -0
- package/lib/hooks/useEntitySearch.js +1239 -0
- package/lib/hooks/useEvent.js +93 -0
- package/lib/hooks/useFrequentlyAskedQuestions.js +150 -0
- package/lib/hooks/useFrequentlyUsedActions.js +94 -0
- package/lib/hooks/useKnowledge/deleteKnowledge.js +69 -0
- package/lib/hooks/useKnowledge/downloadKnowledge.js +81 -0
- package/lib/hooks/useKnowledge/index.js +4 -0
- package/lib/hooks/useKnowledge/saveKnowledge.js +107 -0
- package/lib/hooks/useKnowledge/useKnowledgeOperations.js +156 -0
- package/lib/hooks/useMaiaTaskPanelZIndex.js +17 -0
- package/lib/hooks/useMentionAllowedTypes.js +136 -0
- package/lib/hooks/useMentionPopover.js +366 -0
- package/lib/hooks/useMinimizedPillBottomOffset.js +110 -0
- package/lib/hooks/useModal/index.js +2 -0
- package/lib/hooks/useModal/useModal.interfaces.js +2 -0
- package/lib/hooks/useModal/useModal.js +47 -0
- package/lib/hooks/useOnboardingNavigation.js +20 -0
- package/lib/hooks/useOrchestratorStream/index.js +2 -0
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +2 -0
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +269 -0
- package/lib/hooks/useProjectSearch.js +183 -0
- package/lib/hooks/useProjectSummary.js +101 -0
- package/lib/hooks/useProjectSummaryConfig.js +211 -0
- package/lib/hooks/useProjects.js +46 -0
- package/lib/hooks/useRecentClientsSearch.js +150 -0
- package/lib/hooks/useRecentContexts.js +86 -0
- package/lib/hooks/useResize.js +29 -0
- package/lib/hooks/useSlashCommands.js +84 -0
- package/lib/hooks/useSmoothStreamText/index.js +2 -0
- package/lib/hooks/useSmoothStreamText/useSmoothStreamText.js +197 -0
- package/lib/hooks/useSnackBarManager/useSnackBarManager.js +41 -0
- package/lib/hooks/useStreamResponse.js +112 -0
- package/lib/hooks/useStreamdownStyles.js +13 -0
- package/lib/hooks/useStreamingMessage/index.js +2 -0
- package/lib/hooks/useStreamingMessage/useStreamingMessage.js +18 -0
- package/lib/hooks/useT.js +17 -0
- package/lib/hooks/useTabTaskDefault.js +33 -0
- package/lib/hooks/useTaskPanel.js +22 -0
- package/lib/hooks/useTextOverflowEllipsisTooltip.js +34 -0
- package/lib/hooks/useToggle.js +19 -0
- package/lib/hooks/useToggleFavorite/index.js +2 -0
- package/lib/hooks/useToggleFavorite/useToggleFavorite.js +83 -0
- package/lib/index.css +76 -0
- package/lib/index.js +30 -0
- package/lib/lang/br/index.js +761 -0
- package/lib/lang/en/index.js +761 -0
- package/lib/lang/es/index.js +762 -0
- package/lib/lang/fr/index.js +582 -0
- package/lib/lang/index.js +24 -0
- package/lib/lang/utils.js +33 -0
- package/lib/mocks/mockChats.js +395 -0
- package/lib/mocks/mockOrchestrator.js +5 -0
- package/lib/mocks/mockProject.js +11 -0
- package/lib/mocks/mockProjectSummary.js +6 -0
- package/lib/mocks/mockedUser.js +169 -0
- package/lib/services/apolloClient.js +3 -0
- package/lib/services/appcues.js +19 -0
- package/lib/services/corpilot/ProjectSummary/getProjectSummary.js +31 -0
- package/lib/services/corpilot/ProjectSummary/index.js +5 -0
- package/lib/services/corpilot/client.js +27 -0
- package/lib/services/corpilot/index.js +5 -0
- package/lib/services/maia/Access/updateAccess.js +59 -0
- package/lib/services/maia/Actions/getFrequentlyUsedActions.js +46 -0
- package/lib/services/maia/Actions/getSlashCommands.js +39 -0
- package/lib/services/maia/Actions/index.js +7 -0
- package/lib/services/maia/Agents/createAgent.js +39 -0
- package/lib/services/maia/Agents/deleteAgent.js +38 -0
- package/lib/services/maia/Agents/fetchAgentDetail.js +122 -0
- package/lib/services/maia/Agents/getAgentById.js +162 -0
- package/lib/services/maia/Agents/getAgentModels.js +112 -0
- package/lib/services/maia/Agents/getAgentSuggestions.js +44 -0
- package/lib/services/maia/Agents/getAgents.js +718 -0
- package/lib/services/maia/Agents/setAgentToolGroups.js +42 -0
- package/lib/services/maia/Agents/toggleFavorite.js +34 -0
- package/lib/services/maia/Agents/updateAgent.js +39 -0
- package/lib/services/maia/Chats/deleteChat.js +32 -0
- package/lib/services/maia/Chats/getChatMessages.js +144 -0
- package/lib/services/maia/Chats/getChatsByUserId.js +82 -0
- package/lib/services/maia/Chats/index.js +15 -0
- package/lib/services/maia/Chats/markSessionAsRead.js +32 -0
- package/lib/services/maia/Chats/patchChat.js +43 -0
- package/lib/services/maia/Chats/wasHelpfulChat.js +31 -0
- package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.js +55 -0
- package/lib/services/maia/Faqs/index.js +5 -0
- package/lib/services/maia/Knowledge/delete.js +41 -0
- package/lib/services/maia/Knowledge/download.js +48 -0
- package/lib/services/maia/Knowledge/index.js +3 -0
- package/lib/services/maia/Knowledge/save.js +43 -0
- package/lib/services/maia/Orchestrator/index.js +7 -0
- package/lib/services/maia/Orchestrator/orchestrator.js +246 -0
- package/lib/services/maia/RecentClients/getRecentClients.js +43 -0
- package/lib/services/maia/RecentClients/index.js +6 -0
- package/lib/services/maia/RecentContexts/getRecentContexts.js +54 -0
- package/lib/services/maia/RecentContexts/index.js +6 -0
- package/lib/services/maia/RecentProjects/getRecentProjects.js +55 -0
- package/lib/services/maia/RecentProjects/index.js +6 -0
- package/lib/services/maia/RecentTasks/getRecentTasks.js +54 -0
- package/lib/services/maia/RecentTasks/index.js +6 -0
- package/lib/services/maia/RecentUsers/getRecentUsers.js +59 -0
- package/lib/services/maia/RecentUsers/index.js +6 -0
- package/lib/services/maia/Skills/createSkill.js +39 -0
- package/lib/services/maia/Skills/deleteSkill.js +38 -0
- package/lib/services/maia/Skills/generateSkill.js +41 -0
- package/lib/services/maia/Skills/getSkills.js +90 -0
- package/lib/services/maia/Skills/updateSkill.js +39 -0
- package/lib/services/maia/client.js +27 -0
- package/lib/services/maia/index.js +17 -0
- package/lib/services/query/ClientSearchQuery.js +5 -0
- package/lib/services/query/entitySearchQuery.js +18 -0
- package/lib/services/query/index.js +2 -0
- package/lib/services/query/projectSearchByValueQuery.js +5 -0
- package/lib/services/query/taskUserTabQuery.js +8 -0
- package/lib/services/query/usersDirectoryQuery.js +19 -0
- package/lib/services/types.js +6 -0
- package/lib/services/utils/fetchCOR.js +117 -0
- package/lib/services/utils/getCookie.js +10 -0
- package/lib/services/utils/index.js +3 -0
- package/lib/services/utils/mapChatMessages.js +287 -0
- package/lib/services/utils/validateIsMaia.js +4 -0
- package/lib/store/chatsSidebarOptimistic.js +92 -0
- package/lib/store/chatsStore.types.js +2 -0
- package/lib/store/chatsStoreLifecycle.js +8 -0
- package/lib/store/faqsStore.types.js +2 -0
- package/lib/store/index.js +4 -0
- package/lib/store/maiaLastChatPersistence.js +35 -0
- package/lib/store/sessions/activeView.js +22 -0
- package/lib/store/sessions/index.js +9 -0
- package/lib/store/sessions/sessionHitlContext.js +15 -0
- package/lib/store/sessions/sessionNotificationSound.js +57 -0
- package/lib/store/sessions/sessionNotifications.js +110 -0
- package/lib/store/sessions/sessionNotifications.types.js +2 -0
- package/lib/store/sessions/sessionStreamManager.js +715 -0
- package/lib/store/sessions/sessionStreamingText.js +80 -0
- package/lib/store/sessions/sessions.types.js +35 -0
- package/lib/store/sessions/useSessionMeta.js +39 -0
- package/lib/store/sessions/useSessionStreamingText.js +18 -0
- package/lib/store/sessions/useSessionsStore.js +197 -0
- package/lib/store/useChatsStore.js +387 -0
- package/lib/store/useFaqsStore.js +27 -0
- package/lib/streamdownStyles.js +9 -0
- package/lib/styles/StyledCleanContainer.js +7 -0
- package/lib/styles/cascade.js +14 -0
- package/lib/styles/config.js +47 -0
- package/lib/styles/shared/scrollable.js +3 -0
- package/lib/styles/transitions.js +21 -0
- package/lib/types/Action.js +2 -0
- package/lib/types/AgentSuggestion.js +2 -0
- package/lib/types/Chat.js +10 -0
- package/lib/types/Client.js +2 -0
- package/lib/types/FrequentlyAskedQuestion.js +2 -0
- package/lib/types/Project.js +2 -0
- package/lib/types/ProjectSummaryConfigKeys.js +9 -0
- package/lib/types/Task.js +2 -0
- package/lib/types/agent.js +2 -0
- package/lib/types/agentModal.js +2 -0
- package/lib/types/contextMention.js +37 -0
- package/lib/types/global.d.js +2 -0
- package/lib/types/skill.js +2 -0
- package/lib/types/streamActivity.js +2 -0
- package/lib/types/userType.d.js +2 -0
- package/lib/utils/actionCategoryMap.js +37 -0
- package/lib/utils/actionIconMap.js +61 -0
- package/lib/utils/agentDisplayName.js +42 -0
- package/lib/utils/chatInputFiles.js +52 -0
- package/lib/utils/contextMentionIcons.js +134 -0
- package/lib/utils/contextMentionLabel.js +4 -0
- package/lib/utils/contextMentionTriggers.js +54 -0
- package/lib/utils/contextMentionTypeLabel.js +17 -0
- package/lib/utils/corConnectorMentionTypes.js +41 -0
- package/lib/utils/ensureStreamdownStyles.js +21 -0
- package/lib/utils/entityLinkRender.js +135 -0
- package/lib/utils/fileDownloadHelper.js +40 -0
- package/lib/utils/formatQuickActionMessage.js +16 -0
- package/lib/utils/formatUnreadCount.js +6 -0
- package/lib/utils/getUnitFileSize.js +13 -0
- package/lib/utils/hitlAnalytics.js +65 -0
- package/lib/utils/hoursPlannerQuickActionType.js +64 -0
- package/lib/utils/imagePreprocessor.js +108 -0
- package/lib/utils/index.js +3 -0
- package/lib/utils/maiaHostOpen.js +19 -0
- package/lib/utils/maiaStreamdownRehypePlugins.js +27 -0
- package/lib/utils/mapBackendLang.js +8 -0
- package/lib/utils/normalizeAgentConnectors.js +70 -0
- package/lib/utils/openTaskInCorPanel.js +22 -0
- package/lib/utils/orchestratorSubagents.js +11 -0
- package/lib/utils/renderContextMentions.js +399 -0
- package/lib/utils/retryCompletion.js +85 -0
- package/lib/utils/slashCommandMarker.js +30 -0
- package/lib/utils/sortManagerHoursHomeFuas.js +14 -0
- package/lib/utils/sseStreamContent.js +17 -0
- package/lib/utils/streamActivityMessages.js +359 -0
- package/lib/utils/validateTrimmedFields.js +8 -0
- package/package.json +1 -1
|
@@ -0,0 +1,434 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
import { createElement } from 'react';
|
|
5
|
+
import { flushSync } from 'react-dom';
|
|
6
|
+
import { createRoot } from 'react-dom/client';
|
|
7
|
+
import i18n from '../../../lang';
|
|
8
|
+
import { CONTEXT_MENTION_CHIP_CLASS } from '../../../types/contextMention';
|
|
9
|
+
import { getContextMentionIcon } from '../../../utils/contextMentionIcons';
|
|
10
|
+
import { normalizeContextMentionLabel } from '../../../utils/contextMentionLabel';
|
|
11
|
+
import { openTaskInCorPanel } from '../../../utils/openTaskInCorPanel';
|
|
12
|
+
import { applyMentionChipStyles, MENTION_CHIP_COLORS } from './ContextMentionChip.styles';
|
|
13
|
+
var EDITABLE_NON_TASK_LABEL_STYLE = {
|
|
14
|
+
display: 'inline',
|
|
15
|
+
lineHeight: '20px',
|
|
16
|
+
alignSelf: 'baseline',
|
|
17
|
+
minWidth: 0,
|
|
18
|
+
maxWidth: '100%',
|
|
19
|
+
whiteSpace: 'normal',
|
|
20
|
+
overflowWrap: 'break-word',
|
|
21
|
+
wordBreak: 'break-word'
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
/** Texto de tarea: sin borde inferior; el aspecto de enlace lo da el CSS global (::before + color). */
|
|
25
|
+
var EDITABLE_TASK_LABEL_STYLE = {
|
|
26
|
+
display: 'inline',
|
|
27
|
+
fontSize: '14px',
|
|
28
|
+
lineHeight: '20px',
|
|
29
|
+
fontWeight: '600',
|
|
30
|
+
color: 'inherit',
|
|
31
|
+
minWidth: 0,
|
|
32
|
+
maxWidth: '100%',
|
|
33
|
+
whiteSpace: 'normal',
|
|
34
|
+
overflowWrap: 'break-word',
|
|
35
|
+
wordBreak: 'break-word'
|
|
36
|
+
};
|
|
37
|
+
var createEditableMentionLabelEl = function createEditableMentionLabelEl(isTask, mentionLabel) {
|
|
38
|
+
if (!isTask) {
|
|
39
|
+
return /*#__PURE__*/createElement('span', {
|
|
40
|
+
style: EDITABLE_NON_TASK_LABEL_STYLE
|
|
41
|
+
}, mentionLabel);
|
|
42
|
+
}
|
|
43
|
+
return /*#__PURE__*/createElement('span', {
|
|
44
|
+
style: EDITABLE_TASK_LABEL_STYLE
|
|
45
|
+
}, mentionLabel);
|
|
46
|
+
};
|
|
47
|
+
var splitLabelFirstWord = function splitLabelFirstWord(label) {
|
|
48
|
+
var normalized = label.trim();
|
|
49
|
+
if (!normalized) return {
|
|
50
|
+
firstWord: '',
|
|
51
|
+
rest: ''
|
|
52
|
+
};
|
|
53
|
+
var firstWhitespaceIdx = normalized.search(/\s/);
|
|
54
|
+
if (firstWhitespaceIdx < 0) return {
|
|
55
|
+
firstWord: normalized,
|
|
56
|
+
rest: ''
|
|
57
|
+
};
|
|
58
|
+
return {
|
|
59
|
+
firstWord: normalized.slice(0, firstWhitespaceIdx),
|
|
60
|
+
rest: normalized.slice(firstWhitespaceIdx)
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
var EditableMentionChip = function EditableMentionChip(_ref) {
|
|
64
|
+
var mention = _ref.mention;
|
|
65
|
+
var mentionLabel = normalizeContextMentionLabel(mention.label);
|
|
66
|
+
var iconColor = MENTION_CHIP_COLORS[mention.type].fg;
|
|
67
|
+
var isTask = mention.type === 'task';
|
|
68
|
+
var isProject = mention.type === 'project';
|
|
69
|
+
var iconSize = isTask ? 16 : 14;
|
|
70
|
+
var labelEl = createEditableMentionLabelEl(isTask, mentionLabel);
|
|
71
|
+
var outerStyle = {
|
|
72
|
+
position: 'relative',
|
|
73
|
+
display: 'inline',
|
|
74
|
+
lineHeight: '20px',
|
|
75
|
+
boxSizing: 'border-box',
|
|
76
|
+
verticalAlign: 'baseline',
|
|
77
|
+
maxWidth: '100%'
|
|
78
|
+
};
|
|
79
|
+
if (isTask || isProject) {
|
|
80
|
+
return /*#__PURE__*/createElement('span', {
|
|
81
|
+
style: outerStyle
|
|
82
|
+
}, labelEl);
|
|
83
|
+
}
|
|
84
|
+
var _splitLabelFirstWord = splitLabelFirstWord(mentionLabel),
|
|
85
|
+
firstWord = _splitLabelFirstWord.firstWord,
|
|
86
|
+
rest = _splitLabelFirstWord.rest;
|
|
87
|
+
var leadingStyle = {
|
|
88
|
+
display: 'inline-flex',
|
|
89
|
+
alignItems: 'center',
|
|
90
|
+
verticalAlign: 'middle',
|
|
91
|
+
whiteSpace: 'nowrap',
|
|
92
|
+
maxWidth: '100%'
|
|
93
|
+
};
|
|
94
|
+
var leadingWordStyle = _objectSpread(_objectSpread({}, EDITABLE_NON_TASK_LABEL_STYLE), {}, {
|
|
95
|
+
display: 'inline',
|
|
96
|
+
whiteSpace: 'nowrap'
|
|
97
|
+
});
|
|
98
|
+
var restStyle = _objectSpread(_objectSpread({}, EDITABLE_NON_TASK_LABEL_STYLE), {}, {
|
|
99
|
+
display: 'inline',
|
|
100
|
+
verticalAlign: 'middle'
|
|
101
|
+
});
|
|
102
|
+
return /*#__PURE__*/createElement('span', {
|
|
103
|
+
style: outerStyle
|
|
104
|
+
}, /*#__PURE__*/createElement('span', {
|
|
105
|
+
style: leadingStyle
|
|
106
|
+
}, /*#__PURE__*/createElement('span', {
|
|
107
|
+
style: {
|
|
108
|
+
display: 'inline-block',
|
|
109
|
+
verticalAlign: 'middle',
|
|
110
|
+
marginRight: '2px',
|
|
111
|
+
lineHeight: '1',
|
|
112
|
+
width: '14px'
|
|
113
|
+
}
|
|
114
|
+
}, getContextMentionIcon(mention.type, iconColor, mention.id, iconSize)), /*#__PURE__*/createElement('span', {
|
|
115
|
+
style: leadingWordStyle
|
|
116
|
+
}, firstWord)), rest ? /*#__PURE__*/createElement('span', {
|
|
117
|
+
style: restStyle
|
|
118
|
+
}, rest) : null);
|
|
119
|
+
};
|
|
120
|
+
var initialsFromName = function initialsFromName(name) {
|
|
121
|
+
var _parts$2;
|
|
122
|
+
var trimmed = name.trim();
|
|
123
|
+
if (!trimmed) return '?';
|
|
124
|
+
var parts = trimmed.split(/\s+/).filter(Boolean);
|
|
125
|
+
if (parts.length >= 2) {
|
|
126
|
+
var _parts$0$charAt, _parts$, _parts$charAt, _parts;
|
|
127
|
+
var first = (_parts$0$charAt = (_parts$ = parts[0]) === null || _parts$ === void 0 ? void 0 : _parts$.charAt(0)) !== null && _parts$0$charAt !== void 0 ? _parts$0$charAt : '';
|
|
128
|
+
var last = (_parts$charAt = (_parts = parts[parts.length - 1]) === null || _parts === void 0 ? void 0 : _parts.charAt(0)) !== null && _parts$charAt !== void 0 ? _parts$charAt : '';
|
|
129
|
+
return "".concat(first).concat(last).toUpperCase();
|
|
130
|
+
}
|
|
131
|
+
var single = (_parts$2 = parts[0]) !== null && _parts$2 !== void 0 ? _parts$2 : '';
|
|
132
|
+
return single.length >= 2 ? single.slice(0, 2).toUpperCase() : (single.charAt(0) || '?').toUpperCase();
|
|
133
|
+
};
|
|
134
|
+
var TOOLTIP_FONT = "var(--cor-typography-font-family, 'Work Sans')";
|
|
135
|
+
var TOOLTIP_SECONDARY_COLOR = 'var(--Text-Secondary-Dark, #666)';
|
|
136
|
+
var TOOLTIP_SECONDARY_STYLE = {
|
|
137
|
+
fontFamily: TOOLTIP_FONT,
|
|
138
|
+
fontSize: '14px',
|
|
139
|
+
fontWeight: '400',
|
|
140
|
+
lineHeight: '20px',
|
|
141
|
+
color: TOOLTIP_SECONDARY_COLOR
|
|
142
|
+
};
|
|
143
|
+
var normalizeTrimmedString = function normalizeTrimmedString(value) {
|
|
144
|
+
if (typeof value !== 'string') return '';
|
|
145
|
+
return value.trim();
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
/** Ancho mínimo del tooltip (incl. padding horizontal 8+8). */
|
|
149
|
+
var USER_TOOLTIP_MIN_WIDTH_PX = 292;
|
|
150
|
+
/** Padding horizontal total del tooltip. */
|
|
151
|
+
var USER_TOOLTIP_PAD_X_PX = 16;
|
|
152
|
+
/** Avatar 24px + gap 8px respecto a la columna de texto. */
|
|
153
|
+
var USER_TOOLTIP_AVATAR_GAP_PX = 32;
|
|
154
|
+
/**
|
|
155
|
+
* Ancho máximo de la fila nombre | posición: mismo hueco que con tooltip fijo 292px,
|
|
156
|
+
* para que solo el email ensanche el contenedor.
|
|
157
|
+
*/
|
|
158
|
+
var USER_TOOLTIP_NAME_ROW_MAX_PX = USER_TOOLTIP_MIN_WIDTH_PX - USER_TOOLTIP_PAD_X_PX - USER_TOOLTIP_AVATAR_GAP_PX;
|
|
159
|
+
/**
|
|
160
|
+
* Tope de ancho del nombre en la fila: por debajo del máximo de fila para que el ellipsis
|
|
161
|
+
* del nombre aparezca antes y quede más espacio visible para posición/cargo.
|
|
162
|
+
*/
|
|
163
|
+
var USER_TOOLTIP_NAME_MAX_WIDTH_PX = Math.floor(USER_TOOLTIP_NAME_ROW_MAX_PX * 0.42);
|
|
164
|
+
var createUserTooltipEl = function createUserTooltipEl(mention) {
|
|
165
|
+
var label = mention.label,
|
|
166
|
+
metadata = mention.metadata;
|
|
167
|
+
var picture = typeof (metadata === null || metadata === void 0 ? void 0 : metadata.picture) === 'string' ? metadata.picture : null;
|
|
168
|
+
var positionName = normalizeTrimmedString(metadata === null || metadata === void 0 ? void 0 : metadata.positionName);
|
|
169
|
+
var positionLine = positionName || i18n.t('contextMention.userNoPosition', {
|
|
170
|
+
defaultValue: 'Sin posición'
|
|
171
|
+
});
|
|
172
|
+
var email = normalizeTrimmedString(metadata === null || metadata === void 0 ? void 0 : metadata.email);
|
|
173
|
+
/** Misma fuente que `ContextMentionItem` (avatar): nombre de query, no el label del chip (ej. "Yo"). */
|
|
174
|
+
var metadataName = normalizeTrimmedString(metadata === null || metadata === void 0 ? void 0 : metadata.name);
|
|
175
|
+
var nameForInitials = (metadataName || normalizeTrimmedString(label) || '?').trim();
|
|
176
|
+
var tooltip = document.createElement('div');
|
|
177
|
+
Object.assign(tooltip.style, {
|
|
178
|
+
position: 'fixed',
|
|
179
|
+
zIndex: '9999',
|
|
180
|
+
minWidth: "".concat(USER_TOOLTIP_MIN_WIDTH_PX, "px"),
|
|
181
|
+
width: 'max-content',
|
|
182
|
+
maxWidth: 'min(560px, calc(100vw - 24px))',
|
|
183
|
+
padding: '12px 8px',
|
|
184
|
+
display: 'flex',
|
|
185
|
+
flexDirection: 'column',
|
|
186
|
+
alignItems: 'flex-start',
|
|
187
|
+
borderRadius: '4px',
|
|
188
|
+
border: '1px solid var(--Color-Light-Gray, #E0E0E0)',
|
|
189
|
+
background: '#FFF',
|
|
190
|
+
boxShadow: '0 1px 4px 0 rgba(0,0,0,0.08), 0 1px 4px 0 rgba(0,0,0,0.04)',
|
|
191
|
+
boxSizing: 'border-box',
|
|
192
|
+
pointerEvents: 'none',
|
|
193
|
+
overflow: 'hidden'
|
|
194
|
+
});
|
|
195
|
+
var row = document.createElement('div');
|
|
196
|
+
Object.assign(row.style, {
|
|
197
|
+
display: 'flex',
|
|
198
|
+
alignItems: 'center',
|
|
199
|
+
gap: '8px',
|
|
200
|
+
width: 'max-content',
|
|
201
|
+
maxWidth: '100%',
|
|
202
|
+
minWidth: '0'
|
|
203
|
+
});
|
|
204
|
+
|
|
205
|
+
// Avatar circular (foto o iniciales)
|
|
206
|
+
var avatarWrap = document.createElement('div');
|
|
207
|
+
Object.assign(avatarWrap.style, {
|
|
208
|
+
width: '24px',
|
|
209
|
+
height: '24px',
|
|
210
|
+
minWidth: '24px',
|
|
211
|
+
borderRadius: '24px',
|
|
212
|
+
overflow: 'hidden',
|
|
213
|
+
display: 'flex',
|
|
214
|
+
alignItems: 'center',
|
|
215
|
+
justifyContent: 'center',
|
|
216
|
+
/** Mismo fondo que `SCMUserAvatarFallback` en la fila de usuario del modal. */
|
|
217
|
+
background: 'var(--cor-color-grey-200, #e0e0e0)',
|
|
218
|
+
flexShrink: '0'
|
|
219
|
+
});
|
|
220
|
+
var initials = initialsFromName(nameForInitials);
|
|
221
|
+
var createInitialsFallback = function createInitialsFallback() {
|
|
222
|
+
var fb = document.createElement('span');
|
|
223
|
+
fb.textContent = initials;
|
|
224
|
+
Object.assign(fb.style, {
|
|
225
|
+
fontSize: '10px',
|
|
226
|
+
fontWeight: '600',
|
|
227
|
+
/** Mismo color que `SCMUserAvatarFallback` en la fila de usuario del modal. */
|
|
228
|
+
color: 'var(--cor-color-text-secondary, #666)',
|
|
229
|
+
lineHeight: '1',
|
|
230
|
+
fontFamily: TOOLTIP_FONT
|
|
231
|
+
});
|
|
232
|
+
return fb;
|
|
233
|
+
};
|
|
234
|
+
if (picture) {
|
|
235
|
+
var img = document.createElement('img');
|
|
236
|
+
img.src = picture;
|
|
237
|
+
img.alt = '';
|
|
238
|
+
img.draggable = false;
|
|
239
|
+
Object.assign(img.style, {
|
|
240
|
+
width: '24px',
|
|
241
|
+
height: '24px',
|
|
242
|
+
objectFit: 'cover',
|
|
243
|
+
display: 'block',
|
|
244
|
+
borderRadius: '24px'
|
|
245
|
+
});
|
|
246
|
+
img.onerror = function () {
|
|
247
|
+
img.remove();
|
|
248
|
+
avatarWrap.appendChild(createInitialsFallback());
|
|
249
|
+
};
|
|
250
|
+
avatarWrap.appendChild(img);
|
|
251
|
+
} else {
|
|
252
|
+
avatarWrap.appendChild(createInitialsFallback());
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
// Columna de info: ancho = max(fila nombre, email); sin forzar 244px si el contenido es más corto.
|
|
256
|
+
var infoCol = document.createElement('div');
|
|
257
|
+
Object.assign(infoCol.style, {
|
|
258
|
+
display: 'flex',
|
|
259
|
+
flexDirection: 'column',
|
|
260
|
+
justifyContent: 'center',
|
|
261
|
+
alignItems: 'flex-start',
|
|
262
|
+
gap: '2px',
|
|
263
|
+
minWidth: '0',
|
|
264
|
+
width: 'max-content',
|
|
265
|
+
maxWidth: '100%'
|
|
266
|
+
});
|
|
267
|
+
|
|
268
|
+
// Fila: nombre | posición — max-content para no dejar hueco entre nombre corto y el pipe (evitar flex 50/50).
|
|
269
|
+
var nameRow = document.createElement('div');
|
|
270
|
+
Object.assign(nameRow.style, {
|
|
271
|
+
display: 'flex',
|
|
272
|
+
alignItems: 'flex-start',
|
|
273
|
+
gap: '4px',
|
|
274
|
+
minWidth: '0',
|
|
275
|
+
width: 'max-content',
|
|
276
|
+
maxWidth: "".concat(USER_TOOLTIP_NAME_ROW_MAX_PX, "px")
|
|
277
|
+
});
|
|
278
|
+
var nameSpan = document.createElement('span');
|
|
279
|
+
nameSpan.textContent = label;
|
|
280
|
+
Object.assign(nameSpan.style, {
|
|
281
|
+
flex: '0 1 auto',
|
|
282
|
+
minWidth: '0',
|
|
283
|
+
maxWidth: "".concat(USER_TOOLTIP_NAME_MAX_WIDTH_PX, "px"),
|
|
284
|
+
overflow: 'hidden',
|
|
285
|
+
textOverflow: 'ellipsis',
|
|
286
|
+
whiteSpace: 'nowrap',
|
|
287
|
+
color: 'var(--Text-Primary-Dark, #20201F)',
|
|
288
|
+
fontFamily: TOOLTIP_FONT,
|
|
289
|
+
fontSize: '14px',
|
|
290
|
+
fontWeight: '500',
|
|
291
|
+
lineHeight: '130%'
|
|
292
|
+
});
|
|
293
|
+
nameRow.appendChild(nameSpan);
|
|
294
|
+
var sep = document.createElement('span');
|
|
295
|
+
sep.textContent = '|';
|
|
296
|
+
Object.assign(sep.style, _objectSpread(_objectSpread({}, TOOLTIP_SECONDARY_STYLE), {}, {
|
|
297
|
+
flexShrink: '0'
|
|
298
|
+
}));
|
|
299
|
+
nameRow.appendChild(sep);
|
|
300
|
+
var posSpan = document.createElement('span');
|
|
301
|
+
posSpan.textContent = positionLine;
|
|
302
|
+
Object.assign(posSpan.style, _objectSpread(_objectSpread({}, TOOLTIP_SECONDARY_STYLE), {}, {
|
|
303
|
+
flex: '0 1 auto',
|
|
304
|
+
minWidth: '0',
|
|
305
|
+
overflow: 'hidden',
|
|
306
|
+
textOverflow: 'ellipsis',
|
|
307
|
+
whiteSpace: 'nowrap'
|
|
308
|
+
}));
|
|
309
|
+
nameRow.appendChild(posSpan);
|
|
310
|
+
infoCol.appendChild(nameRow);
|
|
311
|
+
if (email) {
|
|
312
|
+
var emailSpan = document.createElement('span');
|
|
313
|
+
emailSpan.textContent = email;
|
|
314
|
+
Object.assign(emailSpan.style, _objectSpread(_objectSpread({}, TOOLTIP_SECONDARY_STYLE), {}, {
|
|
315
|
+
whiteSpace: 'nowrap',
|
|
316
|
+
maxWidth: '100%',
|
|
317
|
+
overflow: 'hidden',
|
|
318
|
+
textOverflow: 'ellipsis'
|
|
319
|
+
}));
|
|
320
|
+
infoCol.appendChild(emailSpan);
|
|
321
|
+
}
|
|
322
|
+
row.appendChild(avatarWrap);
|
|
323
|
+
row.appendChild(infoCol);
|
|
324
|
+
tooltip.appendChild(row);
|
|
325
|
+
return tooltip;
|
|
326
|
+
};
|
|
327
|
+
|
|
328
|
+
/**
|
|
329
|
+
* Crea un `<span>` atómico listo para insertarse dentro del contenteditable
|
|
330
|
+
* del `ContextMentionEditor`. Se marca con los `data-mention*` necesarios para
|
|
331
|
+
* que `useContextMentions.serialize()` pueda volver a extraer la mention.
|
|
332
|
+
*
|
|
333
|
+
* Comparte los estilos con el componente `ContextMentionChip` via
|
|
334
|
+
* `applyMentionChipStyles`, asegurando una única fuente de verdad visual.
|
|
335
|
+
*/
|
|
336
|
+
export var buildChipElement = function buildChipElement(mention) {
|
|
337
|
+
var chip = document.createElement('span');
|
|
338
|
+
chip.setAttribute('contenteditable', 'false');
|
|
339
|
+
chip.setAttribute('data-mention-chip', 'true');
|
|
340
|
+
chip.className = CONTEXT_MENTION_CHIP_CLASS;
|
|
341
|
+
chip.setAttribute('data-mention-type', mention.type);
|
|
342
|
+
chip.setAttribute('data-mention-surface', 'editor');
|
|
343
|
+
applyMentionChipStyles(chip, mention.type);
|
|
344
|
+
var isTask = mention.type === 'task';
|
|
345
|
+
var common = {
|
|
346
|
+
boxSizing: 'border-box',
|
|
347
|
+
verticalAlign: 'baseline',
|
|
348
|
+
overflow: 'visible',
|
|
349
|
+
maxWidth: '100%'
|
|
350
|
+
};
|
|
351
|
+
if (isTask) {
|
|
352
|
+
Object.assign(chip.style, common, {
|
|
353
|
+
lineHeight: '20px',
|
|
354
|
+
height: 'auto',
|
|
355
|
+
minHeight: 'auto',
|
|
356
|
+
maxHeight: 'none'
|
|
357
|
+
});
|
|
358
|
+
} else {
|
|
359
|
+
Object.assign(chip.style, common, {
|
|
360
|
+
lineHeight: '20px',
|
|
361
|
+
height: 'auto',
|
|
362
|
+
minHeight: 'auto',
|
|
363
|
+
maxHeight: 'none'
|
|
364
|
+
});
|
|
365
|
+
}
|
|
366
|
+
var mountNode = document.createElement('span');
|
|
367
|
+
mountNode.style.display = 'inline';
|
|
368
|
+
mountNode.style.maxWidth = '100%';
|
|
369
|
+
mountNode.style.verticalAlign = 'baseline';
|
|
370
|
+
mountNode.style.boxSizing = 'border-box';
|
|
371
|
+
chip.appendChild(mountNode);
|
|
372
|
+
var root = createRoot(mountNode);
|
|
373
|
+
flushSync(function () {
|
|
374
|
+
root.render(/*#__PURE__*/createElement(EditableMentionChip, {
|
|
375
|
+
mention: mention
|
|
376
|
+
}));
|
|
377
|
+
});
|
|
378
|
+
if (mention.type === 'task') {
|
|
379
|
+
chip.style.cursor = 'pointer';
|
|
380
|
+
chip.onclick = function (e) {
|
|
381
|
+
e.preventDefault();
|
|
382
|
+
e.stopPropagation();
|
|
383
|
+
openTaskInCorPanel(mention.id, 'detail');
|
|
384
|
+
};
|
|
385
|
+
} else if (mention.type === 'project') {
|
|
386
|
+
chip.style.cursor = 'pointer';
|
|
387
|
+
chip.onclick = function (e) {
|
|
388
|
+
e.preventDefault();
|
|
389
|
+
e.stopPropagation();
|
|
390
|
+
window.open("/projects/".concat(mention.id, "/dashboard"), '_blank');
|
|
391
|
+
};
|
|
392
|
+
} else if (mention.type === 'user') {
|
|
393
|
+
var tooltipEl = null;
|
|
394
|
+
var chipRemovedObserver = null;
|
|
395
|
+
var removeUserTooltip = function removeUserTooltip() {
|
|
396
|
+
var _chipRemovedObserver;
|
|
397
|
+
(_chipRemovedObserver = chipRemovedObserver) === null || _chipRemovedObserver === void 0 || _chipRemovedObserver.disconnect();
|
|
398
|
+
chipRemovedObserver = null;
|
|
399
|
+
if (tooltipEl) {
|
|
400
|
+
tooltipEl.remove();
|
|
401
|
+
tooltipEl = null;
|
|
402
|
+
}
|
|
403
|
+
};
|
|
404
|
+
|
|
405
|
+
/** Si el chip se borra del editor (Backspace, etc.) no siempre hay `mouseleave`; cerrar el tooltip. */
|
|
406
|
+
var watchChipRemovedFromDom = function watchChipRemovedFromDom() {
|
|
407
|
+
var _chipRemovedObserver2;
|
|
408
|
+
var parent = chip.parentNode;
|
|
409
|
+
if (!parent) return;
|
|
410
|
+
(_chipRemovedObserver2 = chipRemovedObserver) === null || _chipRemovedObserver2 === void 0 || _chipRemovedObserver2.disconnect();
|
|
411
|
+
chipRemovedObserver = new MutationObserver(function () {
|
|
412
|
+
if (!chip.isConnected) removeUserTooltip();
|
|
413
|
+
});
|
|
414
|
+
chipRemovedObserver.observe(parent, {
|
|
415
|
+
childList: true,
|
|
416
|
+
subtree: true
|
|
417
|
+
});
|
|
418
|
+
};
|
|
419
|
+
chip.addEventListener('mouseenter', function () {
|
|
420
|
+
if (tooltipEl) return;
|
|
421
|
+
tooltipEl = createUserTooltipEl(mention);
|
|
422
|
+
var rect = chip.getBoundingClientRect();
|
|
423
|
+
var left = Math.max(8, Math.min(window.innerWidth - 300, rect.left));
|
|
424
|
+
tooltipEl.style.top = "".concat(rect.top, "px");
|
|
425
|
+
tooltipEl.style.left = "".concat(left, "px");
|
|
426
|
+
tooltipEl.style.transform = 'translateY(calc(-100% - 4px))';
|
|
427
|
+
document.body.appendChild(tooltipEl);
|
|
428
|
+
watchChipRemovedFromDom();
|
|
429
|
+
});
|
|
430
|
+
chip.addEventListener('mouseleave', removeUserTooltip);
|
|
431
|
+
}
|
|
432
|
+
return chip;
|
|
433
|
+
};
|
|
434
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVFbGVtZW50IiwiZmx1c2hTeW5jIiwiY3JlYXRlUm9vdCIsImkxOG4iLCJDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTUyIsImdldENvbnRleHRNZW50aW9uSWNvbiIsIm5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwiLCJvcGVuVGFza0luQ29yUGFuZWwiLCJhcHBseU1lbnRpb25DaGlwU3R5bGVzIiwiTUVOVElPTl9DSElQX0NPTE9SUyIsIkVESVRBQkxFX05PTl9UQVNLX0xBQkVMX1NUWUxFIiwiZGlzcGxheSIsImxpbmVIZWlnaHQiLCJhbGlnblNlbGYiLCJtaW5XaWR0aCIsIm1heFdpZHRoIiwid2hpdGVTcGFjZSIsIm92ZXJmbG93V3JhcCIsIndvcmRCcmVhayIsIkVESVRBQkxFX1RBU0tfTEFCRUxfU1RZTEUiLCJmb250U2l6ZSIsImZvbnRXZWlnaHQiLCJjb2xvciIsImNyZWF0ZUVkaXRhYmxlTWVudGlvbkxhYmVsRWwiLCJpc1Rhc2siLCJtZW50aW9uTGFiZWwiLCJzdHlsZSIsInNwbGl0TGFiZWxGaXJzdFdvcmQiLCJsYWJlbCIsIm5vcm1hbGl6ZWQiLCJ0cmltIiwiZmlyc3RXb3JkIiwicmVzdCIsImZpcnN0V2hpdGVzcGFjZUlkeCIsInNlYXJjaCIsInNsaWNlIiwiRWRpdGFibGVNZW50aW9uQ2hpcCIsIl9yZWYiLCJtZW50aW9uIiwiaWNvbkNvbG9yIiwidHlwZSIsImZnIiwiaXNQcm9qZWN0IiwiaWNvblNpemUiLCJsYWJlbEVsIiwib3V0ZXJTdHlsZSIsInBvc2l0aW9uIiwiYm94U2l6aW5nIiwidmVydGljYWxBbGlnbiIsIl9zcGxpdExhYmVsRmlyc3RXb3JkIiwibGVhZGluZ1N0eWxlIiwiYWxpZ25JdGVtcyIsImxlYWRpbmdXb3JkU3R5bGUiLCJfb2JqZWN0U3ByZWFkIiwicmVzdFN0eWxlIiwibWFyZ2luUmlnaHQiLCJ3aWR0aCIsImlkIiwiaW5pdGlhbHNGcm9tTmFtZSIsIm5hbWUiLCJfcGFydHMkMiIsInRyaW1tZWQiLCJwYXJ0cyIsInNwbGl0IiwiZmlsdGVyIiwiQm9vbGVhbiIsImxlbmd0aCIsIl9wYXJ0cyQwJGNoYXJBdCIsIl9wYXJ0cyQiLCJfcGFydHMkY2hhckF0IiwiX3BhcnRzIiwiZmlyc3QiLCJjaGFyQXQiLCJsYXN0IiwiY29uY2F0IiwidG9VcHBlckNhc2UiLCJzaW5nbGUiLCJUT09MVElQX0ZPTlQiLCJUT09MVElQX1NFQ09OREFSWV9DT0xPUiIsIlRPT0xUSVBfU0VDT05EQVJZX1NUWUxFIiwiZm9udEZhbWlseSIsIm5vcm1hbGl6ZVRyaW1tZWRTdHJpbmciLCJ2YWx1ZSIsIlVTRVJfVE9PTFRJUF9NSU5fV0lEVEhfUFgiLCJVU0VSX1RPT0xUSVBfUEFEX1hfUFgiLCJVU0VSX1RPT0xUSVBfQVZBVEFSX0dBUF9QWCIsIlVTRVJfVE9PTFRJUF9OQU1FX1JPV19NQVhfUFgiLCJVU0VSX1RPT0xUSVBfTkFNRV9NQVhfV0lEVEhfUFgiLCJNYXRoIiwiZmxvb3IiLCJjcmVhdGVVc2VyVG9vbHRpcEVsIiwibWV0YWRhdGEiLCJwaWN0dXJlIiwicG9zaXRpb25OYW1lIiwicG9zaXRpb25MaW5lIiwidCIsImRlZmF1bHRWYWx1ZSIsImVtYWlsIiwibWV0YWRhdGFOYW1lIiwibmFtZUZvckluaXRpYWxzIiwidG9vbHRpcCIsImRvY3VtZW50IiwiT2JqZWN0IiwiYXNzaWduIiwiekluZGV4IiwicGFkZGluZyIsImZsZXhEaXJlY3Rpb24iLCJib3JkZXJSYWRpdXMiLCJib3JkZXIiLCJiYWNrZ3JvdW5kIiwiYm94U2hhZG93IiwicG9pbnRlckV2ZW50cyIsIm92ZXJmbG93Iiwicm93IiwiZ2FwIiwiYXZhdGFyV3JhcCIsImhlaWdodCIsImp1c3RpZnlDb250ZW50IiwiZmxleFNocmluayIsImluaXRpYWxzIiwiY3JlYXRlSW5pdGlhbHNGYWxsYmFjayIsImZiIiwidGV4dENvbnRlbnQiLCJpbWciLCJzcmMiLCJhbHQiLCJkcmFnZ2FibGUiLCJvYmplY3RGaXQiLCJvbmVycm9yIiwicmVtb3ZlIiwiYXBwZW5kQ2hpbGQiLCJpbmZvQ29sIiwibmFtZVJvdyIsIm5hbWVTcGFuIiwiZmxleCIsInRleHRPdmVyZmxvdyIsInNlcCIsInBvc1NwYW4iLCJlbWFpbFNwYW4iLCJidWlsZENoaXBFbGVtZW50IiwiY2hpcCIsInNldEF0dHJpYnV0ZSIsImNsYXNzTmFtZSIsImNvbW1vbiIsIm1pbkhlaWdodCIsIm1heEhlaWdodCIsIm1vdW50Tm9kZSIsInJvb3QiLCJyZW5kZXIiLCJjdXJzb3IiLCJvbmNsaWNrIiwiZSIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwid2luZG93Iiwib3BlbiIsInRvb2x0aXBFbCIsImNoaXBSZW1vdmVkT2JzZXJ2ZXIiLCJyZW1vdmVVc2VyVG9vbHRpcCIsIl9jaGlwUmVtb3ZlZE9ic2VydmVyIiwiZGlzY29ubmVjdCIsIndhdGNoQ2hpcFJlbW92ZWRGcm9tRG9tIiwiX2NoaXBSZW1vdmVkT2JzZXJ2ZXIyIiwicGFyZW50IiwicGFyZW50Tm9kZSIsIk11dGF0aW9uT2JzZXJ2ZXIiLCJpc0Nvbm5lY3RlZCIsIm9ic2VydmUiLCJjaGlsZExpc3QiLCJzdWJ0cmVlIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlY3QiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJsZWZ0IiwibWF4IiwibWluIiwiaW5uZXJXaWR0aCIsInRvcCIsInRyYW5zZm9ybSIsImJvZHkiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9Db250ZXh0TWVudGlvbkNoaXAvYnVpbGRDaGlwRWxlbWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVFbGVtZW50LCB0eXBlIENTU1Byb3BlcnRpZXMgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGZsdXNoU3luYyB9IGZyb20gJ3JlYWN0LWRvbSdcbmltcG9ydCB7IGNyZWF0ZVJvb3QgfSBmcm9tICdyZWFjdC1kb20vY2xpZW50J1xuaW1wb3J0IGkxOG4gZnJvbSAnLi4vLi4vLi4vbGFuZydcbmltcG9ydCB7IENPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTLCBDb250ZXh0TWVudGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuaW1wb3J0IHsgZ2V0Q29udGV4dE1lbnRpb25JY29uIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY29udGV4dE1lbnRpb25JY29ucydcbmltcG9ydCB7IG5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jb250ZXh0TWVudGlvbkxhYmVsJ1xuaW1wb3J0IHsgb3BlblRhc2tJbkNvclBhbmVsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvb3BlblRhc2tJbkNvclBhbmVsJ1xuaW1wb3J0IHsgYXBwbHlNZW50aW9uQ2hpcFN0eWxlcywgTUVOVElPTl9DSElQX0NPTE9SUyB9IGZyb20gJy4vQ29udGV4dE1lbnRpb25DaGlwLnN0eWxlcydcblxuY29uc3QgRURJVEFCTEVfTk9OX1RBU0tfTEFCRUxfU1RZTEU6IENTU1Byb3BlcnRpZXMgPSB7XG4gIGRpc3BsYXk6ICdpbmxpbmUnLFxuICBsaW5lSGVpZ2h0OiAnMjBweCcsXG4gIGFsaWduU2VsZjogJ2Jhc2VsaW5lJyxcbiAgbWluV2lkdGg6IDAsXG4gIG1heFdpZHRoOiAnMTAwJScsXG4gIHdoaXRlU3BhY2U6ICdub3JtYWwnLFxuICBvdmVyZmxvd1dyYXA6ICdicmVhay13b3JkJyxcbiAgd29yZEJyZWFrOiAnYnJlYWstd29yZCcsXG59XG5cbi8qKiBUZXh0byBkZSB0YXJlYTogc2luIGJvcmRlIGluZmVyaW9yOyBlbCBhc3BlY3RvIGRlIGVubGFjZSBsbyBkYSBlbCBDU1MgZ2xvYmFsICg6OmJlZm9yZSArIGNvbG9yKS4gKi9cbmNvbnN0IEVESVRBQkxFX1RBU0tfTEFCRUxfU1RZTEU6IENTU1Byb3BlcnRpZXMgPSB7XG4gIGRpc3BsYXk6ICdpbmxpbmUnLFxuICBmb250U2l6ZTogJzE0cHgnLFxuICBsaW5lSGVpZ2h0OiAnMjBweCcsXG4gIGZvbnRXZWlnaHQ6ICc2MDAnLFxuICBjb2xvcjogJ2luaGVyaXQnLFxuICBtaW5XaWR0aDogMCxcbiAgbWF4V2lkdGg6ICcxMDAlJyxcbiAgd2hpdGVTcGFjZTogJ25vcm1hbCcsXG4gIG92ZXJmbG93V3JhcDogJ2JyZWFrLXdvcmQnLFxuICB3b3JkQnJlYWs6ICdicmVhay13b3JkJyxcbn1cblxuY29uc3QgY3JlYXRlRWRpdGFibGVNZW50aW9uTGFiZWxFbCA9IChpc1Rhc2s6IGJvb2xlYW4sIG1lbnRpb25MYWJlbDogc3RyaW5nKSA9PiB7XG4gIGlmICghaXNUYXNrKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQoJ3NwYW4nLCB7IHN0eWxlOiBFRElUQUJMRV9OT05fVEFTS19MQUJFTF9TVFlMRSB9LCBtZW50aW9uTGFiZWwpXG4gIH1cbiAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQoJ3NwYW4nLCB7IHN0eWxlOiBFRElUQUJMRV9UQVNLX0xBQkVMX1NUWUxFIH0sIG1lbnRpb25MYWJlbClcbn1cblxuY29uc3Qgc3BsaXRMYWJlbEZpcnN0V29yZCA9IChsYWJlbDogc3RyaW5nKTogeyBmaXJzdFdvcmQ6IHN0cmluZzsgcmVzdDogc3RyaW5nIH0gPT4ge1xuICBjb25zdCBub3JtYWxpemVkID0gbGFiZWwudHJpbSgpXG4gIGlmICghbm9ybWFsaXplZCkgcmV0dXJuIHsgZmlyc3RXb3JkOiAnJywgcmVzdDogJycgfVxuICBjb25zdCBmaXJzdFdoaXRlc3BhY2VJZHggPSBub3JtYWxpemVkLnNlYXJjaCgvXFxzLylcbiAgaWYgKGZpcnN0V2hpdGVzcGFjZUlkeCA8IDApIHJldHVybiB7IGZpcnN0V29yZDogbm9ybWFsaXplZCwgcmVzdDogJycgfVxuICByZXR1cm4ge1xuICAgIGZpcnN0V29yZDogbm9ybWFsaXplZC5zbGljZSgwLCBmaXJzdFdoaXRlc3BhY2VJZHgpLFxuICAgIHJlc3Q6IG5vcm1hbGl6ZWQuc2xpY2UoZmlyc3RXaGl0ZXNwYWNlSWR4KSxcbiAgfVxufVxuXG50eXBlIEVkaXRhYmxlTWVudGlvbkNoaXBQcm9wcyA9IHtcbiAgbWVudGlvbjogQ29udGV4dE1lbnRpb25cbn1cblxuY29uc3QgRWRpdGFibGVNZW50aW9uQ2hpcCA9ICh7IG1lbnRpb24gfTogRWRpdGFibGVNZW50aW9uQ2hpcFByb3BzKSA9PiB7XG4gIGNvbnN0IG1lbnRpb25MYWJlbCA9IG5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwobWVudGlvbi5sYWJlbClcbiAgY29uc3QgaWNvbkNvbG9yID0gTUVOVElPTl9DSElQX0NPTE9SU1ttZW50aW9uLnR5cGVdLmZnXG4gIGNvbnN0IGlzVGFzayA9IG1lbnRpb24udHlwZSA9PT0gJ3Rhc2snXG4gIGNvbnN0IGlzUHJvamVjdCA9IG1lbnRpb24udHlwZSA9PT0gJ3Byb2plY3QnXG4gIGNvbnN0IGljb25TaXplID0gaXNUYXNrID8gMTYgOiAxNFxuICBjb25zdCBsYWJlbEVsID0gY3JlYXRlRWRpdGFibGVNZW50aW9uTGFiZWxFbChpc1Rhc2ssIG1lbnRpb25MYWJlbClcblxuICBjb25zdCBvdXRlclN0eWxlOiBDU1NQcm9wZXJ0aWVzID0ge1xuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgIGRpc3BsYXk6ICdpbmxpbmUnLFxuICAgIGxpbmVIZWlnaHQ6ICcyMHB4JyxcbiAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICB2ZXJ0aWNhbEFsaWduOiAnYmFzZWxpbmUnLFxuICAgIG1heFdpZHRoOiAnMTAwJScsXG4gIH1cblxuICBpZiAoaXNUYXNrIHx8IGlzUHJvamVjdCkge1xuICAgIHJldHVybiBjcmVhdGVFbGVtZW50KCdzcGFuJywgeyBzdHlsZTogb3V0ZXJTdHlsZSB9LCBsYWJlbEVsKVxuICB9XG5cbiAgY29uc3QgeyBmaXJzdFdvcmQsIHJlc3QgfSA9IHNwbGl0TGFiZWxGaXJzdFdvcmQobWVudGlvbkxhYmVsKVxuICBjb25zdCBsZWFkaW5nU3R5bGU6IENTU1Byb3BlcnRpZXMgPSB7XG4gICAgZGlzcGxheTogJ2lubGluZS1mbGV4JyxcbiAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICB2ZXJ0aWNhbEFsaWduOiAnbWlkZGxlJyxcbiAgICB3aGl0ZVNwYWNlOiAnbm93cmFwJyxcbiAgICBtYXhXaWR0aDogJzEwMCUnLFxuICB9XG4gIGNvbnN0IGxlYWRpbmdXb3JkU3R5bGU6IENTU1Byb3BlcnRpZXMgPSB7XG4gICAgLi4uRURJVEFCTEVfTk9OX1RBU0tfTEFCRUxfU1RZTEUsXG4gICAgZGlzcGxheTogJ2lubGluZScsXG4gICAgd2hpdGVTcGFjZTogJ25vd3JhcCcsXG4gIH1cbiAgY29uc3QgcmVzdFN0eWxlOiBDU1NQcm9wZXJ0aWVzID0ge1xuICAgIC4uLkVESVRBQkxFX05PTl9UQVNLX0xBQkVMX1NUWUxFLFxuICAgIGRpc3BsYXk6ICdpbmxpbmUnLFxuICAgIHZlcnRpY2FsQWxpZ246ICdtaWRkbGUnLFxuICB9XG5cbiAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQoXG4gICAgJ3NwYW4nLFxuICAgIHsgc3R5bGU6IG91dGVyU3R5bGUgfSxcbiAgICBjcmVhdGVFbGVtZW50KFxuICAgICAgJ3NwYW4nLFxuICAgICAgeyBzdHlsZTogbGVhZGluZ1N0eWxlIH0sXG4gICAgICBjcmVhdGVFbGVtZW50KFxuICAgICAgICAnc3BhbicsXG4gICAgICAgIHtcbiAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgICAgICAgICB2ZXJ0aWNhbEFsaWduOiAnbWlkZGxlJyxcbiAgICAgICAgICAgIG1hcmdpblJpZ2h0OiAnMnB4JyxcbiAgICAgICAgICAgIGxpbmVIZWlnaHQ6ICcxJyxcbiAgICAgICAgICAgIHdpZHRoOiAnMTRweCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgZ2V0Q29udGV4dE1lbnRpb25JY29uKG1lbnRpb24udHlwZSwgaWNvbkNvbG9yLCBtZW50aW9uLmlkLCBpY29uU2l6ZSlcbiAgICAgICksXG4gICAgICBjcmVhdGVFbGVtZW50KCdzcGFuJywgeyBzdHlsZTogbGVhZGluZ1dvcmRTdHlsZSB9LCBmaXJzdFdvcmQpXG4gICAgKSxcbiAgICByZXN0ID8gY3JlYXRlRWxlbWVudCgnc3BhbicsIHsgc3R5bGU6IHJlc3RTdHlsZSB9LCByZXN0KSA6IG51bGxcbiAgKVxufVxuXG5jb25zdCBpbml0aWFsc0Zyb21OYW1lID0gKG5hbWU6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IHRyaW1tZWQgPSBuYW1lLnRyaW0oKVxuICBpZiAoIXRyaW1tZWQpIHJldHVybiAnPydcbiAgY29uc3QgcGFydHMgPSB0cmltbWVkLnNwbGl0KC9cXHMrLykuZmlsdGVyKEJvb2xlYW4pXG4gIGlmIChwYXJ0cy5sZW5ndGggPj0gMikge1xuICAgIGNvbnN0IGZpcnN0ID0gcGFydHNbMF0/LmNoYXJBdCgwKSA/PyAnJ1xuICAgIGNvbnN0IGxhc3QgPSBwYXJ0c1twYXJ0cy5sZW5ndGggLSAxXT8uY2hhckF0KDApID8/ICcnXG4gICAgcmV0dXJuIGAke2ZpcnN0fSR7bGFzdH1gLnRvVXBwZXJDYXNlKClcbiAgfVxuICBjb25zdCBzaW5nbGUgPSBwYXJ0c1swXSA/PyAnJ1xuICByZXR1cm4gc2luZ2xlLmxlbmd0aCA+PSAyID8gc2luZ2xlLnNsaWNlKDAsIDIpLnRvVXBwZXJDYXNlKCkgOiAoc2luZ2xlLmNoYXJBdCgwKSB8fCAnPycpLnRvVXBwZXJDYXNlKClcbn1cblxuY29uc3QgVE9PTFRJUF9GT05UID0gYHZhcigtLWNvci10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LCAnV29yayBTYW5zJylgXG5jb25zdCBUT09MVElQX1NFQ09OREFSWV9DT0xPUiA9ICd2YXIoLS1UZXh0LVNlY29uZGFyeS1EYXJrLCAjNjY2KSdcbmNvbnN0IFRPT0xUSVBfU0VDT05EQVJZX1NUWUxFID0ge1xuICBmb250RmFtaWx5OiBUT09MVElQX0ZPTlQsXG4gIGZvbnRTaXplOiAnMTRweCcsXG4gIGZvbnRXZWlnaHQ6ICc0MDAnLFxuICBsaW5lSGVpZ2h0OiAnMjBweCcsXG4gIGNvbG9yOiBUT09MVElQX1NFQ09OREFSWV9DT0xPUixcbn1cblxuY29uc3Qgbm9ybWFsaXplVHJpbW1lZFN0cmluZyA9ICh2YWx1ZTogdW5rbm93bik6IHN0cmluZyA9PiB7XG4gIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSByZXR1cm4gJydcbiAgcmV0dXJuIHZhbHVlLnRyaW0oKVxufVxuXG4vKiogQW5jaG8gbcOtbmltbyBkZWwgdG9vbHRpcCAoaW5jbC4gcGFkZGluZyBob3Jpem9udGFsIDgrOCkuICovXG5jb25zdCBVU0VSX1RPT0xUSVBfTUlOX1dJRFRIX1BYID0gMjkyXG4vKiogUGFkZGluZyBob3Jpem9udGFsIHRvdGFsIGRlbCB0b29sdGlwLiAqL1xuY29uc3QgVVNFUl9UT09MVElQX1BBRF9YX1BYID0gMTZcbi8qKiBBdmF0YXIgMjRweCArIGdhcCA4cHggcmVzcGVjdG8gYSBsYSBjb2x1bW5hIGRlIHRleHRvLiAqL1xuY29uc3QgVVNFUl9UT09MVElQX0FWQVRBUl9HQVBfUFggPSAzMlxuLyoqXG4gKiBBbmNobyBtw6F4aW1vIGRlIGxhIGZpbGEgbm9tYnJlIHwgcG9zaWNpw7NuOiBtaXNtbyBodWVjbyBxdWUgY29uIHRvb2x0aXAgZmlqbyAyOTJweCxcbiAqIHBhcmEgcXVlIHNvbG8gZWwgZW1haWwgZW5zYW5jaGUgZWwgY29udGVuZWRvci5cbiAqL1xuY29uc3QgVVNFUl9UT09MVElQX05BTUVfUk9XX01BWF9QWCA9IFVTRVJfVE9PTFRJUF9NSU5fV0lEVEhfUFggLSBVU0VSX1RPT0xUSVBfUEFEX1hfUFggLSBVU0VSX1RPT0xUSVBfQVZBVEFSX0dBUF9QWFxuLyoqXG4gKiBUb3BlIGRlIGFuY2hvIGRlbCBub21icmUgZW4gbGEgZmlsYTogcG9yIGRlYmFqbyBkZWwgbcOheGltbyBkZSBmaWxhIHBhcmEgcXVlIGVsIGVsbGlwc2lzXG4gKiBkZWwgbm9tYnJlIGFwYXJlemNhIGFudGVzIHkgcXVlZGUgbcOhcyBlc3BhY2lvIHZpc2libGUgcGFyYSBwb3NpY2nDs24vY2FyZ28uXG4gKi9cbmNvbnN0IFVTRVJfVE9PTFRJUF9OQU1FX01BWF9XSURUSF9QWCA9IE1hdGguZmxvb3IoVVNFUl9UT09MVElQX05BTUVfUk9XX01BWF9QWCAqIDAuNDIpXG5cbmNvbnN0IGNyZWF0ZVVzZXJUb29sdGlwRWwgPSAobWVudGlvbjogQ29udGV4dE1lbnRpb24pOiBIVE1MRWxlbWVudCA9PiB7XG4gIGNvbnN0IHsgbGFiZWwsIG1ldGFkYXRhIH0gPSBtZW50aW9uXG4gIGNvbnN0IHBpY3R1cmUgPSB0eXBlb2YgbWV0YWRhdGE/LnBpY3R1cmUgPT09ICdzdHJpbmcnID8gbWV0YWRhdGEucGljdHVyZSA6IG51bGxcbiAgY29uc3QgcG9zaXRpb25OYW1lID0gbm9ybWFsaXplVHJpbW1lZFN0cmluZyhtZXRhZGF0YT8ucG9zaXRpb25OYW1lKVxuICBjb25zdCBwb3NpdGlvbkxpbmUgPVxuICAgIHBvc2l0aW9uTmFtZSB8fFxuICAgIGkxOG4udCgnY29udGV4dE1lbnRpb24udXNlck5vUG9zaXRpb24nLCB7XG4gICAgICBkZWZhdWx0VmFsdWU6ICdTaW4gcG9zaWNpw7NuJyxcbiAgICB9KVxuICBjb25zdCBlbWFpbCA9IG5vcm1hbGl6ZVRyaW1tZWRTdHJpbmcobWV0YWRhdGE/LmVtYWlsKVxuICAvKiogTWlzbWEgZnVlbnRlIHF1ZSBgQ29udGV4dE1lbnRpb25JdGVtYCAoYXZhdGFyKTogbm9tYnJlIGRlIHF1ZXJ5LCBubyBlbCBsYWJlbCBkZWwgY2hpcCAoZWouIFwiWW9cIikuICovXG4gIGNvbnN0IG1ldGFkYXRhTmFtZSA9IG5vcm1hbGl6ZVRyaW1tZWRTdHJpbmcobWV0YWRhdGE/Lm5hbWUpXG4gIGNvbnN0IG5hbWVGb3JJbml0aWFscyA9IChtZXRhZGF0YU5hbWUgfHwgbm9ybWFsaXplVHJpbW1lZFN0cmluZyhsYWJlbCkgfHwgJz8nKS50cmltKClcblxuICBjb25zdCB0b29sdGlwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JylcbiAgT2JqZWN0LmFzc2lnbih0b29sdGlwLnN0eWxlLCB7XG4gICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgekluZGV4OiAnOTk5OScsXG4gICAgbWluV2lkdGg6IGAke1VTRVJfVE9PTFRJUF9NSU5fV0lEVEhfUFh9cHhgLFxuICAgIHdpZHRoOiAnbWF4LWNvbnRlbnQnLFxuICAgIG1heFdpZHRoOiAnbWluKDU2MHB4LCBjYWxjKDEwMHZ3IC0gMjRweCkpJyxcbiAgICBwYWRkaW5nOiAnMTJweCA4cHgnLFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICBhbGlnbkl0ZW1zOiAnZmxleC1zdGFydCcsXG4gICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICBib3JkZXI6ICcxcHggc29saWQgdmFyKC0tQ29sb3ItTGlnaHQtR3JheSwgI0UwRTBFMCknLFxuICAgIGJhY2tncm91bmQ6ICcjRkZGJyxcbiAgICBib3hTaGFkb3c6ICcwIDFweCA0cHggMCByZ2JhKDAsMCwwLDAuMDgpLCAwIDFweCA0cHggMCByZ2JhKDAsMCwwLDAuMDQpJyxcbiAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICBwb2ludGVyRXZlbnRzOiAnbm9uZScsXG4gICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICB9KVxuXG4gIGNvbnN0IHJvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpXG4gIE9iamVjdC5hc3NpZ24ocm93LnN0eWxlLCB7XG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgIGdhcDogJzhweCcsXG4gICAgd2lkdGg6ICdtYXgtY29udGVudCcsXG4gICAgbWF4V2lkdGg6ICcxMDAlJyxcbiAgICBtaW5XaWR0aDogJzAnLFxuICB9KVxuXG4gIC8vIEF2YXRhciBjaXJjdWxhciAoZm90byBvIGluaWNpYWxlcylcbiAgY29uc3QgYXZhdGFyV3JhcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpXG4gIE9iamVjdC5hc3NpZ24oYXZhdGFyV3JhcC5zdHlsZSwge1xuICAgIHdpZHRoOiAnMjRweCcsXG4gICAgaGVpZ2h0OiAnMjRweCcsXG4gICAgbWluV2lkdGg6ICcyNHB4JyxcbiAgICBib3JkZXJSYWRpdXM6ICcyNHB4JyxcbiAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAvKiogTWlzbW8gZm9uZG8gcXVlIGBTQ01Vc2VyQXZhdGFyRmFsbGJhY2tgIGVuIGxhIGZpbGEgZGUgdXN1YXJpbyBkZWwgbW9kYWwuICovXG4gICAgYmFja2dyb3VuZDogJ3ZhcigtLWNvci1jb2xvci1ncmV5LTIwMCwgI2UwZTBlMCknLFxuICAgIGZsZXhTaHJpbms6ICcwJyxcbiAgfSlcblxuICBjb25zdCBpbml0aWFscyA9IGluaXRpYWxzRnJvbU5hbWUobmFtZUZvckluaXRpYWxzKVxuXG4gIGNvbnN0IGNyZWF0ZUluaXRpYWxzRmFsbGJhY2sgPSAoKTogSFRNTEVsZW1lbnQgPT4ge1xuICAgIGNvbnN0IGZiID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpXG4gICAgZmIudGV4dENvbnRlbnQgPSBpbml0aWFsc1xuICAgIE9iamVjdC5hc3NpZ24oZmIuc3R5bGUsIHtcbiAgICAgIGZvbnRTaXplOiAnMTBweCcsXG4gICAgICBmb250V2VpZ2h0OiAnNjAwJyxcbiAgICAgIC8qKiBNaXNtbyBjb2xvciBxdWUgYFNDTVVzZXJBdmF0YXJGYWxsYmFja2AgZW4gbGEgZmlsYSBkZSB1c3VhcmlvIGRlbCBtb2RhbC4gKi9cbiAgICAgIGNvbG9yOiAndmFyKC0tY29yLWNvbG9yLXRleHQtc2Vjb25kYXJ5LCAjNjY2KScsXG4gICAgICBsaW5lSGVpZ2h0OiAnMScsXG4gICAgICBmb250RmFtaWx5OiBUT09MVElQX0ZPTlQsXG4gICAgfSlcbiAgICByZXR1cm4gZmJcbiAgfVxuXG4gIGlmIChwaWN0dXJlKSB7XG4gICAgY29uc3QgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJylcbiAgICBpbWcuc3JjID0gcGljdHVyZVxuICAgIGltZy5hbHQgPSAnJ1xuICAgIGltZy5kcmFnZ2FibGUgPSBmYWxzZVxuICAgIE9iamVjdC5hc3NpZ24oaW1nLnN0eWxlLCB7XG4gICAgICB3aWR0aDogJzI0cHgnLFxuICAgICAgaGVpZ2h0OiAnMjRweCcsXG4gICAgICBvYmplY3RGaXQ6ICdjb3ZlcicsXG4gICAgICBkaXNwbGF5OiAnYmxvY2snLFxuICAgICAgYm9yZGVyUmFkaXVzOiAnMjRweCcsXG4gICAgfSlcbiAgICBpbWcub25lcnJvciA9ICgpID0+IHtcbiAgICAgIGltZy5yZW1vdmUoKVxuICAgICAgYXZhdGFyV3JhcC5hcHBlbmRDaGlsZChjcmVhdGVJbml0aWFsc0ZhbGxiYWNrKCkpXG4gICAgfVxuICAgIGF2YXRhcldyYXAuYXBwZW5kQ2hpbGQoaW1nKVxuICB9IGVsc2Uge1xuICAgIGF2YXRhcldyYXAuYXBwZW5kQ2hpbGQoY3JlYXRlSW5pdGlhbHNGYWxsYmFjaygpKVxuICB9XG5cbiAgLy8gQ29sdW1uYSBkZSBpbmZvOiBhbmNobyA9IG1heChmaWxhIG5vbWJyZSwgZW1haWwpOyBzaW4gZm9yemFyIDI0NHB4IHNpIGVsIGNvbnRlbmlkbyBlcyBtw6FzIGNvcnRvLlxuICBjb25zdCBpbmZvQ29sID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JylcbiAgT2JqZWN0LmFzc2lnbihpbmZvQ29sLnN0eWxlLCB7XG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICBhbGlnbkl0ZW1zOiAnZmxleC1zdGFydCcsXG4gICAgZ2FwOiAnMnB4JyxcbiAgICBtaW5XaWR0aDogJzAnLFxuICAgIHdpZHRoOiAnbWF4LWNvbnRlbnQnLFxuICAgIG1heFdpZHRoOiAnMTAwJScsXG4gIH0pXG5cbiAgLy8gRmlsYTogbm9tYnJlIHwgcG9zaWNpw7NuIOKAlCBtYXgtY29udGVudCBwYXJhIG5vIGRlamFyIGh1ZWNvIGVudHJlIG5vbWJyZSBjb3J0byB5IGVsIHBpcGUgKGV2aXRhciBmbGV4IDUwLzUwKS5cbiAgY29uc3QgbmFtZVJvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpXG4gIE9iamVjdC5hc3NpZ24obmFtZVJvdy5zdHlsZSwge1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBhbGlnbkl0ZW1zOiAnZmxleC1zdGFydCcsXG4gICAgZ2FwOiAnNHB4JyxcbiAgICBtaW5XaWR0aDogJzAnLFxuICAgIHdpZHRoOiAnbWF4LWNvbnRlbnQnLFxuICAgIG1heFdpZHRoOiBgJHtVU0VSX1RPT0xUSVBfTkFNRV9ST1dfTUFYX1BYfXB4YCxcbiAgfSlcblxuICBjb25zdCBuYW1lU3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKVxuICBuYW1lU3Bhbi50ZXh0Q29udGVudCA9IGxhYmVsXG4gIE9iamVjdC5hc3NpZ24obmFtZVNwYW4uc3R5bGUsIHtcbiAgICBmbGV4OiAnMCAxIGF1dG8nLFxuICAgIG1pbldpZHRoOiAnMCcsXG4gICAgbWF4V2lkdGg6IGAke1VTRVJfVE9PTFRJUF9OQU1FX01BWF9XSURUSF9QWH1weGAsXG4gICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgIHRleHRPdmVyZmxvdzogJ2VsbGlwc2lzJyxcbiAgICB3aGl0ZVNwYWNlOiAnbm93cmFwJyxcbiAgICBjb2xvcjogJ3ZhcigtLVRleHQtUHJpbWFyeS1EYXJrLCAjMjAyMDFGKScsXG4gICAgZm9udEZhbWlseTogVE9PTFRJUF9GT05ULFxuICAgIGZvbnRTaXplOiAnMTRweCcsXG4gICAgZm9udFdlaWdodDogJzUwMCcsXG4gICAgbGluZUhlaWdodDogJzEzMCUnLFxuICB9KVxuICBuYW1lUm93LmFwcGVuZENoaWxkKG5hbWVTcGFuKVxuXG4gIGNvbnN0IHNlcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKVxuICBzZXAudGV4dENvbnRlbnQgPSAnfCdcbiAgT2JqZWN0LmFzc2lnbihzZXAuc3R5bGUsIHsgLi4uVE9PTFRJUF9TRUNPTkRBUllfU1RZTEUsIGZsZXhTaHJpbms6ICcwJyB9KVxuICBuYW1lUm93LmFwcGVuZENoaWxkKHNlcClcblxuICBjb25zdCBwb3NTcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpXG4gIHBvc1NwYW4udGV4dENvbnRlbnQgPSBwb3NpdGlvbkxpbmVcbiAgT2JqZWN0LmFzc2lnbihwb3NTcGFuLnN0eWxlLCB7XG4gICAgLi4uVE9PTFRJUF9TRUNPTkRBUllfU1RZTEUsXG4gICAgZmxleDogJzAgMSBhdXRvJyxcbiAgICBtaW5XaWR0aDogJzAnLFxuICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICB0ZXh0T3ZlcmZsb3c6ICdlbGxpcHNpcycsXG4gICAgd2hpdGVTcGFjZTogJ25vd3JhcCcsXG4gIH0pXG4gIG5hbWVSb3cuYXBwZW5kQ2hpbGQocG9zU3BhbilcblxuICBpbmZvQ29sLmFwcGVuZENoaWxkKG5hbWVSb3cpXG5cbiAgaWYgKGVtYWlsKSB7XG4gICAgY29uc3QgZW1haWxTcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpXG4gICAgZW1haWxTcGFuLnRleHRDb250ZW50ID0gZW1haWxcbiAgICBPYmplY3QuYXNzaWduKGVtYWlsU3Bhbi5zdHlsZSwge1xuICAgICAgLi4uVE9PTFRJUF9TRUNPTkRBUllfU1RZTEUsXG4gICAgICB3aGl0ZVNwYWNlOiAnbm93cmFwJyxcbiAgICAgIG1heFdpZHRoOiAnMTAwJScsXG4gICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICB0ZXh0T3ZlcmZsb3c6ICdlbGxpcHNpcycsXG4gICAgfSlcbiAgICBpbmZvQ29sLmFwcGVuZENoaWxkKGVtYWlsU3BhbilcbiAgfVxuXG4gIHJvdy5hcHBlbmRDaGlsZChhdmF0YXJXcmFwKVxuICByb3cuYXBwZW5kQ2hpbGQoaW5mb0NvbClcbiAgdG9vbHRpcC5hcHBlbmRDaGlsZChyb3cpXG5cbiAgcmV0dXJuIHRvb2x0aXBcbn1cblxuLyoqXG4gKiBDcmVhIHVuIGA8c3Bhbj5gIGF0w7NtaWNvIGxpc3RvIHBhcmEgaW5zZXJ0YXJzZSBkZW50cm8gZGVsIGNvbnRlbnRlZGl0YWJsZVxuICogZGVsIGBDb250ZXh0TWVudGlvbkVkaXRvcmAuIFNlIG1hcmNhIGNvbiBsb3MgYGRhdGEtbWVudGlvbipgIG5lY2VzYXJpb3MgcGFyYVxuICogcXVlIGB1c2VDb250ZXh0TWVudGlvbnMuc2VyaWFsaXplKClgIHB1ZWRhIHZvbHZlciBhIGV4dHJhZXIgbGEgbWVudGlvbi5cbiAqXG4gKiBDb21wYXJ0ZSBsb3MgZXN0aWxvcyBjb24gZWwgY29tcG9uZW50ZSBgQ29udGV4dE1lbnRpb25DaGlwYCB2aWFcbiAqIGBhcHBseU1lbnRpb25DaGlwU3R5bGVzYCwgYXNlZ3VyYW5kbyB1bmEgw7puaWNhIGZ1ZW50ZSBkZSB2ZXJkYWQgdmlzdWFsLlxuICovXG5leHBvcnQgY29uc3QgYnVpbGRDaGlwRWxlbWVudCA9IChtZW50aW9uOiBDb250ZXh0TWVudGlvbik6IEhUTUxTcGFuRWxlbWVudCA9PiB7XG4gIGNvbnN0IGNoaXAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJylcbiAgY2hpcC5zZXRBdHRyaWJ1dGUoJ2NvbnRlbnRlZGl0YWJsZScsICdmYWxzZScpXG4gIGNoaXAuc2V0QXR0cmlidXRlKCdkYXRhLW1lbnRpb24tY2hpcCcsICd0cnVlJylcbiAgY2hpcC5jbGFzc05hbWUgPSBDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTU1xuICBjaGlwLnNldEF0dHJpYnV0ZSgnZGF0YS1tZW50aW9uLXR5cGUnLCBtZW50aW9uLnR5cGUpXG4gIGNoaXAuc2V0QXR0cmlidXRlKCdkYXRhLW1lbnRpb24tc3VyZmFjZScsICdlZGl0b3InKVxuICBhcHBseU1lbnRpb25DaGlwU3R5bGVzKGNoaXAsIG1lbnRpb24udHlwZSlcbiAgY29uc3QgaXNUYXNrID0gbWVudGlvbi50eXBlID09PSAndGFzaydcbiAgY29uc3QgY29tbW9uID0ge1xuICAgIGJveFNpemluZzogJ2JvcmRlci1ib3gnLFxuICAgIHZlcnRpY2FsQWxpZ246ICdiYXNlbGluZScsXG4gICAgb3ZlcmZsb3c6ICd2aXNpYmxlJyxcbiAgICBtYXhXaWR0aDogJzEwMCUnLFxuICB9IGFzIGNvbnN0XG4gIGlmIChpc1Rhc2spIHtcbiAgICBPYmplY3QuYXNzaWduKGNoaXAuc3R5bGUsIGNvbW1vbiwge1xuICAgICAgbGluZUhlaWdodDogJzIwcHgnLFxuICAgICAgaGVpZ2h0OiAnYXV0bycsXG4gICAgICBtaW5IZWlnaHQ6ICdhdXRvJyxcbiAgICAgIG1heEhlaWdodDogJ25vbmUnLFxuICAgIH0pXG4gIH0gZWxzZSB7XG4gICAgT2JqZWN0LmFzc2lnbihjaGlwLnN0eWxlLCBjb21tb24sIHtcbiAgICAgIGxpbmVIZWlnaHQ6ICcyMHB4JyxcbiAgICAgIGhlaWdodDogJ2F1dG8nLFxuICAgICAgbWluSGVpZ2h0OiAnYXV0bycsXG4gICAgICBtYXhIZWlnaHQ6ICdub25lJyxcbiAgICB9KVxuICB9XG4gIGNvbnN0IG1vdW50Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKVxuICBtb3VudE5vZGUuc3R5bGUuZGlzcGxheSA9ICdpbmxpbmUnXG4gIG1vdW50Tm9kZS5zdHlsZS5tYXhXaWR0aCA9ICcxMDAlJ1xuICBtb3VudE5vZGUuc3R5bGUudmVydGljYWxBbGlnbiA9ICdiYXNlbGluZSdcbiAgbW91bnROb2RlLnN0eWxlLmJveFNpemluZyA9ICdib3JkZXItYm94J1xuICBjaGlwLmFwcGVuZENoaWxkKG1vdW50Tm9kZSlcbiAgY29uc3Qgcm9vdCA9IGNyZWF0ZVJvb3QobW91bnROb2RlKVxuXG4gIGZsdXNoU3luYygoKSA9PiB7XG4gICAgcm9vdC5yZW5kZXIoY3JlYXRlRWxlbWVudChFZGl0YWJsZU1lbnRpb25DaGlwLCB7IG1lbnRpb24gfSkpXG4gIH0pXG5cbiAgaWYgKG1lbnRpb24udHlwZSA9PT0gJ3Rhc2snKSB7XG4gICAgY2hpcC5zdHlsZS5jdXJzb3IgPSAncG9pbnRlcidcbiAgICBjaGlwLm9uY2xpY2sgPSBlID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgb3BlblRhc2tJbkNvclBhbmVsKG1lbnRpb24uaWQsICdkZXRhaWwnKVxuICAgIH1cbiAgfSBlbHNlIGlmIChtZW50aW9uLnR5cGUgPT09ICdwcm9qZWN0Jykge1xuICAgIGNoaXAuc3R5bGUuY3Vyc29yID0gJ3BvaW50ZXInXG4gICAgY2hpcC5vbmNsaWNrID0gZSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgIHdpbmRvdy5vcGVuKGAvcHJvamVjdHMvJHttZW50aW9uLmlkfS9kYXNoYm9hcmRgLCAnX2JsYW5rJylcbiAgICB9XG4gIH0gZWxzZSBpZiAobWVudGlvbi50eXBlID09PSAndXNlcicpIHtcbiAgICBsZXQgdG9vbHRpcEVsOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsXG4gICAgbGV0IGNoaXBSZW1vdmVkT2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXIgfCBudWxsID0gbnVsbFxuXG4gICAgY29uc3QgcmVtb3ZlVXNlclRvb2x0aXAgPSAoKSA9PiB7XG4gICAgICBjaGlwUmVtb3ZlZE9ic2VydmVyPy5kaXNjb25uZWN0KClcbiAgICAgIGNoaXBSZW1vdmVkT2JzZXJ2ZXIgPSBudWxsXG4gICAgICBpZiAodG9vbHRpcEVsKSB7XG4gICAgICAgIHRvb2x0aXBFbC5yZW1vdmUoKVxuICAgICAgICB0b29sdGlwRWwgPSBudWxsXG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFNpIGVsIGNoaXAgc2UgYm9ycmEgZGVsIGVkaXRvciAoQmFja3NwYWNlLCBldGMuKSBubyBzaWVtcHJlIGhheSBgbW91c2VsZWF2ZWA7IGNlcnJhciBlbCB0b29sdGlwLiAqL1xuICAgIGNvbnN0IHdhdGNoQ2hpcFJlbW92ZWRGcm9tRG9tID0gKCkgPT4ge1xuICAgICAgY29uc3QgcGFyZW50ID0gY2hpcC5wYXJlbnROb2RlXG4gICAgICBpZiAoIXBhcmVudCkgcmV0dXJuXG4gICAgICBjaGlwUmVtb3ZlZE9ic2VydmVyPy5kaXNjb25uZWN0KClcbiAgICAgIGNoaXBSZW1vdmVkT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiB7XG4gICAgICAgIGlmICghY2hpcC5pc0Nvbm5lY3RlZCkgcmVtb3ZlVXNlclRvb2x0aXAoKVxuICAgICAgfSlcbiAgICAgIGNoaXBSZW1vdmVkT2JzZXJ2ZXIub2JzZXJ2ZShwYXJlbnQsIHsgY2hpbGRMaXN0OiB0cnVlLCBzdWJ0cmVlOiB0cnVlIH0pXG4gICAgfVxuXG4gICAgY2hpcC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgKCkgPT4ge1xuICAgICAgaWYgKHRvb2x0aXBFbCkgcmV0dXJuXG4gICAgICB0b29sdGlwRWwgPSBjcmVhdGVVc2VyVG9vbHRpcEVsKG1lbnRpb24pXG4gICAgICBjb25zdCByZWN0ID0gY2hpcC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgICAgY29uc3QgbGVmdCA9IE1hdGgubWF4KDgsIE1hdGgubWluKHdpbmRvdy5pbm5lcldpZHRoIC0gMzAwLCByZWN0LmxlZnQpKVxuICAgICAgdG9vbHRpcEVsLnN0eWxlLnRvcCA9IGAke3JlY3QudG9wfXB4YFxuICAgICAgdG9vbHRpcEVsLnN0eWxlLmxlZnQgPSBgJHtsZWZ0fXB4YFxuICAgICAgdG9vbHRpcEVsLnN0eWxlLnRyYW5zZm9ybSA9ICd0cmFuc2xhdGVZKGNhbGMoLTEwMCUgLSA0cHgpKSdcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodG9vbHRpcEVsKVxuICAgICAgd2F0Y2hDaGlwUmVtb3ZlZEZyb21Eb20oKVxuICAgIH0pXG5cbiAgICBjaGlwLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCByZW1vdmVVc2VyVG9vbHRpcClcbiAgfVxuXG4gIHJldHVybiBjaGlwXG59XG4i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
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { ContextMentionChip } from './ContextMentionChip';
|
|
2
|
+
export { buildChipElement } from './buildChipElement';
|
|
3
|
+
export { MENTION_CHIP_COLORS, applyMentionChipStyles, ContextMentionChipGlobalStyles, MENTION_CHIP_NON_TASK_HOVER_BG, MENTION_CHIP_TASK_HOVER_BG } from './ContextMentionChip.styles';
|
|
4
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb250ZXh0TWVudGlvbkNoaXAiLCJidWlsZENoaXBFbGVtZW50IiwiTUVOVElPTl9DSElQX0NPTE9SUyIsImFwcGx5TWVudGlvbkNoaXBTdHlsZXMiLCJDb250ZXh0TWVudGlvbkNoaXBHbG9iYWxTdHlsZXMiLCJNRU5USU9OX0NISVBfTk9OX1RBU0tfSE9WRVJfQkciLCJNRU5USU9OX0NISVBfVEFTS19IT1ZFUl9CRyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0NvbnRleHRNZW50aW9uQ2hpcC9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBDb250ZXh0TWVudGlvbkNoaXAgfSBmcm9tICcuL0NvbnRleHRNZW50aW9uQ2hpcCdcbmV4cG9ydCB7IGJ1aWxkQ2hpcEVsZW1lbnQgfSBmcm9tICcuL2J1aWxkQ2hpcEVsZW1lbnQnXG5leHBvcnQge1xuICBNRU5USU9OX0NISVBfQ09MT1JTLFxuICBhcHBseU1lbnRpb25DaGlwU3R5bGVzLFxuICBDb250ZXh0TWVudGlvbkNoaXBHbG9iYWxTdHlsZXMsXG4gIE1FTlRJT05fQ0hJUF9OT05fVEFTS19IT1ZFUl9CRyxcbiAgTUVOVElPTl9DSElQX1RBU0tfSE9WRVJfQkcsXG59IGZyb20gJy4vQ29udGV4dE1lbnRpb25DaGlwLnN0eWxlcydcbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0Esa0JBQWtCLFFBQVEsc0JBQXNCO0FBQ3pELFNBQVNDLGdCQUFnQixRQUFRLG9CQUFvQjtBQUNyRCxTQUNFQyxtQkFBbUIsRUFDbkJDLHNCQUFzQixFQUN0QkMsOEJBQThCLEVBQzlCQyw4QkFBOEIsRUFDOUJDLDBCQUEwQixRQUNyQiw2QkFBNkIiLCJpZ25vcmVMaXN0IjpbXX0=
|