@projectcor/maia-components 2.45.0 → 2.45.1-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 +44 -19
- package/lib/components/atoms/ActionableButton.spec.js +111 -0
- package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.spec.js +52 -0
- package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.utils.spec.js +11 -0
- package/lib/components/atoms/ApprovalBox/ApprovalBox.spec.js +135 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCard.spec.js +123 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.helpers.js +65 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.helpers.spec.js +66 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.js +5 -51
- package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.spec.js +211 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardImage.spec.js +78 -0
- package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.helpers.js +55 -0
- package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.helpers.spec.js +41 -0
- package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.js +18 -76
- package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.spec.js +253 -0
- package/lib/components/atoms/AttachmentPreviewModal/ExcelPreview.spec.js +80 -0
- package/lib/components/atoms/AttachmentPreviewModal/PptPreview.helpers.js +31 -0
- package/lib/components/atoms/AttachmentPreviewModal/PptPreview.helpers.spec.js +33 -0
- package/lib/components/atoms/AttachmentPreviewModal/PptPreview.js +3 -31
- package/lib/components/atoms/AttachmentPreviewModal/PptPreview.spec.js +25 -0
- package/lib/components/atoms/AttachmentPreviewModal/WordPreview.helpers.js +4 -0
- package/lib/components/atoms/AttachmentPreviewModal/WordPreview.helpers.spec.js +11 -0
- package/lib/components/atoms/AttachmentPreviewModal/WordPreview.js +2 -4
- package/lib/components/atoms/AttachmentPreviewModal/WordPreview.spec.js +77 -0
- package/lib/components/atoms/Backdrop/Backdrop.spec.js +28 -0
- package/lib/components/atoms/CardMenu/CardMenu.spec.js +56 -0
- package/lib/components/atoms/ChatClientSelector/ChatClientSelector.spec.js +67 -0
- package/lib/components/atoms/Checkbox/Checkbox.spec.js +27 -0
- package/lib/components/atoms/Chip/Chip.spec.js +82 -0
- package/lib/components/atoms/ChipLlm/ChipLlm.spec.js +26 -0
- package/lib/components/atoms/ClientSelector/ClientSelector.spec.js +88 -0
- package/lib/components/atoms/ContextMentionChip/ContextMentionChip.spec.js +29 -0
- package/lib/components/atoms/ContextMentionChip/MentionOverflowLabel.spec.js +46 -0
- package/lib/components/atoms/ContextMentionChip/buildChipElement.helpers.js +227 -0
- package/lib/components/atoms/ContextMentionChip/buildChipElement.helpers.spec.js +77 -0
- package/lib/components/atoms/ContextMentionChip/buildChipElement.js +15 -255
- package/lib/components/atoms/ContextMentionChip/buildChipElement.spec.js +81 -0
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.helpers.js +31 -0
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.helpers.spec.js +48 -0
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +5 -34
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.spec.js +231 -0
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.spec.js +107 -0
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.spec.js +136 -0
- package/lib/components/atoms/CopyToClipboard.spec.js +74 -0
- package/lib/components/atoms/EditableLabel/EditableLabel.spec.js +76 -0
- package/lib/components/atoms/EntitySelector/EntitySelector.spec.js +86 -0
- package/lib/components/atoms/Expand/Expand.spec.js +57 -0
- package/lib/components/atoms/Fade/Fade.spec.js +31 -0
- package/lib/components/atoms/FeedbackButton/FeedbackButton.spec.js +75 -0
- package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.spec.js +104 -0
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +3 -1
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.spec.js +91 -0
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +19 -7
- package/lib/components/atoms/HelpButton.spec.js +87 -0
- package/lib/components/atoms/ImagePreview/ImagePreview.spec.js +96 -0
- package/lib/components/atoms/ListMenuOption/ListMenuOption.spec.js +54 -0
- package/lib/components/atoms/LoadingFaqs/LoadingFaqs.spec.js +21 -0
- package/lib/components/atoms/LoadingSearchClients/LoadingSearchClients.spec.js +20 -0
- package/lib/components/atoms/LoadingSearchProjects/LoadingSearchProjects.spec.js +26 -0
- package/lib/components/atoms/LoadingText/LoadingText.spec.js +25 -0
- package/lib/components/atoms/MAIAButton/MAIAButton.spec.js +42 -0
- package/lib/components/atoms/MAIAError/MAIAError.spec.js +27 -0
- package/lib/components/atoms/MAIAInput/MAIAInput.helpers.js +12 -0
- package/lib/components/atoms/MAIAInput/MAIAInput.helpers.spec.js +26 -0
- package/lib/components/atoms/MAIAInput/MAIAInput.js +8 -12
- package/lib/components/atoms/MAIAInput/MAIAInput.spec.js +444 -0
- package/lib/components/atoms/MAIAInput/MAIAInputEditor.helpers.js +50 -0
- package/lib/components/atoms/MAIAInput/MAIAInputEditor.helpers.spec.js +20 -0
- package/lib/components/atoms/MAIAInput/MAIAInputEditor.js +8 -60
- package/lib/components/atoms/MAIAInput/MAIAInputEditor.spec.js +53 -0
- package/lib/components/atoms/MAIAInput/maiaInputLayout.spec.js +22 -0
- package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.spec.js +64 -0
- package/lib/components/atoms/MaiaWrapper/MaiaWrapper.spec.js +43 -0
- package/lib/components/atoms/MaiaWrapper/MaiaWrapperBase.spec.js +114 -0
- package/lib/components/atoms/MaiaWrapper/ModernMaiaWrapper.spec.js +51 -0
- package/lib/components/atoms/ModalClientAccess/ModalClientAccess.spec.js +48 -0
- package/lib/components/atoms/ModalProject/ModalProject.spec.js +66 -0
- package/lib/components/atoms/NextPageLoader.spec.js +37 -0
- package/lib/components/atoms/OnboardingModalButton/OnboardingModal.spec.js +20 -0
- package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.helpers.js +17 -0
- package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.helpers.spec.js +35 -0
- package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.js +3 -15
- package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.spec.js +47 -0
- package/lib/components/atoms/OptionAccessibility/OptionAccessibility.spec.js +86 -0
- package/lib/components/atoms/PrimaryButton.spec.js +42 -0
- package/lib/components/atoms/ProjectSelector/ProjectSelector.spec.js +69 -0
- package/lib/components/atoms/ReasoningBlock/ReasoningBlock.js +7 -2
- package/lib/components/atoms/ReasoningBlock/ReasoningBlock.spec.js +69 -0
- package/lib/components/atoms/ReasoningBlock/ReasoningBlock.styles.js +41 -24
- package/lib/components/atoms/ReasoningBlock/ReasoningSteps.js +27 -13
- package/lib/components/atoms/ReasoningBlock/ReasoningSteps.spec.js +59 -0
- package/lib/components/atoms/ReasoningBlock/ReasoningTimeline.js +79 -52
- package/lib/components/atoms/ReasoningBlock/ReasoningTimeline.spec.js +170 -0
- package/lib/components/atoms/ReasoningBlock/groupParallelSteps.js +9 -11
- package/lib/components/atoms/ReasoningBlock/groupParallelSteps.spec.js +199 -0
- package/lib/components/atoms/ReasoningBlock/reasoningLeading.js +6 -1
- package/lib/components/atoms/ReasoningBlock/reasoningLeading.spec.js +70 -0
- package/lib/components/atoms/ReasoningBlock/reasoningLiveNarration.js +36 -15
- package/lib/components/atoms/ReasoningBlock/reasoningLiveNarration.spec.js +120 -0
- package/lib/components/atoms/ReasoningBlock/reasoningMotion.js +8 -0
- package/lib/components/atoms/ReasoningBlock/reasoningTimeline.helpers.js +10 -0
- package/lib/components/atoms/ReasoningBlock/reasoningTimeline.helpers.spec.js +31 -0
- package/lib/components/atoms/ReasoningBlock/useCollapsibleHeight.js +52 -0
- package/lib/components/atoms/ReasoningBlock/useCollapsibleHeight.spec.js +90 -0
- package/lib/components/atoms/ReasoningBlock/useReasoningMarkerHandoff.js +29 -0
- package/lib/components/atoms/ReasoningBlock/useReasoningMarkerHandoff.spec.js +38 -0
- package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.spec.js +16 -0
- package/lib/components/atoms/SkillsDropdown/SkillsDropdown.spec.js +107 -0
- package/lib/components/atoms/SlashCommandChip/SlashCommandChip.spec.js +24 -0
- package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.spec.js +85 -0
- package/lib/components/atoms/Switch/Switch.spec.js +41 -0
- package/lib/components/atoms/TextArea/CustomTextArea.spec.js +52 -0
- package/lib/components/atoms/TextArea/TextArea.spec.js +68 -0
- package/lib/components/atoms/ThirdButton.spec.js +29 -0
- package/lib/components/atoms/VideoModal/VideoModal.spec.js +68 -0
- package/lib/components/atoms/WithAppCfg.spec.js +60 -0
- package/lib/components/index.js +2 -1
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.helpers.js +37 -0
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.helpers.spec.js +53 -0
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +5 -29
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.spec.js +371 -0
- package/lib/components/molecules/AbmSection/AbmGeneralSection.helpers.js +39 -0
- package/lib/components/molecules/AbmSection/AbmGeneralSection.helpers.spec.js +57 -0
- package/lib/components/molecules/AbmSection/AbmGeneralSection.js +6 -40
- package/lib/components/molecules/AbmSection/AbmGeneralSection.spec.js +227 -0
- package/lib/components/molecules/AbmSection/AbmKnowledgeSection.helpers.js +86 -0
- package/lib/components/molecules/AbmSection/AbmKnowledgeSection.helpers.spec.js +108 -0
- package/lib/components/molecules/AbmSection/AbmKnowledgeSection.js +18 -90
- package/lib/components/molecules/AbmSection/AbmKnowledgeSection.spec.js +254 -0
- package/lib/components/molecules/AbmSection/AbmLoaderFiles.helpers.js +17 -0
- package/lib/components/molecules/AbmSection/AbmLoaderFiles.helpers.spec.js +50 -0
- package/lib/components/molecules/AbmSection/AbmLoaderFiles.js +5 -15
- package/lib/components/molecules/AbmSection/AbmLoaderFiles.spec.js +94 -0
- package/lib/components/molecules/AgentInputBlock/AgentInputBlockMessage.js +83 -0
- package/lib/components/molecules/AgentInputBlock/AgentInputBlockMessage.styles.js +30 -0
- package/lib/components/molecules/AgentInputBlock/index.js +5 -0
- package/lib/components/molecules/AgentInputBlock/resolveAgentInputBlock.js +52 -0
- package/lib/components/molecules/AgentInputBlock/resolveAgentInputBlock.spec.js +76 -0
- package/lib/components/molecules/AgentInputBlock/resolveLegacyContextSession.js +20 -0
- package/lib/components/molecules/AgentInputBlock/resolveLegacyContextSession.spec.js +34 -0
- package/lib/components/molecules/AgentInputBlock/useAgentChangeModelAction.js +36 -0
- package/lib/components/molecules/ChatAIClientSelector/ChatAIClientSelector.spec.js +66 -0
- package/lib/components/molecules/ChatAIContent/ChatAIContent.js +7 -3
- package/lib/components/molecules/ChatAIContent/ChatAIContent.spec.js +145 -0
- package/lib/components/molecules/ChatAIHistory/ChatAIHistory.spec.js +204 -0
- package/lib/components/molecules/ChatAIHome/ChatAIHome.js +21 -6
- package/lib/components/molecules/ChatAIHome/ChatAIHome.spec.js +246 -0
- package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.spec.js +86 -0
- package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.spec.js +104 -0
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.helpers.js +54 -0
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.helpers.spec.js +77 -0
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +19 -47
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.spec.js +410 -0
- package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.spec.js +46 -0
- package/lib/components/molecules/ChatAIMessages/newStyles.js +29 -26
- package/lib/components/molecules/ChatAIModal/ChatAIModal.helpers.js +147 -4
- package/lib/components/molecules/ChatAIModal/ChatAIModal.helpers.spec.js +471 -0
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +64 -108
- package/lib/components/molecules/ChatAIModal/ChatAIModal.spec.js +659 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.helpers.js +5 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.helpers.spec.js +33 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.js +3 -2
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.spec.js +116 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +15 -153
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.spec.js +134 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +2 -26
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.helpers.js +30 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.helpers.spec.js +95 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +76 -86
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.spec.js +241 -0
- package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.spec.js +37 -0
- package/lib/components/molecules/ChatAIModal/constants.spec.js +16 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.spec.js +22 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/useFloatingPanelDragTilt.spec.js +67 -0
- package/lib/components/molecules/ChatAIModal/layout.spec.js +72 -0
- package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.spec.js +172 -0
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.spec.js +128 -0
- package/lib/components/molecules/ChatAIProjectSelector/ChatAIProjectSelector.spec.js +66 -0
- package/lib/components/molecules/ChatFooter/ChatFooter.js +10 -4
- package/lib/components/molecules/ChatFooter/ChatFooter.spec.js +369 -0
- package/lib/components/molecules/ChatFooter/ChatFooterCorAccess.spec.js +10 -0
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.helpers.js +48 -0
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.helpers.spec.js +82 -0
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +9 -44
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.spec.js +139 -0
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.spec.js +84 -0
- package/lib/components/molecules/MessageFeedback/MessageFeedback.spec.js +116 -0
- package/lib/components/molecules/ProjectSummaryChat/ProjectSummaryChat.spec.js +126 -0
- package/lib/components/molecules/ProjectSummaryConfig/ProjectSummaryConfig.spec.js +115 -0
- package/lib/components/molecules/ProjectSummaryContent/ProjectSummaryContent.spec.js +79 -0
- package/lib/components/molecules/ProjectSummaryModal/ProjectSummaryModal.spec.js +37 -0
- package/lib/components/molecules/Sidebar/Sidebar.js +41 -23
- package/lib/components/molecules/Sidebar/Sidebar.spec.js +453 -0
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.helpers.js +198 -0
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.helpers.spec.js +385 -0
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +56 -171
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.spec.js +1125 -0
- package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.spec.js +112 -0
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.spec.js +405 -0
- package/lib/components/organisms/ChatAI/ChatAI.spec.js +174 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPage.js +525 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPage.spec.js +231 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPage.styles.js +16 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.js +253 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.spec.js +139 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.styles.js +13 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHome.js +275 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHome.spec.js +275 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHome.styles.js +195 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHomeActionCardSlot.js +94 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHomeActionCardSlot.spec.js +69 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHomeActionCards.skeleton.js +38 -0
- package/lib/components/organisms/ChatAIPage/getDaypart.js +9 -0
- package/lib/components/organisms/ChatAIPage/getDaypart.spec.js +19 -0
- package/lib/components/organisms/ChatAIPage/index.js +3 -0
- package/lib/components/organisms/ClientAIButton/ClientAIButton.spec.js +53 -0
- package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.spec.js +59 -0
- package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.spec.js +79 -0
- package/lib/components/organisms/EditQuestionModal/EditQuestionModal.spec.js +86 -0
- package/lib/components/organisms/ModalFileExceeds/ModalFileExceeds.spec.js +49 -0
- package/lib/components/organisms/ProjectAIButton/ProjectAIButton.spec.js +67 -0
- package/lib/components/organisms/ProjectSummary/ProjectSummary.spec.js +117 -0
- package/lib/components/organisms/SnackBar/Snackbar.spec.js +66 -0
- package/lib/components/organisms/SourcesInformation/SourceItem.spec.js +19 -0
- package/lib/components/organisms/SourcesInformation/SourcesInformationModal.spec.js +52 -0
- package/lib/constants/maiaExternalConnectorsAccess.spec.js +29 -0
- package/lib/constants/permissions/index.js +2 -2
- package/lib/constants/permissions/utils.js +4 -1
- package/lib/constants/permissions/utils.spec.js +128 -0
- package/lib/dev/DevMaiaPage.js +30 -0
- package/lib/dev/DevReasoningTimeline.js +68 -37
- package/lib/dev/Providers.js +5 -3
- package/lib/hooks/frequentlyUsedActionsCache.js +17 -0
- package/lib/hooks/frequentlyUsedActionsCache.spec.js +25 -0
- package/lib/hooks/useAccessClient/useAccessClient.spec.js +149 -0
- package/lib/hooks/useAgentModel/useAgentModel.spec.js +83 -0
- package/lib/hooks/useAgentModel/useCreateAgent.spec.js +231 -0
- package/lib/hooks/useAgentModel/useDeleteAgent.spec.js +183 -0
- package/lib/hooks/useAgentModel/useUpdateAgent.spec.js +313 -0
- package/lib/hooks/useAgentSuggestions.spec.js +89 -0
- package/lib/hooks/useCaretPosition.spec.js +58 -0
- package/lib/hooks/useChatManager/useChatManager.helpers.js +353 -0
- package/lib/hooks/useChatManager/useChatManager.helpers.spec.js +506 -0
- package/lib/hooks/useChatManager/useChatManager.js +76 -351
- package/lib/hooks/useChatManager/useChatManager.spec.js +1261 -0
- package/lib/hooks/useChatMessages/useChatMessages.helpers.js +109 -0
- package/lib/hooks/useChatMessages/useChatMessages.helpers.spec.js +176 -0
- package/lib/hooks/useChatMessages/useChatMessages.js +12 -82
- package/lib/hooks/useChatMessages/useChatMessages.spec.js +379 -0
- package/lib/hooks/useChats/useChats.spec.js +208 -0
- package/lib/hooks/useClientSearch.helpers.js +36 -0
- package/lib/hooks/useClientSearch.helpers.spec.js +52 -0
- package/lib/hooks/useClientSearch.js +4 -32
- package/lib/hooks/useClientSearch.spec.js +86 -0
- package/lib/hooks/useContextMentions.helpers.js +152 -0
- package/lib/hooks/useContextMentions.helpers.spec.js +143 -0
- package/lib/hooks/useContextMentions.js +2 -163
- package/lib/hooks/useContextMentions.spec.js +239 -0
- package/lib/hooks/useContextMentions.types.js +2 -0
- package/lib/hooks/useContextPinPopover.helpers.js +95 -0
- package/lib/hooks/useContextPinPopover.helpers.spec.js +115 -0
- package/lib/hooks/useContextPinPopover.js +16 -75
- package/lib/hooks/useContextPinPopover.spec.js +159 -0
- package/lib/hooks/useContinueLegacyContextInNewChat/index.js +2 -0
- package/lib/hooks/useContinueLegacyContextInNewChat/useContinueLegacyContextInNewChat.js +93 -0
- package/lib/hooks/useDebounce.spec.js +42 -0
- package/lib/hooks/useEntitySearch.helpers.js +359 -0
- package/lib/hooks/useEntitySearch.helpers.spec.js +321 -0
- package/lib/hooks/useEntitySearch.js +38 -391
- package/lib/hooks/useEntitySearch.spec.js +443 -0
- package/lib/hooks/useEvent.spec.js +45 -0
- package/lib/hooks/useFrequentlyAskedQuestions.spec.js +222 -0
- package/lib/hooks/useFrequentlyUsedActions.js +60 -22
- package/lib/hooks/useFrequentlyUsedActions.spec.js +135 -0
- package/lib/hooks/useIsMaiaPageRoute.js +26 -0
- package/lib/hooks/useIsMaiaPageRoute.spec.js +26 -0
- package/lib/hooks/useKnowledge/deleteKnowledge.spec.js +122 -0
- package/lib/hooks/useKnowledge/downloadKnowledge.spec.js +148 -0
- package/lib/hooks/useKnowledge/saveKnowledge.spec.js +104 -0
- package/lib/hooks/useKnowledge/useKnowledgeOperations.spec.js +178 -0
- package/lib/hooks/useMaiaChatSessionMeta/index.js +2 -0
- package/lib/hooks/useMaiaChatSessionMeta/useMaiaChatSessionMeta.js +24 -0
- package/lib/hooks/useMentionAllowedTypes.spec.js +89 -0
- package/lib/hooks/useMentionPopover.helpers.js +41 -0
- package/lib/hooks/useMentionPopover.helpers.spec.js +71 -0
- package/lib/hooks/useMentionPopover.js +9 -35
- package/lib/hooks/useMentionPopover.spec.js +215 -0
- package/lib/hooks/useMinimizedPillBottomOffset.helpers.js +47 -0
- package/lib/hooks/useMinimizedPillBottomOffset.helpers.spec.js +132 -0
- package/lib/hooks/useMinimizedPillBottomOffset.js +15 -45
- package/lib/hooks/useMinimizedPillBottomOffset.spec.js +89 -0
- package/lib/hooks/useMinimizedPillNoveltyDot/useMinimizedPillNoveltyDot.spec.js +67 -0
- package/lib/hooks/useModal/useModal.spec.js +73 -0
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.spec.js +192 -0
- package/lib/hooks/useProjectSearch.helpers.js +61 -0
- package/lib/hooks/useProjectSearch.helpers.spec.js +70 -0
- package/lib/hooks/useProjectSearch.js +4 -58
- package/lib/hooks/useProjectSearch.spec.js +91 -0
- package/lib/hooks/useProjectSummary.spec.js +193 -0
- package/lib/hooks/useProjectSummaryConfig.helpers.js +62 -0
- package/lib/hooks/useProjectSummaryConfig.helpers.spec.js +92 -0
- package/lib/hooks/useProjectSummaryConfig.js +14 -52
- package/lib/hooks/useProjectSummaryConfig.spec.js +133 -0
- package/lib/hooks/useReasoningTrace/reasoningStore.spec.js +112 -0
- package/lib/hooks/useRecentClientsSearch.helpers.js +33 -0
- package/lib/hooks/useRecentClientsSearch.helpers.spec.js +33 -0
- package/lib/hooks/useRecentClientsSearch.js +4 -32
- package/lib/hooks/useRecentClientsSearch.spec.js +85 -0
- package/lib/hooks/useRecentContexts.spec.js +139 -0
- package/lib/hooks/useResize.spec.js +37 -0
- package/lib/hooks/useSkillsCatalog.spec.js +88 -0
- package/lib/hooks/useSlashCommands.spec.js +139 -0
- package/lib/hooks/useSmoothStreamText/useSmoothStreamText.spec.js +101 -0
- package/lib/hooks/useSnackBarManager/useSnackBarManager.spec.js +33 -0
- package/lib/hooks/useStreamResponse.spec.js +199 -0
- package/lib/hooks/useT.spec.js +20 -0
- package/lib/hooks/useToggle.spec.js +33 -0
- package/lib/hooks/useToggleFavorite/useToggleFavorite.spec.js +171 -0
- package/lib/index.js +5 -2
- package/lib/lang/br/index.js +26 -1
- package/lib/lang/en/index.js +26 -1
- package/lib/lang/es/index.js +26 -1
- package/lib/lang/fr/index.js +26 -1
- package/lib/services/maia/Access/updateAccess.spec.js +137 -0
- package/lib/services/maia/Actions/getFrequentlyUsedActions.js +1 -1
- package/lib/services/maia/Actions/getFrequentlyUsedActions.spec.js +56 -0
- package/lib/services/maia/Actions/getSlashCommands.spec.js +91 -0
- package/lib/services/maia/Agents/connectors.spec.js +359 -0
- package/lib/services/maia/Agents/createAgent.spec.js +55 -0
- package/lib/services/maia/Agents/deleteAgent.spec.js +57 -0
- package/lib/services/maia/Agents/fetchAgentDetail.spec.js +108 -0
- package/lib/services/maia/Agents/getAgentById.spec.js +190 -0
- package/lib/services/maia/Agents/getAgentModels.spec.js +190 -0
- package/lib/services/maia/Agents/getAgentSuggestions.spec.js +89 -0
- package/lib/services/maia/Agents/getAgents.helpers.js +181 -0
- package/lib/services/maia/Agents/getAgents.helpers.spec.js +211 -0
- package/lib/services/maia/Agents/getAgents.js +78 -242
- package/lib/services/maia/Agents/getAgents.spec.js +697 -0
- package/lib/services/maia/Agents/setAgentToolGroups.spec.js +45 -0
- package/lib/services/maia/Agents/toggleFavorite.spec.js +59 -0
- package/lib/services/maia/Agents/updateAgent.spec.js +48 -0
- package/lib/services/maia/Chats/deleteChat.spec.js +31 -0
- package/lib/services/maia/Chats/getChatMessages.spec.js +150 -0
- package/lib/services/maia/Chats/getChatsByUserId.spec.js +149 -0
- package/lib/services/maia/Chats/markSessionAsRead.spec.js +30 -0
- package/lib/services/maia/Chats/patchChat.spec.js +41 -0
- package/lib/services/maia/Chats/wasHelpfulChat.spec.js +28 -0
- package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.spec.js +58 -0
- package/lib/services/maia/Knowledge/delete.spec.js +45 -0
- package/lib/services/maia/Knowledge/download.spec.js +78 -0
- package/lib/services/maia/Knowledge/save.spec.js +58 -0
- package/lib/services/maia/Orchestrator/orchestrator.helpers.js +130 -0
- package/lib/services/maia/Orchestrator/orchestrator.helpers.spec.js +153 -0
- package/lib/services/maia/Orchestrator/orchestrator.js +38 -121
- package/lib/services/maia/Orchestrator/orchestrator.spec.js +181 -0
- package/lib/services/maia/RecentClients/getRecentClients.spec.js +52 -0
- package/lib/services/maia/RecentContexts/getRecentContexts.spec.js +103 -0
- package/lib/services/maia/RecentProjects/getRecentProjects.spec.js +82 -0
- package/lib/services/maia/RecentTasks/getRecentTasks.spec.js +63 -0
- package/lib/services/maia/RecentUsers/getRecentUsers.spec.js +82 -0
- package/lib/services/maia/Skills/createSkill.spec.js +68 -0
- package/lib/services/maia/Skills/deleteSkill.spec.js +42 -0
- package/lib/services/maia/Skills/generateSkill.spec.js +48 -0
- package/lib/services/maia/Skills/getSkills.spec.js +152 -0
- package/lib/services/maia/Skills/updateSkill.spec.js +62 -0
- package/lib/services/maia/client.spec.js +56 -0
- package/lib/services/utils/fetchCOR.spec.js +211 -0
- package/lib/services/utils/getCookie.spec.js +20 -0
- package/lib/services/utils/mapChatMessages.spec.js +254 -0
- package/lib/store/chatsSidebarOptimistic.spec.js +112 -0
- package/lib/store/maiaLastChatPersistence.spec.js +22 -0
- package/lib/store/maiaPanelSessionPersistence.spec.js +62 -0
- package/lib/store/sessions/sessionNotificationSound.spec.js +145 -0
- package/lib/store/sessions/sessionNotifications.helpers.js +45 -0
- package/lib/store/sessions/sessionNotifications.helpers.spec.js +63 -0
- package/lib/store/sessions/sessionNotifications.js +35 -41
- package/lib/store/sessions/sessionNotifications.spec.js +106 -0
- package/lib/store/sessions/sessionStreamManager.js +40 -52
- package/lib/store/sessions/sessionStreamManager.spec.js +503 -0
- package/lib/store/sessions/sessions.types.spec.js +16 -0
- package/lib/store/sessions/useSessionsStore.spec.js +135 -0
- package/lib/store/useChatsStore.spec.js +619 -0
- package/lib/store/useFaqsStore.spec.js +57 -0
- package/lib/styles/cascade.js +29 -3
- package/lib/styles/transitions.js +3 -1
- package/lib/test/mockSseStream.js +121 -0
- package/lib/test/streamdownCodeMock.js +6 -0
- package/lib/test/streamdownMock.js +12 -0
- package/lib/types/agentModal.js +1 -1
- package/lib/types/global.d.js +1 -1
- package/lib/utils/actionCategoryMap.spec.js +18 -0
- package/lib/utils/agentDisplayName.spec.js +44 -0
- package/lib/utils/autoApproveStorage.spec.js +25 -0
- package/lib/utils/chatInputFiles.spec.js +39 -0
- package/lib/utils/contextMentionIcons.spec.js +41 -0
- package/lib/utils/contextMentionLabel.spec.js +13 -0
- package/lib/utils/contextMentionTriggers.spec.js +38 -0
- package/lib/utils/contextMentionTypeLabel.spec.js +14 -0
- package/lib/utils/corConnectorMentionTypes.spec.js +23 -0
- package/lib/utils/entityLinkRender.spec.js +72 -0
- package/lib/utils/fileDownloadHelper.spec.js +67 -0
- package/lib/utils/formatQuickActionMessage.spec.js +27 -0
- package/lib/utils/formatUnreadCount.spec.js +12 -0
- package/lib/utils/getUnitFileSize.spec.js +18 -0
- package/lib/utils/hitlAnalytics.spec.js +100 -0
- package/lib/utils/hoursPlannerQuickActionType.js +74 -1
- package/lib/utils/hoursPlannerQuickActionType.spec.js +64 -0
- package/lib/utils/imagePreprocessor.helpers.js +28 -0
- package/lib/utils/imagePreprocessor.helpers.spec.js +28 -0
- package/lib/utils/imagePreprocessor.js +12 -37
- package/lib/utils/imagePreprocessor.spec.js +112 -0
- package/lib/utils/maiaPageRoute.js +24 -0
- package/lib/utils/maiaPageRoute.spec.js +23 -0
- package/lib/utils/mapBackendLang.spec.js +19 -0
- package/lib/utils/navigateContextEntity.spec.js +50 -0
- package/lib/utils/normalizeAgentConnectors.spec.js +107 -0
- package/lib/utils/orchestratorSubagents.spec.js +32 -0
- package/lib/utils/reasoningMappers.spec.js +103 -0
- package/lib/utils/recentContextsHomeLimit.spec.js +32 -0
- package/lib/utils/renderContextMentions.spec.js +158 -0
- package/lib/utils/retryCompletion.spec.js +99 -0
- package/lib/utils/skillContentSize.spec.js +13 -0
- package/lib/utils/slashCommandMarker.spec.js +43 -0
- package/lib/utils/sortManagerHoursHomeFuas.spec.js +51 -0
- package/lib/utils/sseStreamContent.spec.js +31 -0
- package/lib/utils/streamActivityMessages.js +32 -19
- package/lib/utils/streamActivityMessages.spec.js +229 -0
- package/lib/utils/validateTrimmedFields.spec.js +26 -0
- package/package.json +1 -1
- package/README.md +0 -2
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { fireEvent, renderWithProviders, screen } from '../../../test/test-utils';
|
|
2
|
+
import { ModalFileExceeds } from './ModalFileExceeds';
|
|
3
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
|
+
jest.mock('../../../hooks/useMaiaTaskPanelZIndex', function () {
|
|
5
|
+
return {
|
|
6
|
+
useMaiaTaskPanelZIndex: function useMaiaTaskPanelZIndex() {
|
|
7
|
+
return 1200;
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
});
|
|
11
|
+
describe('ModalFileExceeds', function () {
|
|
12
|
+
beforeEach(function () {
|
|
13
|
+
if (!document.getElementById('modal-root-actions')) {
|
|
14
|
+
var root = document.createElement('div');
|
|
15
|
+
root.id = 'modal-root-actions';
|
|
16
|
+
document.body.appendChild(root);
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
it('renders exceeded chat files with formatted limits', function () {
|
|
20
|
+
var onClose = jest.fn();
|
|
21
|
+
renderWithProviders(/*#__PURE__*/_jsx(ModalFileExceeds, {
|
|
22
|
+
onClose: onClose,
|
|
23
|
+
excludedFiles: [],
|
|
24
|
+
exceededFiles: ['report.pdf'],
|
|
25
|
+
fileSizes: {
|
|
26
|
+
'report.pdf': 12 * 1024 * 1024
|
|
27
|
+
},
|
|
28
|
+
section: "chat"
|
|
29
|
+
}));
|
|
30
|
+
expect(screen.getByText(/report\.pdf/)).toBeInTheDocument();
|
|
31
|
+
expect(screen.getByText('modalFileExceeds.limitSizeTitle')).toBeInTheDocument();
|
|
32
|
+
fireEvent.click(screen.getByRole('button', {
|
|
33
|
+
name: 'modalFileExceeds.accept'
|
|
34
|
+
}));
|
|
35
|
+
expect(onClose).toHaveBeenCalled();
|
|
36
|
+
});
|
|
37
|
+
it('shows ABM invalid extension copy when provided', function () {
|
|
38
|
+
renderWithProviders(/*#__PURE__*/_jsx(ModalFileExceeds, {
|
|
39
|
+
onClose: jest.fn(),
|
|
40
|
+
excludedFiles: [],
|
|
41
|
+
exceededFiles: [],
|
|
42
|
+
invalidExtensionFiles: ['notes.exe'],
|
|
43
|
+
section: "abm_agent"
|
|
44
|
+
}));
|
|
45
|
+
expect(screen.getByText('notes.exe')).toBeInTheDocument();
|
|
46
|
+
expect(screen.getByText('knowledgeSection.error.invalidExtensionDescription.2')).toBeInTheDocument();
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmaXJlRXZlbnQiLCJyZW5kZXJXaXRoUHJvdmlkZXJzIiwic2NyZWVuIiwiTW9kYWxGaWxlRXhjZWVkcyIsImpzeCIsIl9qc3giLCJqZXN0IiwibW9jayIsInVzZU1haWFUYXNrUGFuZWxaSW5kZXgiLCJkZXNjcmliZSIsImJlZm9yZUVhY2giLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwicm9vdCIsImNyZWF0ZUVsZW1lbnQiLCJpZCIsImJvZHkiLCJhcHBlbmRDaGlsZCIsIml0Iiwib25DbG9zZSIsImZuIiwiZXhjbHVkZWRGaWxlcyIsImV4Y2VlZGVkRmlsZXMiLCJmaWxlU2l6ZXMiLCJzZWN0aW9uIiwiZXhwZWN0IiwiZ2V0QnlUZXh0IiwidG9CZUluVGhlRG9jdW1lbnQiLCJjbGljayIsImdldEJ5Um9sZSIsIm5hbWUiLCJ0b0hhdmVCZWVuQ2FsbGVkIiwiaW52YWxpZEV4dGVuc2lvbkZpbGVzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3JnYW5pc21zL01vZGFsRmlsZUV4Y2VlZHMvTW9kYWxGaWxlRXhjZWVkcy5zcGVjLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaXJlRXZlbnQsIHJlbmRlcldpdGhQcm92aWRlcnMsIHNjcmVlbiB9IGZyb20gJy4uLy4uLy4uL3Rlc3QvdGVzdC11dGlscydcbmltcG9ydCB7IE1vZGFsRmlsZUV4Y2VlZHMgfSBmcm9tICcuL01vZGFsRmlsZUV4Y2VlZHMnXG5cbmplc3QubW9jaygnLi4vLi4vLi4vaG9va3MvdXNlTWFpYVRhc2tQYW5lbFpJbmRleCcsICgpID0+ICh7XG4gIHVzZU1haWFUYXNrUGFuZWxaSW5kZXg6ICgpID0+IDEyMDAsXG59KSlcblxuZGVzY3JpYmUoJ01vZGFsRmlsZUV4Y2VlZHMnLCAoKSA9PiB7XG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIGlmICghZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vZGFsLXJvb3QtYWN0aW9ucycpKSB7XG4gICAgICBjb25zdCByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JylcbiAgICAgIHJvb3QuaWQgPSAnbW9kYWwtcm9vdC1hY3Rpb25zJ1xuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KVxuICAgIH1cbiAgfSlcblxuICBpdCgncmVuZGVycyBleGNlZWRlZCBjaGF0IGZpbGVzIHdpdGggZm9ybWF0dGVkIGxpbWl0cycsICgpID0+IHtcbiAgICBjb25zdCBvbkNsb3NlID0gamVzdC5mbigpXG5cbiAgICByZW5kZXJXaXRoUHJvdmlkZXJzKFxuICAgICAgPE1vZGFsRmlsZUV4Y2VlZHNcbiAgICAgICAgb25DbG9zZT17b25DbG9zZX1cbiAgICAgICAgZXhjbHVkZWRGaWxlcz17W119XG4gICAgICAgIGV4Y2VlZGVkRmlsZXM9e1sncmVwb3J0LnBkZiddfVxuICAgICAgICBmaWxlU2l6ZXM9e3sgJ3JlcG9ydC5wZGYnOiAxMiAqIDEwMjQgKiAxMDI0IH19XG4gICAgICAgIHNlY3Rpb249XCJjaGF0XCJcbiAgICAgIC8+XG4gICAgKVxuXG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoL3JlcG9ydFxcLnBkZi8pKS50b0JlSW5UaGVEb2N1bWVudCgpXG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoJ21vZGFsRmlsZUV4Y2VlZHMubGltaXRTaXplVGl0bGUnKSkudG9CZUluVGhlRG9jdW1lbnQoKVxuXG4gICAgZmlyZUV2ZW50LmNsaWNrKHNjcmVlbi5nZXRCeVJvbGUoJ2J1dHRvbicsIHsgbmFtZTogJ21vZGFsRmlsZUV4Y2VlZHMuYWNjZXB0JyB9KSlcbiAgICBleHBlY3Qob25DbG9zZSkudG9IYXZlQmVlbkNhbGxlZCgpXG4gIH0pXG5cbiAgaXQoJ3Nob3dzIEFCTSBpbnZhbGlkIGV4dGVuc2lvbiBjb3B5IHdoZW4gcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgcmVuZGVyV2l0aFByb3ZpZGVycyhcbiAgICAgIDxNb2RhbEZpbGVFeGNlZWRzXG4gICAgICAgIG9uQ2xvc2U9e2plc3QuZm4oKX1cbiAgICAgICAgZXhjbHVkZWRGaWxlcz17W119XG4gICAgICAgIGV4Y2VlZGVkRmlsZXM9e1tdfVxuICAgICAgICBpbnZhbGlkRXh0ZW5zaW9uRmlsZXM9e1snbm90ZXMuZXhlJ119XG4gICAgICAgIHNlY3Rpb249XCJhYm1fYWdlbnRcIlxuICAgICAgLz5cbiAgICApXG5cbiAgICBleHBlY3Qoc2NyZWVuLmdldEJ5VGV4dCgnbm90ZXMuZXhlJykpLnRvQmVJblRoZURvY3VtZW50KClcbiAgICBleHBlY3Qoc2NyZWVuLmdldEJ5VGV4dCgna25vd2xlZGdlU2VjdGlvbi5lcnJvci5pbnZhbGlkRXh0ZW5zaW9uRGVzY3JpcHRpb24uMicpKS50b0JlSW5UaGVEb2N1bWVudCgpXG4gIH0pXG59KVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxTQUFTLEVBQUVDLG1CQUFtQixFQUFFQyxNQUFNLFFBQVEsMEJBQTBCO0FBQ2pGLFNBQVNDLGdCQUFnQixRQUFRLG9CQUFvQjtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQTtBQUVyREMsSUFBSSxDQUFDQyxJQUFJLENBQUMsdUNBQXVDLEVBQUU7RUFBQSxPQUFPO0lBQ3hEQyxzQkFBc0IsRUFBRSxTQUF4QkEsc0JBQXNCQSxDQUFBO01BQUEsT0FBUSxJQUFJO0lBQUE7RUFDcEMsQ0FBQztBQUFBLENBQUMsQ0FBQztBQUVIQyxRQUFRLENBQUMsa0JBQWtCLEVBQUUsWUFBTTtFQUNqQ0MsVUFBVSxDQUFDLFlBQU07SUFDZixJQUFJLENBQUNDLFFBQVEsQ0FBQ0MsY0FBYyxDQUFDLG9CQUFvQixDQUFDLEVBQUU7TUFDbEQsSUFBTUMsSUFBSSxHQUFHRixRQUFRLENBQUNHLGFBQWEsQ0FBQyxLQUFLLENBQUM7TUFDMUNELElBQUksQ0FBQ0UsRUFBRSxHQUFHLG9CQUFvQjtNQUM5QkosUUFBUSxDQUFDSyxJQUFJLENBQUNDLFdBQVcsQ0FBQ0osSUFBSSxDQUFDO0lBQ2pDO0VBQ0YsQ0FBQyxDQUFDO0VBRUZLLEVBQUUsQ0FBQyxtREFBbUQsRUFBRSxZQUFNO0lBQzVELElBQU1DLE9BQU8sR0FBR2IsSUFBSSxDQUFDYyxFQUFFLENBQUMsQ0FBQztJQUV6Qm5CLG1CQUFtQixjQUNqQkksSUFBQSxDQUFDRixnQkFBZ0I7TUFDZmdCLE9BQU8sRUFBRUEsT0FBUTtNQUNqQkUsYUFBYSxFQUFFLEVBQUc7TUFDbEJDLGFBQWEsRUFBRSxDQUFDLFlBQVksQ0FBRTtNQUM5QkMsU0FBUyxFQUFFO1FBQUUsWUFBWSxFQUFFLEVBQUUsR0FBRyxJQUFJLEdBQUc7TUFBSyxDQUFFO01BQzlDQyxPQUFPLEVBQUM7SUFBTSxDQUNmLENBQ0gsQ0FBQztJQUVEQyxNQUFNLENBQUN2QixNQUFNLENBQUN3QixTQUFTLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQ0MsaUJBQWlCLENBQUMsQ0FBQztJQUMzREYsTUFBTSxDQUFDdkIsTUFBTSxDQUFDd0IsU0FBUyxDQUFDLGlDQUFpQyxDQUFDLENBQUMsQ0FBQ0MsaUJBQWlCLENBQUMsQ0FBQztJQUUvRTNCLFNBQVMsQ0FBQzRCLEtBQUssQ0FBQzFCLE1BQU0sQ0FBQzJCLFNBQVMsQ0FBQyxRQUFRLEVBQUU7TUFBRUMsSUFBSSxFQUFFO0lBQTBCLENBQUMsQ0FBQyxDQUFDO0lBQ2hGTCxNQUFNLENBQUNOLE9BQU8sQ0FBQyxDQUFDWSxnQkFBZ0IsQ0FBQyxDQUFDO0VBQ3BDLENBQUMsQ0FBQztFQUVGYixFQUFFLENBQUMsZ0RBQWdELEVBQUUsWUFBTTtJQUN6RGpCLG1CQUFtQixjQUNqQkksSUFBQSxDQUFDRixnQkFBZ0I7TUFDZmdCLE9BQU8sRUFBRWIsSUFBSSxDQUFDYyxFQUFFLENBQUMsQ0FBRTtNQUNuQkMsYUFBYSxFQUFFLEVBQUc7TUFDbEJDLGFBQWEsRUFBRSxFQUFHO01BQ2xCVSxxQkFBcUIsRUFBRSxDQUFDLFdBQVcsQ0FBRTtNQUNyQ1IsT0FBTyxFQUFDO0lBQVcsQ0FDcEIsQ0FDSCxDQUFDO0lBRURDLE1BQU0sQ0FBQ3ZCLE1BQU0sQ0FBQ3dCLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3pERixNQUFNLENBQUN2QixNQUFNLENBQUN3QixTQUFTLENBQUMsc0RBQXNELENBQUMsQ0FBQyxDQUFDQyxpQkFBaUIsQ0FBQyxDQUFDO0VBQ3RHLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { renderWithProviders, screen } from '../../../test/test-utils';
|
|
2
|
+
import { ProjectAIButton } from './ProjectAIButton';
|
|
3
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
|
+
var _canAccessToChatAI = jest.fn();
|
|
5
|
+
jest.mock('../../../constants/permissions', function () {
|
|
6
|
+
return {
|
|
7
|
+
canAccessToChatAI: function canAccessToChatAI() {
|
|
8
|
+
return _canAccessToChatAI.apply(void 0, arguments);
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
});
|
|
12
|
+
jest.mock('../ChatAI', function () {
|
|
13
|
+
return {
|
|
14
|
+
ChatAI: function ChatAI(_ref) {
|
|
15
|
+
var section = _ref.section,
|
|
16
|
+
entity = _ref.entity;
|
|
17
|
+
return /*#__PURE__*/_jsx("div", {
|
|
18
|
+
"data-testid": "chat-ai",
|
|
19
|
+
"data-section": section,
|
|
20
|
+
"data-project-id": entity.projectId,
|
|
21
|
+
"data-client-id": entity.clientId
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
jest.mock('../ProjectSummary', function () {
|
|
27
|
+
return {
|
|
28
|
+
ProjectSummary: function ProjectSummary(_ref2) {
|
|
29
|
+
var project = _ref2.project;
|
|
30
|
+
return /*#__PURE__*/_jsx("div", {
|
|
31
|
+
"data-testid": "project-summary",
|
|
32
|
+
children: project.name
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
});
|
|
37
|
+
var project = {
|
|
38
|
+
id: 7,
|
|
39
|
+
name: 'Website',
|
|
40
|
+
client: {
|
|
41
|
+
id: 3,
|
|
42
|
+
name: 'Acme'
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
describe('ProjectAIButton', function () {
|
|
46
|
+
beforeEach(function () {
|
|
47
|
+
_canAccessToChatAI.mockReturnValue(true);
|
|
48
|
+
});
|
|
49
|
+
it('renders ChatAI for projects when chat access is enabled', function () {
|
|
50
|
+
renderWithProviders(/*#__PURE__*/_jsx(ProjectAIButton, {
|
|
51
|
+
project: project
|
|
52
|
+
}));
|
|
53
|
+
var chat = screen.getByTestId('chat-ai');
|
|
54
|
+
expect(chat).toHaveAttribute('data-section', 'project');
|
|
55
|
+
expect(chat).toHaveAttribute('data-project-id', '7');
|
|
56
|
+
expect(chat).toHaveAttribute('data-client-id', '3');
|
|
57
|
+
});
|
|
58
|
+
it('falls back to project summary when chat access is disabled', function () {
|
|
59
|
+
_canAccessToChatAI.mockReturnValue(false);
|
|
60
|
+
renderWithProviders(/*#__PURE__*/_jsx(ProjectAIButton, {
|
|
61
|
+
project: project
|
|
62
|
+
}));
|
|
63
|
+
expect(screen.getByTestId('project-summary')).toHaveTextContent('Website');
|
|
64
|
+
expect(screen.queryByTestId('chat-ai')).not.toBeInTheDocument();
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZW5kZXJXaXRoUHJvdmlkZXJzIiwic2NyZWVuIiwiUHJvamVjdEFJQnV0dG9uIiwianN4IiwiX2pzeCIsImNhbkFjY2Vzc1RvQ2hhdEFJIiwiamVzdCIsImZuIiwibW9jayIsImFwcGx5IiwiYXJndW1lbnRzIiwiQ2hhdEFJIiwiX3JlZiIsInNlY3Rpb24iLCJlbnRpdHkiLCJwcm9qZWN0SWQiLCJjbGllbnRJZCIsIlByb2plY3RTdW1tYXJ5IiwiX3JlZjIiLCJwcm9qZWN0IiwiY2hpbGRyZW4iLCJuYW1lIiwiaWQiLCJjbGllbnQiLCJkZXNjcmliZSIsImJlZm9yZUVhY2giLCJtb2NrUmV0dXJuVmFsdWUiLCJpdCIsImNoYXQiLCJnZXRCeVRlc3RJZCIsImV4cGVjdCIsInRvSGF2ZUF0dHJpYnV0ZSIsInRvSGF2ZVRleHRDb250ZW50IiwicXVlcnlCeVRlc3RJZCIsIm5vdCIsInRvQmVJblRoZURvY3VtZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3JnYW5pc21zL1Byb2plY3RBSUJ1dHRvbi9Qcm9qZWN0QUlCdXR0b24uc3BlYy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyV2l0aFByb3ZpZGVycywgc2NyZWVuIH0gZnJvbSAnLi4vLi4vLi4vdGVzdC90ZXN0LXV0aWxzJ1xuaW1wb3J0IHR5cGUgeyBQcm9qZWN0IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvUHJvamVjdCdcbmltcG9ydCB7IFByb2plY3RBSUJ1dHRvbiB9IGZyb20gJy4vUHJvamVjdEFJQnV0dG9uJ1xuXG5jb25zdCBjYW5BY2Nlc3NUb0NoYXRBSSA9IGplc3QuZm4oKVxuXG5qZXN0Lm1vY2soJy4uLy4uLy4uL2NvbnN0YW50cy9wZXJtaXNzaW9ucycsICgpID0+ICh7XG4gIGNhbkFjY2Vzc1RvQ2hhdEFJOiAoLi4uYXJnczogdW5rbm93bltdKSA9PiBjYW5BY2Nlc3NUb0NoYXRBSSguLi5hcmdzKSxcbn0pKVxuXG5qZXN0Lm1vY2soJy4uL0NoYXRBSScsICgpID0+ICh7XG4gIENoYXRBSTogKHsgc2VjdGlvbiwgZW50aXR5IH06IHsgc2VjdGlvbjogc3RyaW5nOyBlbnRpdHk6IHsgcHJvamVjdElkOiBzdHJpbmc7IGNsaWVudElkOiBzdHJpbmcgfCBudWxsIH0gfSkgPT4gKFxuICAgIDxkaXZcbiAgICAgIGRhdGEtdGVzdGlkPVwiY2hhdC1haVwiXG4gICAgICBkYXRhLXNlY3Rpb249e3NlY3Rpb259XG4gICAgICBkYXRhLXByb2plY3QtaWQ9e2VudGl0eS5wcm9qZWN0SWR9XG4gICAgICBkYXRhLWNsaWVudC1pZD17ZW50aXR5LmNsaWVudElkfVxuICAgIC8+XG4gICksXG59KSlcblxuamVzdC5tb2NrKCcuLi9Qcm9qZWN0U3VtbWFyeScsICgpID0+ICh7XG4gIFByb2plY3RTdW1tYXJ5OiAoeyBwcm9qZWN0IH06IHsgcHJvamVjdDogUHJvamVjdCB9KSA9PiA8ZGl2IGRhdGEtdGVzdGlkPVwicHJvamVjdC1zdW1tYXJ5XCI+e3Byb2plY3QubmFtZX08L2Rpdj4sXG59KSlcblxuY29uc3QgcHJvamVjdDogUHJvamVjdCA9IHtcbiAgaWQ6IDcsXG4gIG5hbWU6ICdXZWJzaXRlJyxcbiAgY2xpZW50OiB7IGlkOiAzLCBuYW1lOiAnQWNtZScgfSxcbn1cblxuZGVzY3JpYmUoJ1Byb2plY3RBSUJ1dHRvbicsICgpID0+IHtcbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgY2FuQWNjZXNzVG9DaGF0QUkubW9ja1JldHVyblZhbHVlKHRydWUpXG4gIH0pXG5cbiAgaXQoJ3JlbmRlcnMgQ2hhdEFJIGZvciBwcm9qZWN0cyB3aGVuIGNoYXQgYWNjZXNzIGlzIGVuYWJsZWQnLCAoKSA9PiB7XG4gICAgcmVuZGVyV2l0aFByb3ZpZGVycyg8UHJvamVjdEFJQnV0dG9uIHByb2plY3Q9e3Byb2plY3R9IC8+KVxuXG4gICAgY29uc3QgY2hhdCA9IHNjcmVlbi5nZXRCeVRlc3RJZCgnY2hhdC1haScpXG4gICAgZXhwZWN0KGNoYXQpLnRvSGF2ZUF0dHJpYnV0ZSgnZGF0YS1zZWN0aW9uJywgJ3Byb2plY3QnKVxuICAgIGV4cGVjdChjaGF0KS50b0hhdmVBdHRyaWJ1dGUoJ2RhdGEtcHJvamVjdC1pZCcsICc3JylcbiAgICBleHBlY3QoY2hhdCkudG9IYXZlQXR0cmlidXRlKCdkYXRhLWNsaWVudC1pZCcsICczJylcbiAgfSlcblxuICBpdCgnZmFsbHMgYmFjayB0byBwcm9qZWN0IHN1bW1hcnkgd2hlbiBjaGF0IGFjY2VzcyBpcyBkaXNhYmxlZCcsICgpID0+IHtcbiAgICBjYW5BY2Nlc3NUb0NoYXRBSS5tb2NrUmV0dXJuVmFsdWUoZmFsc2UpXG4gICAgcmVuZGVyV2l0aFByb3ZpZGVycyg8UHJvamVjdEFJQnV0dG9uIHByb2plY3Q9e3Byb2plY3R9IC8+KVxuXG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRlc3RJZCgncHJvamVjdC1zdW1tYXJ5JykpLnRvSGF2ZVRleHRDb250ZW50KCdXZWJzaXRlJylcbiAgICBleHBlY3Qoc2NyZWVuLnF1ZXJ5QnlUZXN0SWQoJ2NoYXQtYWknKSkubm90LnRvQmVJblRoZURvY3VtZW50KClcbiAgfSlcbn0pXG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLG1CQUFtQixFQUFFQyxNQUFNLFFBQVEsMEJBQTBCO0FBRXRFLFNBQVNDLGVBQWUsUUFBUSxtQkFBbUI7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFFbkQsSUFBTUMsa0JBQWlCLEdBQUdDLElBQUksQ0FBQ0MsRUFBRSxDQUFDLENBQUM7QUFFbkNELElBQUksQ0FBQ0UsSUFBSSxDQUFDLGdDQUFnQyxFQUFFO0VBQUEsT0FBTztJQUNqREgsaUJBQWlCLEVBQUUsU0FBbkJBLGlCQUFpQkEsQ0FBQTtNQUFBLE9BQTBCQSxrQkFBaUIsQ0FBQUksS0FBQSxTQUFBQyxTQUFRLENBQUM7SUFBQTtFQUN2RSxDQUFDO0FBQUEsQ0FBQyxDQUFDO0FBRUhKLElBQUksQ0FBQ0UsSUFBSSxDQUFDLFdBQVcsRUFBRTtFQUFBLE9BQU87SUFDNUJHLE1BQU0sRUFBRSxTQUFSQSxNQUFNQSxDQUFBQyxJQUFBO01BQUEsSUFBS0MsT0FBTyxHQUFBRCxJQUFBLENBQVBDLE9BQU87UUFBRUMsTUFBTSxHQUFBRixJQUFBLENBQU5FLE1BQU07TUFBQSxvQkFDeEJWLElBQUE7UUFDRSxlQUFZLFNBQVM7UUFDckIsZ0JBQWNTLE9BQVE7UUFDdEIsbUJBQWlCQyxNQUFNLENBQUNDLFNBQVU7UUFDbEMsa0JBQWdCRCxNQUFNLENBQUNFO01BQVMsQ0FDakMsQ0FBQztJQUFBO0VBRU4sQ0FBQztBQUFBLENBQUMsQ0FBQztBQUVIVixJQUFJLENBQUNFLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtFQUFBLE9BQU87SUFDcENTLGNBQWMsRUFBRSxTQUFoQkEsY0FBY0EsQ0FBQUMsS0FBQTtNQUFBLElBQUtDLE9BQU8sR0FBQUQsS0FBQSxDQUFQQyxPQUFPO01BQUEsb0JBQTZCZixJQUFBO1FBQUssZUFBWSxpQkFBaUI7UUFBQWdCLFFBQUEsRUFBRUQsT0FBTyxDQUFDRTtNQUFJLENBQU0sQ0FBQztJQUFBO0VBQ2hILENBQUM7QUFBQSxDQUFDLENBQUM7QUFFSCxJQUFNRixPQUFnQixHQUFHO0VBQ3ZCRyxFQUFFLEVBQUUsQ0FBQztFQUNMRCxJQUFJLEVBQUUsU0FBUztFQUNmRSxNQUFNLEVBQUU7SUFBRUQsRUFBRSxFQUFFLENBQUM7SUFBRUQsSUFBSSxFQUFFO0VBQU87QUFDaEMsQ0FBQztBQUVERyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsWUFBTTtFQUNoQ0MsVUFBVSxDQUFDLFlBQU07SUFDZnBCLGtCQUFpQixDQUFDcUIsZUFBZSxDQUFDLElBQUksQ0FBQztFQUN6QyxDQUFDLENBQUM7RUFFRkMsRUFBRSxDQUFDLHlEQUF5RCxFQUFFLFlBQU07SUFDbEUzQixtQkFBbUIsY0FBQ0ksSUFBQSxDQUFDRixlQUFlO01BQUNpQixPQUFPLEVBQUVBO0lBQVEsQ0FBRSxDQUFDLENBQUM7SUFFMUQsSUFBTVMsSUFBSSxHQUFHM0IsTUFBTSxDQUFDNEIsV0FBVyxDQUFDLFNBQVMsQ0FBQztJQUMxQ0MsTUFBTSxDQUFDRixJQUFJLENBQUMsQ0FBQ0csZUFBZSxDQUFDLGNBQWMsRUFBRSxTQUFTLENBQUM7SUFDdkRELE1BQU0sQ0FBQ0YsSUFBSSxDQUFDLENBQUNHLGVBQWUsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLENBQUM7SUFDcERELE1BQU0sQ0FBQ0YsSUFBSSxDQUFDLENBQUNHLGVBQWUsQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLENBQUM7RUFDckQsQ0FBQyxDQUFDO0VBRUZKLEVBQUUsQ0FBQyw0REFBNEQsRUFBRSxZQUFNO0lBQ3JFdEIsa0JBQWlCLENBQUNxQixlQUFlLENBQUMsS0FBSyxDQUFDO0lBQ3hDMUIsbUJBQW1CLGNBQUNJLElBQUEsQ0FBQ0YsZUFBZTtNQUFDaUIsT0FBTyxFQUFFQTtJQUFRLENBQUUsQ0FBQyxDQUFDO0lBRTFEVyxNQUFNLENBQUM3QixNQUFNLENBQUM0QixXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDRyxpQkFBaUIsQ0FBQyxTQUFTLENBQUM7SUFDMUVGLE1BQU0sQ0FBQzdCLE1BQU0sQ0FBQ2dDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDQyxHQUFHLENBQUNDLGlCQUFpQixDQUFDLENBQUM7RUFDakUsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { fireEvent, renderWithProviders, screen } from '../../../test/test-utils';
|
|
2
|
+
import { ProjectSummary } from './ProjectSummary';
|
|
3
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
|
+
var toggleModal = jest.fn();
|
|
5
|
+
var restoreConfigureSettings = jest.fn();
|
|
6
|
+
jest.mock('../../atoms/WithAppCfg', function () {
|
|
7
|
+
return {
|
|
8
|
+
withAppCfg: function withAppCfg(Component) {
|
|
9
|
+
return Component;
|
|
10
|
+
},
|
|
11
|
+
Features: {
|
|
12
|
+
PROJECT_SUMMARY: 'PROJECT_SUMMARY',
|
|
13
|
+
CHAT_AI: 'CHAT_AI'
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
});
|
|
17
|
+
jest.mock('../../../hooks/useProjectSummaryConfig', function () {
|
|
18
|
+
return {
|
|
19
|
+
useProjectSummaryConfig: function useProjectSummaryConfig() {
|
|
20
|
+
return {
|
|
21
|
+
context: {
|
|
22
|
+
section: 'project',
|
|
23
|
+
agent: null,
|
|
24
|
+
selectAgent: jest.fn(),
|
|
25
|
+
clearAgent: jest.fn(),
|
|
26
|
+
project: null,
|
|
27
|
+
setProject: jest.fn(),
|
|
28
|
+
client: null,
|
|
29
|
+
setClient: jest.fn(),
|
|
30
|
+
task: null,
|
|
31
|
+
setTask: jest.fn(),
|
|
32
|
+
isWebSearchActive: false,
|
|
33
|
+
toggleWebSearch: jest.fn(),
|
|
34
|
+
isDeepSearchActive: false,
|
|
35
|
+
toggleDeepSearch: jest.fn(),
|
|
36
|
+
setChipsProject: jest.fn(),
|
|
37
|
+
configureSettingsItems: {
|
|
38
|
+
current: []
|
|
39
|
+
},
|
|
40
|
+
restoreConfigureSettings: restoreConfigureSettings,
|
|
41
|
+
entityValues: {
|
|
42
|
+
projectId: null,
|
|
43
|
+
clientId: null
|
|
44
|
+
},
|
|
45
|
+
setEntityValues: jest.fn()
|
|
46
|
+
},
|
|
47
|
+
restoreConfigureSettings: restoreConfigureSettings
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
});
|
|
52
|
+
jest.mock('../../../hooks/useT', function () {
|
|
53
|
+
return {
|
|
54
|
+
useTWithSection: function useTWithSection() {
|
|
55
|
+
return function (key) {
|
|
56
|
+
return key;
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
});
|
|
61
|
+
jest.mock('../../../hooks/useModal/useModal', function () {
|
|
62
|
+
return {
|
|
63
|
+
MODAL_ELEMENTS: 'modal-el',
|
|
64
|
+
useModal: function useModal() {
|
|
65
|
+
return {
|
|
66
|
+
isOpen: true,
|
|
67
|
+
toggleModal: toggleModal
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
});
|
|
72
|
+
jest.mock('../../molecules/ProjectSummaryModal', function () {
|
|
73
|
+
return {
|
|
74
|
+
ProjectSummaryModal: function ProjectSummaryModal(_ref) {
|
|
75
|
+
var handleClose = _ref.handleClose;
|
|
76
|
+
return /*#__PURE__*/_jsx("button", {
|
|
77
|
+
type: "button",
|
|
78
|
+
onClick: handleClose,
|
|
79
|
+
children: "summary-modal"
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
});
|
|
84
|
+
jest.mock('framer-motion', function () {
|
|
85
|
+
return {
|
|
86
|
+
AnimatePresence: function AnimatePresence(_ref2) {
|
|
87
|
+
var children = _ref2.children;
|
|
88
|
+
return children;
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
});
|
|
92
|
+
var project = {
|
|
93
|
+
id: 1,
|
|
94
|
+
name: 'Alpha'
|
|
95
|
+
};
|
|
96
|
+
describe('ProjectSummary', function () {
|
|
97
|
+
beforeEach(function () {
|
|
98
|
+
jest.clearAllMocks();
|
|
99
|
+
});
|
|
100
|
+
it('opens the modal from the resume button and restores settings on close', function () {
|
|
101
|
+
renderWithProviders(/*#__PURE__*/_jsx(ProjectSummary, {
|
|
102
|
+
project: project
|
|
103
|
+
}));
|
|
104
|
+
expect(screen.getByRole('button', {
|
|
105
|
+
name: 'resume'
|
|
106
|
+
})).toBeInTheDocument();
|
|
107
|
+
expect(screen.getByRole('button', {
|
|
108
|
+
name: 'summary-modal'
|
|
109
|
+
})).toBeInTheDocument();
|
|
110
|
+
fireEvent.click(screen.getByRole('button', {
|
|
111
|
+
name: 'summary-modal'
|
|
112
|
+
}));
|
|
113
|
+
expect(restoreConfigureSettings).toHaveBeenCalledTimes(1);
|
|
114
|
+
expect(toggleModal).toHaveBeenCalledTimes(1);
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmaXJlRXZlbnQiLCJyZW5kZXJXaXRoUHJvdmlkZXJzIiwic2NyZWVuIiwiUHJvamVjdFN1bW1hcnkiLCJqc3giLCJfanN4IiwidG9nZ2xlTW9kYWwiLCJqZXN0IiwiZm4iLCJyZXN0b3JlQ29uZmlndXJlU2V0dGluZ3MiLCJtb2NrIiwid2l0aEFwcENmZyIsIkNvbXBvbmVudCIsIkZlYXR1cmVzIiwiUFJPSkVDVF9TVU1NQVJZIiwiQ0hBVF9BSSIsInVzZVByb2plY3RTdW1tYXJ5Q29uZmlnIiwiY29udGV4dCIsInNlY3Rpb24iLCJhZ2VudCIsInNlbGVjdEFnZW50IiwiY2xlYXJBZ2VudCIsInByb2plY3QiLCJzZXRQcm9qZWN0IiwiY2xpZW50Iiwic2V0Q2xpZW50IiwidGFzayIsInNldFRhc2siLCJpc1dlYlNlYXJjaEFjdGl2ZSIsInRvZ2dsZVdlYlNlYXJjaCIsImlzRGVlcFNlYXJjaEFjdGl2ZSIsInRvZ2dsZURlZXBTZWFyY2giLCJzZXRDaGlwc1Byb2plY3QiLCJjb25maWd1cmVTZXR0aW5nc0l0ZW1zIiwiY3VycmVudCIsImVudGl0eVZhbHVlcyIsInByb2plY3RJZCIsImNsaWVudElkIiwic2V0RW50aXR5VmFsdWVzIiwidXNlVFdpdGhTZWN0aW9uIiwia2V5IiwiTU9EQUxfRUxFTUVOVFMiLCJ1c2VNb2RhbCIsImlzT3BlbiIsIlByb2plY3RTdW1tYXJ5TW9kYWwiLCJfcmVmIiwiaGFuZGxlQ2xvc2UiLCJ0eXBlIiwib25DbGljayIsImNoaWxkcmVuIiwiQW5pbWF0ZVByZXNlbmNlIiwiX3JlZjIiLCJpZCIsIm5hbWUiLCJkZXNjcmliZSIsImJlZm9yZUVhY2giLCJjbGVhckFsbE1vY2tzIiwiaXQiLCJleHBlY3QiLCJnZXRCeVJvbGUiLCJ0b0JlSW5UaGVEb2N1bWVudCIsImNsaWNrIiwidG9IYXZlQmVlbkNhbGxlZFRpbWVzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3JnYW5pc21zL1Byb2plY3RTdW1tYXJ5L1Byb2plY3RTdW1tYXJ5LnNwZWMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29tcG9uZW50VHlwZSwgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBmaXJlRXZlbnQsIHJlbmRlcldpdGhQcm92aWRlcnMsIHNjcmVlbiB9IGZyb20gJy4uLy4uLy4uL3Rlc3QvdGVzdC11dGlscydcbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL1Byb2plY3QnXG5pbXBvcnQgeyBQcm9qZWN0U3VtbWFyeSB9IGZyb20gJy4vUHJvamVjdFN1bW1hcnknXG5cbmNvbnN0IHRvZ2dsZU1vZGFsID0gamVzdC5mbigpXG5jb25zdCByZXN0b3JlQ29uZmlndXJlU2V0dGluZ3MgPSBqZXN0LmZuKClcblxuamVzdC5tb2NrKCcuLi8uLi9hdG9tcy9XaXRoQXBwQ2ZnJywgKCkgPT4gKHtcbiAgd2l0aEFwcENmZzogKENvbXBvbmVudDogQ29tcG9uZW50VHlwZTx7IHByb2plY3Q6IFByb2plY3QgfT4pID0+IENvbXBvbmVudCxcbiAgRmVhdHVyZXM6IHsgUFJPSkVDVF9TVU1NQVJZOiAnUFJPSkVDVF9TVU1NQVJZJywgQ0hBVF9BSTogJ0NIQVRfQUknIH0sXG59KSlcblxuamVzdC5tb2NrKCcuLi8uLi8uLi9ob29rcy91c2VQcm9qZWN0U3VtbWFyeUNvbmZpZycsICgpID0+ICh7XG4gIHVzZVByb2plY3RTdW1tYXJ5Q29uZmlnOiAoKSA9PiAoe1xuICAgIGNvbnRleHQ6IHtcbiAgICAgIHNlY3Rpb246ICdwcm9qZWN0JyxcbiAgICAgIGFnZW50OiBudWxsLFxuICAgICAgc2VsZWN0QWdlbnQ6IGplc3QuZm4oKSxcbiAgICAgIGNsZWFyQWdlbnQ6IGplc3QuZm4oKSxcbiAgICAgIHByb2plY3Q6IG51bGwsXG4gICAgICBzZXRQcm9qZWN0OiBqZXN0LmZuKCksXG4gICAgICBjbGllbnQ6IG51bGwsXG4gICAgICBzZXRDbGllbnQ6IGplc3QuZm4oKSxcbiAgICAgIHRhc2s6IG51bGwsXG4gICAgICBzZXRUYXNrOiBqZXN0LmZuKCksXG4gICAgICBpc1dlYlNlYXJjaEFjdGl2ZTogZmFsc2UsXG4gICAgICB0b2dnbGVXZWJTZWFyY2g6IGplc3QuZm4oKSxcbiAgICAgIGlzRGVlcFNlYXJjaEFjdGl2ZTogZmFsc2UsXG4gICAgICB0b2dnbGVEZWVwU2VhcmNoOiBqZXN0LmZuKCksXG4gICAgICBzZXRDaGlwc1Byb2plY3Q6IGplc3QuZm4oKSxcbiAgICAgIGNvbmZpZ3VyZVNldHRpbmdzSXRlbXM6IHsgY3VycmVudDogW10gfSxcbiAgICAgIHJlc3RvcmVDb25maWd1cmVTZXR0aW5ncyxcbiAgICAgIGVudGl0eVZhbHVlczogeyBwcm9qZWN0SWQ6IG51bGwsIGNsaWVudElkOiBudWxsIH0sXG4gICAgICBzZXRFbnRpdHlWYWx1ZXM6IGplc3QuZm4oKSxcbiAgICB9LFxuICAgIHJlc3RvcmVDb25maWd1cmVTZXR0aW5ncyxcbiAgfSksXG59KSlcblxuamVzdC5tb2NrKCcuLi8uLi8uLi9ob29rcy91c2VUJywgKCkgPT4gKHtcbiAgdXNlVFdpdGhTZWN0aW9uOiAoKSA9PiAoa2V5OiBzdHJpbmcpID0+IGtleSxcbn0pKVxuXG5qZXN0Lm1vY2soJy4uLy4uLy4uL2hvb2tzL3VzZU1vZGFsL3VzZU1vZGFsJywgKCkgPT4gKHtcbiAgTU9EQUxfRUxFTUVOVFM6ICdtb2RhbC1lbCcsXG4gIHVzZU1vZGFsOiAoKSA9PiAoe1xuICAgIGlzT3BlbjogdHJ1ZSxcbiAgICB0b2dnbGVNb2RhbCxcbiAgfSksXG59KSlcblxuamVzdC5tb2NrKCcuLi8uLi9tb2xlY3VsZXMvUHJvamVjdFN1bW1hcnlNb2RhbCcsICgpID0+ICh7XG4gIFByb2plY3RTdW1tYXJ5TW9kYWw6ICh7IGhhbmRsZUNsb3NlIH06IHsgaGFuZGxlQ2xvc2U/OiAoKSA9PiB2b2lkIH0pID0+IChcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtoYW5kbGVDbG9zZX0+XG4gICAgICBzdW1tYXJ5LW1vZGFsXG4gICAgPC9idXR0b24+XG4gICksXG59KSlcblxuamVzdC5tb2NrKCdmcmFtZXItbW90aW9uJywgKCkgPT4gKHtcbiAgQW5pbWF0ZVByZXNlbmNlOiAoeyBjaGlsZHJlbiB9OiB7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfSkgPT4gY2hpbGRyZW4sXG59KSlcblxuY29uc3QgcHJvamVjdDogUHJvamVjdCA9IHsgaWQ6IDEsIG5hbWU6ICdBbHBoYScgfVxuXG5kZXNjcmliZSgnUHJvamVjdFN1bW1hcnknLCAoKSA9PiB7XG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIGplc3QuY2xlYXJBbGxNb2NrcygpXG4gIH0pXG5cbiAgaXQoJ29wZW5zIHRoZSBtb2RhbCBmcm9tIHRoZSByZXN1bWUgYnV0dG9uIGFuZCByZXN0b3JlcyBzZXR0aW5ncyBvbiBjbG9zZScsICgpID0+IHtcbiAgICByZW5kZXJXaXRoUHJvdmlkZXJzKDxQcm9qZWN0U3VtbWFyeSBwcm9qZWN0PXtwcm9qZWN0fSAvPilcblxuICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlSb2xlKCdidXR0b24nLCB7IG5hbWU6ICdyZXN1bWUnIH0pKS50b0JlSW5UaGVEb2N1bWVudCgpXG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeVJvbGUoJ2J1dHRvbicsIHsgbmFtZTogJ3N1bW1hcnktbW9kYWwnIH0pKS50b0JlSW5UaGVEb2N1bWVudCgpXG5cbiAgICBmaXJlRXZlbnQuY2xpY2soc2NyZWVuLmdldEJ5Um9sZSgnYnV0dG9uJywgeyBuYW1lOiAnc3VtbWFyeS1tb2RhbCcgfSkpXG5cbiAgICBleHBlY3QocmVzdG9yZUNvbmZpZ3VyZVNldHRpbmdzKS50b0hhdmVCZWVuQ2FsbGVkVGltZXMoMSlcbiAgICBleHBlY3QodG9nZ2xlTW9kYWwpLnRvSGF2ZUJlZW5DYWxsZWRUaW1lcygxKVxuICB9KVxufSlcbiJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0EsU0FBUyxFQUFFQyxtQkFBbUIsRUFBRUMsTUFBTSxRQUFRLDBCQUEwQjtBQUVqRixTQUFT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
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { act, renderWithProviders, screen } from '../../../test/test-utils';
|
|
2
|
+
import { Snackbar } from './Snackbar';
|
|
3
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
|
+
jest.mock('../../../hooks/useMaiaTaskPanelZIndex', function () {
|
|
5
|
+
return {
|
|
6
|
+
useMaiaTaskPanelZIndex: function useMaiaTaskPanelZIndex() {
|
|
7
|
+
return 1200;
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
});
|
|
11
|
+
jest.mock('@projectcor/snackbar/lib', function () {
|
|
12
|
+
return {
|
|
13
|
+
Snackbar: function Snackbar(_ref) {
|
|
14
|
+
var children = _ref.children,
|
|
15
|
+
open = _ref.open;
|
|
16
|
+
return open ? /*#__PURE__*/_jsx("div", {
|
|
17
|
+
role: "alert",
|
|
18
|
+
children: children
|
|
19
|
+
}) : null;
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
});
|
|
23
|
+
describe('Snackbar', function () {
|
|
24
|
+
beforeEach(function () {
|
|
25
|
+
jest.useFakeTimers();
|
|
26
|
+
if (!document.getElementById('snackbar-portal-maia-chat-agent')) {
|
|
27
|
+
var portal = document.createElement('div');
|
|
28
|
+
portal.id = 'snackbar-portal-maia-chat-agent';
|
|
29
|
+
document.body.appendChild(portal);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
afterEach(function () {
|
|
33
|
+
jest.useRealTimers();
|
|
34
|
+
});
|
|
35
|
+
it('opens when the snackbar custom event is dispatched', function () {
|
|
36
|
+
renderWithProviders(/*#__PURE__*/_jsx(Snackbar, {}));
|
|
37
|
+
act(function () {
|
|
38
|
+
document.dispatchEvent(new CustomEvent('snackbar-event', {
|
|
39
|
+
detail: {
|
|
40
|
+
show: true,
|
|
41
|
+
message: 'Saved successfully',
|
|
42
|
+
autoHideDuration: 3000
|
|
43
|
+
}
|
|
44
|
+
}));
|
|
45
|
+
});
|
|
46
|
+
expect(screen.getByRole('alert')).toHaveTextContent('Saved successfully');
|
|
47
|
+
});
|
|
48
|
+
it('auto-hides after the configured duration', function () {
|
|
49
|
+
renderWithProviders(/*#__PURE__*/_jsx(Snackbar, {}));
|
|
50
|
+
act(function () {
|
|
51
|
+
document.dispatchEvent(new CustomEvent('snackbar-event', {
|
|
52
|
+
detail: {
|
|
53
|
+
show: true,
|
|
54
|
+
message: 'Temporary toast',
|
|
55
|
+
autoHideDuration: 2000
|
|
56
|
+
}
|
|
57
|
+
}));
|
|
58
|
+
});
|
|
59
|
+
expect(screen.getByRole('alert')).toBeInTheDocument();
|
|
60
|
+
act(function () {
|
|
61
|
+
jest.advanceTimersByTime(2000);
|
|
62
|
+
});
|
|
63
|
+
expect(screen.queryByRole('alert')).not.toBeInTheDocument();
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhY3QiLCJyZW5kZXJXaXRoUHJvdmlkZXJzIiwic2NyZWVuIiwiU25hY2tiYXIiLCJqc3giLCJfanN4IiwiamVzdCIsIm1vY2siLCJ1c2VNYWlhVGFza1BhbmVsWkluZGV4IiwiX3JlZiIsImNoaWxkcmVuIiwib3BlbiIsInJvbGUiLCJkZXNjcmliZSIsImJlZm9yZUVhY2giLCJ1c2VGYWtlVGltZXJzIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsInBvcnRhbCIsImNyZWF0ZUVsZW1lbnQiLCJpZCIsImJvZHkiLCJhcHBlbmRDaGlsZCIsImFmdGVyRWFjaCIsInVzZVJlYWxUaW1lcnMiLCJpdCIsImRpc3BhdGNoRXZlbnQiLCJDdXN0b21FdmVudCIsImRldGFpbCIsInNob3ciLCJtZXNzYWdlIiwiYXV0b0hpZGVEdXJhdGlvbiIsImV4cGVjdCIsImdldEJ5Um9sZSIsInRvSGF2ZVRleHRDb250ZW50IiwidG9CZUluVGhlRG9jdW1lbnQiLCJhZHZhbmNlVGltZXJzQnlUaW1lIiwicXVlcnlCeVJvbGUiLCJub3QiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9vcmdhbmlzbXMvU25hY2tCYXIvU25hY2tiYXIuc3BlYy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGFjdCwgcmVuZGVyV2l0aFByb3ZpZGVycywgc2NyZWVuIH0gZnJvbSAnLi4vLi4vLi4vdGVzdC90ZXN0LXV0aWxzJ1xuaW1wb3J0IHsgU25hY2tiYXIgfSBmcm9tICcuL1NuYWNrYmFyJ1xuXG5qZXN0Lm1vY2soJy4uLy4uLy4uL2hvb2tzL3VzZU1haWFUYXNrUGFuZWxaSW5kZXgnLCAoKSA9PiAoe1xuICB1c2VNYWlhVGFza1BhbmVsWkluZGV4OiAoKSA9PiAxMjAwLFxufSkpXG5cbmplc3QubW9jaygnQHByb2plY3Rjb3Ivc25hY2tiYXIvbGliJywgKCkgPT4gKHtcbiAgU25hY2tiYXI6ICh7IGNoaWxkcmVuLCBvcGVuIH06IHsgY2hpbGRyZW46IFJlYWN0Tm9kZTsgb3BlbjogYm9vbGVhbiB9KSA9PlxuICAgIG9wZW4gPyA8ZGl2IHJvbGU9XCJhbGVydFwiPntjaGlsZHJlbn08L2Rpdj4gOiBudWxsLFxufSkpXG5cbmRlc2NyaWJlKCdTbmFja2JhcicsICgpID0+IHtcbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgamVzdC51c2VGYWtlVGltZXJzKClcbiAgICBpZiAoIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzbmFja2Jhci1wb3J0YWwtbWFpYS1jaGF0LWFnZW50JykpIHtcbiAgICAgIGNvbnN0IHBvcnRhbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpXG4gICAgICBwb3J0YWwuaWQgPSAnc25hY2tiYXItcG9ydGFsLW1haWEtY2hhdC1hZ2VudCdcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocG9ydGFsKVxuICAgIH1cbiAgfSlcblxuICBhZnRlckVhY2goKCkgPT4ge1xuICAgIGplc3QudXNlUmVhbFRpbWVycygpXG4gIH0pXG5cbiAgaXQoJ29wZW5zIHdoZW4gdGhlIHNuYWNrYmFyIGN1c3RvbSBldmVudCBpcyBkaXNwYXRjaGVkJywgKCkgPT4ge1xuICAgIHJlbmRlcldpdGhQcm92aWRlcnMoPFNuYWNrYmFyIC8+KVxuXG4gICAgYWN0KCgpID0+IHtcbiAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoXG4gICAgICAgIG5ldyBDdXN0b21FdmVudCgnc25hY2tiYXItZXZlbnQnLCB7XG4gICAgICAgICAgZGV0YWlsOiB7IHNob3c6IHRydWUsIG1lc3NhZ2U6ICdTYXZlZCBzdWNjZXNzZnVsbHknLCBhdXRvSGlkZUR1cmF0aW9uOiAzMDAwIH0sXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgfSlcblxuICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlSb2xlKCdhbGVydCcpKS50b0hhdmVUZXh0Q29udGVudCgnU2F2ZWQgc3VjY2Vzc2Z1bGx5JylcbiAgfSlcblxuICBpdCgnYXV0by1oaWRlcyBhZnRlciB0aGUgY29uZmlndXJlZCBkdXJhdGlvbicsICgpID0+IHtcbiAgICByZW5kZXJXaXRoUHJvdmlkZXJzKDxTbmFja2JhciAvPilcblxuICAgIGFjdCgoKSA9PiB7XG4gICAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICBuZXcgQ3VzdG9tRXZlbnQoJ3NuYWNrYmFyLWV2ZW50Jywge1xuICAgICAgICAgIGRldGFpbDogeyBzaG93OiB0cnVlLCBtZXNzYWdlOiAnVGVtcG9yYXJ5IHRvYXN0JywgYXV0b0hpZGVEdXJhdGlvbjogMjAwMCB9LFxuICAgICAgICB9KVxuICAgICAgKVxuICAgIH0pXG5cbiAgICBleHBlY3Qoc2NyZWVuLmdldEJ5Um9sZSgnYWxlcnQnKSkudG9CZUluVGhlRG9jdW1lbnQoKVxuXG4gICAgYWN0KCgpID0+IHtcbiAgICAgIGplc3QuYWR2YW5jZVRpbWVyc0J5VGltZSgyMDAwKVxuICAgIH0pXG5cbiAgICBleHBlY3Qoc2NyZWVuLnF1ZXJ5QnlSb2xlKCdhbGVydCcpKS5ub3QudG9CZUluVGhlRG9jdW1lbnQoKVxuICB9KVxufSlcbiJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0EsR0FBRyxFQUFFQyxtQkFBbUIsRUFBRUMsTUFBTSxRQUFRLDBCQUEwQjtBQUMzRSxTQUFTQyxRQUFRLFFBQVEsWUFBWTtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQTtBQUVyQ0MsSUFBSSxDQUFDQyxJQUFJLENBQUMsdUNBQXVDLEVBQUU7RUFBQSxPQUFPO0lBQ3hEQyxzQkFBc0IsRUFBRSxTQUF4QkEsc0JBQXNCQSxDQUFBO01BQUEsT0FBUSxJQUFJO0lBQUE7RUFDcEMsQ0FBQztBQUFBLENBQUMsQ0FBQztBQUVIRixJQUFJLENBQUNDLElBQUksQ0FBQywwQkFBMEIsRUFBRTtFQUFBLE9BQU87SUFDM0NKLFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFBTSxJQUFBO01BQUEsSUFBS0MsUUFBUSxHQUFBRCxJQUFBLENBQVJDLFFBQVE7UUFBRUMsSUFBSSxHQUFBRixJQUFBLENBQUpFLElBQUk7TUFBQSxPQUN6QkEsSUFBSSxnQkFBR04sSUFBQTtRQUFLTyxJQUFJLEVBQUMsT0FBTztRQUFBRixRQUFBLEVBQUVBO01BQVEsQ0FBTSxDQUFDLEdBQUcsSUFBSTtJQUFBO0VBQ3BELENBQUM7QUFBQSxDQUFDLENBQUM7QUFFSEcsUUFBUSxDQUFDLFVBQVUsRUFBRSxZQUFNO0VBQ3pCQyxVQUFVLENBQUMsWUFBTTtJQUNmUixJQUFJLENBQUNTLGFBQWEsQ0FBQyxDQUFDO0lBQ3BCLElBQUksQ0FBQ0MsUUFBUSxDQUFDQyxjQUFjLENBQUMsaUNBQWlDLENBQUMsRUFBRTtNQUMvRCxJQUFNQyxNQUFNLEdBQUdGLFFBQVEsQ0FBQ0csYUFBYSxDQUFDLEtBQUssQ0FBQztNQUM1Q0QsTUFBTSxDQUFDRSxFQUFFLEdBQUcsaUNBQWlDO01BQzdDSixRQUFRLENBQUNLLElBQUksQ0FBQ0MsV0FBVyxDQUFDSixNQUFNLENBQUM7SUFDbkM7RUFDRixDQUFDLENBQUM7RUFFRkssU0FBUyxDQUFDLFlBQU07SUFDZGpCLElBQUksQ0FBQ2tCLGFBQWEsQ0FBQyxDQUFDO0VBQ3RCLENBQUMsQ0FBQztFQUVGQyxFQUFFLENBQUMsb0RBQW9ELEVBQUUsWUFBTTtJQUM3RHhCLG1CQUFtQixjQUFDSSxJQUFBLENBQUNGLFFBQVEsSUFBRSxDQUFDLENBQUM7SUFFakNILEdBQUcsQ0FBQyxZQUFNO01BQ1JnQixRQUFRLENBQUNVLGFBQWEsQ0FDcEIsSUFBSUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFO1FBQ2hDQyxNQUFNLEVBQUU7VUFBRUMsSUFBSSxFQUFFLElBQUk7VUFBRUMsT0FBTyxFQUFFLG9CQUFvQjtVQUFFQyxnQkFBZ0IsRUFBRTtRQUFLO01BQzlFLENBQUMsQ0FDSCxDQUFDO0lBQ0gsQ0FBQyxDQUFDO0lBRUZDLE1BQU0sQ0FBQzlCLE1BQU0sQ0FBQytCLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDQyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQztFQUMzRSxDQUFDLENBQUM7RUFFRlQsRUFBRSxDQUFDLDBDQUEwQyxFQUFFLFlBQU07SUFDbkR4QixtQkFBbUIsY0FBQ0ksSUFBQSxDQUFDRixRQUFRLElBQUUsQ0FBQyxDQUFDO0lBRWpDSCxHQUFHLENBQUMsWUFBTTtNQUNSZ0IsUUFBUSxDQUFDVSxhQUFhLENBQ3BCLElBQUlDLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRTtRQUNoQ0MsTUFBTSxFQUFFO1VBQUVDLElBQUksRUFBRSxJQUFJO1VBQUVDLE9BQU8sRUFBRSxpQkFBaUI7VUFBRUMsZ0JBQWdCLEVBQUU7UUFBSztNQUMzRSxDQUFDLENBQ0gsQ0FBQztJQUNILENBQUMsQ0FBQztJQUVGQyxNQUFNLENBQUM5QixNQUFNLENBQUMrQixTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQ0UsaUJBQWlCLENBQUMsQ0FBQztJQUVyRG5DLEdBQUcsQ0FBQyxZQUFNO01BQ1JNLElBQUksQ0FBQzhCLG1CQUFtQixDQUFDLElBQUksQ0FBQztJQUNoQyxDQUFDLENBQUM7SUFFRkosTUFBTSxDQUFDOUIsTUFBTSxDQUFDbUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUNDLEdBQUcsQ0FBQ0gsaUJBQWlCLENBQUMsQ0FBQztFQUM3RCxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { fireEvent, renderWithProviders, screen } from '../../../test/test-utils';
|
|
2
|
+
import { SourceItem } from './SourceItem';
|
|
3
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
|
+
describe('SourceItem', function () {
|
|
5
|
+
it('opens the source url in a new tab', function () {
|
|
6
|
+
var openSpy = jest.spyOn(window, 'open').mockImplementation(function () {
|
|
7
|
+
return null;
|
|
8
|
+
});
|
|
9
|
+
renderWithProviders(/*#__PURE__*/_jsx(SourceItem, {
|
|
10
|
+
title: "Doc",
|
|
11
|
+
description: "Manual interno",
|
|
12
|
+
url: "https://docs.example.com/page"
|
|
13
|
+
}));
|
|
14
|
+
fireEvent.click(screen.getByText('Doc'));
|
|
15
|
+
expect(openSpy).toHaveBeenCalledWith('https://docs.example.com/page', '_blank');
|
|
16
|
+
openSpy.mockRestore();
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmaXJlRXZlbnQiLCJyZW5kZXJXaXRoUHJvdmlkZXJzIiwic2NyZWVuIiwiU291cmNlSXRlbSIsImpzeCIsIl9qc3giLCJkZXNjcmliZSIsIml0Iiwib3BlblNweSIsImplc3QiLCJzcHlPbiIsIndpbmRvdyIsIm1vY2tJbXBsZW1lbnRhdGlvbiIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJ1cmwiLCJjbGljayIsImdldEJ5VGV4dCIsImV4cGVjdCIsInRvSGF2ZUJlZW5DYWxsZWRXaXRoIiwibW9ja1Jlc3RvcmUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9vcmdhbmlzbXMvU291cmNlc0luZm9ybWF0aW9uL1NvdXJjZUl0ZW0uc3BlYy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmlyZUV2ZW50LCByZW5kZXJXaXRoUHJvdmlkZXJzLCBzY3JlZW4gfSBmcm9tICcuLi8uLi8uLi90ZXN0L3Rlc3QtdXRpbHMnXG5pbXBvcnQgeyBTb3VyY2VJdGVtIH0gZnJvbSAnLi9Tb3VyY2VJdGVtJ1xuXG5kZXNjcmliZSgnU291cmNlSXRlbScsICgpID0+IHtcbiAgaXQoJ29wZW5zIHRoZSBzb3VyY2UgdXJsIGluIGEgbmV3IHRhYicsICgpID0+IHtcbiAgICBjb25zdCBvcGVuU3B5ID0gamVzdC5zcHlPbih3aW5kb3csICdvcGVuJykubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IG51bGwpXG5cbiAgICByZW5kZXJXaXRoUHJvdmlkZXJzKDxTb3VyY2VJdGVtIHRpdGxlPVwiRG9jXCIgZGVzY3JpcHRpb249XCJNYW51YWwgaW50ZXJub1wiIHVybD1cImh0dHBzOi8vZG9jcy5leGFtcGxlLmNvbS9wYWdlXCIgLz4pXG5cbiAgICBmaXJlRXZlbnQuY2xpY2soc2NyZWVuLmdldEJ5VGV4dCgnRG9jJykpXG5cbiAgICBleHBlY3Qob3BlblNweSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ2h0dHBzOi8vZG9jcy5leGFtcGxlLmNvbS9wYWdlJywgJ19ibGFuaycpXG4gICAgb3BlblNweS5tb2NrUmVzdG9yZSgpXG4gIH0pXG59KVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxTQUFTLEVBQUVDLG1CQUFtQixFQUFFQyxNQUFNLFFBQVEsMEJBQTBCO0FBQ2pGLFNBQVNDLFVBQVUsUUFBUSxjQUFjO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBO0FBRXpDQyxRQUFRLENBQUMsWUFBWSxFQUFFLFlBQU07RUFDM0JDLEVBQUUsQ0FBQyxtQ0FBbUMsRUFBRSxZQUFNO0lBQzVDLElBQU1DLE9BQU8sR0FBR0MsSUFBSSxDQUFDQyxLQUFLLENBQUNDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQ0Msa0JBQWtCLENBQUM7TUFBQSxPQUFNLElBQUk7SUFBQSxFQUFDO0lBRXpFWCxtQkFBbUIsY0FBQ0ksSUFBQSxDQUFDRixVQUFVO01BQUNVLEtBQUssRUFBQyxLQUFLO01BQUNDLFdBQVcsRUFBQyxnQkFBZ0I7TUFBQ0MsR0FBRyxFQUFDO0lBQStCLENBQUUsQ0FBQyxDQUFDO0lBRWhIZixTQUFTLENBQUNnQixLQUFLLENBQUNkLE1BQU0sQ0FBQ2UsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXhDQyxNQUFNLENBQUNWLE9BQU8sQ0FBQyxDQUFDVyxvQkFBb0IsQ0FBQywrQkFBK0IsRUFBRSxRQUFRLENBQUM7SUFDL0VYLE9BQU8sQ0FBQ1ksV0FBVyxDQUFDLENBQUM7RUFDdkIsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { fireEvent, renderWithProviders, screen } from '../../../test/test-utils';
|
|
2
|
+
import { ensurePortalRoot } from '../../../test/portalRoot';
|
|
3
|
+
import { SourcesInformationModal } from './SourcesInformationModal';
|
|
4
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
+
jest.mock('../../../hooks/useMaiaTaskPanelZIndex', function () {
|
|
6
|
+
return {
|
|
7
|
+
useMaiaTaskPanelZIndex: function useMaiaTaskPanelZIndex() {
|
|
8
|
+
return 11111;
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
});
|
|
12
|
+
jest.mock('@projectcor/button/lib/components/CUButton', function () {
|
|
13
|
+
return {
|
|
14
|
+
CUButton: function CUButton(_ref) {
|
|
15
|
+
var onClick = _ref.onClick,
|
|
16
|
+
children = _ref.children;
|
|
17
|
+
return /*#__PURE__*/_jsx("button", {
|
|
18
|
+
type: "button",
|
|
19
|
+
"aria-label": "close-sources",
|
|
20
|
+
onClick: onClick,
|
|
21
|
+
children: children
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
describe('SourcesInformationModal', function () {
|
|
27
|
+
var cleanupPortal;
|
|
28
|
+
beforeEach(function () {
|
|
29
|
+
cleanupPortal = ensurePortalRoot('modal-root-actions');
|
|
30
|
+
});
|
|
31
|
+
afterEach(function () {
|
|
32
|
+
cleanupPortal();
|
|
33
|
+
});
|
|
34
|
+
it('parses markdown references and closes on backdrop click', function () {
|
|
35
|
+
var onClose = jest.fn();
|
|
36
|
+
renderWithProviders(/*#__PURE__*/_jsx(SourcesInformationModal, {
|
|
37
|
+
onClose: onClose,
|
|
38
|
+
sources: [{
|
|
39
|
+
source: 'wiki',
|
|
40
|
+
reference: '[Guía](https://wiki.example/guia)'
|
|
41
|
+
}]
|
|
42
|
+
}));
|
|
43
|
+
expect(screen.getByText(/sourcesInformationModal.title/)).toBeInTheDocument();
|
|
44
|
+
expect(screen.getByText('Guía')).toBeInTheDocument();
|
|
45
|
+
expect(screen.getByText('wiki')).toBeInTheDocument();
|
|
46
|
+
fireEvent.click(screen.getByRole('button', {
|
|
47
|
+
name: 'close-sources'
|
|
48
|
+
}));
|
|
49
|
+
expect(onClose).toHaveBeenCalledTimes(1);
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmaXJlRXZlbnQiLCJyZW5kZXJXaXRoUHJvdmlkZXJzIiwic2NyZWVuIiwiZW5zdXJlUG9ydGFsUm9vdCIsIlNvdXJjZXNJbmZvcm1hdGlvbk1vZGFsIiwianN4IiwiX2pzeCIsImplc3QiLCJtb2NrIiwidXNlTWFpYVRhc2tQYW5lbFpJbmRleCIsIkNVQnV0dG9uIiwiX3JlZiIsIm9uQ2xpY2siLCJjaGlsZHJlbiIsInR5cGUiLCJkZXNjcmliZSIsImNsZWFudXBQb3J0YWwiLCJiZWZvcmVFYWNoIiwiYWZ0ZXJFYWNoIiwiaXQiLCJvbkNsb3NlIiwiZm4iLCJzb3VyY2VzIiwic291cmNlIiwicmVmZXJlbmNlIiwiZXhwZWN0IiwiZ2V0QnlUZXh0IiwidG9CZUluVGhlRG9jdW1lbnQiLCJjbGljayIsImdldEJ5Um9sZSIsIm5hbWUiLCJ0b0hhdmVCZWVuQ2FsbGVkVGltZXMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9vcmdhbmlzbXMvU291cmNlc0luZm9ybWF0aW9uL1NvdXJjZXNJbmZvcm1hdGlvbk1vZGFsLnNwZWMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBmaXJlRXZlbnQsIHJlbmRlcldpdGhQcm92aWRlcnMsIHNjcmVlbiB9IGZyb20gJy4uLy4uLy4uL3Rlc3QvdGVzdC11dGlscydcbmltcG9ydCB7IGVuc3VyZVBvcnRhbFJvb3QgfSBmcm9tICcuLi8uLi8uLi90ZXN0L3BvcnRhbFJvb3QnXG5pbXBvcnQgeyBTb3VyY2VzSW5mb3JtYXRpb25Nb2RhbCB9IGZyb20gJy4vU291cmNlc0luZm9ybWF0aW9uTW9kYWwnXG5cbmplc3QubW9jaygnLi4vLi4vLi4vaG9va3MvdXNlTWFpYVRhc2tQYW5lbFpJbmRleCcsICgpID0+ICh7XG4gIHVzZU1haWFUYXNrUGFuZWxaSW5kZXg6ICgpID0+IDExMTExLFxufSkpXG5cbmplc3QubW9jaygnQHByb2plY3Rjb3IvYnV0dG9uL2xpYi9jb21wb25lbnRzL0NVQnV0dG9uJywgKCkgPT4gKHtcbiAgQ1VCdXR0b246ICh7IG9uQ2xpY2ssIGNoaWxkcmVuIH06IHsgb25DbGljaz86ICgpID0+IHZvaWQ7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfSkgPT4gKFxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGFyaWEtbGFiZWw9XCJjbG9zZS1zb3VyY2VzXCIgb25DbGljaz17b25DbGlja30+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9idXR0b24+XG4gICksXG59KSlcblxuZGVzY3JpYmUoJ1NvdXJjZXNJbmZvcm1hdGlvbk1vZGFsJywgKCkgPT4ge1xuICBsZXQgY2xlYW51cFBvcnRhbDogKCkgPT4gdm9pZFxuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIGNsZWFudXBQb3J0YWwgPSBlbnN1cmVQb3J0YWxSb290KCdtb2RhbC1yb290LWFjdGlvbnMnKVxuICB9KVxuXG4gIGFmdGVyRWFjaCgoKSA9PiB7XG4gICAgY2xlYW51cFBvcnRhbCgpXG4gIH0pXG5cbiAgaXQoJ3BhcnNlcyBtYXJrZG93biByZWZlcmVuY2VzIGFuZCBjbG9zZXMgb24gYmFja2Ryb3AgY2xpY2snLCAoKSA9PiB7XG4gICAgY29uc3Qgb25DbG9zZSA9IGplc3QuZm4oKVxuICAgIHJlbmRlcldpdGhQcm92aWRlcnMoXG4gICAgICA8U291cmNlc0luZm9ybWF0aW9uTW9kYWxcbiAgICAgICAgb25DbG9zZT17b25DbG9zZX1cbiAgICAgICAgc291cmNlcz17W3sgc291cmNlOiAnd2lraScsIHJlZmVyZW5jZTogJ1tHdcOtYV0oaHR0cHM6Ly93aWtpLmV4YW1wbGUvZ3VpYSknIH1dfVxuICAgICAgLz5cbiAgICApXG5cbiAgICBleHBlY3Qoc2NyZWVuLmdldEJ5VGV4dCgvc291cmNlc0luZm9ybWF0aW9uTW9kYWwudGl0bGUvKSkudG9CZUluVGhlRG9jdW1lbnQoKVxuICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlUZXh0KCdHdcOtYScpKS50b0JlSW5UaGVEb2N1bWVudCgpXG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoJ3dpa2knKSkudG9CZUluVGhlRG9jdW1lbnQoKVxuXG4gICAgZmlyZUV2ZW50LmNsaWNrKHNjcmVlbi5nZXRCeVJvbGUoJ2J1dHRvbicsIHsgbmFtZTogJ2Nsb3NlLXNvdXJjZXMnIH0pKVxuICAgIGV4cGVjdChvbkNsb3NlKS50b0hhdmVCZWVuQ2FsbGVkVGltZXMoMSlcbiAgfSlcbn0pXG4iXSwibWFwcGluZ3MiOiJBQUNBLFNBQVNBLFNBQVMsRUFBRUMsbUJBQW1CLEVBQUVDLE1BQU0sUUFBUSwwQkFBMEI7QUFDakYsU0FBU0MsZ0JBQWdCLFFBQVEsMEJBQTBCO0FBQzNELFNBQVNDLHVCQUF1QixRQUFRLDJCQUEyQjtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQTtBQUVuRUMsSUFBSSxDQUFDQyxJQUFJLENBQUMsdUNBQXVDLEVBQUU7RUFBQSxPQUFPO0lBQ3hEQyxzQkFBc0IsRUFBRSxTQUF4QkEsc0JBQXNCQSxDQUFBO01BQUEsT0FBUSxLQUFLO0lBQUE7RUFDckMsQ0FBQztBQUFBLENBQUMsQ0FBQztBQUVIRixJQUFJLENBQUNDLElBQUksQ0FBQyw0Q0FBNEMsRUFBRTtFQUFBLE9BQU87SUFDN0RFLFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFBQyxJQUFBO01BQUEsSUFBS0MsT0FBTyxHQUFBRCxJQUFBLENBQVBDLE9BQU87UUFBRUMsUUFBUSxHQUFBRixJQUFBLENBQVJFLFFBQVE7TUFBQSxvQkFDNUJQLElBQUE7UUFBUVEsSUFBSSxFQUFDLFFBQVE7UUFBQyxjQUFXLGVBQWU7UUFBQ0YsT0FBTyxFQUFFQSxPQUFRO1FBQUFDLFFBQUEsRUFDL0RBO01BQVEsQ0FDSCxDQUFDO0lBQUE7RUFFYixDQUFDO0FBQUEsQ0FBQyxDQUFDO0FBRUhFLFFBQVEsQ0FBQyx5QkFBeUIsRUFBRSxZQUFNO0VBQ3hDLElBQUlDLGFBQXlCO0VBRTdCQyxVQUFVLENBQUMsWUFBTTtJQUNmRCxhQUFhLEdBQUdiLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDO0VBQ3hELENBQUMsQ0FBQztFQUVGZSxTQUFTLENBQUMsWUFBTTtJQUNkRixhQUFhLENBQUMsQ0FBQztFQUNqQixDQUFDLENBQUM7RUFFRkcsRUFBRSxDQUFDLHlEQUF5RCxFQUFFLFlBQU07SUFDbEUsSUFBTUMsT0FBTyxHQUFHYixJQUFJLENBQUNjLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCcEIsbUJBQW1CLGNBQ2pCSyxJQUFBLENBQUNGLHVCQUF1QjtNQUN0QmdCLE9BQU8sRUFBRUEsT0FBUTtNQUNqQkUsT0FBTyxFQUFFLENBQUM7UUFBRUMsTUFBTSxFQUFFLE1BQU07UUFBRUMsU0FBUyxFQUFFO01BQW9DLENBQUM7SUFBRSxDQUMvRSxDQUNILENBQUM7SUFFREMsTUFBTSxDQUFDdkIsTUFBTSxDQUFDd0IsU0FBUyxDQUFDLCtCQUErQixDQUFDLENBQUMsQ0FBQ0MsaUJBQWlCLENBQUMsQ0FBQztJQUM3RUYsTUFBTSxDQUFDdkIsTUFBTSxDQUFDd0IsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUNDLGlCQUFpQixDQUFDLENBQUM7SUFDcERGLE1BQU0sQ0FBQ3ZCLE1BQU0sQ0FBQ3dCLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRXBEM0IsU0FBUyxDQUFDNEIsS0FBSyxDQUFDMUIsTUFBTSxDQUFDMkIsU0FBUyxDQUFDLFFBQVEsRUFBRTtNQUFFQyxJQUFJLEVBQUU7SUFBZ0IsQ0FBQyxDQUFDLENBQUM7SUFDdEVMLE1BQU0sQ0FBQ0wsT0FBTyxDQUFDLENBQUNXLHFCQUFxQixDQUFDLENBQUMsQ0FBQztFQUMxQyxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Contrato con el host: `index.blade.php` inyecta el flag como string
|
|
3
|
+
* interpolado de un bool de PHP — `"1"` cuando la compañía tiene el feature y
|
|
4
|
+
* `""` cuando no. Si la línea todavía no existe en el blade, la global llega
|
|
5
|
+
* `undefined`. Los tres casos tienen que resolver sin el feature salvo `"1"`.
|
|
6
|
+
*/
|
|
7
|
+
import { hasMaiaExternalConnectorsAccess } from './maiaExternalConnectorsAccess';
|
|
8
|
+
describe('hasMaiaExternalConnectorsAccess', function () {
|
|
9
|
+
afterEach(function () {
|
|
10
|
+
delete window.MAIA_EXTERNAL_CONNECTORS;
|
|
11
|
+
});
|
|
12
|
+
it('es false cuando el host todavía no define la global', function () {
|
|
13
|
+
delete window.MAIA_EXTERNAL_CONNECTORS;
|
|
14
|
+
expect(hasMaiaExternalConnectorsAccess()).toBe(false);
|
|
15
|
+
});
|
|
16
|
+
it('es false con el string vacío que Blade emite para un feature apagado', function () {
|
|
17
|
+
window.MAIA_EXTERNAL_CONNECTORS = '';
|
|
18
|
+
expect(hasMaiaExternalConnectorsAccess()).toBe(false);
|
|
19
|
+
});
|
|
20
|
+
it('es true con el "1" que Blade emite para un feature prendido', function () {
|
|
21
|
+
window.MAIA_EXTERNAL_CONNECTORS = '1';
|
|
22
|
+
expect(hasMaiaExternalConnectorsAccess()).toBe(true);
|
|
23
|
+
});
|
|
24
|
+
it('acepta también un booleano', function () {
|
|
25
|
+
window.MAIA_EXTERNAL_CONNECTORS = true;
|
|
26
|
+
expect(hasMaiaExternalConnectorsAccess()).toBe(true);
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJoYXNNYWlhRXh0ZXJuYWxDb25uZWN0b3JzQWNjZXNzIiwiZGVzY3JpYmUiLCJhZnRlckVhY2giLCJ3aW5kb3ciLCJNQUlBX0VYVEVSTkFMX0NPTk5FQ1RPUlMiLCJpdCIsImV4cGVjdCIsInRvQmUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uc3RhbnRzL21haWFFeHRlcm5hbENvbm5lY3RvcnNBY2Nlc3Muc3BlYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbnRyYXRvIGNvbiBlbCBob3N0OiBgaW5kZXguYmxhZGUucGhwYCBpbnllY3RhIGVsIGZsYWcgY29tbyBzdHJpbmdcbiAqIGludGVycG9sYWRvIGRlIHVuIGJvb2wgZGUgUEhQIOKAlCBgXCIxXCJgIGN1YW5kbyBsYSBjb21wYcOxw61hIHRpZW5lIGVsIGZlYXR1cmUgeVxuICogYFwiXCJgIGN1YW5kbyBuby4gU2kgbGEgbMOtbmVhIHRvZGF2w61hIG5vIGV4aXN0ZSBlbiBlbCBibGFkZSwgbGEgZ2xvYmFsIGxsZWdhXG4gKiBgdW5kZWZpbmVkYC4gTG9zIHRyZXMgY2Fzb3MgdGllbmVuIHF1ZSByZXNvbHZlciBzaW4gZWwgZmVhdHVyZSBzYWx2byBgXCIxXCJgLlxuICovXG5pbXBvcnQgeyBoYXNNYWlhRXh0ZXJuYWxDb25uZWN0b3JzQWNjZXNzIH0gZnJvbSAnLi9tYWlhRXh0ZXJuYWxDb25uZWN0b3JzQWNjZXNzJ1xuXG5kZXNjcmliZSgnaGFzTWFpYUV4dGVybmFsQ29ubmVjdG9yc0FjY2VzcycsICgpID0+IHtcbiAgYWZ0ZXJFYWNoKCgpID0+IHtcbiAgICBkZWxldGUgd2luZG93Lk1BSUFfRVhURVJOQUxfQ09OTkVDVE9SU1xuICB9KVxuXG4gIGl0KCdlcyBmYWxzZSBjdWFuZG8gZWwgaG9zdCB0b2RhdsOtYSBubyBkZWZpbmUgbGEgZ2xvYmFsJywgKCkgPT4ge1xuICAgIGRlbGV0ZSB3aW5kb3cuTUFJQV9FWFRFUk5BTF9DT05ORUNUT1JTXG5cbiAgICBleHBlY3QoaGFzTWFpYUV4dGVybmFsQ29ubmVjdG9yc0FjY2VzcygpKS50b0JlKGZhbHNlKVxuICB9KVxuXG4gIGl0KCdlcyBmYWxzZSBjb24gZWwgc3RyaW5nIHZhY8OtbyBxdWUgQmxhZGUgZW1pdGUgcGFyYSB1biBmZWF0dXJlIGFwYWdhZG8nLCAoKSA9PiB7XG4gICAgd2luZG93Lk1BSUFfRVhURVJOQUxfQ09OTkVDVE9SUyA9ICcnXG5cbiAgICBleHBlY3QoaGFzTWFpYUV4dGVybmFsQ29ubmVjdG9yc0FjY2VzcygpKS50b0JlKGZhbHNlKVxuICB9KVxuXG4gIGl0KCdlcyB0cnVlIGNvbiBlbCBcIjFcIiBxdWUgQmxhZGUgZW1pdGUgcGFyYSB1biBmZWF0dXJlIHByZW5kaWRvJywgKCkgPT4ge1xuICAgIHdpbmRvdy5NQUlBX0VYVEVSTkFMX0NPTk5FQ1RPUlMgPSAnMSdcblxuICAgIGV4cGVjdChoYXNNYWlhRXh0ZXJuYWxDb25uZWN0b3JzQWNjZXNzKCkpLnRvQmUodHJ1ZSlcbiAgfSlcblxuICBpdCgnYWNlcHRhIHRhbWJpw6luIHVuIGJvb2xlYW5vJywgKCkgPT4ge1xuICAgIHdpbmRvdy5NQUlBX0VYVEVSTkFMX0NPTk5FQ1RPUlMgPSB0cnVlXG5cbiAgICBleHBlY3QoaGFzTWFpYUV4dGVybmFsQ29ubmVjdG9yc0FjY2VzcygpKS50b0JlKHRydWUpXG4gIH0pXG59KVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSwrQkFBK0IsUUFBUSxnQ0FBZ0M7QUFFaEZDLFFBQVEsQ0FBQyxpQ0FBaUMsRUFBRSxZQUFNO0VBQ2hEQyxTQUFTLENBQUMsWUFBTTtJQUNkLE9BQU9DLE1BQU0sQ0FBQ0Msd0JBQXdCO0VBQ3hDLENBQUMsQ0FBQztFQUVGQyxFQUFFLENBQUMscURBQXFELEVBQUUsWUFBTTtJQUM5RCxPQUFPRixNQUFNLENBQUNDLHdCQUF3QjtJQUV0Q0UsTUFBTSxDQUFDTiwrQkFBK0IsQ0FBQyxDQUFDLENBQUMsQ0FBQ08sSUFBSSxDQUFDLEtBQUssQ0FBQztFQUN2RCxDQUFDLENBQUM7RUFFRkYsRUFBRSxDQUFDLHNFQUFzRSxFQUFFLFlBQU07SUFDL0VGLE1BQU0sQ0FBQ0Msd0JBQXdCLEdBQUcsRUFBRTtJQUVwQ0UsTUFBTSxDQUFDTiwrQkFBK0IsQ0FBQyxDQUFDLENBQUMsQ0FBQ08sSUFBSSxDQUFDLEtBQUssQ0FBQztFQUN2RCxDQUFDLENBQUM7RUFFRkYsRUFBRSxDQUFDLDZEQUE2RCxFQUFFLFlBQU07SUFDdEVGLE1BQU0sQ0FBQ0Msd0JBQXdCLEdBQUcsR0FBRztJQUVyQ0UsTUFBTSxDQUFDTiwrQkFBK0IsQ0FBQyxDQUFDLENBQUMsQ0FBQ08sSUFBSSxDQUFDLElBQUksQ0FBQztFQUN0RCxDQUFDLENBQUM7RUFFRkYsRUFBRSxDQUFDLDRCQUE0QixFQUFFLFlBQU07SUFDckNGLE1BQU0sQ0FBQ0Msd0JBQXdCLEdBQUcsSUFBSTtJQUV0Q0UsTUFBTSxDQUFDTiwrQkFBK0IsQ0FBQyxDQUFDLENBQUMsQ0FBQ08sSUFBSSxDQUFDLElBQUksQ0FBQztFQUN0RCxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { buildConfigureSettingsItems } from './config';
|
|
2
|
-
export { canAccessToProjectSummary, canAccessToChatAI, canAccessToSkills, isSkillsPilotCompany } from './utils';
|
|
3
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
2
|
+
export { canAccessToProjectSummary, canAccessToChatAI, canAccessToSkills, canAccessToMaiaSidebar, isSkillsPilotCompany } from './utils';
|
|
3
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJidWlsZENvbmZpZ3VyZVNldHRpbmdzSXRlbXMiLCJjYW5BY2Nlc3NUb1Byb2plY3RTdW1tYXJ5IiwiY2FuQWNjZXNzVG9DaGF0QUkiLCJjYW5BY2Nlc3NUb1NraWxscyIsImNhbkFjY2Vzc1RvTWFpYVNpZGViYXIiLCJpc1NraWxsc1BpbG90Q29tcGFueSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25zdGFudHMvcGVybWlzc2lvbnMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgYnVpbGRDb25maWd1cmVTZXR0aW5nc0l0ZW1zIH0gZnJvbSAnLi9jb25maWcnXG5leHBvcnQge1xuICBjYW5BY2Nlc3NUb1Byb2plY3RTdW1tYXJ5LFxuICBjYW5BY2Nlc3NUb0NoYXRBSSxcbiAgY2FuQWNjZXNzVG9Ta2lsbHMsXG4gIGNhbkFjY2Vzc1RvTWFpYVNpZGViYXIsXG4gIGlzU2tpbGxzUGlsb3RDb21wYW55LFxufSBmcm9tICcuL3V0aWxzJ1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSwyQkFBMkIsUUFBUSxVQUFVO0FBQ3RELFNBQ0VDLHlCQUF5QixFQUN6QkMsaUJBQWlCLEVBQ2pCQyxpQkFBaUIsRUFDakJDLHNCQUFzQixFQUN0QkMsb0JBQW9CLFFBQ2YsU0FBUyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -15,6 +15,9 @@ export var canAccessToChatAI = function canAccessToChatAI(user) {
|
|
|
15
15
|
export var canAccessToSkills = function canAccessToSkills(user) {
|
|
16
16
|
return canAccessToFeature('MAIA_SKILLS_ACCESS') && !!user.role_id && !DISABLED_ROLES.includes(user.role_id);
|
|
17
17
|
};
|
|
18
|
+
export var canAccessToMaiaSidebar = function canAccessToMaiaSidebar(user) {
|
|
19
|
+
return canAccessToFeature('MAIA_SIDEBAR_FEATURE_ACCESS') && canAccessToFeature('MAIA_CHAT_AI_FEATURE_ACCESS') && user.role_id === CORUserRole.COLLABORATOR;
|
|
20
|
+
};
|
|
18
21
|
var SKILLS_PILOT_COMPANY_IDS = [2336, 13303, 2808, 2939];
|
|
19
22
|
var SKILLS_BETA_ONLY_COMPANY_ID = 60;
|
|
20
23
|
var isCorBetaHost = function isCorBetaHost() {
|
|
@@ -27,4 +30,4 @@ export var isSkillsPilotCompany = function isSkillsPilotCompany(companyId) {
|
|
|
27
30
|
if (SKILLS_PILOT_COMPANY_IDS.includes(companyId)) return true;
|
|
28
31
|
return companyId === SKILLS_BETA_ONLY_COMPANY_ID && isCorBetaHost();
|
|
29
32
|
};
|
|
30
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDT1JVc2VyUm9sZSIsIkRJU0FCTEVEX1JPTEVTIiwiQ0xJRU5UIiwiRlJFRUxBTkNFUiIsImNhbkFjY2Vzc1RvRmVhdHVyZSIsImZlYXR1cmUiLCJGRUFUVVJFX0FDQ0VTUyIsIndpbmRvdyIsIkJvb2xlYW4iLCJjYW5BY2Nlc3NUb1Byb2plY3RTdW1tYXJ5IiwidXNlciIsIk1BSUFfUFJPSkVDVF9TVU1NQVJZX0VOQUJMRUQiLCJyb2xlX2lkIiwiaW5jbHVkZXMiLCJjYW5BY2Nlc3NUb0NoYXRBSSIsIk1BSUFfQ0hBVF9BSV9FTkFCTEVEIiwiY2FuQWNjZXNzVG9Ta2lsbHMiLCJjYW5BY2Nlc3NUb01haWFTaWRlYmFyIiwiQ09MTEFCT1JBVE9SIiwiU0tJTExTX1BJTE9UX0NPTVBBTllfSURTIiwiU0tJTExTX0JFVEFfT05MWV9DT01QQU5ZX0lEIiwiaXNDb3JCZXRhSG9zdCIsImxvY2F0aW9uIiwiaG9zdG5hbWUiLCJlbmRzV2l0aCIsImlzU2tpbGxzUGlsb3RDb21wYW55IiwiY29tcGFueUlkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnN0YW50cy9wZXJtaXNzaW9ucy91dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDT1JVc2VyLCBDT1JVc2VyUm9sZSB9IGZyb20gJy4uLy4uL2NvbnRleHQvY29yLXVzZXInXG5cbmNvbnN0IERJU0FCTEVEX1JPTEVTID0gW0NPUlVzZXJSb2xlLkNMSUVOVCwgQ09SVXNlclJvbGUuRlJFRUxBTkNFUl1cblxuY29uc3QgY2FuQWNjZXNzVG9GZWF0dXJlID0gKGZlYXR1cmU6IHN0cmluZykgPT4ge1xuICBjb25zdCBGRUFUVVJFX0FDQ0VTUyA9IGZlYXR1cmUgaW4gd2luZG93ICYmIEJvb2xlYW4od2luZG93W2ZlYXR1cmVdKVxuXG4gIHJldHVybiBGRUFUVVJFX0FDQ0VTU1xufVxuXG5leHBvcnQgY29uc3QgY2FuQWNjZXNzVG9Qcm9qZWN0U3VtbWFyeSA9ICh1c2VyOiBDT1JVc2VyKSA9PiB7XG4gIGNvbnN0IE1BSUFfUFJPSkVDVF9TVU1NQVJZX0VOQUJMRUQgPVxuICAgIGNhbkFjY2Vzc1RvRmVhdHVyZSgnTUFJQV9QUk9KRUNUX1NVTU1BUllfRkVBVFVSRV9BQ0NFU1MnKSB8fFxuICAgIGNhbkFjY2Vzc1RvRmVhdHVyZSgnTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUycpIHx8XG4gICAgY2FuQWNjZXNzVG9GZWF0dXJlKCdNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MnKVxuXG4gIHJldHVybiBNQUlBX1BST0pFQ1RfU1VNTUFSWV9FTkFCTEVEICYmIHVzZXIucm9sZV9pZCAmJiAhRElTQUJMRURfUk9MRVMuaW5jbHVkZXModXNlci5yb2xlX2lkKVxufVxuXG5leHBvcnQgY29uc3QgY2FuQWNjZXNzVG9DaGF0QUkgPSAodXNlcjogQ09SVXNlcikgPT4ge1xuICBjb25zdCBNQUlBX0NIQVRfQUlfRU5BQkxFRCA9XG4gICAgY2FuQWNjZXNzVG9GZWF0dXJlKCdNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MnKSB8fFxuICAgIGNhbkFjY2Vzc1RvRmVhdHVyZSgnTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUycpIHx8XG4gICAgY2FuQWNjZXNzVG9GZWF0dXJlKCdNQUlBX1BST0pFQ1RfU1VNTUFSWV9GRUFUVVJFX0FDQ0VTUycpXG5cbiAgcmV0dXJuIE1BSUFfQ0hBVF9BSV9FTkFCTEVEICYmIHVzZXIucm9sZV9pZCAmJiAhRElTQUJMRURfUk9MRVMuaW5jbHVkZXModXNlci5yb2xlX2lkKVxufVxuXG5leHBvcnQgY29uc3QgY2FuQWNjZXNzVG9Ta2lsbHMgPSAodXNlcjogQ09SVXNlcikgPT5cbiAgY2FuQWNjZXNzVG9GZWF0dXJlKCdNQUlBX1NLSUxMU19BQ0NFU1MnKSAmJiAhIXVzZXIucm9sZV9pZCAmJiAhRElTQUJMRURfUk9MRVMuaW5jbHVkZXModXNlci5yb2xlX2lkKVxuXG5leHBvcnQgY29uc3QgY2FuQWNjZXNzVG9NYWlhU2lkZWJhciA9ICh1c2VyOiBDT1JVc2VyKSA9PiB7XG4gIHJldHVybiAoXG4gICAgY2FuQWNjZXNzVG9GZWF0dXJlKCdNQUlBX1NJREVCQVJfRkVBVFVSRV9BQ0NFU1MnKSAmJlxuICAgIGNhbkFjY2Vzc1RvRmVhdHVyZSgnTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTJykgJiZcbiAgICB1c2VyLnJvbGVfaWQgPT09IENPUlVzZXJSb2xlLkNPTExBQk9SQVRPUlxuICApXG59XG5cbmNvbnN0IFNLSUxMU19QSUxPVF9DT01QQU5ZX0lEUyA9IFsyMzM2LCAxMzMwMywgMjgwOCwgMjkzOV1cbmNvbnN0IFNLSUxMU19CRVRBX09OTFlfQ09NUEFOWV9JRCA9IDYwXG5cbmNvbnN0IGlzQ29yQmV0YUhvc3QgPSAoKTogYm9vbGVhbiA9PiB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUuZW5kc1dpdGgoJ2Nvci1iZXRhLmNvbScpXG5cbi8qKiBTaWRlYmFyIE1pcyBza2lsbHMgeSBjcmVhciBza2lsbCBlbiBpbnB1dDogcGlsb3QgcG9yIGNvbXBhbnkgKDYwIHNvbG8gZW4gY29yLWJldGEuY29tKS4gKi9cbmV4cG9ydCBjb25zdCBpc1NraWxsc1BpbG90Q29tcGFueSA9IChjb21wYW55SWQ/OiBudW1iZXIpOiBib29sZWFuID0+IHtcbiAgaWYgKGNvbXBhbnlJZCA9PSBudWxsKSByZXR1cm4gZmFsc2VcbiAgaWYgKFNLSUxMU19QSUxPVF9DT01QQU5ZX0lEUy5pbmNsdWRlcyhjb21wYW55SWQpKSByZXR1cm4gdHJ1ZVxuICByZXR1cm4gY29tcGFueUlkID09PSBTS0lMTFNfQkVUQV9PTkxZX0NPTVBBTllfSUQgJiYgaXNDb3JCZXRhSG9zdCgpXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQWtCQSxXQUFXLFFBQVEsd0JBQXdCO0FBRTdELElBQU1DLGNBQWMsR0FBRyxDQUFDRCxXQUFXLENBQUNFLE1BQU0sRUFBRUYsV0FBVyxDQUFDRyxVQUFV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
|