@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.
Files changed (658) hide show
  1. package/lib/App.js +55 -0
  2. package/lib/components/atoms/ActionableButton.js +60 -0
  3. package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.js +89 -0
  4. package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.styles.js +21 -0
  5. package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.utils.js +9 -0
  6. package/lib/components/atoms/AgentActivityIndicator/index.js +2 -0
  7. package/lib/components/atoms/ApprovalBox/ApprovalBox.js +209 -0
  8. package/lib/components/atoms/ApprovalBox/ApprovalBox.styles.js +93 -0
  9. package/lib/components/atoms/ApprovalBox/index.js +2 -0
  10. package/lib/components/atoms/AttachmentCard/AttachmentCard.js +218 -0
  11. package/lib/components/atoms/AttachmentCard/AttachmentCard.styles.js +52 -0
  12. package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.js +448 -0
  13. package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.styles.js +58 -0
  14. package/lib/components/atoms/AttachmentCard/AttachmentCardImage.js +55 -0
  15. package/lib/components/atoms/AttachmentCard/AttachmentCardImage.styles.js +14 -0
  16. package/lib/components/atoms/AttachmentCard/index.js +4 -0
  17. package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.js +442 -0
  18. package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.styles.js +119 -0
  19. package/lib/components/atoms/AttachmentPreviewModal/ExcelPreview.js +222 -0
  20. package/lib/components/atoms/AttachmentPreviewModal/PptPreview.js +313 -0
  21. package/lib/components/atoms/AttachmentPreviewModal/WordPreview.js +128 -0
  22. package/lib/components/atoms/AttachmentPreviewModal/index.js +2 -0
  23. package/lib/components/atoms/Backdrop/Backdrop.js +17 -0
  24. package/lib/components/atoms/Backdrop/Backdrop.styles.js +9 -0
  25. package/lib/components/atoms/Backdrop/index.js +2 -0
  26. package/lib/components/atoms/CardItem.js +7 -0
  27. package/lib/components/atoms/CardMenu/CardMenu.js +131 -0
  28. package/lib/components/atoms/CardMenu/index.js +2 -0
  29. package/lib/components/atoms/CardMenu/styles.js +21 -0
  30. package/lib/components/atoms/ChatClientSelector/ChatClientSelector.js +77 -0
  31. package/lib/components/atoms/ChatClientSelector/index.js +2 -0
  32. package/lib/components/atoms/ChatDisclaimerMessage/ChatDisclaimerMessage.js +9 -0
  33. package/lib/components/atoms/ChatDisclaimerMessage/index.js +2 -0
  34. package/lib/components/atoms/ChatDisclaimerMessage/styles.js +6 -0
  35. package/lib/components/atoms/Checkbox/Checkbox.js +34 -0
  36. package/lib/components/atoms/Checkbox/index.js +2 -0
  37. package/lib/components/atoms/Checkbox/styles.js +39 -0
  38. package/lib/components/atoms/Chip/Chip.js +150 -0
  39. package/lib/components/atoms/Chip/index.js +2 -0
  40. package/lib/components/atoms/Chip/styles.js +43 -0
  41. package/lib/components/atoms/ChipLlm/ChipLlm.js +45 -0
  42. package/lib/components/atoms/ChipLlm/ChipLlm.style.js +21 -0
  43. package/lib/components/atoms/ChipLlm/index.js +2 -0
  44. package/lib/components/atoms/ChipStatus/ChipStatus.interface.js +2 -0
  45. package/lib/components/atoms/ChipStatus/ChipStatus.js +14 -0
  46. package/lib/components/atoms/ChipStatus/ChipStatus.styles.js +27 -0
  47. package/lib/components/atoms/ChipStatus/index.js +2 -0
  48. package/lib/components/atoms/ClearButton.js +6 -0
  49. package/lib/components/atoms/ClientSelector/ClientSelector.js +146 -0
  50. package/lib/components/atoms/ClientSelector/ClientSelector.styles.js +15 -0
  51. package/lib/components/atoms/ClientSelector/index.js +2 -0
  52. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.js +38 -0
  53. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.styles.js +188 -0
  54. package/lib/components/atoms/ContextMentionChip/MentionOverflowLabel.js +39 -0
  55. package/lib/components/atoms/ContextMentionChip/buildChipElement.js +434 -0
  56. package/lib/components/atoms/ContextMentionChip/index.js +4 -0
  57. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +411 -0
  58. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.styles.js +10 -0
  59. package/lib/components/atoms/ContextMentionEditor/index.js +2 -0
  60. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +309 -0
  61. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +157 -0
  62. package/lib/components/atoms/ContextMentionItem/index.js +2 -0
  63. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +307 -0
  64. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.styles.js +108 -0
  65. package/lib/components/atoms/ContextMentionPopover/index.js +3 -0
  66. package/lib/components/atoms/CopyToClipboard.js +70 -0
  67. package/lib/components/atoms/EditableLabel/EditableLabel.js +110 -0
  68. package/lib/components/atoms/EditableLabel/index.js +2 -0
  69. package/lib/components/atoms/EditableLabel/styles.js +7 -0
  70. package/lib/components/atoms/EmptySearchClients/EmptySearchClients.js +22 -0
  71. package/lib/components/atoms/EmptySearchClients/EmptySearchClients.styles.js +18 -0
  72. package/lib/components/atoms/EmptySearchClients/index.js +2 -0
  73. package/lib/components/atoms/EmptySearchProjects/EmptySearchProjects.js +19 -0
  74. package/lib/components/atoms/EmptySearchProjects/EmptySearchProjects.styles.js +15 -0
  75. package/lib/components/atoms/EmptySearchProjects/index.js +2 -0
  76. package/lib/components/atoms/EntitySelector/EntitySelector.js +247 -0
  77. package/lib/components/atoms/EntitySelector/EntitySelector.skeleton.js +38 -0
  78. package/lib/components/atoms/EntitySelector/EntitySelector.styles.js +67 -0
  79. package/lib/components/atoms/EntitySelector/index.js +2 -0
  80. package/lib/components/atoms/ErrorSearchClients/ErrorSearchClients.js +14 -0
  81. package/lib/components/atoms/ErrorSearchClients/ErrorSearchClients.styles.js +15 -0
  82. package/lib/components/atoms/ErrorSearchFaqs/ErrorSearchFaqs.js +14 -0
  83. package/lib/components/atoms/ErrorSearchFaqs/ErrorSearchFaqs.style.js +15 -0
  84. package/lib/components/atoms/ErrorSearchFaqs/index.js +2 -0
  85. package/lib/components/atoms/ErrorSearchProjects/ErrorSearchProjects.js +18 -0
  86. package/lib/components/atoms/ErrorSearchProjects/ErrorSearchProjects.style.js +15 -0
  87. package/lib/components/atoms/ErrorSearchProjects/index.js +2 -0
  88. package/lib/components/atoms/Expand/Expand.js +32 -0
  89. package/lib/components/atoms/Expand/index.js +2 -0
  90. package/lib/components/atoms/Fade/Fade.js +56 -0
  91. package/lib/components/atoms/Fade/index.js +2 -0
  92. package/lib/components/atoms/FeedbackButton/FeedbackButton.js +59 -0
  93. package/lib/components/atoms/FeedbackButton/FeedbackButton.styles.js +14 -0
  94. package/lib/components/atoms/FeedbackButton/index.js +2 -0
  95. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.js +138 -0
  96. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.skeleton.js +44 -0
  97. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.styles.js +43 -0
  98. package/lib/components/atoms/FrequentlyAskedQuestions/index.js +2 -0
  99. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +122 -0
  100. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.skeleton.js +43 -0
  101. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +62 -0
  102. package/lib/components/atoms/FrequentlyUsedActions/index.js +2 -0
  103. package/lib/components/atoms/GoBackButton.js +24 -0
  104. package/lib/components/atoms/HelpButton.js +44 -0
  105. package/lib/components/atoms/IconButton.js +56 -0
  106. package/lib/components/atoms/ImagePreview/ImagePreview.js +96 -0
  107. package/lib/components/atoms/ImagePreview/ImagePreview.styles.js +70 -0
  108. package/lib/components/atoms/Input/CustomInput.interface.js +2 -0
  109. package/lib/components/atoms/Input/CustomInput.js +91 -0
  110. package/lib/components/atoms/Input/CustomInput.styles.js +39 -0
  111. package/lib/components/atoms/Input/index.js +2 -0
  112. package/lib/components/atoms/ListMenuOption/ListMenuOption.js +41 -0
  113. package/lib/components/atoms/ListMenuOption/index.js +2 -0
  114. package/lib/components/atoms/ListMenuOption/styles.js +9 -0
  115. package/lib/components/atoms/Loader.js +41 -0
  116. package/lib/components/atoms/LoadingFaqs/LoadingFaqs.js +11 -0
  117. package/lib/components/atoms/LoadingFaqs/LoadingFaqs.style.js +6 -0
  118. package/lib/components/atoms/LoadingFaqs/index.js +2 -0
  119. package/lib/components/atoms/LoadingSearchClients/LoadingSearchClients.js +11 -0
  120. package/lib/components/atoms/LoadingSearchClients/LoadingSearchClients.styles.js +6 -0
  121. package/lib/components/atoms/LoadingSearchClients/index.js +2 -0
  122. package/lib/components/atoms/LoadingSearchProjects/LoadingSearchProjects.js +14 -0
  123. package/lib/components/atoms/LoadingSearchProjects/LoadingSearchProjects.style.js +10 -0
  124. package/lib/components/atoms/LoadingSearchProjects/index.js +2 -0
  125. package/lib/components/atoms/LoadingText/LoadingText.js +18 -0
  126. package/lib/components/atoms/LoadingText/index.js +2 -0
  127. package/lib/components/atoms/LoadingText/styles.js +7 -0
  128. package/lib/components/atoms/MAIAButton/MAIAButton.js +33 -0
  129. package/lib/components/atoms/MAIAButton/index.js +2 -0
  130. package/lib/components/atoms/MAIAError/MAIAError.js +15 -0
  131. package/lib/components/atoms/MAIAError/index.js +2 -0
  132. package/lib/components/atoms/MAIAInput/MAIAInput.js +1058 -0
  133. package/lib/components/atoms/MAIAInput/MAIAInputEditor.js +266 -0
  134. package/lib/components/atoms/MAIAInput/index.js +2 -0
  135. package/lib/components/atoms/MAIAInput/maiaInputLayout.js +25 -0
  136. package/lib/components/atoms/MAIAInput/styles.js +182 -0
  137. package/lib/components/atoms/MAIAMessage/MAIAMessage.interfaces.js +2 -0
  138. package/lib/components/atoms/MAIAMessage/MAIAMessage.js +22 -0
  139. package/lib/components/atoms/MAIAMessage/index.js +2 -0
  140. package/lib/components/atoms/MAIAMessage/styles.js +7 -0
  141. package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.config.js +23 -0
  142. package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.interfaces.js +2 -0
  143. package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.js +51 -0
  144. package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.styles.js +26 -0
  145. package/lib/components/atoms/MaiaStreamdown/index.js +2 -0
  146. package/lib/components/atoms/MaiaWrapper/MaiaWrapper.js +18 -0
  147. package/lib/components/atoms/MaiaWrapper/MaiaWrapperBase.js +84 -0
  148. package/lib/components/atoms/MaiaWrapper/ModernMaiaWrapper.js +15 -0
  149. package/lib/components/atoms/MaiaWrapper/index.js +3 -0
  150. package/lib/components/atoms/MaiaWrapper/styles.js +21 -0
  151. package/lib/components/atoms/ModalClientAccess/ModalClientAccess.interface.js +2 -0
  152. package/lib/components/atoms/ModalClientAccess/ModalClientAccess.js +84 -0
  153. package/lib/components/atoms/ModalClientAccess/ModalClientAccess.styles.js +53 -0
  154. package/lib/components/atoms/ModalClientAccess/index.js +2 -0
  155. package/lib/components/atoms/ModalInfo/ModalInfo.js +52 -0
  156. package/lib/components/atoms/ModalInfo/ModalInfoContent.js +7 -0
  157. package/lib/components/atoms/ModalInfo/index.js +3 -0
  158. package/lib/components/atoms/ModalInfo/styles.js +7 -0
  159. package/lib/components/atoms/ModalProject/ModalProject.interface.js +2 -0
  160. package/lib/components/atoms/ModalProject/ModalProject.js +112 -0
  161. package/lib/components/atoms/ModalProject/ModalProject.style.js +59 -0
  162. package/lib/components/atoms/ModalProject/index.js +2 -0
  163. package/lib/components/atoms/NextPageLoader.js +33 -0
  164. package/lib/components/atoms/OnboardingModalButton/OnboardingModal.js +28 -0
  165. package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.js +180 -0
  166. package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.styles.js +34 -0
  167. package/lib/components/atoms/OnboardingModalButton/index.js +3 -0
  168. package/lib/components/atoms/OptionAccessibility/OptionAccessibility.js +131 -0
  169. package/lib/components/atoms/OptionAccessibility/OptionAccessibility.styles.js +59 -0
  170. package/lib/components/atoms/OptionAccessibility/index.js +2 -0
  171. package/lib/components/atoms/OptionCorPermission/OptionCorPermission.js +27 -0
  172. package/lib/components/atoms/OptionCorPermission/OptionCorPermission.styles.js +18 -0
  173. package/lib/components/atoms/OptionCorPermission/index.js +2 -0
  174. package/lib/components/atoms/PrimaryButton.js +31 -0
  175. package/lib/components/atoms/ProjectSelector/ProjectSelector.js +77 -0
  176. package/lib/components/atoms/ProjectSelector/ProjectSelector.styles.js +61 -0
  177. package/lib/components/atoms/ProjectSelector/index.js +2 -0
  178. package/lib/components/atoms/SecondaryButton.js +20 -0
  179. package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.js +20 -0
  180. package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.styles.js +20 -0
  181. package/lib/components/atoms/SessionGeneratingDot/index.js +2 -0
  182. package/lib/components/atoms/Skeleton/Skeleton.js +36 -0
  183. package/lib/components/atoms/Skeleton/index.js +2 -0
  184. package/lib/components/atoms/SlashCommandChip/SlashCommandChip.js +16 -0
  185. package/lib/components/atoms/SlashCommandChip/SlashCommandChip.styles.js +24 -0
  186. package/lib/components/atoms/SlashCommandChip/buildSlashChipElement.js +18 -0
  187. package/lib/components/atoms/SlashCommandChip/index.js +4 -0
  188. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.js +210 -0
  189. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.styles.js +53 -0
  190. package/lib/components/atoms/SlashCommandDropdown/index.js +2 -0
  191. package/lib/components/atoms/Switch/Switch.js +27 -0
  192. package/lib/components/atoms/Switch/Switch.styles.js +22 -0
  193. package/lib/components/atoms/Switch/index.js +2 -0
  194. package/lib/components/atoms/TextArea/CustomTextArea.interface.js +2 -0
  195. package/lib/components/atoms/TextArea/CustomTextArea.js +93 -0
  196. package/lib/components/atoms/TextArea/CustomTextArea.styles.js +25 -0
  197. package/lib/components/atoms/TextArea/TextArea.interfaces.js +2 -0
  198. package/lib/components/atoms/TextArea/TextArea.js +172 -0
  199. package/lib/components/atoms/TextArea/TextArea.styles.js +16 -0
  200. package/lib/components/atoms/TextArea/index.js +2 -0
  201. package/lib/components/atoms/ThirdButton.js +19 -0
  202. package/lib/components/atoms/VideoModal/VideoModal.js +76 -0
  203. package/lib/components/atoms/VideoModal/index.js +2 -0
  204. package/lib/components/atoms/WithAppCfg.js +26 -0
  205. package/lib/components/atoms/WithFeatureValidation.js +23 -0
  206. package/lib/components/atoms/WrapperCenterIcon/WrapperCenterIcon.js +9 -0
  207. package/lib/components/atoms/WrapperCenterIcon/WrapperCenterIcon.styles.js +6 -0
  208. package/lib/components/atoms/WrapperCenterIcon/index.js +2 -0
  209. package/lib/components/atoms/icons/AIIcon.js +23 -0
  210. package/lib/components/atoms/icons/AacFile.js +39 -0
  211. package/lib/components/atoms/icons/AccessibilityIcon.js +42 -0
  212. package/lib/components/atoms/icons/ActionAssignIcon.js +111 -0
  213. package/lib/components/atoms/icons/ActionCalendarIcon.js +112 -0
  214. package/lib/components/atoms/icons/ActionChargeHoursIcon.js +111 -0
  215. package/lib/components/atoms/icons/ActionChatIcon.js +71 -0
  216. package/lib/components/atoms/icons/ActionCreateIcon.js +91 -0
  217. package/lib/components/atoms/icons/ActionCreateReworkIcon.js +39 -0
  218. package/lib/components/atoms/icons/ActionCreateSubtaskIcon.js +37 -0
  219. package/lib/components/atoms/icons/ActionEditIcon.js +39 -0
  220. package/lib/components/atoms/icons/ActionSummaryMessagesIcon.js +88 -0
  221. package/lib/components/atoms/icons/ActionSummaryTaskIcon.js +37 -0
  222. package/lib/components/atoms/icons/ActionTimeBackIcon.js +112 -0
  223. package/lib/components/atoms/icons/AgentMaiaIcon.js +31 -0
  224. package/lib/components/atoms/icons/Brain.js +77 -0
  225. package/lib/components/atoms/icons/CorAccessIcon.js +41 -0
  226. package/lib/components/atoms/icons/CorLogo.js +76 -0
  227. package/lib/components/atoms/icons/CsvFile.js +41 -0
  228. package/lib/components/atoms/icons/DocFile.js +41 -0
  229. package/lib/components/atoms/icons/DocxFile.js +41 -0
  230. package/lib/components/atoms/icons/EmptyClientIllustration.js +67 -0
  231. package/lib/components/atoms/icons/EmptyHistory.js +46 -0
  232. package/lib/components/atoms/icons/EmptySearchIllustration.js +37 -0
  233. package/lib/components/atoms/icons/EmptyState.js +84 -0
  234. package/lib/components/atoms/icons/EmptyStateAgents.js +58 -0
  235. package/lib/components/atoms/icons/ErrorIcon.js +14 -0
  236. package/lib/components/atoms/icons/ErrorSearchIllustration.js +52 -0
  237. package/lib/components/atoms/icons/ErrorState.js +51 -0
  238. package/lib/components/atoms/icons/FaqChevronIcon.js +39 -0
  239. package/lib/components/atoms/icons/FaqsIcon.js +51 -0
  240. package/lib/components/atoms/icons/FlacIcon.js +39 -0
  241. package/lib/components/atoms/icons/FolderIcon.js +29 -0
  242. package/lib/components/atoms/icons/HomeIcon.js +30 -0
  243. package/lib/components/atoms/icons/ImageFile.js +46 -0
  244. package/lib/components/atoms/icons/M4aFile.js +39 -0
  245. package/lib/components/atoms/icons/MAIAIcon.js +20 -0
  246. package/lib/components/atoms/icons/MAIAIsologo.js +65 -0
  247. package/lib/components/atoms/icons/MDFile.js +41 -0
  248. package/lib/components/atoms/icons/MaiaChatLayoutFloatingIcon.js +41 -0
  249. package/lib/components/atoms/icons/MaiaChatLayoutFullscreenIcon.js +41 -0
  250. package/lib/components/atoms/icons/MaiaChatLayoutMenuIcon.js +33 -0
  251. package/lib/components/atoms/icons/MaiaChatLayoutSidebarIcon.js +41 -0
  252. package/lib/components/atoms/icons/MaiaInputAddIcon.js +42 -0
  253. package/lib/components/atoms/icons/MaiaInputAttachIcon.js +29 -0
  254. package/lib/components/atoms/icons/MaiaInputAttachmentImageIcon.js +33 -0
  255. package/lib/components/atoms/icons/MaiaInputDeepSearchIcon.js +35 -0
  256. package/lib/components/atoms/icons/MaiaInputMentionIcon.js +44 -0
  257. package/lib/components/atoms/icons/MaiaInputRobotIcon.js +29 -0
  258. package/lib/components/atoms/icons/MaiaInputSendIcon.js +29 -0
  259. package/lib/components/atoms/icons/MaiaInputSlashIcon.js +29 -0
  260. package/lib/components/atoms/icons/MaiaInputWebSearchIcon.js +35 -0
  261. package/lib/components/atoms/icons/MaiaSettingsProject.js +111 -0
  262. package/lib/components/atoms/icons/MaiaSettingsProjectV2.js +193 -0
  263. package/lib/components/atoms/icons/MaiaSparkleIcon.js +75 -0
  264. package/lib/components/atoms/icons/MaiaStoreIcon.js +31 -0
  265. package/lib/components/atoms/icons/Mp3File.js +39 -0
  266. package/lib/components/atoms/icons/Mp4File.js +39 -0
  267. package/lib/components/atoms/icons/MyAgentsNavIcon.js +51 -0
  268. package/lib/components/atoms/icons/NewChat.js +29 -0
  269. package/lib/components/atoms/icons/NotionIcon.js +36 -0
  270. package/lib/components/atoms/icons/OgaFile.js +39 -0
  271. package/lib/components/atoms/icons/OggFile.js +39 -0
  272. package/lib/components/atoms/icons/PdfFile.js +39 -0
  273. package/lib/components/atoms/icons/PptFile.js +47 -0
  274. package/lib/components/atoms/icons/PptxFile.js +49 -0
  275. package/lib/components/atoms/icons/RetryIcon.js +34 -0
  276. package/lib/components/atoms/icons/SkillIcon.js +30 -0
  277. package/lib/components/atoms/icons/SkillsNavIcon.js +27 -0
  278. package/lib/components/atoms/icons/SubtaskIcon.js +36 -0
  279. package/lib/components/atoms/icons/TaskLinkIcon.js +27 -0
  280. package/lib/components/atoms/icons/TelescopeIcon.js +60 -0
  281. package/lib/components/atoms/icons/TemplateGradientIcon.js +42 -0
  282. package/lib/components/atoms/icons/TextFile.js +41 -0
  283. package/lib/components/atoms/icons/WavFile.js +39 -0
  284. package/lib/components/atoms/icons/WebmFile.js +50 -0
  285. package/lib/components/atoms/icons/XlsFile.js +42 -0
  286. package/lib/components/atoms/icons/XlsxFile.js +42 -0
  287. package/lib/components/atoms/icons/index.js +50 -0
  288. package/lib/components/atoms/index.js +42 -0
  289. package/lib/components/index.js +11 -0
  290. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.interface.js +2 -0
  291. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +149 -0
  292. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.styles.js +53 -0
  293. package/lib/components/molecules/AbmSection/AbmGeneralSection.js +415 -0
  294. package/lib/components/molecules/AbmSection/AbmGeneralSection.styles.js +152 -0
  295. package/lib/components/molecules/AbmSection/AbmKnowledgeSection.js +374 -0
  296. package/lib/components/molecules/AbmSection/AbmKnowledgeSection.styles.js +106 -0
  297. package/lib/components/molecules/AbmSection/AbmLoaderFiles.js +92 -0
  298. package/lib/components/molecules/AbmSection/AbmLoaderFiles.styles.js +57 -0
  299. package/lib/components/molecules/AbmSection/index.js +4 -0
  300. package/lib/components/molecules/ChatAIClientSelector/ChatAIClientSelector.js +52 -0
  301. package/lib/components/molecules/ChatAIClientSelector/index.js +2 -0
  302. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +117 -0
  303. package/lib/components/molecules/ChatAIContent/ChatAIContent.skeleton.js +187 -0
  304. package/lib/components/molecules/ChatAIContent/ChatAIContent.styles.js +6 -0
  305. package/lib/components/molecules/ChatAIContent/index.js +2 -0
  306. package/lib/components/molecules/ChatAIHistory/ChatAIHistory.js +241 -0
  307. package/lib/components/molecules/ChatAIHistory/index.js +2 -0
  308. package/lib/components/molecules/ChatAIHistory/styles.js +22 -0
  309. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +649 -0
  310. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.js +115 -0
  311. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.styles.js +95 -0
  312. package/lib/components/molecules/ChatAIHome/index.js +2 -0
  313. package/lib/components/molecules/ChatAIHome/styles.js +335 -0
  314. package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.js +137 -0
  315. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +853 -0
  316. package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.js +47 -0
  317. package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.styles.js +37 -0
  318. package/lib/components/molecules/ChatAIMessages/README.md +101 -0
  319. package/lib/components/molecules/ChatAIMessages/index.js +2 -0
  320. package/lib/components/molecules/ChatAIMessages/newStyles.js +131 -0
  321. package/lib/components/molecules/ChatAIMessages/styles.js +94 -0
  322. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +1217 -0
  323. package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +58 -0
  324. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.js +127 -0
  325. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.styles.js +34 -0
  326. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/index.js +2 -0
  327. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +189 -0
  328. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +26 -0
  329. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/index.js +2 -0
  330. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +448 -0
  331. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +108 -0
  332. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/index.js +2 -0
  333. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.js +48 -0
  334. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.styles.js +38 -0
  335. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/index.js +2 -0
  336. package/lib/components/molecules/ChatAIModal/constants.js +40 -0
  337. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.js +16 -0
  338. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.styles.js +12 -0
  339. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/constants.js +13 -0
  340. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/index.js +3 -0
  341. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/useFloatingPanelDragTilt.js +57 -0
  342. package/lib/components/molecules/ChatAIModal/index.js +2 -0
  343. package/lib/components/molecules/ChatAIModal/layout.js +74 -0
  344. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.js +457 -0
  345. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.styles.js +218 -0
  346. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +357 -0
  347. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +145 -0
  348. package/lib/components/molecules/ChatAIMySkills/index.js +2 -0
  349. package/lib/components/molecules/ChatAIProjectSelector/ChatAIProjectSelector.js +48 -0
  350. package/lib/components/molecules/ChatAIProjectSelector/ChatAIProjectSelector.styles.js +49 -0
  351. package/lib/components/molecules/ChatAIProjectSelector/index.js +2 -0
  352. package/lib/components/molecules/ChatFooter/ChatFooter.js +337 -0
  353. package/lib/components/molecules/ChatFooter/ChatFooterCorAccess.js +32 -0
  354. package/lib/components/molecules/ChatFooter/ChatFooterCorAccess.styles.js +14 -0
  355. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +201 -0
  356. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.styles.js +51 -0
  357. package/lib/components/molecules/ChatFooter/index.js +2 -0
  358. package/lib/components/molecules/ChatFooter/styles.js +23 -0
  359. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +62 -0
  360. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.styles.js +6 -0
  361. package/lib/components/molecules/ContextMentionInput/index.js +2 -0
  362. package/lib/components/molecules/MessageFeedback/MessageFeedback.js +118 -0
  363. package/lib/components/molecules/MessageFeedback/index.js +2 -0
  364. package/lib/components/molecules/MessageFeedback/styles.js +14 -0
  365. package/lib/components/molecules/ProjectSummaryChat/ProjectSummaryChat.js +127 -0
  366. package/lib/components/molecules/ProjectSummaryChat/index.js +2 -0
  367. package/lib/components/molecules/ProjectSummaryChat/styles.js +8 -0
  368. package/lib/components/molecules/ProjectSummaryConfig/ProjectSummaryConfig.js +152 -0
  369. package/lib/components/molecules/ProjectSummaryConfig/index.js +2 -0
  370. package/lib/components/molecules/ProjectSummaryConfig/styles.js +86 -0
  371. package/lib/components/molecules/ProjectSummaryContent/ProjectSummaryContent.js +49 -0
  372. package/lib/components/molecules/ProjectSummaryContent/index.js +2 -0
  373. package/lib/components/molecules/ProjectSummaryModal/ProjectSummaryModal.js +19 -0
  374. package/lib/components/molecules/ProjectSummaryModal/index.js +2 -0
  375. package/lib/components/molecules/ProjectSummaryModal/styles.js +2 -0
  376. package/lib/components/molecules/Sidebar/Sidebar.js +715 -0
  377. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +157 -0
  378. package/lib/components/molecules/Sidebar/Sidebar.skeleton.js +48 -0
  379. package/lib/components/molecules/Sidebar/Sidebar.styles.js +75 -0
  380. package/lib/components/molecules/Sidebar/index.js +2 -0
  381. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +1420 -0
  382. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.styles.js +93 -0
  383. package/lib/components/organisms/AbmAgentModal/index.js +2 -0
  384. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +175 -0
  385. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.styles.js +34 -0
  386. package/lib/components/organisms/AbmSkillGenerateModal/index.js +2 -0
  387. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +432 -0
  388. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +98 -0
  389. package/lib/components/organisms/AbmSkillModal/index.js +2 -0
  390. package/lib/components/organisms/ChatAI/ChatAI.js +167 -0
  391. package/lib/components/organisms/ChatAI/index.js +2 -0
  392. package/lib/components/organisms/ChatAI/styles.js +7 -0
  393. package/lib/components/organisms/ClientAIButton/ClientAIButton.js +23 -0
  394. package/lib/components/organisms/ClientAIButton/index.js +2 -0
  395. package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.js +86 -0
  396. package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.styles.js +39 -0
  397. package/lib/components/organisms/DeleteAgentModal/index.js +2 -0
  398. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.js +122 -0
  399. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.styles.js +47 -0
  400. package/lib/components/organisms/DeleteQuestionModal/index.js +2 -0
  401. package/lib/components/organisms/EditQuestionModal/EditQuestionModal.js +138 -0
  402. package/lib/components/organisms/EditQuestionModal/EditQuestionModal.styles.js +69 -0
  403. package/lib/components/organisms/EditQuestionModal/index.js +2 -0
  404. package/lib/components/organisms/ModalFileExceeds/ModalFileExceeds.js +113 -0
  405. package/lib/components/organisms/ModalFileExceeds/ModalFileExceeds.styles.js +54 -0
  406. package/lib/components/organisms/ModalFileExceeds/index.js +2 -0
  407. package/lib/components/organisms/ProjectAIButton/ProjectAIButton.js +26 -0
  408. package/lib/components/organisms/ProjectAIButton/index.js +2 -0
  409. package/lib/components/organisms/ProjectSummary/ProjectSummary.js +60 -0
  410. package/lib/components/organisms/ProjectSummary/index.js +2 -0
  411. package/lib/components/organisms/ProjectSummary/styles.js +7 -0
  412. package/lib/components/organisms/SnackBar/Snackbar.interface.js +2 -0
  413. package/lib/components/organisms/SnackBar/Snackbar.js +73 -0
  414. package/lib/components/organisms/SnackBar/Snackbar.styles.js +9 -0
  415. package/lib/components/organisms/SnackBar/index.js +2 -0
  416. package/lib/components/organisms/SourcesInformation/SourceItem.js +18 -0
  417. package/lib/components/organisms/SourcesInformation/SourceItem.styles.js +14 -0
  418. package/lib/components/organisms/SourcesInformation/SourcesInformationModal.js +66 -0
  419. package/lib/components/organisms/SourcesInformation/SourcesInformationModal.styles.js +27 -0
  420. package/lib/components/organisms/SourcesInformation/index.js +2 -0
  421. package/lib/constants/config.js +13 -0
  422. package/lib/constants/formatExtensions.js +55 -0
  423. package/lib/constants/gqlClient.js +4 -0
  424. package/lib/constants/maiaHourAgentAccess.js +15 -0
  425. package/lib/constants/maiaTaskPanelAccess.js +24 -0
  426. package/lib/constants/maiaTaskPanelOutsideClick.js +9 -0
  427. package/lib/constants/maiaTaskPanelZIndex.js +19 -0
  428. package/lib/constants/permissions/config.js +72 -0
  429. package/lib/constants/permissions/index.js +3 -0
  430. package/lib/constants/permissions/types.js +2 -0
  431. package/lib/constants/permissions/utils.js +18 -0
  432. package/lib/constants/plannerSyncEvents.js +15 -0
  433. package/lib/constants/taskLinkIcon.js +15 -0
  434. package/lib/constants/taskUrls.js +11 -0
  435. package/lib/context/cor-user.js +31 -0
  436. package/lib/context/global-context.js +39 -0
  437. package/lib/dev/DevChatAI.js +101 -0
  438. package/lib/dev/DevContextMentionInput.js +67 -0
  439. package/lib/dev/ProjectSummary.js +9 -0
  440. package/lib/dev/Providers.js +27 -0
  441. package/lib/exports.js +2 -0
  442. package/lib/hooks/README.md +192 -0
  443. package/lib/hooks/index.js +30 -0
  444. package/lib/hooks/useAccessClient/index.js +2 -0
  445. package/lib/hooks/useAccessClient/useAccessClient.js +81 -0
  446. package/lib/hooks/useAgentModel/index.js +2 -0
  447. package/lib/hooks/useAgentModel/useAgentModel.js +62 -0
  448. package/lib/hooks/useAgentModel/useCreateAgent.js +128 -0
  449. package/lib/hooks/useAgentModel/useDeleteAgent.js +88 -0
  450. package/lib/hooks/useAgentModel/useUpdateAgent.js +129 -0
  451. package/lib/hooks/useAgentSuggestions.js +60 -0
  452. package/lib/hooks/useCaretPosition.js +65 -0
  453. package/lib/hooks/useChatManager/index.js +2 -0
  454. package/lib/hooks/useChatManager/useChatManager.interface.js +2 -0
  455. package/lib/hooks/useChatManager/useChatManager.js +1782 -0
  456. package/lib/hooks/useChatMessages/index.js +2 -0
  457. package/lib/hooks/useChatMessages/useChatMessages.interface.js +2 -0
  458. package/lib/hooks/useChatMessages/useChatMessages.js +722 -0
  459. package/lib/hooks/useChats/index.js +2 -0
  460. package/lib/hooks/useChats/useChats.interfaces.js +2 -0
  461. package/lib/hooks/useChats/useChats.js +187 -0
  462. package/lib/hooks/useClientSearch.js +163 -0
  463. package/lib/hooks/useContextMentions.js +463 -0
  464. package/lib/hooks/useContextPinPopover.js +228 -0
  465. package/lib/hooks/useDebounce.js +18 -0
  466. package/lib/hooks/useEntitySearch.js +1239 -0
  467. package/lib/hooks/useEvent.js +93 -0
  468. package/lib/hooks/useFrequentlyAskedQuestions.js +150 -0
  469. package/lib/hooks/useFrequentlyUsedActions.js +94 -0
  470. package/lib/hooks/useKnowledge/deleteKnowledge.js +69 -0
  471. package/lib/hooks/useKnowledge/downloadKnowledge.js +81 -0
  472. package/lib/hooks/useKnowledge/index.js +4 -0
  473. package/lib/hooks/useKnowledge/saveKnowledge.js +107 -0
  474. package/lib/hooks/useKnowledge/useKnowledgeOperations.js +156 -0
  475. package/lib/hooks/useMaiaTaskPanelZIndex.js +17 -0
  476. package/lib/hooks/useMentionAllowedTypes.js +136 -0
  477. package/lib/hooks/useMentionPopover.js +366 -0
  478. package/lib/hooks/useMinimizedPillBottomOffset.js +110 -0
  479. package/lib/hooks/useModal/index.js +2 -0
  480. package/lib/hooks/useModal/useModal.interfaces.js +2 -0
  481. package/lib/hooks/useModal/useModal.js +47 -0
  482. package/lib/hooks/useOnboardingNavigation.js +20 -0
  483. package/lib/hooks/useOrchestratorStream/index.js +2 -0
  484. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +2 -0
  485. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +269 -0
  486. package/lib/hooks/useProjectSearch.js +183 -0
  487. package/lib/hooks/useProjectSummary.js +101 -0
  488. package/lib/hooks/useProjectSummaryConfig.js +211 -0
  489. package/lib/hooks/useProjects.js +46 -0
  490. package/lib/hooks/useRecentClientsSearch.js +150 -0
  491. package/lib/hooks/useRecentContexts.js +86 -0
  492. package/lib/hooks/useResize.js +29 -0
  493. package/lib/hooks/useSlashCommands.js +84 -0
  494. package/lib/hooks/useSmoothStreamText/index.js +2 -0
  495. package/lib/hooks/useSmoothStreamText/useSmoothStreamText.js +197 -0
  496. package/lib/hooks/useSnackBarManager/useSnackBarManager.js +41 -0
  497. package/lib/hooks/useStreamResponse.js +112 -0
  498. package/lib/hooks/useStreamdownStyles.js +13 -0
  499. package/lib/hooks/useStreamingMessage/index.js +2 -0
  500. package/lib/hooks/useStreamingMessage/useStreamingMessage.js +18 -0
  501. package/lib/hooks/useT.js +17 -0
  502. package/lib/hooks/useTabTaskDefault.js +33 -0
  503. package/lib/hooks/useTaskPanel.js +22 -0
  504. package/lib/hooks/useTextOverflowEllipsisTooltip.js +34 -0
  505. package/lib/hooks/useToggle.js +19 -0
  506. package/lib/hooks/useToggleFavorite/index.js +2 -0
  507. package/lib/hooks/useToggleFavorite/useToggleFavorite.js +83 -0
  508. package/lib/index.css +76 -0
  509. package/lib/index.js +30 -0
  510. package/lib/lang/br/index.js +761 -0
  511. package/lib/lang/en/index.js +761 -0
  512. package/lib/lang/es/index.js +762 -0
  513. package/lib/lang/fr/index.js +582 -0
  514. package/lib/lang/index.js +24 -0
  515. package/lib/lang/utils.js +33 -0
  516. package/lib/mocks/mockChats.js +395 -0
  517. package/lib/mocks/mockOrchestrator.js +5 -0
  518. package/lib/mocks/mockProject.js +11 -0
  519. package/lib/mocks/mockProjectSummary.js +6 -0
  520. package/lib/mocks/mockedUser.js +169 -0
  521. package/lib/services/apolloClient.js +3 -0
  522. package/lib/services/appcues.js +19 -0
  523. package/lib/services/corpilot/ProjectSummary/getProjectSummary.js +31 -0
  524. package/lib/services/corpilot/ProjectSummary/index.js +5 -0
  525. package/lib/services/corpilot/client.js +27 -0
  526. package/lib/services/corpilot/index.js +5 -0
  527. package/lib/services/maia/Access/updateAccess.js +59 -0
  528. package/lib/services/maia/Actions/getFrequentlyUsedActions.js +46 -0
  529. package/lib/services/maia/Actions/getSlashCommands.js +39 -0
  530. package/lib/services/maia/Actions/index.js +7 -0
  531. package/lib/services/maia/Agents/createAgent.js +39 -0
  532. package/lib/services/maia/Agents/deleteAgent.js +38 -0
  533. package/lib/services/maia/Agents/fetchAgentDetail.js +122 -0
  534. package/lib/services/maia/Agents/getAgentById.js +162 -0
  535. package/lib/services/maia/Agents/getAgentModels.js +112 -0
  536. package/lib/services/maia/Agents/getAgentSuggestions.js +44 -0
  537. package/lib/services/maia/Agents/getAgents.js +718 -0
  538. package/lib/services/maia/Agents/setAgentToolGroups.js +42 -0
  539. package/lib/services/maia/Agents/toggleFavorite.js +34 -0
  540. package/lib/services/maia/Agents/updateAgent.js +39 -0
  541. package/lib/services/maia/Chats/deleteChat.js +32 -0
  542. package/lib/services/maia/Chats/getChatMessages.js +144 -0
  543. package/lib/services/maia/Chats/getChatsByUserId.js +82 -0
  544. package/lib/services/maia/Chats/index.js +15 -0
  545. package/lib/services/maia/Chats/markSessionAsRead.js +32 -0
  546. package/lib/services/maia/Chats/patchChat.js +43 -0
  547. package/lib/services/maia/Chats/wasHelpfulChat.js +31 -0
  548. package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.js +55 -0
  549. package/lib/services/maia/Faqs/index.js +5 -0
  550. package/lib/services/maia/Knowledge/delete.js +41 -0
  551. package/lib/services/maia/Knowledge/download.js +48 -0
  552. package/lib/services/maia/Knowledge/index.js +3 -0
  553. package/lib/services/maia/Knowledge/save.js +43 -0
  554. package/lib/services/maia/Orchestrator/index.js +7 -0
  555. package/lib/services/maia/Orchestrator/orchestrator.js +246 -0
  556. package/lib/services/maia/RecentClients/getRecentClients.js +43 -0
  557. package/lib/services/maia/RecentClients/index.js +6 -0
  558. package/lib/services/maia/RecentContexts/getRecentContexts.js +54 -0
  559. package/lib/services/maia/RecentContexts/index.js +6 -0
  560. package/lib/services/maia/RecentProjects/getRecentProjects.js +55 -0
  561. package/lib/services/maia/RecentProjects/index.js +6 -0
  562. package/lib/services/maia/RecentTasks/getRecentTasks.js +54 -0
  563. package/lib/services/maia/RecentTasks/index.js +6 -0
  564. package/lib/services/maia/RecentUsers/getRecentUsers.js +59 -0
  565. package/lib/services/maia/RecentUsers/index.js +6 -0
  566. package/lib/services/maia/Skills/createSkill.js +39 -0
  567. package/lib/services/maia/Skills/deleteSkill.js +38 -0
  568. package/lib/services/maia/Skills/generateSkill.js +41 -0
  569. package/lib/services/maia/Skills/getSkills.js +90 -0
  570. package/lib/services/maia/Skills/updateSkill.js +39 -0
  571. package/lib/services/maia/client.js +27 -0
  572. package/lib/services/maia/index.js +17 -0
  573. package/lib/services/query/ClientSearchQuery.js +5 -0
  574. package/lib/services/query/entitySearchQuery.js +18 -0
  575. package/lib/services/query/index.js +2 -0
  576. package/lib/services/query/projectSearchByValueQuery.js +5 -0
  577. package/lib/services/query/taskUserTabQuery.js +8 -0
  578. package/lib/services/query/usersDirectoryQuery.js +19 -0
  579. package/lib/services/types.js +6 -0
  580. package/lib/services/utils/fetchCOR.js +117 -0
  581. package/lib/services/utils/getCookie.js +10 -0
  582. package/lib/services/utils/index.js +3 -0
  583. package/lib/services/utils/mapChatMessages.js +287 -0
  584. package/lib/services/utils/validateIsMaia.js +4 -0
  585. package/lib/store/chatsSidebarOptimistic.js +92 -0
  586. package/lib/store/chatsStore.types.js +2 -0
  587. package/lib/store/chatsStoreLifecycle.js +8 -0
  588. package/lib/store/faqsStore.types.js +2 -0
  589. package/lib/store/index.js +4 -0
  590. package/lib/store/maiaLastChatPersistence.js +35 -0
  591. package/lib/store/sessions/activeView.js +22 -0
  592. package/lib/store/sessions/index.js +9 -0
  593. package/lib/store/sessions/sessionHitlContext.js +15 -0
  594. package/lib/store/sessions/sessionNotificationSound.js +57 -0
  595. package/lib/store/sessions/sessionNotifications.js +110 -0
  596. package/lib/store/sessions/sessionNotifications.types.js +2 -0
  597. package/lib/store/sessions/sessionStreamManager.js +715 -0
  598. package/lib/store/sessions/sessionStreamingText.js +80 -0
  599. package/lib/store/sessions/sessions.types.js +35 -0
  600. package/lib/store/sessions/useSessionMeta.js +39 -0
  601. package/lib/store/sessions/useSessionStreamingText.js +18 -0
  602. package/lib/store/sessions/useSessionsStore.js +197 -0
  603. package/lib/store/useChatsStore.js +387 -0
  604. package/lib/store/useFaqsStore.js +27 -0
  605. package/lib/streamdownStyles.js +9 -0
  606. package/lib/styles/StyledCleanContainer.js +7 -0
  607. package/lib/styles/cascade.js +14 -0
  608. package/lib/styles/config.js +47 -0
  609. package/lib/styles/shared/scrollable.js +3 -0
  610. package/lib/styles/transitions.js +21 -0
  611. package/lib/types/Action.js +2 -0
  612. package/lib/types/AgentSuggestion.js +2 -0
  613. package/lib/types/Chat.js +10 -0
  614. package/lib/types/Client.js +2 -0
  615. package/lib/types/FrequentlyAskedQuestion.js +2 -0
  616. package/lib/types/Project.js +2 -0
  617. package/lib/types/ProjectSummaryConfigKeys.js +9 -0
  618. package/lib/types/Task.js +2 -0
  619. package/lib/types/agent.js +2 -0
  620. package/lib/types/agentModal.js +2 -0
  621. package/lib/types/contextMention.js +37 -0
  622. package/lib/types/global.d.js +2 -0
  623. package/lib/types/skill.js +2 -0
  624. package/lib/types/streamActivity.js +2 -0
  625. package/lib/types/userType.d.js +2 -0
  626. package/lib/utils/actionCategoryMap.js +37 -0
  627. package/lib/utils/actionIconMap.js +61 -0
  628. package/lib/utils/agentDisplayName.js +42 -0
  629. package/lib/utils/chatInputFiles.js +52 -0
  630. package/lib/utils/contextMentionIcons.js +134 -0
  631. package/lib/utils/contextMentionLabel.js +4 -0
  632. package/lib/utils/contextMentionTriggers.js +54 -0
  633. package/lib/utils/contextMentionTypeLabel.js +17 -0
  634. package/lib/utils/corConnectorMentionTypes.js +41 -0
  635. package/lib/utils/ensureStreamdownStyles.js +21 -0
  636. package/lib/utils/entityLinkRender.js +135 -0
  637. package/lib/utils/fileDownloadHelper.js +40 -0
  638. package/lib/utils/formatQuickActionMessage.js +16 -0
  639. package/lib/utils/formatUnreadCount.js +6 -0
  640. package/lib/utils/getUnitFileSize.js +13 -0
  641. package/lib/utils/hitlAnalytics.js +65 -0
  642. package/lib/utils/hoursPlannerQuickActionType.js +64 -0
  643. package/lib/utils/imagePreprocessor.js +108 -0
  644. package/lib/utils/index.js +3 -0
  645. package/lib/utils/maiaHostOpen.js +19 -0
  646. package/lib/utils/maiaStreamdownRehypePlugins.js +27 -0
  647. package/lib/utils/mapBackendLang.js +8 -0
  648. package/lib/utils/normalizeAgentConnectors.js +70 -0
  649. package/lib/utils/openTaskInCorPanel.js +22 -0
  650. package/lib/utils/orchestratorSubagents.js +11 -0
  651. package/lib/utils/renderContextMentions.js +399 -0
  652. package/lib/utils/retryCompletion.js +85 -0
  653. package/lib/utils/slashCommandMarker.js +30 -0
  654. package/lib/utils/sortManagerHoursHomeFuas.js +14 -0
  655. package/lib/utils/sseStreamContent.js +17 -0
  656. package/lib/utils/streamActivityMessages.js +359 -0
  657. package/lib/utils/validateTrimmedFields.js +8 -0
  658. package/package.json +1 -1
@@ -0,0 +1,228 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
+ 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; }
4
+ 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; }
5
+ import { useCallback, useEffect, useMemo, useState } from 'react';
6
+ import { ContextMentionPopover, MAIA_TASK_PANEL_OVERLAY_ATTR, SCMPAnchor } from '../components/atoms/ContextMentionPopover';
7
+ import { useMaiaTaskPanelZIndex } from './useMaiaTaskPanelZIndex';
8
+ import { useGlobalContext } from '../context/global-context';
9
+ import { useT } from './useT';
10
+ // eslint-disable-next-line import/no-cycle
11
+ import { useEntitySearch } from './useEntitySearch';
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ /** Tipos pineables como contexto persistente (RFC §6: no incluye `user`, que es solo mención). */
14
+ var PIN_ALLOWED_TYPES = ['client', 'project', 'task'];
15
+ var PIN_DEFAULT_TYPE = 'project';
16
+ /**
17
+ * Segundo punto de entrada del buscador de contexto (RFC §6): el mismo motor
18
+ * (`useEntitySearch` + `ContextMentionPopover`) pero el commit fija un **pin**
19
+ * persistente en el contexto global en vez de insertar una mención.
20
+ *
21
+ * Jerarquía mono-contexto (RFC §5.1): un pin a la vez; fijar uno reemplaza al
22
+ * anterior y arrastra su scope hacia arriba (tarea ⇒ proyecto+cliente, etc.).
23
+ */
24
+ export var useContextPinPopover = function useContextPinPopover(_ref) {
25
+ var popoverAnchorRef = _ref.popoverAnchorRef,
26
+ topAnchorRef = _ref.topAnchorRef,
27
+ triggerRef = _ref.triggerRef,
28
+ enabledTypes = _ref.enabledTypes,
29
+ onPinned = _ref.onPinned;
30
+ var _useT = useT(),
31
+ t = _useT.t;
32
+ var _useGlobalContext = useGlobalContext(),
33
+ setProject = _useGlobalContext.setProject,
34
+ setClient = _useGlobalContext.setClient,
35
+ setTask = _useGlobalContext.setTask,
36
+ setChipsProject = _useGlobalContext.setChipsProject;
37
+ var zIndex = useMaiaTaskPanelZIndex(1200, 'overlay');
38
+ var allowedTypes = enabledTypes && enabledTypes.length > 0 ? enabledTypes : PIN_ALLOWED_TYPES;
39
+ var _useState = useState(allowedTypes.includes(PIN_DEFAULT_TYPE) ? PIN_DEFAULT_TYPE : allowedTypes[0]),
40
+ _useState2 = _slicedToArray(_useState, 2),
41
+ activeType = _useState2[0],
42
+ setActiveType = _useState2[1];
43
+ var _useState3 = useState(false),
44
+ _useState4 = _slicedToArray(_useState3, 2),
45
+ open = _useState4[0],
46
+ setOpen = _useState4[1];
47
+ var _useState5 = useState({
48
+ bottom: 0,
49
+ left: 0,
50
+ width: 0
51
+ }),
52
+ _useState6 = _slicedToArray(_useState5, 2),
53
+ pos = _useState6[0],
54
+ setPos = _useState6[1];
55
+
56
+ // Scope sin restricción: desde el botón se busca libremente cualquier entidad (modo global).
57
+ var _useEntitySearch = useEntitySearch(activeType),
58
+ items = _useEntitySearch.items,
59
+ loading = _useEntitySearch.loading,
60
+ error = _useEntitySearch.error,
61
+ hideRecentsLabel = _useEntitySearch.hideRecentsLabel,
62
+ hasMore = _useEntitySearch.hasMore,
63
+ isLoadingMore = _useEntitySearch.isLoadingMore,
64
+ loadMore = _useEntitySearch.loadMore,
65
+ searchValue = _useEntitySearch.searchValue,
66
+ updateSearchValue = _useEntitySearch.updateSearchValue;
67
+ var positionPopover = useCallback(function () {
68
+ var _popoverAnchorRef$cur, _topAnchorRef$current, _topRect$top;
69
+ var inputRect = (_popoverAnchorRef$cur = popoverAnchorRef.current) === null || _popoverAnchorRef$cur === void 0 ? void 0 : _popoverAnchorRef$cur.getBoundingClientRect();
70
+ if (!inputRect || inputRect.width <= 0) return;
71
+ var topRect = topAnchorRef === null || topAnchorRef === void 0 || (_topAnchorRef$current = topAnchorRef.current) === null || _topAnchorRef$current === void 0 ? void 0 : _topAnchorRef$current.getBoundingClientRect();
72
+ var anchorTop = (_topRect$top = topRect === null || topRect === void 0 ? void 0 : topRect.top) !== null && _topRect$top !== void 0 ? _topRect$top : inputRect.top;
73
+ var viewportW = window.innerWidth;
74
+ var viewportH = window.innerHeight;
75
+ var width = inputRect.width;
76
+ var left = Math.max(8, Math.min(viewportW - width - 8, inputRect.left));
77
+ /** ~4px sobre el borde superior de la barra de contexto (chip), no del input. */
78
+ setPos({
79
+ width: width,
80
+ left: left,
81
+ bottom: viewportH - anchorTop + 4
82
+ });
83
+ }, [popoverAnchorRef, topAnchorRef]);
84
+ var close = useCallback(function () {
85
+ setOpen(false);
86
+ updateSearchValue('');
87
+ }, [updateSearchValue]);
88
+ var toggle = useCallback(function () {
89
+ setOpen(function (prev) {
90
+ if (prev) {
91
+ updateSearchValue('');
92
+ return false;
93
+ }
94
+ positionPopover();
95
+ return true;
96
+ });
97
+ }, [positionPopover, updateSearchValue]);
98
+ var commitPin = useCallback(function (item) {
99
+ var _raw$clientName;
100
+ var raw = item.raw;
101
+ var clientId = raw.clientId != null ? Number(raw.clientId) : undefined;
102
+ var clientName = (_raw$clientName = raw.clientName) !== null && _raw$clientName !== void 0 ? _raw$clientName : undefined;
103
+ if (item.type === 'client') {
104
+ var _raw$totalProyectos;
105
+ setProject(null);
106
+ setTask(null);
107
+ setChipsProject(null);
108
+ setClient({
109
+ id: Number(raw.id),
110
+ name: raw.name,
111
+ totalProyectos: (_raw$totalProyectos = raw.totalProyectos) !== null && _raw$totalProyectos !== void 0 ? _raw$totalProyectos : undefined
112
+ });
113
+ } else if (item.type === 'project') {
114
+ setTask(null);
115
+ setProject(_objectSpread(_objectSpread(_objectSpread({
116
+ id: Number(raw.id),
117
+ name: raw.name
118
+ }, clientId != null ? {
119
+ clientId: clientId
120
+ } : {}), raw.feeId != null ? {
121
+ feeId: raw.feeId
122
+ } : {}), clientId != null ? {
123
+ client: {
124
+ id: clientId,
125
+ name: clientName !== null && clientName !== void 0 ? clientName : ''
126
+ }
127
+ } : {}));
128
+ // chipsProject hace visible el pin en el chip del orquestador (RFC §7).
129
+ setChipsProject({
130
+ projectId: String(raw.id),
131
+ projectName: raw.name,
132
+ clientName: clientName !== null && clientName !== void 0 ? clientName : ''
133
+ });
134
+ setClient(clientId != null ? {
135
+ id: clientId,
136
+ name: clientName !== null && clientName !== void 0 ? clientName : ''
137
+ } : null);
138
+ } else if (item.type === 'task') {
139
+ // El item de tarea no trae projectId fiable; subimos lo disponible (proyecto por nombre, cliente por id).
140
+ setTask(_objectSpread({
141
+ id: raw.id,
142
+ name: raw.name
143
+ }, clientId != null ? {
144
+ clientId: clientId
145
+ } : {}));
146
+ setChipsProject(raw.projectName ? {
147
+ projectId: '',
148
+ projectName: raw.projectName,
149
+ clientName: clientName !== null && clientName !== void 0 ? clientName : ''
150
+ } : null);
151
+ if (clientId != null) setClient({
152
+ id: clientId,
153
+ name: clientName !== null && clientName !== void 0 ? clientName : ''
154
+ });
155
+ }
156
+ onPinned === null || onPinned === void 0 || onPinned(item);
157
+ close();
158
+ }, [setProject, setClient, setTask, setChipsProject, onPinned, close]);
159
+ useEffect(function () {
160
+ if (!open) return undefined;
161
+ var handler = function handler() {
162
+ return positionPopover();
163
+ };
164
+ window.addEventListener('scroll', handler, true);
165
+ window.addEventListener('resize', handler);
166
+ return function () {
167
+ window.removeEventListener('scroll', handler, true);
168
+ window.removeEventListener('resize', handler);
169
+ };
170
+ }, [open, positionPopover]);
171
+ useEffect(function () {
172
+ if (!open) return undefined;
173
+ var handlePointerDownOutside = function handlePointerDownOutside(mouseEvent) {
174
+ var _popoverAnchorRef$cur2, _triggerRef$current, _closest, _ref2;
175
+ var target = mouseEvent.target;
176
+ if (!target) return;
177
+ if ((_popoverAnchorRef$cur2 = popoverAnchorRef.current) !== null && _popoverAnchorRef$cur2 !== void 0 && _popoverAnchorRef$cur2.contains(target)) return;
178
+ if (triggerRef !== null && triggerRef !== void 0 && (_triggerRef$current = triggerRef.current) !== null && _triggerRef$current !== void 0 && _triggerRef$current.contains(target)) return;
179
+ var overlay = target === null || target === void 0 || (_closest = (_ref2 = target).closest) === null || _closest === void 0 ? void 0 : _closest.call(_ref2, "[".concat(MAIA_TASK_PANEL_OVERLAY_ATTR, "]"));
180
+ if (overlay) return;
181
+ close();
182
+ };
183
+ document.addEventListener('mousedown', handlePointerDownOutside);
184
+ return function () {
185
+ return document.removeEventListener('mousedown', handlePointerDownOutside);
186
+ };
187
+ }, [open, close, popoverAnchorRef, triggerRef]);
188
+ var popoverNode = useMemo(function () {
189
+ if (!open) return null;
190
+ return /*#__PURE__*/_jsx(SCMPAnchor, _objectSpread(_objectSpread({}, _defineProperty({}, MAIA_TASK_PANEL_OVERLAY_ATTR, '')), {}, {
191
+ $bottom: pos.bottom,
192
+ $left: pos.left,
193
+ $width: pos.width,
194
+ $zIndex: zIndex,
195
+ onMouseDown: function onMouseDown(e) {
196
+ return e.stopPropagation();
197
+ },
198
+ children: /*#__PURE__*/_jsx(ContextMentionPopover, {
199
+ allowedTypes: allowedTypes,
200
+ activeType: activeType,
201
+ onTypeChange: setActiveType,
202
+ items: items,
203
+ loading: loading,
204
+ error: error,
205
+ hideRecentsLabel: hideRecentsLabel,
206
+ hasMore: hasMore,
207
+ isLoadingMore: isLoadingMore,
208
+ onReachListEnd: loadMore,
209
+ searchValue: searchValue,
210
+ onItemSelected: commitPin,
211
+ showSearchInput: true,
212
+ hideTabPrefix: true,
213
+ searchPlaceholder: t('contextPin.searchPlaceholder', {
214
+ defaultValue: 'Buscar contexto…'
215
+ }),
216
+ onSearchChange: updateSearchValue,
217
+ onRequestClose: close
218
+ })
219
+ }));
220
+ }, [open, pos, zIndex, allowedTypes, activeType, items, loading, error, hideRecentsLabel, hasMore, isLoadingMore, loadMore, searchValue, commitPin, updateSearchValue, close, t]);
221
+ return {
222
+ open: open,
223
+ toggle: toggle,
224
+ close: close,
225
+ popoverNode: popoverNode
226
+ };
227
+ };
228
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsIkNvbnRleHRNZW50aW9uUG9wb3ZlciIsIk1BSUFfVEFTS19QQU5FTF9PVkVSTEFZX0FUVFIiLCJTQ01QQW5jaG9yIiwidXNlTWFpYVRhc2tQYW5lbFpJbmRleCIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VUIiwidXNlRW50aXR5U2VhcmNoIiwianN4IiwiX2pzeCIsIlBJTl9BTExPV0VEX1RZUEVTIiwiUElOX0RFRkFVTFRfVFlQRSIsInVzZUNvbnRleHRQaW5Qb3BvdmVyIiwiX3JlZiIsInBvcG92ZXJBbmNob3JSZWYiLCJ0b3BBbmNob3JSZWYiLCJ0cmlnZ2VyUmVmIiwiZW5hYmxlZFR5cGVzIiwib25QaW5uZWQiLCJfdXNlVCIsInQiLCJfdXNlR2xvYmFsQ29udGV4dCIsInNldFByb2plY3QiLCJzZXRDbGllbnQiLCJzZXRUYXNrIiwic2V0Q2hpcHNQcm9qZWN0IiwiekluZGV4IiwiYWxsb3dlZFR5cGVzIiwibGVuZ3RoIiwiX3VzZVN0YXRlIiwiaW5jbHVkZXMiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJhY3RpdmVUeXBlIiwic2V0QWN0aXZlVHlwZSIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0Iiwib3BlbiIsInNldE9wZW4iLCJfdXNlU3RhdGU1IiwiYm90dG9tIiwibGVmdCIsIndpZHRoIiwiX3VzZVN0YXRlNiIsInBvcyIsInNldFBvcyIsIl91c2VFbnRpdHlTZWFyY2giLCJpdGVtcyIsImxvYWRpbmciLCJlcnJvciIsImhpZGVSZWNlbnRzTGFiZWwiLCJoYXNNb3JlIiwiaXNMb2FkaW5nTW9yZSIsImxvYWRNb3JlIiwic2VhcmNoVmFsdWUiLCJ1cGRhdGVTZWFyY2hWYWx1ZSIsInBvc2l0aW9uUG9wb3ZlciIsIl9wb3BvdmVyQW5jaG9yUmVmJGN1ciIsIl90b3BBbmNob3JSZWYkY3VycmVudCIsIl90b3BSZWN0JHRvcCIsImlucHV0UmVjdCIsImN1cnJlbnQiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJ0b3BSZWN0IiwiYW5jaG9yVG9wIiwidG9wIiwidmlld3BvcnRXIiwid2luZG93IiwiaW5uZXJXaWR0aCIsInZpZXdwb3J0SCIsImlubmVySGVpZ2h0IiwiTWF0aCIsIm1heCIsIm1pbiIsImNsb3NlIiwidG9nZ2xlIiwicHJldiIsImNvbW1pdFBpbiIsIml0ZW0iLCJfcmF3JGNsaWVudE5hbWUiLCJyYXciLCJjbGllbnRJZCIsIk51bWJlciIsInVuZGVmaW5lZCIsImNsaWVudE5hbWUiLCJ0eXBlIiwiX3JhdyR0b3RhbFByb3llY3RvcyIsImlkIiwibmFtZSIsInRvdGFsUHJveWVjdG9zIiwiX29iamVjdFNwcmVhZCIsImZlZUlkIiwiY2xpZW50IiwicHJvamVjdElkIiwiU3RyaW5nIiwicHJvamVjdE5hbWUiLCJoYW5kbGVyIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJoYW5kbGVQb2ludGVyRG93bk91dHNpZGUiLCJtb3VzZUV2ZW50IiwiX3BvcG92ZXJBbmNob3JSZWYkY3VyMiIsIl90cmlnZ2VyUmVmJGN1cnJlbnQiLCJfY2xvc2VzdCIsIl9yZWYyIiwidGFyZ2V0IiwiY29udGFpbnMiLCJvdmVybGF5IiwiY2xvc2VzdCIsImNhbGwiLCJjb25jYXQiLCJkb2N1bWVudCIsInBvcG92ZXJOb2RlIiwiX2RlZmluZVByb3BlcnR5IiwiJGJvdHRvbSIsIiRsZWZ0IiwiJHdpZHRoIiwiJHpJbmRleCIsIm9uTW91c2VEb3duIiwiZSIsInN0b3BQcm9wYWdhdGlvbiIsImNoaWxkcmVuIiwib25UeXBlQ2hhbmdlIiwib25SZWFjaExpc3RFbmQiLCJvbkl0ZW1TZWxlY3RlZCIsInNob3dTZWFyY2hJbnB1dCIsImhpZGVUYWJQcmVmaXgiLCJzZWFyY2hQbGFjZWhvbGRlciIsImRlZmF1bHRWYWx1ZSIsIm9uU2VhcmNoQ2hhbmdlIiwib25SZXF1ZXN0Q2xvc2UiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlQ29udGV4dFBpblBvcG92ZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlYWN0Tm9kZSwgUmVmT2JqZWN0LCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgQ29udGV4dE1lbnRpb25Qb3BvdmVyLFxuICBNQUlBX1RBU0tfUEFORUxfT1ZFUkxBWV9BVFRSLFxuICBTQ01QQW5jaG9yLFxufSBmcm9tICcuLi9jb21wb25lbnRzL2F0b21zL0NvbnRleHRNZW50aW9uUG9wb3ZlcidcbmltcG9ydCB7IHVzZU1haWFUYXNrUGFuZWxaSW5kZXggfSBmcm9tICcuL3VzZU1haWFUYXNrUGFuZWxaSW5kZXgnXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0IH0gZnJvbSAnLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IHVzZVQgfSBmcm9tICcuL3VzZVQnXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWN5Y2xlXG5pbXBvcnQgeyB1c2VFbnRpdHlTZWFyY2ggfSBmcm9tICcuL3VzZUVudGl0eVNlYXJjaCdcbmltcG9ydCB7IENvbnRleHRFbnRpdHlUeXBlLCBDb250ZXh0TWVudGlvbkl0ZW0gfSBmcm9tICcuLi90eXBlcy9jb250ZXh0TWVudGlvbidcblxuLyoqIFRpcG9zIHBpbmVhYmxlcyBjb21vIGNvbnRleHRvIHBlcnNpc3RlbnRlIChSRkMgwqc2OiBubyBpbmNsdXllIGB1c2VyYCwgcXVlIGVzIHNvbG8gbWVuY2nDs24pLiAqL1xuY29uc3QgUElOX0FMTE9XRURfVFlQRVM6IENvbnRleHRFbnRpdHlUeXBlW10gPSBbJ2NsaWVudCcsICdwcm9qZWN0JywgJ3Rhc2snXVxuY29uc3QgUElOX0RFRkFVTFRfVFlQRTogQ29udGV4dEVudGl0eVR5cGUgPSAncHJvamVjdCdcblxuZXhwb3J0IHR5cGUgVXNlQ29udGV4dFBpblBvcG92ZXJPcHRpb25zID0ge1xuICAvKiogV3JhcHBlciBkZWwgTUFJQUlucHV0OiBkZWZpbmUgYW5jaG8geSBhbGluZWFjacOzbiBob3Jpem9udGFsIChpZ3VhbCBxdWUgQC1tZW50aW9ucykuICovXG4gIHBvcG92ZXJBbmNob3JSZWY6IFJlZk9iamVjdDxIVE1MRWxlbWVudCB8IG51bGw+XG4gIC8qKiBGaWxhIGRlbCBjaGlwIC8gYmFycmEgZGUgY29udGV4dG86IGRlZmluZSBlbCBib3JkZSBzdXBlcmlvciB2ZXJ0aWNhbCBkZWwgcG9wb3Zlci4gKi9cbiAgdG9wQW5jaG9yUmVmPzogUmVmT2JqZWN0PEhUTUxFbGVtZW50IHwgbnVsbD5cbiAgLyoqIEJvdMOzbiBcIisgQ29udGV4dG9cIjsgbm8gY2VycmFyIGFsIGhhY2VyIGNsaWNrIGVuIGVsIHRyaWdnZXIuICovXG4gIHRyaWdnZXJSZWY/OiBSZWZPYmplY3Q8SFRNTEVsZW1lbnQgfCBudWxsPlxuICAvKiogT3ZlcnJpZGUgZGVsIHNldCBkZSB0YWJzIHBpbmVhYmxlczsgcG9yIGRlZmVjdG8gY2xpZW50ZS9wcm95ZWN0by90YXJlYS4gKi9cbiAgZW5hYmxlZFR5cGVzPzogQ29udGV4dEVudGl0eVR5cGVbXVxuICAvKiogQ2FsbGJhY2sgdHJhcyBmaWphciB1biBjb250ZXh0byAoYW5hbHl0aWNzIC8gY2llcnJlIGV4dGVybm8pLiAqL1xuICBvblBpbm5lZD86IChpdGVtOiBDb250ZXh0TWVudGlvbkl0ZW0pID0+IHZvaWRcbn1cblxuZXhwb3J0IHR5cGUgVXNlQ29udGV4dFBpblBvcG92ZXJSZXR1cm4gPSB7XG4gIG9wZW46IGJvb2xlYW5cbiAgLyoqIEFicmUvY2llcnJhIGVsIHBvcG92ZXIgKGhhbmRsZXIgZGVsIGJvdMOzbiBcIisgQ29udGV4dG9cIikuICovXG4gIHRvZ2dsZTogKCkgPT4gdm9pZFxuICBjbG9zZTogKCkgPT4gdm9pZFxuICAvKiogTm9kbyBkZWwgcG9wb3ZlcjsgZWwgY29uc3VtZXIgZGViZSBwb3J0YXJsbyBjb24gYGNyZWF0ZVBvcnRhbGAuICovXG4gIHBvcG92ZXJOb2RlOiBSZWFjdE5vZGUgfCBudWxsXG59XG5cbi8qKlxuICogU2VndW5kbyBwdW50byBkZSBlbnRyYWRhIGRlbCBidXNjYWRvciBkZSBjb250ZXh0byAoUkZDIMKnNik6IGVsIG1pc21vIG1vdG9yXG4gKiAoYHVzZUVudGl0eVNlYXJjaGAgKyBgQ29udGV4dE1lbnRpb25Qb3BvdmVyYCkgcGVybyBlbCBjb21taXQgZmlqYSB1biAqKnBpbioqXG4gKiBwZXJzaXN0ZW50ZSBlbiBlbCBjb250ZXh0byBnbG9iYWwgZW4gdmV6IGRlIGluc2VydGFyIHVuYSBtZW5jacOzbi5cbiAqXG4gKiBKZXJhcnF1w61hIG1vbm8tY29udGV4dG8gKFJGQyDCpzUuMSk6IHVuIHBpbiBhIGxhIHZlejsgZmlqYXIgdW5vIHJlZW1wbGF6YSBhbFxuICogYW50ZXJpb3IgeSBhcnJhc3RyYSBzdSBzY29wZSBoYWNpYSBhcnJpYmEgKHRhcmVhIOKHkiBwcm95ZWN0bytjbGllbnRlLCBldGMuKS5cbiAqL1xuZXhwb3J0IGNvbnN0IHVzZUNvbnRleHRQaW5Qb3BvdmVyID0gKHtcbiAgcG9wb3ZlckFuY2hvclJlZixcbiAgdG9wQW5jaG9yUmVmLFxuICB0cmlnZ2VyUmVmLFxuICBlbmFibGVkVHlwZXMsXG4gIG9uUGlubmVkLFxufTogVXNlQ29udGV4dFBpblBvcG92ZXJPcHRpb25zKTogVXNlQ29udGV4dFBpblBvcG92ZXJSZXR1cm4gPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVQoKVxuICBjb25zdCB7IHNldFByb2plY3QsIHNldENsaWVudCwgc2V0VGFzaywgc2V0Q2hpcHNQcm9qZWN0IH0gPSB1c2VHbG9iYWxDb250ZXh0KClcbiAgY29uc3QgekluZGV4ID0gdXNlTWFpYVRhc2tQYW5lbFpJbmRleCgxMjAwLCAnb3ZlcmxheScpXG5cbiAgY29uc3QgYWxsb3dlZFR5cGVzID0gZW5hYmxlZFR5cGVzICYmIGVuYWJsZWRUeXBlcy5sZW5ndGggPiAwID8gZW5hYmxlZFR5cGVzIDogUElOX0FMTE9XRURfVFlQRVNcbiAgY29uc3QgW2FjdGl2ZVR5cGUsIHNldEFjdGl2ZVR5cGVdID0gdXNlU3RhdGU8Q29udGV4dEVudGl0eVR5cGU+KFxuICAgIGFsbG93ZWRUeXBlcy5pbmNsdWRlcyhQSU5fREVGQVVMVF9UWVBFKSA/IFBJTl9ERUZBVUxUX1RZUEUgOiBhbGxvd2VkVHlwZXNbMF1cbiAgKVxuICBjb25zdCBbb3Blbiwgc2V0T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW3Bvcywgc2V0UG9zXSA9IHVzZVN0YXRlPHsgYm90dG9tOiBudW1iZXI7IGxlZnQ6IG51bWJlcjsgd2lkdGg6IG51bWJlciB9Pih7IGJvdHRvbTogMCwgbGVmdDogMCwgd2lkdGg6IDAgfSlcblxuICAvLyBTY29wZSBzaW4gcmVzdHJpY2Npw7NuOiBkZXNkZSBlbCBib3TDs24gc2UgYnVzY2EgbGlicmVtZW50ZSBjdWFscXVpZXIgZW50aWRhZCAobW9kbyBnbG9iYWwpLlxuICBjb25zdCB7IGl0ZW1zLCBsb2FkaW5nLCBlcnJvciwgaGlkZVJlY2VudHNMYWJlbCwgaGFzTW9yZSwgaXNMb2FkaW5nTW9yZSwgbG9hZE1vcmUsIHNlYXJjaFZhbHVlLCB1cGRhdGVTZWFyY2hWYWx1ZSB9ID1cbiAgICB1c2VFbnRpdHlTZWFyY2goYWN0aXZlVHlwZSlcblxuICBjb25zdCBwb3NpdGlvblBvcG92ZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3QgaW5wdXRSZWN0ID0gcG9wb3ZlckFuY2hvclJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgIGlmICghaW5wdXRSZWN0IHx8IGlucHV0UmVjdC53aWR0aCA8PSAwKSByZXR1cm5cbiAgICBjb25zdCB0b3BSZWN0ID0gdG9wQW5jaG9yUmVmPy5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgIGNvbnN0IGFuY2hvclRvcCA9IHRvcFJlY3Q/LnRvcCA/PyBpbnB1dFJlY3QudG9wXG4gICAgY29uc3Qgdmlld3BvcnRXID0gd2luZG93LmlubmVyV2lkdGhcbiAgICBjb25zdCB2aWV3cG9ydEggPSB3aW5kb3cuaW5uZXJIZWlnaHRcbiAgICBjb25zdCB7IHdpZHRoIH0gPSBpbnB1dFJlY3RcbiAgICBjb25zdCBsZWZ0ID0gTWF0aC5tYXgoOCwgTWF0aC5taW4odmlld3BvcnRXIC0gd2lkdGggLSA4LCBpbnB1dFJlY3QubGVmdCkpXG4gICAgLyoqIH40cHggc29icmUgZWwgYm9yZGUgc3VwZXJpb3IgZGUgbGEgYmFycmEgZGUgY29udGV4dG8gKGNoaXApLCBubyBkZWwgaW5wdXQuICovXG4gICAgc2V0UG9zKHsgd2lkdGgsIGxlZnQsIGJvdHRvbTogdmlld3BvcnRIIC0gYW5jaG9yVG9wICsgNCB9KVxuICB9LCBbcG9wb3ZlckFuY2hvclJlZiwgdG9wQW5jaG9yUmVmXSlcblxuICBjb25zdCBjbG9zZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRPcGVuKGZhbHNlKVxuICAgIHVwZGF0ZVNlYXJjaFZhbHVlKCcnKVxuICB9LCBbdXBkYXRlU2VhcmNoVmFsdWVdKVxuXG4gIGNvbnN0IHRvZ2dsZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRPcGVuKHByZXYgPT4ge1xuICAgICAgaWYgKHByZXYpIHtcbiAgICAgICAgdXBkYXRlU2VhcmNoVmFsdWUoJycpXG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgfVxuICAgICAgcG9zaXRpb25Qb3BvdmVyKClcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfSlcbiAgfSwgW3Bvc2l0aW9uUG9wb3ZlciwgdXBkYXRlU2VhcmNoVmFsdWVdKVxuXG4gIGNvbnN0IGNvbW1pdFBpbiA9IHVzZUNhbGxiYWNrKFxuICAgIChpdGVtOiBDb250ZXh0TWVudGlvbkl0ZW0pID0+IHtcbiAgICAgIGNvbnN0IHsgcmF3IH0gPSBpdGVtXG4gICAgICBjb25zdCBjbGllbnRJZCA9IHJhdy5jbGllbnRJZCAhPSBudWxsID8gTnVtYmVyKHJhdy5jbGllbnRJZCkgOiB1bmRlZmluZWRcbiAgICAgIGNvbnN0IGNsaWVudE5hbWUgPSByYXcuY2xpZW50TmFtZSA/PyB1bmRlZmluZWRcblxuICAgICAgaWYgKGl0ZW0udHlwZSA9PT0gJ2NsaWVudCcpIHtcbiAgICAgICAgc2V0UHJvamVjdChudWxsKVxuICAgICAgICBzZXRUYXNrKG51bGwpXG4gICAgICAgIHNldENoaXBzUHJvamVjdChudWxsKVxuICAgICAgICBzZXRDbGllbnQoeyBpZDogTnVtYmVyKHJhdy5pZCksIG5hbWU6IHJhdy5uYW1lLCB0b3RhbFByb3llY3RvczogcmF3LnRvdGFsUHJveWVjdG9zID8/IHVuZGVmaW5lZCB9KVxuICAgICAgfSBlbHNlIGlmIChpdGVtLnR5cGUgPT09ICdwcm9qZWN0Jykge1xuICAgICAgICBzZXRUYXNrKG51bGwpXG4gICAgICAgIHNldFByb2plY3Qoe1xuICAgICAgICAgIGlkOiBOdW1iZXIocmF3LmlkKSxcbiAgICAgICAgICBuYW1lOiByYXcubmFtZSxcbiAgICAgICAgICAuLi4oY2xpZW50SWQgIT0gbnVsbCA/IHsgY2xpZW50SWQgfSA6IHt9KSxcbiAgICAgICAgICAuLi4ocmF3LmZlZUlkICE9IG51bGwgPyB7IGZlZUlkOiByYXcuZmVlSWQgfSA6IHt9KSxcbiAgICAgICAgICAuLi4oY2xpZW50SWQgIT0gbnVsbCA/IHsgY2xpZW50OiB7IGlkOiBjbGllbnRJZCwgbmFtZTogY2xpZW50TmFtZSA/PyAnJyB9IH0gOiB7fSksXG4gICAgICAgIH0pXG4gICAgICAgIC8vIGNoaXBzUHJvamVjdCBoYWNlIHZpc2libGUgZWwgcGluIGVuIGVsIGNoaXAgZGVsIG9ycXVlc3RhZG9yIChSRkMgwqc3KS5cbiAgICAgICAgc2V0Q2hpcHNQcm9qZWN0KHsgcHJvamVjdElkOiBTdHJpbmcocmF3LmlkKSwgcHJvamVjdE5hbWU6IHJhdy5uYW1lLCBjbGllbnROYW1lOiBjbGllbnROYW1lID8/ICcnIH0pXG4gICAgICAgIHNldENsaWVudChjbGllbnRJZCAhPSBudWxsID8geyBpZDogY2xpZW50SWQsIG5hbWU6IGNsaWVudE5hbWUgPz8gJycgfSA6IG51bGwpXG4gICAgICB9IGVsc2UgaWYgKGl0ZW0udHlwZSA9PT0gJ3Rhc2snKSB7XG4gICAgICAgIC8vIEVsIGl0ZW0gZGUgdGFyZWEgbm8gdHJhZSBwcm9qZWN0SWQgZmlhYmxlOyBzdWJpbW9zIGxvIGRpc3BvbmlibGUgKHByb3llY3RvIHBvciBub21icmUsIGNsaWVudGUgcG9yIGlkKS5cbiAgICAgICAgc2V0VGFzayh7IGlkOiByYXcuaWQsIG5hbWU6IHJhdy5uYW1lLCAuLi4oY2xpZW50SWQgIT0gbnVsbCA/IHsgY2xpZW50SWQgfSA6IHt9KSB9KVxuICAgICAgICBzZXRDaGlwc1Byb2plY3QoXG4gICAgICAgICAgcmF3LnByb2plY3ROYW1lID8geyBwcm9qZWN0SWQ6ICcnLCBwcm9qZWN0TmFtZTogcmF3LnByb2plY3ROYW1lLCBjbGllbnROYW1lOiBjbGllbnROYW1lID8/ICcnIH0gOiBudWxsXG4gICAgICAgIClcbiAgICAgICAgaWYgKGNsaWVudElkICE9IG51bGwpIHNldENsaWVudCh7IGlkOiBjbGllbnRJZCwgbmFtZTogY2xpZW50TmFtZSA/PyAnJyB9KVxuICAgICAgfVxuXG4gICAgICBvblBpbm5lZD8uKGl0ZW0pXG4gICAgICBjbG9zZSgpXG4gICAgfSxcbiAgICBbc2V0UHJvamVjdCwgc2V0Q2xpZW50LCBzZXRUYXNrLCBzZXRDaGlwc1Byb2plY3QsIG9uUGlubmVkLCBjbG9zZV1cbiAgKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFvcGVuKSByZXR1cm4gdW5kZWZpbmVkXG4gICAgY29uc3QgaGFuZGxlciA9ICgpID0+IHBvc2l0aW9uUG9wb3ZlcigpXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZXIsIHRydWUpXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGhhbmRsZXIpXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVyLCB0cnVlKVxuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGhhbmRsZXIpXG4gICAgfVxuICB9LCBbb3BlbiwgcG9zaXRpb25Qb3BvdmVyXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghb3BlbikgcmV0dXJuIHVuZGVmaW5lZFxuICAgIGNvbnN0IGhhbmRsZVBvaW50ZXJEb3duT3V0c2lkZSA9IChtb3VzZUV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICBjb25zdCB0YXJnZXQgPSBtb3VzZUV2ZW50LnRhcmdldCBhcyBOb2RlIHwgbnVsbFxuICAgICAgaWYgKCF0YXJnZXQpIHJldHVyblxuICAgICAgaWYgKHBvcG92ZXJBbmNob3JSZWYuY3VycmVudD8uY29udGFpbnModGFyZ2V0KSkgcmV0dXJuXG4gICAgICBpZiAodHJpZ2dlclJlZj8uY3VycmVudD8uY29udGFpbnModGFyZ2V0KSkgcmV0dXJuXG4gICAgICBjb25zdCBvdmVybGF5ID0gKHRhcmdldCBhcyBFbGVtZW50KT8uY2xvc2VzdD8uKGBbJHtNQUlBX1RBU0tfUEFORUxfT1ZFUkxBWV9BVFRSfV1gKVxuICAgICAgaWYgKG92ZXJsYXkpIHJldHVyblxuICAgICAgY2xvc2UoKVxuICAgIH1cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVQb2ludGVyRG93bk91dHNpZGUpXG4gICAgcmV0dXJuICgpID0+IGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZVBvaW50ZXJEb3duT3V0c2lkZSlcbiAgfSwgW29wZW4sIGNsb3NlLCBwb3BvdmVyQW5jaG9yUmVmLCB0cmlnZ2VyUmVmXSlcblxuICBjb25zdCBwb3BvdmVyTm9kZSA9IHVzZU1lbW88UmVhY3ROb2RlIHwgbnVsbD4oKCkgPT4ge1xuICAgIGlmICghb3BlbikgcmV0dXJuIG51bGxcbiAgICByZXR1cm4gKFxuICAgICAgPFNDTVBBbmNob3JcbiAgICAgICAgey4uLnsgW01BSUFfVEFTS19QQU5FTF9PVkVSTEFZX0FUVFJdOiAnJyB9fVxuICAgICAgICAkYm90dG9tPXtwb3MuYm90dG9tfVxuICAgICAgICAkbGVmdD17cG9zLmxlZnR9XG4gICAgICAgICR3aWR0aD17cG9zLndpZHRofVxuICAgICAgICAkekluZGV4PXt6SW5kZXh9XG4gICAgICAgIG9uTW91c2VEb3duPXtlID0+IGUuc3RvcFByb3BhZ2F0aW9uKCl9XG4gICAgICA+XG4gICAgICAgIDxDb250ZXh0TWVudGlvblBvcG92ZXJcbiAgICAgICAgICBhbGxvd2VkVHlwZXM9e2FsbG93ZWRUeXBlc31cbiAgICAgICAgICBhY3RpdmVUeXBlPXthY3RpdmVUeXBlfVxuICAgICAgICAgIG9uVHlwZUNoYW5nZT17c2V0QWN0aXZlVHlwZX1cbiAgICAgICAgICBpdGVtcz17aXRlbXN9XG4gICAgICAgICAgbG9hZGluZz17bG9hZGluZ31cbiAgICAgICAgICBlcnJvcj17ZXJyb3J9XG4gICAgICAgICAgaGlkZVJlY2VudHNMYWJlbD17aGlkZVJlY2VudHNMYWJlbH1cbiAgICAgICAgICBoYXNNb3JlPXtoYXNNb3JlfVxuICAgICAgICAgIGlzTG9hZGluZ01vcmU9e2lzTG9hZGluZ01vcmV9XG4gICAgICAgICAgb25SZWFjaExpc3RFbmQ9e2xvYWRNb3JlfVxuICAgICAgICAgIHNlYXJjaFZhbHVlPXtzZWFyY2hWYWx1ZX1cbiAgICAgICAgICBvbkl0ZW1TZWxlY3RlZD17Y29tbWl0UGlufVxuICAgICAgICAgIHNob3dTZWFyY2hJbnB1dFxuICAgICAgICAgIGhpZGVUYWJQcmVmaXhcbiAgICAgICAgICBzZWFyY2hQbGFjZWhvbGRlcj17dCgnY29udGV4dFBpbi5zZWFyY2hQbGFjZWhvbGRlcicsIHsgZGVmYXVsdFZhbHVlOiAnQnVzY2FyIGNvbnRleHRv4oCmJyB9KX1cbiAgICAgICAgICBvblNlYXJjaENoYW5nZT17dXBkYXRlU2VhcmNoVmFsdWV9XG4gICAgICAgICAgb25SZXF1ZXN0Q2xvc2U9e2Nsb3NlfVxuICAgICAgICAvPlxuICAgICAgPC9TQ01QQW5jaG9yPlxuICAgIClcbiAgfSwgW1xuICAgIG9wZW4sXG4gICAgcG9zLFxuICAgIHpJbmRleCxcbiAgICBhbGxvd2VkVHlwZXMsXG4gICAgYWN0aXZlVHlwZSxcbiAgICBpdGVtcyxcbiAgICBsb2FkaW5nLFxuICAgIGVycm9yLFxuICAgIGhpZGVSZWNlbnRzTGFiZWwsXG4gICAgaGFzTW9yZSxcbiAgICBpc0xvYWRpbmdNb3JlLFxuICAgIGxvYWRNb3JlLFxuICAgIHNlYXJjaFZhbHVlLFxuICAgIGNvbW1pdFBpbixcbiAgICB1cGRhdGVTZWFyY2hWYWx1ZSxcbiAgICBjbG9zZSxcbiAgICB0LFxuICBdKVxuXG4gIHJldHVybiB7IG9wZW4sIHRvZ2dsZSwgY2xvc2UsIHBvcG92ZXJOb2RlIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLFNBQStCQSxXQUFXLEVBQUVDLFNBQVMsRUFBRUMsT0FBTyxFQUFFQyxRQUFRLFFBQVEsT0FBTztBQUN2RixTQUNFQyxxQkFBcUIsRUFDckJDLDRCQUE0QixFQUM1QkMsVUFBVSxRQUNMLDJDQUEyQztBQUNsRCxTQUFTQyxzQkFBc0IsUUFBUSwwQkFBMEI7QUFDakUsU0FBU0MsZ0JBQWdCLFFBQVEsMkJBQTJCO0FBQzVELFNBQVNDLElBQUksUUFBUSxRQUFRO0FBQzdCO0FBQ0EsU0FBU0MsZUFBZSxRQUFRLG1CQUFtQjtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQTtBQUduRDtBQUNBLElBQU1DLGlCQUFzQyxHQUFHLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUM7QUFDNUUsSUFBTUMsZ0JBQW1DLEdBQUcsU0FBUztBQXdCckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sSUFBTUMsb0JBQW9CLEdBQUcsU0FBdkJBLG9CQUFvQkEsQ0FBQUMsSUFBQSxFQU04QjtFQUFBLElBTDdEQyxnQkFBZ0IsR0FBQUQsSUFBQSxDQUFoQkMsZ0JBQWdCO0lBQ2hCQyxZ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QUFBLGFBQUEsS0FBQXVCLGVBQUEsS0FDRi9HLDRCQUE0QixFQUFHLEVBQUU7TUFDeENnSCxPQUFPLEVBQUV0RSxHQUFHLENBQUNKLE1BQU87TUFDcEIyRSxLQUFLLEVBQUV2RSxHQUFHLENBQUNILElBQUs7TUFDaEIyRSxNQUFNLEVBQUV4RSxHQUFHLENBQUNGLEtBQU07TUFDbEIyRSxPQUFPLEVBQUUzRixNQUFPO01BQ2hCNEYsV0FBVyxFQUFFLFNBQWJBLFdBQVdBLENBQUVDLENBQUM7UUFBQSxPQUFJQSxDQUFDLENBQUNDLGVBQWUsQ0FBQyxDQUFDO01BQUEsQ0FBQztNQUFBQyxRQUFBLGVBRXRDaEgsSUFBQSxDQUFDUixxQkFBcUI7UUFDcEIwQixZQUFZLEVBQUVBLFlBQWE7UUFDM0JNLFVBQVUsRUFBRUEsVUFBVztRQUN2QnlGLFlBQVksRUFBRXhGLGFBQWM7UUFDNUJhLEtBQUssRUFBRUEsS0FBTTtRQUNiQyxPQUFPLEVBQUVBLE9BQVE7UUFDakJDLEtBQUssRUFBRUEsS0FBTTtRQUNiQyxnQkFBZ0IsRUFBRUEsZ0JBQWlCO1FBQ25DQyxPQUFPLEVBQUVBLE9BQVE7UUFDakJDLGFBQWEsRUFBRUEsYUFBYztRQUM3QnVFLGNBQWMsRUFBRXRFLFFBQVM7UUFDekJDLFdBQVcsRUFBRUEsV0FBWTtRQUN6QnNFLGNBQWMsRUFBRS9DLFNBQVU7UUFDMUJnRCxlQUFlO1FBQ2ZDLGFBQWE7UUFDYkMsaUJBQWlCLEVBQUUzRyxDQUFDLENBQUMsOEJBQThCLEVBQUU7VUFBRTRHLFlBQVksRUFBRTtRQUFtQixDQUFDLENBQUU7UUFDM0ZDLGNBQWMsRUFBRTFFLGlCQUFrQjtRQUNsQzJFLGNBQWMsRUFBRXhEO01BQU0sQ0FDdkI7SUFBQyxFQUNRLENBQUM7RUFFakIsQ0FBQyxFQUFFLENBQ0RyQyxJQUFJLEVBQ0pPLEdBQUcsRUFDSGxCLE1BQU0sRUFDTkMsWUFBWSxFQUNaTSxVQUFVLEVBQ1ZjLEtBQUssRUFDTEMsT0FBTyxFQUNQQyxLQUFLLEVBQ0xDLGdCQUFnQixFQUNoQkMsT0FBTyxFQUNQQyxhQUFhLEVBQ2JDLFFBQVEsRUFDUkMsV0FBVyxFQUNYdUIsU0FBUyxFQUNUdEIsaUJBQWlCLEVBQ2pCbUIsS0FBSyxFQUNMdEQsQ0FBQyxDQUNGLENBQUM7RUFFRixPQUFPO0lBQUVpQixJQUFJLEVBQUpBLElBQUk7SUFBRXNDLE1BQU0sRUFBTkEsTUFBTTtJQUFFRCxLQUFLLEVBQUxBLEtBQUs7SUFBRXNDLFdBQVcsRUFBWEE7RUFBWSxDQUFDO0FBQzdDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,18 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import { useEffect, useState } from 'react';
3
+ export var useDebounce = function useDebounce(value, delay) {
4
+ var _useState = useState(value),
5
+ _useState2 = _slicedToArray(_useState, 2),
6
+ debouncedValue = _useState2[0],
7
+ setDebouncedValue = _useState2[1];
8
+ useEffect(function () {
9
+ var handler = setTimeout(function () {
10
+ setDebouncedValue(value);
11
+ }, delay);
12
+ return function () {
13
+ clearTimeout(handler);
14
+ };
15
+ }, [value, delay]);
16
+ return debouncedValue;
17
+ };
18
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsInVzZURlYm91bmNlIiwidmFsdWUiLCJkZWxheSIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImRlYm91bmNlZFZhbHVlIiwic2V0RGVib3VuY2VkVmFsdWUiLCJoYW5kbGVyIiwic2V0VGltZW91dCIsImNsZWFyVGltZW91dCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VEZWJvdW5jZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5cbmV4cG9ydCBjb25zdCB1c2VEZWJvdW5jZSA9ICh2YWx1ZTogc3RyaW5nLCBkZWxheTogbnVtYmVyKSA9PiB7XG4gIGNvbnN0IFtkZWJvdW5jZWRWYWx1ZSwgc2V0RGVib3VuY2VkVmFsdWVdID0gdXNlU3RhdGUodmFsdWUpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBzZXREZWJvdW5jZWRWYWx1ZSh2YWx1ZSlcbiAgICB9LCBkZWxheSlcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjbGVhclRpbWVvdXQoaGFuZGxlcilcbiAgICB9XG4gIH0sIFt2YWx1ZSwgZGVsYXldKVxuXG4gIHJldHVybiBkZWJvdW5jZWRWYWx1ZVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsU0FBU0EsU0FBUyxFQUFFQyxRQUFRLFFBQVEsT0FBTztBQUUzQyxPQUFPLElBQU1DLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFJQyxLQUFhLEVBQUVDLEtBQWEsRUFBSztFQUMzRCxJQUFBQyxTQUFBLEdBQTRDSixRQUFRLENBQUNFLEtBQUssQ0FBQztJQUFBRyxVQUFBLEdBQUFDLGNBQUEsQ0FBQUYsU0FBQTtJQUFwREcsY0FBYyxHQUFBRixVQUFBO0lBQUVHLGlCQUFpQixHQUFBSCxVQUFBO0VBRXhDTixTQUFTLENBQUMsWUFBTTtJQUNkLElBQU1VLE9BQU8sR0FBR0MsVUFBVSxDQUFDLFlBQU07TUFDL0JGLGlCQUFpQixDQUFDTixLQUFLLENBQUM7SUFDMUIsQ0FBQyxFQUFFQyxLQUFLLENBQUM7SUFFVCxPQUFPLFlBQU07TUFDWFEsWUFBWSxDQUFDRixPQUFPLENBQUM7SUFDdkIsQ0FBQztFQUNILENBQUMsRUFBRSxDQUFDUCxLQUFLLEVBQUVDLEtBQUssQ0FBQyxDQUFDO0VBRWxCLE9BQU9JLGNBQWM7QUFDdkIsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==