@projectcor/maia-components 2.29.0 → 2.30.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.
Files changed (669) hide show
  1. package/CHANGELOG.md +656 -0
  2. package/lib/App.js +55 -0
  3. package/lib/components/atoms/ActionableButton.js +60 -0
  4. package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.js +89 -0
  5. package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.styles.js +21 -0
  6. package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.utils.js +9 -0
  7. package/lib/components/atoms/AgentActivityIndicator/index.js +2 -0
  8. package/lib/components/atoms/ApprovalBox/ApprovalBox.js +209 -0
  9. package/lib/components/atoms/ApprovalBox/ApprovalBox.styles.js +93 -0
  10. package/lib/components/atoms/ApprovalBox/index.js +2 -0
  11. package/lib/components/atoms/AttachmentCard/AttachmentCard.js +218 -0
  12. package/lib/components/atoms/AttachmentCard/AttachmentCard.styles.js +52 -0
  13. package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.js +448 -0
  14. package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.styles.js +58 -0
  15. package/lib/components/atoms/AttachmentCard/AttachmentCardImage.js +55 -0
  16. package/lib/components/atoms/AttachmentCard/AttachmentCardImage.styles.js +14 -0
  17. package/lib/components/atoms/AttachmentCard/index.js +4 -0
  18. package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.js +442 -0
  19. package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.styles.js +119 -0
  20. package/lib/components/atoms/AttachmentPreviewModal/ExcelPreview.js +222 -0
  21. package/lib/components/atoms/AttachmentPreviewModal/PptPreview.js +313 -0
  22. package/lib/components/atoms/AttachmentPreviewModal/WordPreview.js +128 -0
  23. package/lib/components/atoms/AttachmentPreviewModal/index.js +2 -0
  24. package/lib/components/atoms/Backdrop/Backdrop.js +17 -0
  25. package/lib/components/atoms/Backdrop/Backdrop.styles.js +9 -0
  26. package/lib/components/atoms/Backdrop/index.js +2 -0
  27. package/lib/components/atoms/CardItem.js +7 -0
  28. package/lib/components/atoms/CardMenu/CardMenu.js +131 -0
  29. package/lib/components/atoms/CardMenu/index.js +2 -0
  30. package/lib/components/atoms/CardMenu/styles.js +21 -0
  31. package/lib/components/atoms/ChatClientSelector/ChatClientSelector.js +77 -0
  32. package/lib/components/atoms/ChatClientSelector/index.js +2 -0
  33. package/lib/components/atoms/ChatDisclaimerMessage/ChatDisclaimerMessage.js +9 -0
  34. package/lib/components/atoms/ChatDisclaimerMessage/index.js +2 -0
  35. package/lib/components/atoms/ChatDisclaimerMessage/styles.js +6 -0
  36. package/lib/components/atoms/Checkbox/Checkbox.js +34 -0
  37. package/lib/components/atoms/Checkbox/index.js +2 -0
  38. package/lib/components/atoms/Checkbox/styles.js +39 -0
  39. package/lib/components/atoms/Chip/Chip.js +150 -0
  40. package/lib/components/atoms/Chip/index.js +2 -0
  41. package/lib/components/atoms/Chip/styles.js +43 -0
  42. package/lib/components/atoms/ChipLlm/ChipLlm.js +45 -0
  43. package/lib/components/atoms/ChipLlm/ChipLlm.style.js +21 -0
  44. package/lib/components/atoms/ChipLlm/index.js +2 -0
  45. package/lib/components/atoms/ChipStatus/ChipStatus.interface.js +2 -0
  46. package/lib/components/atoms/ChipStatus/ChipStatus.js +14 -0
  47. package/lib/components/atoms/ChipStatus/ChipStatus.styles.js +27 -0
  48. package/lib/components/atoms/ChipStatus/index.js +2 -0
  49. package/lib/components/atoms/ClearButton.js +6 -0
  50. package/lib/components/atoms/ClientSelector/ClientSelector.js +146 -0
  51. package/lib/components/atoms/ClientSelector/ClientSelector.styles.js +15 -0
  52. package/lib/components/atoms/ClientSelector/index.js +2 -0
  53. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.js +38 -0
  54. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.styles.js +188 -0
  55. package/lib/components/atoms/ContextMentionChip/MentionOverflowLabel.js +39 -0
  56. package/lib/components/atoms/ContextMentionChip/buildChipElement.js +445 -0
  57. package/lib/components/atoms/ContextMentionChip/index.js +4 -0
  58. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +533 -0
  59. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.styles.js +10 -0
  60. package/lib/components/atoms/ContextMentionEditor/index.js +2 -0
  61. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +282 -0
  62. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +148 -0
  63. package/lib/components/atoms/ContextMentionItem/index.js +2 -0
  64. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +290 -0
  65. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.styles.js +108 -0
  66. package/lib/components/atoms/ContextMentionPopover/index.js +3 -0
  67. package/lib/components/atoms/CopyToClipboard.js +70 -0
  68. package/lib/components/atoms/EditableLabel/EditableLabel.js +110 -0
  69. package/lib/components/atoms/EditableLabel/index.js +2 -0
  70. package/lib/components/atoms/EditableLabel/styles.js +7 -0
  71. package/lib/components/atoms/EmptySearchClients/EmptySearchClients.js +22 -0
  72. package/lib/components/atoms/EmptySearchClients/EmptySearchClients.styles.js +18 -0
  73. package/lib/components/atoms/EmptySearchClients/index.js +2 -0
  74. package/lib/components/atoms/EmptySearchProjects/EmptySearchProjects.js +19 -0
  75. package/lib/components/atoms/EmptySearchProjects/EmptySearchProjects.styles.js +15 -0
  76. package/lib/components/atoms/EmptySearchProjects/index.js +2 -0
  77. package/lib/components/atoms/EntitySelector/EntitySelector.js +247 -0
  78. package/lib/components/atoms/EntitySelector/EntitySelector.skeleton.js +38 -0
  79. package/lib/components/atoms/EntitySelector/EntitySelector.styles.js +67 -0
  80. package/lib/components/atoms/EntitySelector/index.js +2 -0
  81. package/lib/components/atoms/ErrorSearchClients/ErrorSearchClients.js +14 -0
  82. package/lib/components/atoms/ErrorSearchClients/ErrorSearchClients.styles.js +15 -0
  83. package/lib/components/atoms/ErrorSearchFaqs/ErrorSearchFaqs.js +14 -0
  84. package/lib/components/atoms/ErrorSearchFaqs/ErrorSearchFaqs.style.js +15 -0
  85. package/lib/components/atoms/ErrorSearchFaqs/index.js +2 -0
  86. package/lib/components/atoms/ErrorSearchProjects/ErrorSearchProjects.js +18 -0
  87. package/lib/components/atoms/ErrorSearchProjects/ErrorSearchProjects.style.js +15 -0
  88. package/lib/components/atoms/ErrorSearchProjects/index.js +2 -0
  89. package/lib/components/atoms/Expand/Expand.js +32 -0
  90. package/lib/components/atoms/Expand/index.js +2 -0
  91. package/lib/components/atoms/Fade/Fade.js +56 -0
  92. package/lib/components/atoms/Fade/index.js +2 -0
  93. package/lib/components/atoms/FeedbackButton/FeedbackButton.js +59 -0
  94. package/lib/components/atoms/FeedbackButton/FeedbackButton.styles.js +14 -0
  95. package/lib/components/atoms/FeedbackButton/index.js +2 -0
  96. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.js +138 -0
  97. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.skeleton.js +44 -0
  98. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.styles.js +43 -0
  99. package/lib/components/atoms/FrequentlyAskedQuestions/index.js +2 -0
  100. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +122 -0
  101. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.skeleton.js +43 -0
  102. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +62 -0
  103. package/lib/components/atoms/FrequentlyUsedActions/index.js +2 -0
  104. package/lib/components/atoms/GoBackButton.js +24 -0
  105. package/lib/components/atoms/HelpButton.js +44 -0
  106. package/lib/components/atoms/IconButton.js +56 -0
  107. package/lib/components/atoms/ImagePreview/ImagePreview.js +96 -0
  108. package/lib/components/atoms/ImagePreview/ImagePreview.styles.js +70 -0
  109. package/lib/components/atoms/Input/CustomInput.interface.js +2 -0
  110. package/lib/components/atoms/Input/CustomInput.js +91 -0
  111. package/lib/components/atoms/Input/CustomInput.styles.js +39 -0
  112. package/lib/components/atoms/Input/index.js +2 -0
  113. package/lib/components/atoms/ListMenuOption/ListMenuOption.js +41 -0
  114. package/lib/components/atoms/ListMenuOption/index.js +2 -0
  115. package/lib/components/atoms/ListMenuOption/styles.js +9 -0
  116. package/lib/components/atoms/Loader.js +41 -0
  117. package/lib/components/atoms/LoadingFaqs/LoadingFaqs.js +11 -0
  118. package/lib/components/atoms/LoadingFaqs/LoadingFaqs.style.js +6 -0
  119. package/lib/components/atoms/LoadingFaqs/index.js +2 -0
  120. package/lib/components/atoms/LoadingSearchClients/LoadingSearchClients.js +11 -0
  121. package/lib/components/atoms/LoadingSearchClients/LoadingSearchClients.styles.js +6 -0
  122. package/lib/components/atoms/LoadingSearchClients/index.js +2 -0
  123. package/lib/components/atoms/LoadingSearchProjects/LoadingSearchProjects.js +14 -0
  124. package/lib/components/atoms/LoadingSearchProjects/LoadingSearchProjects.style.js +10 -0
  125. package/lib/components/atoms/LoadingSearchProjects/index.js +2 -0
  126. package/lib/components/atoms/LoadingText/LoadingText.js +18 -0
  127. package/lib/components/atoms/LoadingText/index.js +2 -0
  128. package/lib/components/atoms/LoadingText/styles.js +7 -0
  129. package/lib/components/atoms/MAIAButton/MAIAButton.js +33 -0
  130. package/lib/components/atoms/MAIAButton/index.js +2 -0
  131. package/lib/components/atoms/MAIAError/MAIAError.js +15 -0
  132. package/lib/components/atoms/MAIAError/index.js +2 -0
  133. package/lib/components/atoms/MAIAInput/MAIAInput.js +1233 -0
  134. package/lib/components/atoms/MAIAInput/MAIAInputEditor.js +266 -0
  135. package/lib/components/atoms/MAIAInput/index.js +2 -0
  136. package/lib/components/atoms/MAIAInput/maiaInputLayout.js +25 -0
  137. package/lib/components/atoms/MAIAInput/styles.js +186 -0
  138. package/lib/components/atoms/MAIAMessage/MAIAMessage.interfaces.js +2 -0
  139. package/lib/components/atoms/MAIAMessage/MAIAMessage.js +22 -0
  140. package/lib/components/atoms/MAIAMessage/index.js +2 -0
  141. package/lib/components/atoms/MAIAMessage/styles.js +7 -0
  142. package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.config.js +23 -0
  143. package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.interfaces.js +2 -0
  144. package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.js +51 -0
  145. package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.styles.js +26 -0
  146. package/lib/components/atoms/MaiaStreamdown/index.js +2 -0
  147. package/lib/components/atoms/MaiaWrapper/MaiaWrapper.js +18 -0
  148. package/lib/components/atoms/MaiaWrapper/MaiaWrapperBase.js +84 -0
  149. package/lib/components/atoms/MaiaWrapper/ModernMaiaWrapper.js +15 -0
  150. package/lib/components/atoms/MaiaWrapper/index.js +3 -0
  151. package/lib/components/atoms/MaiaWrapper/styles.js +21 -0
  152. package/lib/components/atoms/ModalClientAccess/ModalClientAccess.interface.js +2 -0
  153. package/lib/components/atoms/ModalClientAccess/ModalClientAccess.js +84 -0
  154. package/lib/components/atoms/ModalClientAccess/ModalClientAccess.styles.js +53 -0
  155. package/lib/components/atoms/ModalClientAccess/index.js +2 -0
  156. package/lib/components/atoms/ModalInfo/ModalInfo.js +52 -0
  157. package/lib/components/atoms/ModalInfo/ModalInfoContent.js +7 -0
  158. package/lib/components/atoms/ModalInfo/index.js +3 -0
  159. package/lib/components/atoms/ModalInfo/styles.js +7 -0
  160. package/lib/components/atoms/ModalProject/ModalProject.interface.js +2 -0
  161. package/lib/components/atoms/ModalProject/ModalProject.js +112 -0
  162. package/lib/components/atoms/ModalProject/ModalProject.style.js +59 -0
  163. package/lib/components/atoms/ModalProject/index.js +2 -0
  164. package/lib/components/atoms/NextPageLoader.js +33 -0
  165. package/lib/components/atoms/OnboardingModalButton/OnboardingModal.js +28 -0
  166. package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.js +180 -0
  167. package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.styles.js +34 -0
  168. package/lib/components/atoms/OnboardingModalButton/index.js +3 -0
  169. package/lib/components/atoms/OptionAccessibility/OptionAccessibility.js +131 -0
  170. package/lib/components/atoms/OptionAccessibility/OptionAccessibility.styles.js +59 -0
  171. package/lib/components/atoms/OptionAccessibility/index.js +2 -0
  172. package/lib/components/atoms/OptionCorPermission/OptionCorPermission.js +27 -0
  173. package/lib/components/atoms/OptionCorPermission/OptionCorPermission.styles.js +18 -0
  174. package/lib/components/atoms/OptionCorPermission/index.js +2 -0
  175. package/lib/components/atoms/PrimaryButton.js +31 -0
  176. package/lib/components/atoms/ProjectSelector/ProjectSelector.js +77 -0
  177. package/lib/components/atoms/ProjectSelector/ProjectSelector.styles.js +61 -0
  178. package/lib/components/atoms/ProjectSelector/index.js +2 -0
  179. package/lib/components/atoms/SecondaryButton.js +20 -0
  180. package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.js +20 -0
  181. package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.styles.js +20 -0
  182. package/lib/components/atoms/SessionGeneratingDot/index.js +2 -0
  183. package/lib/components/atoms/Skeleton/Skeleton.js +36 -0
  184. package/lib/components/atoms/Skeleton/index.js +2 -0
  185. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.js +208 -0
  186. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.styles.js +77 -0
  187. package/lib/components/atoms/SkillsDropdown/index.js +2 -0
  188. package/lib/components/atoms/SlashCommandChip/SlashCommandChip.js +16 -0
  189. package/lib/components/atoms/SlashCommandChip/SlashCommandChip.styles.js +24 -0
  190. package/lib/components/atoms/SlashCommandChip/buildSlashChipElement.js +18 -0
  191. package/lib/components/atoms/SlashCommandChip/index.js +4 -0
  192. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.js +210 -0
  193. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.styles.js +53 -0
  194. package/lib/components/atoms/SlashCommandDropdown/index.js +2 -0
  195. package/lib/components/atoms/Switch/Switch.js +27 -0
  196. package/lib/components/atoms/Switch/Switch.styles.js +22 -0
  197. package/lib/components/atoms/Switch/index.js +2 -0
  198. package/lib/components/atoms/TextArea/CustomTextArea.interface.js +2 -0
  199. package/lib/components/atoms/TextArea/CustomTextArea.js +93 -0
  200. package/lib/components/atoms/TextArea/CustomTextArea.styles.js +25 -0
  201. package/lib/components/atoms/TextArea/TextArea.interfaces.js +2 -0
  202. package/lib/components/atoms/TextArea/TextArea.js +172 -0
  203. package/lib/components/atoms/TextArea/TextArea.styles.js +16 -0
  204. package/lib/components/atoms/TextArea/index.js +2 -0
  205. package/lib/components/atoms/ThirdButton.js +19 -0
  206. package/lib/components/atoms/VideoModal/VideoModal.js +76 -0
  207. package/lib/components/atoms/VideoModal/index.js +2 -0
  208. package/lib/components/atoms/WithAppCfg.js +26 -0
  209. package/lib/components/atoms/WithFeatureValidation.js +23 -0
  210. package/lib/components/atoms/WrapperCenterIcon/WrapperCenterIcon.js +9 -0
  211. package/lib/components/atoms/WrapperCenterIcon/WrapperCenterIcon.styles.js +6 -0
  212. package/lib/components/atoms/WrapperCenterIcon/index.js +2 -0
  213. package/lib/components/atoms/icons/AIIcon.js +23 -0
  214. package/lib/components/atoms/icons/AacFile.js +39 -0
  215. package/lib/components/atoms/icons/AccessibilityIcon.js +42 -0
  216. package/lib/components/atoms/icons/ActionAssignIcon.js +111 -0
  217. package/lib/components/atoms/icons/ActionCalendarIcon.js +112 -0
  218. package/lib/components/atoms/icons/ActionChargeHoursIcon.js +111 -0
  219. package/lib/components/atoms/icons/ActionChatIcon.js +71 -0
  220. package/lib/components/atoms/icons/ActionCreateIcon.js +91 -0
  221. package/lib/components/atoms/icons/ActionCreateReworkIcon.js +39 -0
  222. package/lib/components/atoms/icons/ActionCreateSubtaskIcon.js +37 -0
  223. package/lib/components/atoms/icons/ActionEditIcon.js +39 -0
  224. package/lib/components/atoms/icons/ActionSummaryMessagesIcon.js +88 -0
  225. package/lib/components/atoms/icons/ActionSummaryTaskIcon.js +37 -0
  226. package/lib/components/atoms/icons/ActionTimeBackIcon.js +112 -0
  227. package/lib/components/atoms/icons/AgentMaiaIcon.js +31 -0
  228. package/lib/components/atoms/icons/Brain.js +77 -0
  229. package/lib/components/atoms/icons/CorAccessIcon.js +41 -0
  230. package/lib/components/atoms/icons/CorLogo.js +76 -0
  231. package/lib/components/atoms/icons/CsvFile.js +41 -0
  232. package/lib/components/atoms/icons/DocFile.js +41 -0
  233. package/lib/components/atoms/icons/DocxFile.js +41 -0
  234. package/lib/components/atoms/icons/EmptyClientIllustration.js +67 -0
  235. package/lib/components/atoms/icons/EmptyHistory.js +46 -0
  236. package/lib/components/atoms/icons/EmptySearchIllustration.js +37 -0
  237. package/lib/components/atoms/icons/EmptyState.js +84 -0
  238. package/lib/components/atoms/icons/EmptyStateAgents.js +58 -0
  239. package/lib/components/atoms/icons/ErrorIcon.js +14 -0
  240. package/lib/components/atoms/icons/ErrorSearchIllustration.js +52 -0
  241. package/lib/components/atoms/icons/ErrorState.js +51 -0
  242. package/lib/components/atoms/icons/FaqChevronIcon.js +39 -0
  243. package/lib/components/atoms/icons/FaqsIcon.js +51 -0
  244. package/lib/components/atoms/icons/FlacIcon.js +39 -0
  245. package/lib/components/atoms/icons/FolderIcon.js +29 -0
  246. package/lib/components/atoms/icons/HomeIcon.js +30 -0
  247. package/lib/components/atoms/icons/ImageFile.js +46 -0
  248. package/lib/components/atoms/icons/M4aFile.js +39 -0
  249. package/lib/components/atoms/icons/MAIAIcon.js +20 -0
  250. package/lib/components/atoms/icons/MAIAIsologo.js +65 -0
  251. package/lib/components/atoms/icons/MDFile.js +41 -0
  252. package/lib/components/atoms/icons/MaiaChatLayoutFloatingIcon.js +41 -0
  253. package/lib/components/atoms/icons/MaiaChatLayoutFullscreenIcon.js +41 -0
  254. package/lib/components/atoms/icons/MaiaChatLayoutMenuIcon.js +33 -0
  255. package/lib/components/atoms/icons/MaiaChatLayoutSidebarIcon.js +41 -0
  256. package/lib/components/atoms/icons/MaiaInputAddIcon.js +42 -0
  257. package/lib/components/atoms/icons/MaiaInputAttachIcon.js +29 -0
  258. package/lib/components/atoms/icons/MaiaInputAttachmentImageIcon.js +33 -0
  259. package/lib/components/atoms/icons/MaiaInputDeepSearchIcon.js +35 -0
  260. package/lib/components/atoms/icons/MaiaInputMentionIcon.js +44 -0
  261. package/lib/components/atoms/icons/MaiaInputRobotIcon.js +29 -0
  262. package/lib/components/atoms/icons/MaiaInputSendIcon.js +29 -0
  263. package/lib/components/atoms/icons/MaiaInputSlashIcon.js +29 -0
  264. package/lib/components/atoms/icons/MaiaInputWebSearchIcon.js +35 -0
  265. package/lib/components/atoms/icons/MaiaSettingsProject.js +111 -0
  266. package/lib/components/atoms/icons/MaiaSettingsProjectV2.js +193 -0
  267. package/lib/components/atoms/icons/MaiaSparkleIcon.js +75 -0
  268. package/lib/components/atoms/icons/MaiaStoreIcon.js +31 -0
  269. package/lib/components/atoms/icons/Mp3File.js +39 -0
  270. package/lib/components/atoms/icons/Mp4File.js +39 -0
  271. package/lib/components/atoms/icons/MyAgentsNavIcon.js +51 -0
  272. package/lib/components/atoms/icons/NewChat.js +29 -0
  273. package/lib/components/atoms/icons/NotionIcon.js +36 -0
  274. package/lib/components/atoms/icons/OgaFile.js +39 -0
  275. package/lib/components/atoms/icons/OggFile.js +39 -0
  276. package/lib/components/atoms/icons/PdfFile.js +39 -0
  277. package/lib/components/atoms/icons/PlusIcon.js +29 -0
  278. package/lib/components/atoms/icons/PptFile.js +47 -0
  279. package/lib/components/atoms/icons/PptxFile.js +49 -0
  280. package/lib/components/atoms/icons/RetryIcon.js +34 -0
  281. package/lib/components/atoms/icons/SkillCreatedByIcon.js +20 -0
  282. package/lib/components/atoms/icons/SkillIcon.js +30 -0
  283. package/lib/components/atoms/icons/SkillVisibilityEveryoneIcon.js +23 -0
  284. package/lib/components/atoms/icons/SkillVisibilityOnlyMeIcon.js +23 -0
  285. package/lib/components/atoms/icons/SkillsNavIcon.js +24 -0
  286. package/lib/components/atoms/icons/SubtaskIcon.js +36 -0
  287. package/lib/components/atoms/icons/TaskLinkIcon.js +27 -0
  288. package/lib/components/atoms/icons/TelescopeIcon.js +60 -0
  289. package/lib/components/atoms/icons/TemplateGradientIcon.js +42 -0
  290. package/lib/components/atoms/icons/TextFile.js +41 -0
  291. package/lib/components/atoms/icons/WavFile.js +39 -0
  292. package/lib/components/atoms/icons/WebmFile.js +50 -0
  293. package/lib/components/atoms/icons/XlsFile.js +42 -0
  294. package/lib/components/atoms/icons/XlsxFile.js +42 -0
  295. package/lib/components/atoms/icons/index.js +54 -0
  296. package/lib/components/atoms/index.js +42 -0
  297. package/lib/components/index.js +11 -0
  298. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.interface.js +2 -0
  299. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +236 -0
  300. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.styles.js +53 -0
  301. package/lib/components/molecules/AbmSection/AbmGeneralSection.js +415 -0
  302. package/lib/components/molecules/AbmSection/AbmGeneralSection.styles.js +152 -0
  303. package/lib/components/molecules/AbmSection/AbmKnowledgeSection.js +374 -0
  304. package/lib/components/molecules/AbmSection/AbmKnowledgeSection.styles.js +106 -0
  305. package/lib/components/molecules/AbmSection/AbmLoaderFiles.js +92 -0
  306. package/lib/components/molecules/AbmSection/AbmLoaderFiles.styles.js +57 -0
  307. package/lib/components/molecules/AbmSection/index.js +4 -0
  308. package/lib/components/molecules/ChatAIClientSelector/ChatAIClientSelector.js +52 -0
  309. package/lib/components/molecules/ChatAIClientSelector/index.js +2 -0
  310. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +119 -0
  311. package/lib/components/molecules/ChatAIContent/ChatAIContent.skeleton.js +187 -0
  312. package/lib/components/molecules/ChatAIContent/ChatAIContent.styles.js +6 -0
  313. package/lib/components/molecules/ChatAIContent/index.js +2 -0
  314. package/lib/components/molecules/ChatAIHistory/ChatAIHistory.js +241 -0
  315. package/lib/components/molecules/ChatAIHistory/index.js +2 -0
  316. package/lib/components/molecules/ChatAIHistory/styles.js +22 -0
  317. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +649 -0
  318. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.js +115 -0
  319. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.styles.js +95 -0
  320. package/lib/components/molecules/ChatAIHome/index.js +2 -0
  321. package/lib/components/molecules/ChatAIHome/styles.js +335 -0
  322. package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.js +137 -0
  323. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +853 -0
  324. package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.js +47 -0
  325. package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.styles.js +37 -0
  326. package/lib/components/molecules/ChatAIMessages/README.md +101 -0
  327. package/lib/components/molecules/ChatAIMessages/index.js +2 -0
  328. package/lib/components/molecules/ChatAIMessages/newStyles.js +131 -0
  329. package/lib/components/molecules/ChatAIMessages/styles.js +94 -0
  330. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +1254 -0
  331. package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +58 -0
  332. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.js +127 -0
  333. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.styles.js +34 -0
  334. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/index.js +2 -0
  335. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +189 -0
  336. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +26 -0
  337. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/index.js +2 -0
  338. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +453 -0
  339. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +108 -0
  340. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/index.js +2 -0
  341. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.js +48 -0
  342. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.styles.js +38 -0
  343. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/index.js +2 -0
  344. package/lib/components/molecules/ChatAIModal/constants.js +40 -0
  345. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.js +16 -0
  346. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.styles.js +12 -0
  347. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/constants.js +13 -0
  348. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/index.js +3 -0
  349. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/useFloatingPanelDragTilt.js +57 -0
  350. package/lib/components/molecules/ChatAIModal/index.js +2 -0
  351. package/lib/components/molecules/ChatAIModal/layout.js +74 -0
  352. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.js +457 -0
  353. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.styles.js +218 -0
  354. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +430 -0
  355. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +169 -0
  356. package/lib/components/molecules/ChatAIMySkills/index.js +2 -0
  357. package/lib/components/molecules/ChatAIProjectSelector/ChatAIProjectSelector.js +48 -0
  358. package/lib/components/molecules/ChatAIProjectSelector/ChatAIProjectSelector.styles.js +49 -0
  359. package/lib/components/molecules/ChatAIProjectSelector/index.js +2 -0
  360. package/lib/components/molecules/ChatFooter/ChatFooter.js +337 -0
  361. package/lib/components/molecules/ChatFooter/ChatFooterCorAccess.js +32 -0
  362. package/lib/components/molecules/ChatFooter/ChatFooterCorAccess.styles.js +14 -0
  363. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +201 -0
  364. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.styles.js +51 -0
  365. package/lib/components/molecules/ChatFooter/index.js +2 -0
  366. package/lib/components/molecules/ChatFooter/styles.js +23 -0
  367. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +60 -0
  368. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.styles.js +6 -0
  369. package/lib/components/molecules/ContextMentionInput/index.js +2 -0
  370. package/lib/components/molecules/MessageFeedback/MessageFeedback.js +118 -0
  371. package/lib/components/molecules/MessageFeedback/index.js +2 -0
  372. package/lib/components/molecules/MessageFeedback/styles.js +14 -0
  373. package/lib/components/molecules/ProjectSummaryChat/ProjectSummaryChat.js +127 -0
  374. package/lib/components/molecules/ProjectSummaryChat/index.js +2 -0
  375. package/lib/components/molecules/ProjectSummaryChat/styles.js +8 -0
  376. package/lib/components/molecules/ProjectSummaryConfig/ProjectSummaryConfig.js +152 -0
  377. package/lib/components/molecules/ProjectSummaryConfig/index.js +2 -0
  378. package/lib/components/molecules/ProjectSummaryConfig/styles.js +86 -0
  379. package/lib/components/molecules/ProjectSummaryContent/ProjectSummaryContent.js +49 -0
  380. package/lib/components/molecules/ProjectSummaryContent/index.js +2 -0
  381. package/lib/components/molecules/ProjectSummaryModal/ProjectSummaryModal.js +19 -0
  382. package/lib/components/molecules/ProjectSummaryModal/index.js +2 -0
  383. package/lib/components/molecules/ProjectSummaryModal/styles.js +2 -0
  384. package/lib/components/molecules/Sidebar/Sidebar.js +716 -0
  385. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +157 -0
  386. package/lib/components/molecules/Sidebar/Sidebar.skeleton.js +48 -0
  387. package/lib/components/molecules/Sidebar/Sidebar.styles.js +75 -0
  388. package/lib/components/molecules/Sidebar/index.js +2 -0
  389. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +1449 -0
  390. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.styles.js +93 -0
  391. package/lib/components/organisms/AbmAgentModal/index.js +2 -0
  392. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +182 -0
  393. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.styles.js +34 -0
  394. package/lib/components/organisms/AbmSkillGenerateModal/index.js +2 -0
  395. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +585 -0
  396. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +154 -0
  397. package/lib/components/organisms/AbmSkillModal/index.js +2 -0
  398. package/lib/components/organisms/ChatAI/ChatAI.js +167 -0
  399. package/lib/components/organisms/ChatAI/index.js +2 -0
  400. package/lib/components/organisms/ChatAI/styles.js +7 -0
  401. package/lib/components/organisms/ClientAIButton/ClientAIButton.js +23 -0
  402. package/lib/components/organisms/ClientAIButton/index.js +2 -0
  403. package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.js +86 -0
  404. package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.styles.js +39 -0
  405. package/lib/components/organisms/DeleteAgentModal/index.js +2 -0
  406. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.js +122 -0
  407. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.styles.js +47 -0
  408. package/lib/components/organisms/DeleteQuestionModal/index.js +2 -0
  409. package/lib/components/organisms/EditQuestionModal/EditQuestionModal.js +138 -0
  410. package/lib/components/organisms/EditQuestionModal/EditQuestionModal.styles.js +69 -0
  411. package/lib/components/organisms/EditQuestionModal/index.js +2 -0
  412. package/lib/components/organisms/ModalFileExceeds/ModalFileExceeds.js +113 -0
  413. package/lib/components/organisms/ModalFileExceeds/ModalFileExceeds.styles.js +54 -0
  414. package/lib/components/organisms/ModalFileExceeds/index.js +2 -0
  415. package/lib/components/organisms/ProjectAIButton/ProjectAIButton.js +26 -0
  416. package/lib/components/organisms/ProjectAIButton/index.js +2 -0
  417. package/lib/components/organisms/ProjectSummary/ProjectSummary.js +60 -0
  418. package/lib/components/organisms/ProjectSummary/index.js +2 -0
  419. package/lib/components/organisms/ProjectSummary/styles.js +7 -0
  420. package/lib/components/organisms/SnackBar/Snackbar.interface.js +2 -0
  421. package/lib/components/organisms/SnackBar/Snackbar.js +73 -0
  422. package/lib/components/organisms/SnackBar/Snackbar.styles.js +9 -0
  423. package/lib/components/organisms/SnackBar/index.js +2 -0
  424. package/lib/components/organisms/SourcesInformation/SourceItem.js +18 -0
  425. package/lib/components/organisms/SourcesInformation/SourceItem.styles.js +14 -0
  426. package/lib/components/organisms/SourcesInformation/SourcesInformationModal.js +66 -0
  427. package/lib/components/organisms/SourcesInformation/SourcesInformationModal.styles.js +27 -0
  428. package/lib/components/organisms/SourcesInformation/index.js +2 -0
  429. package/lib/constants/config.js +10 -0
  430. package/lib/constants/formatExtensions.js +55 -0
  431. package/lib/constants/gqlClient.js +4 -0
  432. package/lib/constants/maiaHourAgentAccess.js +15 -0
  433. package/lib/constants/maiaTaskPanelAccess.js +24 -0
  434. package/lib/constants/maiaTaskPanelOutsideClick.js +9 -0
  435. package/lib/constants/maiaTaskPanelZIndex.js +19 -0
  436. package/lib/constants/permissions/config.js +72 -0
  437. package/lib/constants/permissions/index.js +3 -0
  438. package/lib/constants/permissions/types.js +2 -0
  439. package/lib/constants/permissions/utils.js +18 -0
  440. package/lib/constants/plannerSyncEvents.js +15 -0
  441. package/lib/constants/taskLinkIcon.js +15 -0
  442. package/lib/constants/taskUrls.js +11 -0
  443. package/lib/context/cor-user.js +31 -0
  444. package/lib/context/global-context.js +39 -0
  445. package/lib/dev/DevChatAI.js +101 -0
  446. package/lib/dev/DevContextMentionInput.js +67 -0
  447. package/lib/dev/ProjectSummary.js +9 -0
  448. package/lib/dev/Providers.js +27 -0
  449. package/lib/exports.js +2 -0
  450. package/lib/hooks/README.md +192 -0
  451. package/lib/hooks/index.js +30 -0
  452. package/lib/hooks/useAccessClient/index.js +2 -0
  453. package/lib/hooks/useAccessClient/useAccessClient.js +81 -0
  454. package/lib/hooks/useAgentModel/index.js +2 -0
  455. package/lib/hooks/useAgentModel/useAgentModel.js +62 -0
  456. package/lib/hooks/useAgentModel/useCreateAgent.js +175 -0
  457. package/lib/hooks/useAgentModel/useDeleteAgent.js +88 -0
  458. package/lib/hooks/useAgentModel/useUpdateAgent.js +176 -0
  459. package/lib/hooks/useAgentSuggestions.js +60 -0
  460. package/lib/hooks/useCaretPosition.js +65 -0
  461. package/lib/hooks/useChatManager/index.js +2 -0
  462. package/lib/hooks/useChatManager/useChatManager.interface.js +2 -0
  463. package/lib/hooks/useChatManager/useChatManager.js +1782 -0
  464. package/lib/hooks/useChatMessages/index.js +2 -0
  465. package/lib/hooks/useChatMessages/useChatMessages.interface.js +2 -0
  466. package/lib/hooks/useChatMessages/useChatMessages.js +722 -0
  467. package/lib/hooks/useChats/index.js +2 -0
  468. package/lib/hooks/useChats/useChats.interfaces.js +2 -0
  469. package/lib/hooks/useChats/useChats.js +187 -0
  470. package/lib/hooks/useClientSearch.js +163 -0
  471. package/lib/hooks/useContextMentions.js +500 -0
  472. package/lib/hooks/useContextPinPopover.js +228 -0
  473. package/lib/hooks/useDebounce.js +18 -0
  474. package/lib/hooks/useEntitySearch.js +1053 -0
  475. package/lib/hooks/useEvent.js +94 -0
  476. package/lib/hooks/useFrequentlyAskedQuestions.js +150 -0
  477. package/lib/hooks/useFrequentlyUsedActions.js +94 -0
  478. package/lib/hooks/useKnowledge/deleteKnowledge.js +69 -0
  479. package/lib/hooks/useKnowledge/downloadKnowledge.js +81 -0
  480. package/lib/hooks/useKnowledge/index.js +4 -0
  481. package/lib/hooks/useKnowledge/saveKnowledge.js +107 -0
  482. package/lib/hooks/useKnowledge/useKnowledgeOperations.js +156 -0
  483. package/lib/hooks/useMaiaTaskPanelZIndex.js +17 -0
  484. package/lib/hooks/useMentionAllowedTypes.js +120 -0
  485. package/lib/hooks/useMentionPopover.js +342 -0
  486. package/lib/hooks/useMinimizedPillBottomOffset.js +110 -0
  487. package/lib/hooks/useModal/index.js +2 -0
  488. package/lib/hooks/useModal/useModal.interfaces.js +2 -0
  489. package/lib/hooks/useModal/useModal.js +47 -0
  490. package/lib/hooks/useOnboardingNavigation.js +20 -0
  491. package/lib/hooks/useOrchestratorStream/index.js +2 -0
  492. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +2 -0
  493. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +269 -0
  494. package/lib/hooks/useProjectSearch.js +183 -0
  495. package/lib/hooks/useProjectSummary.js +101 -0
  496. package/lib/hooks/useProjectSummaryConfig.js +211 -0
  497. package/lib/hooks/useProjects.js +46 -0
  498. package/lib/hooks/useRecentClientsSearch.js +150 -0
  499. package/lib/hooks/useRecentContexts.js +86 -0
  500. package/lib/hooks/useResize.js +29 -0
  501. package/lib/hooks/useSkillsCatalog.js +66 -0
  502. package/lib/hooks/useSlashCommands.js +84 -0
  503. package/lib/hooks/useSmoothStreamText/index.js +2 -0
  504. package/lib/hooks/useSmoothStreamText/useSmoothStreamText.js +197 -0
  505. package/lib/hooks/useSnackBarManager/useSnackBarManager.js +41 -0
  506. package/lib/hooks/useStreamResponse.js +112 -0
  507. package/lib/hooks/useStreamdownStyles.js +13 -0
  508. package/lib/hooks/useStreamingMessage/index.js +2 -0
  509. package/lib/hooks/useStreamingMessage/useStreamingMessage.js +18 -0
  510. package/lib/hooks/useT.js +17 -0
  511. package/lib/hooks/useTabTaskDefault.js +33 -0
  512. package/lib/hooks/useTaskPanel.js +22 -0
  513. package/lib/hooks/useTextOverflowEllipsisTooltip.js +34 -0
  514. package/lib/hooks/useToggle.js +19 -0
  515. package/lib/hooks/useToggleFavorite/index.js +2 -0
  516. package/lib/hooks/useToggleFavorite/useToggleFavorite.js +83 -0
  517. package/lib/index.css +76 -0
  518. package/lib/index.js +30 -0
  519. package/lib/lang/br/index.js +793 -0
  520. package/lib/lang/en/index.js +793 -0
  521. package/lib/lang/es/index.js +794 -0
  522. package/lib/lang/fr/index.js +614 -0
  523. package/lib/lang/index.js +24 -0
  524. package/lib/lang/utils.js +33 -0
  525. package/lib/mocks/mockChats.js +395 -0
  526. package/lib/mocks/mockOrchestrator.js +5 -0
  527. package/lib/mocks/mockProject.js +11 -0
  528. package/lib/mocks/mockProjectSummary.js +6 -0
  529. package/lib/mocks/mockedUser.js +169 -0
  530. package/lib/services/apolloClient.js +3 -0
  531. package/lib/services/appcues.js +19 -0
  532. package/lib/services/corpilot/ProjectSummary/getProjectSummary.js +31 -0
  533. package/lib/services/corpilot/ProjectSummary/index.js +5 -0
  534. package/lib/services/corpilot/client.js +27 -0
  535. package/lib/services/corpilot/index.js +5 -0
  536. package/lib/services/maia/Access/updateAccess.js +59 -0
  537. package/lib/services/maia/Actions/getFrequentlyUsedActions.js +46 -0
  538. package/lib/services/maia/Actions/getSlashCommands.js +39 -0
  539. package/lib/services/maia/Actions/index.js +7 -0
  540. package/lib/services/maia/Agents/connectors.js +250 -0
  541. package/lib/services/maia/Agents/createAgent.js +39 -0
  542. package/lib/services/maia/Agents/deleteAgent.js +38 -0
  543. package/lib/services/maia/Agents/fetchAgentDetail.js +122 -0
  544. package/lib/services/maia/Agents/getAgentById.js +162 -0
  545. package/lib/services/maia/Agents/getAgentModels.js +112 -0
  546. package/lib/services/maia/Agents/getAgentSuggestions.js +44 -0
  547. package/lib/services/maia/Agents/getAgents.js +718 -0
  548. package/lib/services/maia/Agents/setAgentToolGroups.js +42 -0
  549. package/lib/services/maia/Agents/toggleFavorite.js +34 -0
  550. package/lib/services/maia/Agents/updateAgent.js +39 -0
  551. package/lib/services/maia/Chats/deleteChat.js +32 -0
  552. package/lib/services/maia/Chats/getChatMessages.js +144 -0
  553. package/lib/services/maia/Chats/getChatsByUserId.js +82 -0
  554. package/lib/services/maia/Chats/index.js +15 -0
  555. package/lib/services/maia/Chats/markSessionAsRead.js +32 -0
  556. package/lib/services/maia/Chats/patchChat.js +43 -0
  557. package/lib/services/maia/Chats/wasHelpfulChat.js +31 -0
  558. package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.js +55 -0
  559. package/lib/services/maia/Faqs/index.js +5 -0
  560. package/lib/services/maia/Knowledge/delete.js +41 -0
  561. package/lib/services/maia/Knowledge/download.js +48 -0
  562. package/lib/services/maia/Knowledge/index.js +3 -0
  563. package/lib/services/maia/Knowledge/save.js +43 -0
  564. package/lib/services/maia/Orchestrator/index.js +7 -0
  565. package/lib/services/maia/Orchestrator/orchestrator.js +246 -0
  566. package/lib/services/maia/RecentClients/getRecentClients.js +43 -0
  567. package/lib/services/maia/RecentClients/index.js +6 -0
  568. package/lib/services/maia/RecentContexts/getRecentContexts.js +54 -0
  569. package/lib/services/maia/RecentContexts/index.js +6 -0
  570. package/lib/services/maia/RecentProjects/getRecentProjects.js +55 -0
  571. package/lib/services/maia/RecentProjects/index.js +6 -0
  572. package/lib/services/maia/RecentTasks/getRecentTasks.js +54 -0
  573. package/lib/services/maia/RecentTasks/index.js +6 -0
  574. package/lib/services/maia/RecentUsers/getRecentUsers.js +59 -0
  575. package/lib/services/maia/RecentUsers/index.js +6 -0
  576. package/lib/services/maia/Skills/createSkill.js +39 -0
  577. package/lib/services/maia/Skills/deleteSkill.js +38 -0
  578. package/lib/services/maia/Skills/generateSkill.js +41 -0
  579. package/lib/services/maia/Skills/getSkills.js +120 -0
  580. package/lib/services/maia/Skills/updateSkill.js +39 -0
  581. package/lib/services/maia/client.js +27 -0
  582. package/lib/services/maia/index.js +17 -0
  583. package/lib/services/query/ClientSearchQuery.js +5 -0
  584. package/lib/services/query/entitySearchQuery.js +18 -0
  585. package/lib/services/query/index.js +2 -0
  586. package/lib/services/query/projectSearchByValueQuery.js +5 -0
  587. package/lib/services/query/taskUserTabQuery.js +8 -0
  588. package/lib/services/query/usersDirectoryQuery.js +19 -0
  589. package/lib/services/types.js +6 -0
  590. package/lib/services/utils/fetchCOR.js +117 -0
  591. package/lib/services/utils/getCookie.js +10 -0
  592. package/lib/services/utils/index.js +3 -0
  593. package/lib/services/utils/mapChatMessages.js +287 -0
  594. package/lib/services/utils/validateIsMaia.js +4 -0
  595. package/lib/store/chatsSidebarOptimistic.js +92 -0
  596. package/lib/store/chatsStore.types.js +2 -0
  597. package/lib/store/chatsStoreLifecycle.js +8 -0
  598. package/lib/store/faqsStore.types.js +2 -0
  599. package/lib/store/index.js +4 -0
  600. package/lib/store/maiaLastChatPersistence.js +35 -0
  601. package/lib/store/sessions/activeView.js +22 -0
  602. package/lib/store/sessions/index.js +9 -0
  603. package/lib/store/sessions/sessionHitlContext.js +15 -0
  604. package/lib/store/sessions/sessionNotificationSound.js +57 -0
  605. package/lib/store/sessions/sessionNotifications.js +110 -0
  606. package/lib/store/sessions/sessionNotifications.types.js +2 -0
  607. package/lib/store/sessions/sessionStreamManager.js +715 -0
  608. package/lib/store/sessions/sessionStreamingText.js +80 -0
  609. package/lib/store/sessions/sessions.types.js +35 -0
  610. package/lib/store/sessions/useSessionMeta.js +39 -0
  611. package/lib/store/sessions/useSessionStreamingText.js +18 -0
  612. package/lib/store/sessions/useSessionsStore.js +197 -0
  613. package/lib/store/useChatsStore.js +387 -0
  614. package/lib/store/useFaqsStore.js +27 -0
  615. package/lib/streamdownStyles.js +9 -0
  616. package/lib/styles/StyledCleanContainer.js +7 -0
  617. package/lib/styles/cascade.js +14 -0
  618. package/lib/styles/config.js +47 -0
  619. package/lib/styles/shared/scrollable.js +3 -0
  620. package/lib/styles/transitions.js +21 -0
  621. package/lib/types/Action.js +2 -0
  622. package/lib/types/AgentSuggestion.js +2 -0
  623. package/lib/types/Chat.js +10 -0
  624. package/lib/types/Client.js +2 -0
  625. package/lib/types/FrequentlyAskedQuestion.js +2 -0
  626. package/lib/types/Project.js +2 -0
  627. package/lib/types/ProjectSummaryConfigKeys.js +9 -0
  628. package/lib/types/Task.js +2 -0
  629. package/lib/types/agent.js +2 -0
  630. package/lib/types/agentModal.js +2 -0
  631. package/lib/types/contextMention.js +37 -0
  632. package/lib/types/global.d.js +2 -0
  633. package/lib/types/skill.js +2 -0
  634. package/lib/types/streamActivity.js +2 -0
  635. package/lib/types/userType.d.js +2 -0
  636. package/lib/utils/actionCategoryMap.js +37 -0
  637. package/lib/utils/actionIconMap.js +61 -0
  638. package/lib/utils/agentDisplayName.js +42 -0
  639. package/lib/utils/chatInputFiles.js +52 -0
  640. package/lib/utils/contextMentionIcons.js +134 -0
  641. package/lib/utils/contextMentionLabel.js +4 -0
  642. package/lib/utils/contextMentionTriggers.js +51 -0
  643. package/lib/utils/contextMentionTypeLabel.js +17 -0
  644. package/lib/utils/corConnectorMentionTypes.js +41 -0
  645. package/lib/utils/ensureStreamdownStyles.js +21 -0
  646. package/lib/utils/entityLinkRender.js +135 -0
  647. package/lib/utils/fileDownloadHelper.js +40 -0
  648. package/lib/utils/formatQuickActionMessage.js +16 -0
  649. package/lib/utils/formatUnreadCount.js +6 -0
  650. package/lib/utils/getUnitFileSize.js +13 -0
  651. package/lib/utils/hitlAnalytics.js +65 -0
  652. package/lib/utils/hoursPlannerQuickActionType.js +64 -0
  653. package/lib/utils/imagePreprocessor.js +108 -0
  654. package/lib/utils/index.js +3 -0
  655. package/lib/utils/maiaHostOpen.js +19 -0
  656. package/lib/utils/maiaStreamdownRehypePlugins.js +27 -0
  657. package/lib/utils/mapBackendLang.js +8 -0
  658. package/lib/utils/normalizeAgentConnectors.js +95 -0
  659. package/lib/utils/openTaskInCorPanel.js +22 -0
  660. package/lib/utils/orchestratorSubagents.js +11 -0
  661. package/lib/utils/renderContextMentions.js +420 -0
  662. package/lib/utils/retryCompletion.js +85 -0
  663. package/lib/utils/slashCommandMarker.js +30 -0
  664. package/lib/utils/sortManagerHoursHomeFuas.js +14 -0
  665. package/lib/utils/sseStreamContent.js +17 -0
  666. package/lib/utils/streamActivityMessages.js +359 -0
  667. package/lib/utils/validateTrimmedFields.js +8 -0
  668. package/package.json +1 -1
  669. package/README.md +0 -2
@@ -0,0 +1,112 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import { useEffect, useRef } from 'react';
4
+ export var useStreamResponse = function useStreamResponse(_ref) {
5
+ var setData = _ref.setData,
6
+ setError = _ref.setError,
7
+ setLoading = _ref.setLoading,
8
+ onFinishStream = _ref.onFinishStream;
9
+ var mounted = useRef(true);
10
+ useEffect(function () {
11
+ mounted.current = true;
12
+ return function () {
13
+ mounted.current = false;
14
+ };
15
+ }, []);
16
+ var handleStream = /*#__PURE__*/function () {
17
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(response) {
18
+ var reader, decoder, _processText, _t;
19
+ return _regeneratorRuntime.wrap(function (_context2) {
20
+ while (1) switch (_context2.prev = _context2.next) {
21
+ case 0:
22
+ if (mounted.current) {
23
+ _context2.next = 1;
24
+ break;
25
+ }
26
+ return _context2.abrupt("return");
27
+ case 1:
28
+ setLoading(true);
29
+ if (response.body) {
30
+ _context2.next = 2;
31
+ break;
32
+ }
33
+ console.error('No response body');
34
+ return _context2.abrupt("return");
35
+ case 2:
36
+ _context2.prev = 2;
37
+ reader = response.body.getReader();
38
+ decoder = new TextDecoder();
39
+ _processText = /*#__PURE__*/function () {
40
+ var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref3) {
41
+ var _splitChunk$at;
42
+ var done, value, chunk, splitChunk, processedValue;
43
+ return _regeneratorRuntime.wrap(function (_context) {
44
+ while (1) switch (_context.prev = _context.next) {
45
+ case 0:
46
+ done = _ref3.done, value = _ref3.value;
47
+ if (!done) {
48
+ _context.next = 1;
49
+ break;
50
+ }
51
+ if (mounted.current) {
52
+ setLoading(false);
53
+ onFinishStream();
54
+ }
55
+ return _context.abrupt("return");
56
+ case 1:
57
+ chunk = decoder.decode(value, {
58
+ stream: true
59
+ });
60
+ if (!(chunk === 'data: ')) {
61
+ _context.next = 2;
62
+ break;
63
+ }
64
+ if (mounted.current) {
65
+ reader.read().then(_processText);
66
+ }
67
+ return _context.abrupt("return");
68
+ case 2:
69
+ splitChunk = chunk.replace('event: end', '').replace('data: [DONE]', '').trim().split('data: ');
70
+ processedValue = ((_splitChunk$at = splitChunk.at(-1)) === null || _splitChunk$at === void 0 ? void 0 : _splitChunk$at.replace(/\\n/g, '\n')) || '';
71
+ if (mounted.current) {
72
+ setData(processedValue);
73
+ reader.read().then(_processText);
74
+ }
75
+ case 3:
76
+ case "end":
77
+ return _context.stop();
78
+ }
79
+ }, _callee);
80
+ }));
81
+ return function processText(_x2) {
82
+ return _ref4.apply(this, arguments);
83
+ };
84
+ }();
85
+ _context2.next = 3;
86
+ return reader.read().then(_processText);
87
+ case 3:
88
+ _context2.next = 5;
89
+ break;
90
+ case 4:
91
+ _context2.prev = 4;
92
+ _t = _context2["catch"](2);
93
+ if (mounted.current) {
94
+ console.error('Error reading stream', _t);
95
+ setError(true);
96
+ setLoading(false);
97
+ }
98
+ case 5:
99
+ case "end":
100
+ return _context2.stop();
101
+ }
102
+ }, _callee2, null, [[2, 4]]);
103
+ }));
104
+ return function handleStream(_x) {
105
+ return _ref2.apply(this, arguments);
106
+ };
107
+ }();
108
+ return {
109
+ handleStream: handleStream
110
+ };
111
+ };
112
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdHJlYW1SZXNwb25zZSIsIl9yZWYiLCJzZXREYXRhIiwic2V0RXJyb3IiLCJzZXRMb2FkaW5nIiwib25GaW5pc2hTdHJlYW0iLCJtb3VudGVkIiwiY3VycmVudCIsImhhbmRsZVN0cmVhbSIsIl9yZWYyIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUyIiwicmVzcG9uc2UiLCJyZWFkZXIiLCJkZWNvZGVyIiwiX3Byb2Nlc3NUZXh0IiwiX3QiLCJ3cmFwIiwiX2NvbnRleHQyIiwicHJldiIsIm5leHQiLCJhYnJ1cHQiLCJib2R5IiwiY29uc29sZSIsImVycm9yIiwiZ2V0UmVhZGVyIiwiVGV4dERlY29kZXIiLCJwcm9jZXNzVGV4dCIsIl9yZWY0IiwiX2NhbGxlZSIsIl9yZWYzIiwiX3NwbGl0Q2h1bmskYXQiLCJkb25lIiwidmFsdWUiLCJjaHVuayIsInNwbGl0Q2h1bmsiLCJwcm9jZXNzZWRWYWx1ZSIsIl9jb250ZXh0IiwiZGVjb2RlIiwic3RyZWFtIiwicmVhZCIsInRoZW4iLCJyZXBsYWNlIiwidHJpbSIsInNwbGl0IiwiYXQiLCJzdG9wIiwiX3gyIiwiYXBwbHkiLCJhcmd1bWVudHMiLCJfeCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VTdHJlYW1SZXNwb25zZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gJ3JlYWN0J1xuXG5leHBvcnQgY29uc3QgdXNlU3RyZWFtUmVzcG9uc2UgPSAoeyBzZXREYXRhLCBzZXRFcnJvciwgc2V0TG9hZGluZywgb25GaW5pc2hTdHJlYW0gfSkgPT4ge1xuICBjb25zdCBtb3VudGVkID0gdXNlUmVmKHRydWUpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBtb3VudGVkLmN1cnJlbnQgPSB0cnVlXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIG1vdW50ZWQuY3VycmVudCA9IGZhbHNlXG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCBoYW5kbGVTdHJlYW0gPSBhc3luYyByZXNwb25zZSA9PiB7XG4gICAgaWYgKCFtb3VudGVkLmN1cnJlbnQpIHJldHVyblxuICAgIHNldExvYWRpbmcodHJ1ZSlcblxuICAgIGlmICghcmVzcG9uc2UuYm9keSkge1xuICAgICAgY29uc29sZS5lcnJvcignTm8gcmVzcG9uc2UgYm9keScpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVhZGVyID0gcmVzcG9uc2UuYm9keS5nZXRSZWFkZXIoKVxuICAgICAgY29uc3QgZGVjb2RlciA9IG5ldyBUZXh0RGVjb2RlcigpXG5cbiAgICAgIGNvbnN0IHByb2Nlc3NUZXh0ID0gYXN5bmMgKHsgZG9uZSwgdmFsdWUgfSkgPT4ge1xuICAgICAgICBpZiAoZG9uZSkge1xuICAgICAgICAgIGlmIChtb3VudGVkLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgICAgICAgICBvbkZpbmlzaFN0cmVhbSgpXG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY2h1bmsgPSBkZWNvZGVyLmRlY29kZSh2YWx1ZSwgeyBzdHJlYW06IHRydWUgfSlcblxuICAgICAgICBpZiAoY2h1bmsgPT09ICdkYXRhOiAnKSB7XG4gICAgICAgICAgaWYgKG1vdW50ZWQuY3VycmVudCkge1xuICAgICAgICAgICAgcmVhZGVyLnJlYWQoKS50aGVuKHByb2Nlc3NUZXh0KVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNwbGl0Q2h1bmsgPSBjaHVuay5yZXBsYWNlKCdldmVudDogZW5kJywgJycpLnJlcGxhY2UoJ2RhdGE6IFtET05FXScsICcnKS50cmltKCkuc3BsaXQoJ2RhdGE6ICcpXG4gICAgICAgIGNvbnN0IHByb2Nlc3NlZFZhbHVlID0gc3BsaXRDaHVuay5hdCgtMSk/LnJlcGxhY2UoL1xcXFxuL2csICdcXG4nKSB8fCAnJ1xuXG4gICAgICAgIGlmIChtb3VudGVkLmN1cnJlbnQpIHtcbiAgICAgICAgICBzZXREYXRhKHByb2Nlc3NlZFZhbHVlKVxuICAgICAgICAgIHJlYWRlci5yZWFkKCkudGhlbihwcm9jZXNzVGV4dClcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBhd2FpdCByZWFkZXIucmVhZCgpLnRoZW4ocHJvY2Vzc1RleHQpXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBpZiAobW91bnRlZC5jdXJyZW50KSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHJlYWRpbmcgc3RyZWFtJywgZXJyKVxuICAgICAgICBzZXRFcnJvcih0cnVlKVxuICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgaGFuZGxlU3RyZWFtLFxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7O0FBQUEsU0FBU0EsU0FBUyxFQUFFQyxNQUFNLFFBQVEsT0FBTztBQUV6QyxPQUFPLElBQU1DLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBaUJBLENBQUFDLElBQUEsRUFBMEQ7RUFBQSxJQUFwREMsT0FBTyxHQUFBRCxJQUFBLENBQVBDLE9BQU87SUFBRUMsUUFBUSxHQUFBRixJQUFBLENBQVJFLFFBQVE7SUFBRUMsVUFBVSxHQUFBSCxJQUFBLENBQVZHLFVBQVU7SUFBRUMsY0FBYyxHQUFBSixJQUFBLENBQWRJLGNBQWM7RUFDL0UsSUFBTUMsT0FBTyxHQUFHUCxNQUFNLENBQUMsSUFBSSxDQUFDO0VBRTVCRCxTQUFTLENBQUMsWUFBTTtJQUNkUSxPQUFPLENBQUNDLE9BQU8sR0FBRyxJQUFJO0lBQ3RCLE9BQU8sWUFBTTtNQUNYRCxPQUFPLENBQUNDLE9BQU8sR0FBRyxLQUFLO0lBQ3pCLENBQUM7RUFDSCxDQUFDLEVBQUUsRUFBRSxD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
@@ -0,0 +1,13 @@
1
+ import { useLayoutEffect } from 'react';
2
+ import { ensureStreamdownStyles } from '../utils/ensureStreamdownStyles';
3
+
4
+ /**
5
+ * @deprecated Usar `<MaiaStreamdown />` o `ensureStreamdownStyles()` directamente.
6
+ * Se mantiene por compatibilidad con consumidores que aún lo importen.
7
+ */
8
+ export var useStreamdownStyles = function useStreamdownStyles() {
9
+ useLayoutEffect(function () {
10
+ ensureStreamdownStyles();
11
+ }, []);
12
+ };
13
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VMYXlvdXRFZmZlY3QiLCJlbnN1cmVTdHJlYW1kb3duU3R5bGVzIiwidXNlU3RyZWFtZG93blN0eWxlcyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VTdHJlYW1kb3duU3R5bGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUxheW91dEVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgZW5zdXJlU3RyZWFtZG93blN0eWxlcyB9IGZyb20gJy4uL3V0aWxzL2Vuc3VyZVN0cmVhbWRvd25TdHlsZXMnXG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNhciBgPE1haWFTdHJlYW1kb3duIC8+YCBvIGBlbnN1cmVTdHJlYW1kb3duU3R5bGVzKClgIGRpcmVjdGFtZW50ZS5cbiAqIFNlIG1hbnRpZW5lIHBvciBjb21wYXRpYmlsaWRhZCBjb24gY29uc3VtaWRvcmVzIHF1ZSBhw7puIGxvIGltcG9ydGVuLlxuICovXG5leHBvcnQgY29uc3QgdXNlU3RyZWFtZG93blN0eWxlcyA9ICgpID0+IHtcbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBlbnN1cmVTdHJlYW1kb3duU3R5bGVzKClcbiAgfSwgW10pXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGVBQWUsUUFBUSxPQUFPO0FBQ3ZDLFNBQVNDLHNCQUFzQixRQUFRLGlDQUFpQzs7QUFFeEU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLElBQU1DLG1CQUFtQixHQUFHLFNBQXRCQSxtQkFBbUJBLENBQUEsRUFBUztFQUN2Q0YsZUFBZSxDQUFDLFlBQU07SUFDcEJDLHNCQUFzQixDQUFDLENBQUM7RUFDMUIsQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUNSLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,2 @@
1
+ export { useStreamingMessage } from './useStreamingMessage';
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdHJlYW1pbmdNZXNzYWdlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3VzZVN0cmVhbWluZ01lc3NhZ2UvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgdXNlU3RyZWFtaW5nTWVzc2FnZSB9IGZyb20gJy4vdXNlU3RyZWFtaW5nTWVzc2FnZSdcbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsbUJBQW1CLFFBQVEsdUJBQXVCIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,18 @@
1
+ import { useCallback, useSyncExternalStore } from 'react';
2
+ import { sessionStreamingText } from '../../store/sessions/sessionStreamingText';
3
+
4
+ /**
5
+ * Devuelve el texto en streaming del mensaje `messageId` (placeholder id),
6
+ * buscándolo entre todas las sesiones activas. El placeholder id es único por
7
+ * stream, así que solo el componente de ese mensaje se re-renderiza cuando su
8
+ * texto cambia; el resto del árbol no se ve afectado.
9
+ */
10
+ export var useStreamingMessage = function useStreamingMessage(messageId) {
11
+ var getSnapshot = useCallback(function () {
12
+ return sessionStreamingText.getTextByPlaceholder(messageId !== null && messageId !== void 0 ? messageId : null);
13
+ }, [messageId]);
14
+ return useSyncExternalStore(sessionStreamingText.subscribe, getSnapshot, function () {
15
+ return '';
16
+ });
17
+ };
18
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZVN5bmNFeHRlcm5hbFN0b3JlIiwic2Vzc2lvblN0cmVhbWluZ1RleHQiLCJ1c2VTdHJlYW1pbmdNZXNzYWdlIiwibWVzc2FnZUlkIiwiZ2V0U25hcHNob3QiLCJnZXRUZXh0QnlQbGFjZWhvbGRlciIsInN1YnNjcmliZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy91c2VTdHJlYW1pbmdNZXNzYWdlL3VzZVN0cmVhbWluZ01lc3NhZ2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZVN5bmNFeHRlcm5hbFN0b3JlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBzZXNzaW9uU3RyZWFtaW5nVGV4dCB9IGZyb20gJy4uLy4uL3N0b3JlL3Nlc3Npb25zL3Nlc3Npb25TdHJlYW1pbmdUZXh0J1xuXG4vKipcbiAqIERldnVlbHZlIGVsIHRleHRvIGVuIHN0cmVhbWluZyBkZWwgbWVuc2FqZSBgbWVzc2FnZUlkYCAocGxhY2Vob2xkZXIgaWQpLFxuICogYnVzY8OhbmRvbG8gZW50cmUgdG9kYXMgbGFzIHNlc2lvbmVzIGFjdGl2YXMuIEVsIHBsYWNlaG9sZGVyIGlkIGVzIMO6bmljbyBwb3JcbiAqIHN0cmVhbSwgYXPDrSBxdWUgc29sbyBlbCBjb21wb25lbnRlIGRlIGVzZSBtZW5zYWplIHNlIHJlLXJlbmRlcml6YSBjdWFuZG8gc3VcbiAqIHRleHRvIGNhbWJpYTsgZWwgcmVzdG8gZGVsIMOhcmJvbCBubyBzZSB2ZSBhZmVjdGFkby5cbiAqL1xuZXhwb3J0IGNvbnN0IHVzZVN0cmVhbWluZ01lc3NhZ2UgPSAobWVzc2FnZUlkOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogc3RyaW5nID0+IHtcbiAgY29uc3QgZ2V0U25hcHNob3QgPSB1c2VDYWxsYmFjaygoKSA9PiBzZXNzaW9uU3RyZWFtaW5nVGV4dC5nZXRUZXh0QnlQbGFjZWhvbGRlcihtZXNzYWdlSWQgPz8gbnVsbCksIFttZXNzYWdlSWRdKVxuICByZXR1cm4gdXNlU3luY0V4dGVybmFsU3RvcmUoc2Vzc2lvblN0cmVhbWluZ1RleHQuc3Vic2NyaWJlLCBnZXRTbmFwc2hvdCwgKCkgPT4gJycpXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFdBQVcsRUFBRUMsb0JBQW9CLFFBQVEsT0FBTztBQUN6RCxTQUFTQyxvQkFBb0IsUUFBUSwyQ0FBMkM7O0FBRWhGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sSUFBTUMsbUJBQW1CLEdBQUcsU0FBdEJBLG1CQUFtQkEsQ0FBSUMsU0FBb0MsRUFBYTtFQUNuRixJQUFNQyxXQUFXLEdBQUdMLFdBQVcsQ0FBQztJQUFBLE9BQU1FLG9CQUFvQixDQUFDSSxvQkFBb0IsQ0FBQ0YsU0FBUyxhQUFUQSxTQUFTLGNBQVRBLFNBQVMsR0FBSSxJQUFJLENBQUM7RUFBQSxHQUFFLENBQUNBLFNBQVMsQ0FBQyxDQUFDO0VBQ2hILE9BQU9ILG9CQUFvQixDQUFDQyxvQkFBb0IsQ0FBQ0ssU0FBUyxFQUFFRixXQUFXLEVBQUU7SUFBQSxPQUFNLEVBQUU7RUFBQSxFQUFDO0FBQ3BGLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,17 @@
1
+ import { useTranslation } from 'react-i18next';
2
+ import { SECTIONS } from '../constants/config';
3
+ export var useT = function useT() {
4
+ var _useTranslation = useTranslation([SECTIONS.chatAI]),
5
+ t = _useTranslation.t,
6
+ i18n = _useTranslation.i18n;
7
+ return {
8
+ t: t,
9
+ i18n: i18n
10
+ };
11
+ };
12
+ export var useTWithSection = function useTWithSection(section) {
13
+ var _useTranslation2 = useTranslation([section]),
14
+ t = _useTranslation2.t;
15
+ return t;
16
+ };
17
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VUcmFuc2xhdGlvbiIsIlNFQ1RJT05TIiwidXNlVCIsIl91c2VUcmFuc2xhdGlvbiIsImNoYXRBSSIsInQiLCJpMThuIiwidXNlVFdpdGhTZWN0aW9uIiwic2VjdGlvbiIsIl91c2VUcmFuc2xhdGlvbjIiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlVC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5cbmltcG9ydCB7IFNFQ1RJT05TIH0gZnJvbSAnLi4vY29uc3RhbnRzL2NvbmZpZydcblxuZXhwb3J0IGNvbnN0IHVzZVQgPSAoKSA9PiB7XG4gIGNvbnN0IHsgdCwgaTE4biB9ID0gdXNlVHJhbnNsYXRpb24oW1NFQ1RJT05TLmNoYXRBSV0pXG5cbiAgcmV0dXJuIHsgdCwgaTE4biB9XG59XG5cbmV4cG9ydCBjb25zdCB1c2VUV2l0aFNlY3Rpb24gPSAoc2VjdGlvbjogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oW3NlY3Rpb25dKVxuXG4gIHJldHVybiB0XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGNBQWMsUUFBUSxlQUFlO0FBRTlDLFNBQVNDLFFBQVEsUUFBUSxxQkFBcUI7QUFFOUMsT0FBTyxJQUFNQyxJQUFJLEdBQUcsU0FBUEEsSUFBSUEsQ0FBQSxFQUFTO0VBQ3hCLElBQUFDLGVBQUEsR0FBb0JILGNBQWMsQ0FBQyxDQUFDQyxRQUFRLENBQUNHLE1BQU0sQ0FBQyxDQUFDO0lBQTdDQyxDQUFDLEdBQUFGLGVBQUEsQ0FBREUsQ0FBQztJQUFFQyxJQUFJLEdBQUFILGVBQUEsQ0FBSkcsSUFBSTtFQUVmLE9BQU87SUFBRUQsQ0FBQyxFQUFEQSxDQUFDO0lBQUVDLElBQUksRUFBSkE7RUFBSyxDQUFDO0FBQ3BCLENBQUM7QUFFRCxPQUFPLElBQU1DLGVBQWUsR0FBRyxTQUFsQkEsZUFBZUEsQ0FBSUMsT0FBZSxFQUFLO0VBQ2xELElBQUFDLGdCQUFBLEdBQWNULGNBQWMsQ0FBQyxDQUFDUSxPQUFPLENBQUMsQ0FBQztJQUEvQkgsQ0FBQyxHQUFBSSxnQkFBQSxDQUFESixDQUFDO0VBRVQsT0FBT0EsQ0FBQztBQUNWLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Hook que usa la query me para obtener tabTaskDefault del usuario actual.
3
+ */
4
+ import { useQuery } from '@apollo/client';
5
+ import { useCallback } from 'react';
6
+ import { ME } from '../services/query/taskUserTabQuery';
7
+
8
+ /** Respuesta de la query me */
9
+
10
+ /** Valor retornado por el hook */
11
+
12
+ export function useTabTaskDefault() {
13
+ var _data$me$tabTaskDefau, _data$me;
14
+ var _useQuery = useQuery(ME),
15
+ data = _useQuery.data,
16
+ loading = _useQuery.loading,
17
+ error = _useQuery.error,
18
+ refetch = _useQuery.refetch;
19
+ var tabTaskDefault = (_data$me$tabTaskDefau = data === null || data === void 0 || (_data$me = data.me) === null || _data$me === void 0 ? void 0 : _data$me.tabTaskDefault) !== null && _data$me$tabTaskDefau !== void 0 ? _data$me$tabTaskDefau : null;
20
+ var getTabTaskDefault = useCallback(
21
+ // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars -- firma por compatibilidad
22
+ function (_taskId) {
23
+ return Promise.resolve(tabTaskDefault);
24
+ }, [tabTaskDefault]);
25
+ return {
26
+ getTabTaskDefault: getTabTaskDefault,
27
+ tabTaskDefault: tabTaskDefault,
28
+ loading: loading,
29
+ error: error,
30
+ refetchTabTaskDefault: refetch
31
+ };
32
+ }
33
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VRdWVyeSIsInVzZUNhbGxiYWNrIiwiTUUiLCJ1c2VUYWJUYXNrRGVmYXVsdCIsIl9kYXRhJG1lJHRhYlRhc2tEZWZhdSIsIl9kYXRhJG1lIiwiX3VzZVF1ZXJ5IiwiZGF0YSIsImxvYWRpbmciLCJlcnJvciIsInJlZmV0Y2giLCJ0YWJUYXNrRGVmYXVsdCIsIm1lIiwiZ2V0VGFiVGFza0RlZmF1bHQiLCJfdGFza0lkIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWZldGNoVGFiVGFza0RlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlVGFiVGFza0RlZmF1bHQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBIb29rIHF1ZSB1c2EgbGEgcXVlcnkgbWUgcGFyYSBvYnRlbmVyIHRhYlRhc2tEZWZhdWx0IGRlbCB1c3VhcmlvIGFjdHVhbC5cbiAqL1xuaW1wb3J0IHsgdXNlUXVlcnkgfSBmcm9tICdAYXBvbGxvL2NsaWVudCdcbmltcG9ydCB7IHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBNRSB9IGZyb20gJy4uL3NlcnZpY2VzL3F1ZXJ5L3Rhc2tVc2VyVGFiUXVlcnknXG5cbi8qKiBSZXNwdWVzdGEgZGUgbGEgcXVlcnkgbWUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWVSZXNwb25zZSB7XG4gIG1lOiB7XG4gICAgdGFiVGFza0RlZmF1bHQ6IHN0cmluZyB8IG51bGxcbiAgfVxufVxuXG4vKiogVmFsb3IgcmV0b3JuYWRvIHBvciBlbCBob29rICovXG5leHBvcnQgaW50ZXJmYWNlIFVzZVRhYlRhc2tEZWZhdWx0UmV0dXJuIHtcbiAgZ2V0VGFiVGFza0RlZmF1bHQ6ICh0YXNrSWQ6IHN0cmluZyB8IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQpID0+IFByb21pc2U8c3RyaW5nIHwgbnVsbD5cbiAgdGFiVGFza0RlZmF1bHQ6IHN0cmluZyB8IG51bGxcbiAgbG9hZGluZzogYm9vbGVhblxuICBlcnJvcjogaW1wb3J0KCdAYXBvbGxvL2NsaWVudCcpLkFwb2xsb0Vycm9yIHwgdW5kZWZpbmVkXG4gIHJlZmV0Y2hUYWJUYXNrRGVmYXVsdDogKCkgPT4gUHJvbWlzZTx1bmtub3duPlxufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlVGFiVGFza0RlZmF1bHQoKTogVXNlVGFiVGFza0RlZmF1bHRSZXR1cm4ge1xuICBjb25zdCB7IGRhdGEsIGxvYWRpbmcsIGVycm9yLCByZWZldGNoIH0gPSB1c2VRdWVyeTxNZVJlc3BvbnNlPihNRSlcblxuICBjb25zdCB0YWJUYXNrRGVmYXVsdDogc3RyaW5nIHwgbnVsbCA9IGRhdGE/Lm1lPy50YWJUYXNrRGVmYXVsdCA/PyBudWxsXG5cbiAgY29uc3QgZ2V0VGFiVGFza0RlZmF1bHQgPSB1c2VDYWxsYmFjayhcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnMsIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycyAtLSBmaXJtYSBwb3IgY29tcGF0aWJpbGlkYWRcbiAgICAoX3Rhc2tJZDogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4gPT4ge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0YWJUYXNrRGVmYXVsdClcbiAgICB9LFxuICAgIFt0YWJUYXNrRGVmYXVsdF1cbiAgKVxuXG4gIHJldHVybiB7XG4gICAgZ2V0VGFiVGFza0RlZmF1bHQsXG4gICAgdGFiVGFza0RlZmF1bHQsXG4gICAgbG9hZGluZyxcbiAgICBlcnJvcixcbiAgICByZWZldGNoVGFiVGFza0RlZmF1bHQ6IHJlZmV0Y2gsXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsUUFBUSxRQUFRLGdCQUFnQjtBQUN6QyxTQUFTQyxXQUFXLFFBQVEsT0FBTztBQUNuQyxTQUFTQyxFQUFFLFFBQVEsb0NBQW9DOztBQUV2RDs7QUFPQTs7QUFTQSxPQUFPLFNBQVNDLGlCQUFpQkEsQ0FBQSxFQUE0QjtFQUFBLElBQUFDLHFCQUFBLEVBQUFDLFFBQUE7RUFDM0QsSUFBQUMsU0FBQSxHQUEwQ04sUUFBUSxDQUFhRSxFQUFFLENBQUM7SUFBMURLLElBQUksR0FBQUQsU0FBQSxDQUFKQyxJQUFJO0lBQUVDLE9BQU8sR0FBQUYsU0FBQSxDQUFQRSxPQUFPO0lBQUVDLEtBQUssR0FBQUgsU0FBQSxDQUFMRyxLQUFLO0lBQUVDLE9BQU8sR0FBQUosU0FBQSxDQUFQSSxPQUFPO0VBRXJDLElBQU1DLGNBQTZCLElBQUFQLHFCQUFBLEdBQUdHLElBQUksYUFBSkEsSUFBSSxnQkFBQUYsUUFBQSxHQUFKRSxJQUFJLENBQUVLLEVBQUUsY0FBQVAsUUFBQSx1QkFBUkEsUUFBQSxDQUFVTSxjQUFjLGNBQUFQLHFCQUFBLGNBQUFBLHFCQUFBLEdBQUksSUFBSTtFQUV0RSxJQUFNUyxpQkFBaUIsR0FBR1osV0FBVztFQUNuQztFQUNBLFVBQUNhLE9BQTJDLEVBQTZCO0lBQ3ZFLE9BQU9DLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDTCxjQUFjLENBQUM7RUFDeEMsQ0FBQyxFQUNELENBQUNBLGNBQWMsQ0FDakIsQ0FBQztFQUVELE9BQU87SUFDTEUsaUJBQWlCLEVBQWpCQSxpQkFBaUI7SUFDakJGLGNBQWMsRUFBZEEsY0FBYztJQUNkSCxPQUFPLEVBQVBBLE9BQU87SUFDUEMsS0FBSyxFQUFMQSxLQUFLO0lBQ0xRLHFCQUFxQixFQUFFUDtFQUN6QixDQUFDO0FBQ0giLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,22 @@
1
+ // import dispatchAmplitude from '@projectcor/cor-commons/lib/utils/dispatchAmplitude'
2
+ // import { useUser } from '../context/cor-user'
3
+ import { openTaskInCorPanel } from '../utils/openTaskInCorPanel';
4
+ var DEFAULT_TAB = 'detail';
5
+ export var useTaskPanel = function useTaskPanel(taskId) {
6
+ var tabSegment = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_TAB;
7
+ // const user = useUser()
8
+ // const { company_id: companyId, id: userId } = user
9
+
10
+ var openPanel = function openPanel() {
11
+ openTaskInCorPanel(taskId, tabSegment);
12
+ };
13
+ var buildOpenTask = function buildOpenTask() {
14
+ return function () {
15
+ return openPanel();
16
+ };
17
+ };
18
+ return {
19
+ buildOpenTask: buildOpenTask
20
+ };
21
+ };
22
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJvcGVuVGFza0luQ29yUGFuZWwiLCJERUZBVUxUX1RBQiIsInVzZVRhc2tQYW5lbCIsInRhc2tJZCIsInRhYlNlZ21lbnQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJvcGVuUGFuZWwiLCJidWlsZE9wZW5UYXNrIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZVRhc2tQYW5lbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBpbXBvcnQgZGlzcGF0Y2hBbXBsaXR1ZGUgZnJvbSAnQHByb2plY3Rjb3IvY29yLWNvbW1vbnMvbGliL3V0aWxzL2Rpc3BhdGNoQW1wbGl0dWRlJ1xuLy8gaW1wb3J0IHsgdXNlVXNlciB9IGZyb20gJy4uL2NvbnRleHQvY29yLXVzZXInXG5pbXBvcnQgeyBvcGVuVGFza0luQ29yUGFuZWwgfSBmcm9tICcuLi91dGlscy9vcGVuVGFza0luQ29yUGFuZWwnXG5cbmNvbnN0IERFRkFVTFRfVEFCID0gJ2RldGFpbCdcblxuZXhwb3J0IGNvbnN0IHVzZVRhc2tQYW5lbCA9ICh0YXNrSWQ6IHN0cmluZyB8IG51bWJlciwgdGFiU2VnbWVudDogc3RyaW5nID0gREVGQVVMVF9UQUIpID0+IHtcbiAgLy8gY29uc3QgdXNlciA9IHVzZVVzZXIoKVxuICAvLyBjb25zdCB7IGNvbXBhbnlfaWQ6IGNvbXBhbnlJZCwgaWQ6IHVzZXJJZCB9ID0gdXNlclxuXG4gIGNvbnN0IG9wZW5QYW5lbCA9ICgpID0+IHtcbiAgICBvcGVuVGFza0luQ29yUGFuZWwodGFza0lkLCB0YWJTZWdtZW50KVxuICB9XG5cbiAgY29uc3QgYnVpbGRPcGVuVGFzayA9ICgpID0+IHtcbiAgICByZXR1cm4gKCkgPT4gb3BlblBhbmVsKClcbiAgfVxuXG4gIHJldHVybiB7IGJ1aWxkT3BlblRhc2sgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0EsU0FBU0Esa0JBQWtCLFFBQVEsNkJBQTZCO0FBRWhFLElBQU1DLFdBQVcsR0FBRyxRQUFRO0FBRTVCLE9BQU8sSUFBTUMsWUFBWSxHQUFHLFNBQWZBLFlBQVlBLENBQUlDLE1BQXVCLEVBQXVDO0VBQUEsSUFBckNDLFVBQWtCLEdBQUFDLFNBQUEsQ0FBQUMsTUFBQSxRQUFBRCxTQUFBLFFBQUFFLFNBQUEsR0FBQUYsU0FBQSxNQUFHSixXQUFXO0VBQ3BGO0VBQ0E7O0VBRUEsSUFBTU8sU0FBUyxHQUFHLFNBQVpBLFNBQVNBLENBQUEsRUFBUztJQUN0QlIsa0JBQWtCLENBQUNHLE1BQU0sRUFBRUMsVUFBVSxDQUFDO0VBQ3hDLENBQUM7RUFFRCxJQUFNSyxhQUFhLEdBQUcsU0FBaEJBLGFBQWFBLENBQUEsRUFBUztJQUMxQixPQUFPO01BQUEsT0FBTUQsU0FBUyxDQUFDLENBQUM7SUFBQTtFQUMxQixDQUFDO0VBRUQsT0FBTztJQUFFQyxhQUFhLEVBQWJBO0VBQWMsQ0FBQztBQUMxQixDQUFDIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,34 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import { useLayoutEffect, useState } from 'react';
3
+
4
+ /**
5
+ * Devuelve true si el nodo referenciado tiene texto truncado (ellipsis horizontal).
6
+ * Útil para mostrar un Tooltip solo cuando el usuario no ve el texto completo.
7
+ */
8
+ export var useTextOverflowEllipsisTooltip = function useTextOverflowEllipsisTooltip(ref, deps) {
9
+ var _useState = useState(false),
10
+ _useState2 = _slicedToArray(_useState, 2),
11
+ overflowing = _useState2[0],
12
+ setOverflowing = _useState2[1];
13
+ useLayoutEffect(function () {
14
+ var el = ref.current;
15
+ if (!el) {
16
+ setOverflowing(false);
17
+ return undefined;
18
+ }
19
+ var measure = function measure() {
20
+ setOverflowing(el.scrollWidth > el.clientWidth);
21
+ };
22
+ measure();
23
+ if (typeof ResizeObserver === 'undefined') {
24
+ return undefined;
25
+ }
26
+ var ro = new ResizeObserver(measure);
27
+ ro.observe(el);
28
+ return function () {
29
+ ro.disconnect();
30
+ };
31
+ }, deps);
32
+ return overflowing;
33
+ };
34
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VMYXlvdXRFZmZlY3QiLCJ1c2VTdGF0ZSIsInVzZVRleHRPdmVyZmxvd0VsbGlwc2lzVG9vbHRpcCIsInJlZiIsImRlcHMiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJvdmVyZmxvd2luZyIsInNldE92ZXJmbG93aW5nIiwiZWwiLCJjdXJyZW50IiwidW5kZWZpbmVkIiwibWVhc3VyZSIsInNjcm9sbFdpZHRoIiwiY2xpZW50V2lkdGgiLCJSZXNpemVPYnNlcnZlciIsInJvIiwib2JzZXJ2ZSIsImRpc2Nvbm5lY3QiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlVGV4dE92ZXJmbG93RWxsaXBzaXNUb29sdGlwLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlZk9iamVjdCwgdXNlTGF5b3V0RWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuXG4vKipcbiAqIERldnVlbHZlIHRydWUgc2kgZWwgbm9kbyByZWZlcmVuY2lhZG8gdGllbmUgdGV4dG8gdHJ1bmNhZG8gKGVsbGlwc2lzIGhvcml6b250YWwpLlxuICogw5p0aWwgcGFyYSBtb3N0cmFyIHVuIFRvb2x0aXAgc29sbyBjdWFuZG8gZWwgdXN1YXJpbyBubyB2ZSBlbCB0ZXh0byBjb21wbGV0by5cbiAqL1xuZXhwb3J0IGNvbnN0IHVzZVRleHRPdmVyZmxvd0VsbGlwc2lzVG9vbHRpcCA9IChcbiAgcmVmOiBSZWZPYmplY3Q8SFRNTEVsZW1lbnQgfCBudWxsPixcbiAgZGVwczogUmVhZG9ubHlBcnJheTx1bmtub3duPlxuKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IFtvdmVyZmxvd2luZywgc2V0T3ZlcmZsb3dpbmddID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBlbCA9IHJlZi5jdXJyZW50XG4gICAgaWYgKCFlbCkge1xuICAgICAgc2V0T3ZlcmZsb3dpbmcoZmFsc2UpXG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgY29uc3QgbWVhc3VyZSA9ICgpOiB2b2lkID0+IHtcbiAgICAgIHNldE92ZXJmbG93aW5nKGVsLnNjcm9sbFdpZHRoID4gZWwuY2xpZW50V2lkdGgpXG4gICAgfVxuXG4gICAgbWVhc3VyZSgpXG5cbiAgICBpZiAodHlwZW9mIFJlc2l6ZU9ic2VydmVyID09PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGNvbnN0IHJvID0gbmV3IFJlc2l6ZU9ic2VydmVyKG1lYXN1cmUpXG4gICAgcm8ub2JzZXJ2ZShlbClcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgcm8uZGlzY29ubmVjdCgpXG4gICAgfVxuICB9LCBkZXBzKVxuXG4gIHJldHVybiBvdmVyZmxvd2luZ1xufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsU0FBb0JBLGVBQWUsRUFBRUMsUUFBUSxRQUFRLE9BQU87O0FBRTVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxJQUFNQyw4QkFBOEIsR0FBRyxTQUFqQ0EsOEJBQThCQSxDQUN6Q0MsR0FBa0MsRUFDbENDLElBQTRCLEVBQ2hCO0VBQ1osSUFBQUMsU0FBQSxHQUFzQ0osUUFBUSxDQUFDLEtBQUssQ0FBQztJQUFBSyxVQUFBLEdBQUFDLGNBQUEsQ0FBQUYsU0FBQTtJQUE5Q0csV0FBVyxHQUFBRixVQUFBO0lBQUVHLGNBQWMsR0FBQUgsVUFBQTtFQUVsQ04sZUFBZSxDQUFDLFlBQU07SUFDcEIsSUFBTVUsRUFBRSxHQUFHUCxHQUFHLENBQUNRLE9BQU87SUFDdEIsSUFBSSxDQUFDRCxFQUFFLEVBQUU7TUFDUEQsY0FBYyxDQUFDLEtBQUssQ0FBQztNQUNyQixPQUFPRyxTQUFTO0lBQ2xCO0lBRUEsSUFBTUMsT0FBTyxHQUFHLFNBQVZBLE9BQU9BLENBQUEsRUFBZTtNQUMxQkosY0FBYyxDQUFDQyxFQUFFLENBQUNJLFdBQVcsR0FBR0osRUFBRSxDQUFDSyxXQUFXLENBQUM7SUFDakQsQ0FBQztJQUVERixPQUFPLENBQUMsQ0FBQztJQUVULElBQUksT0FBT0csY0FBYyxLQUFLLFdBQVcsRUFBRTtNQUN6QyxPQUFPSixTQUFTO0lBQ2xCO0lBRUEsSUFBTUssRUFBRSxHQUFHLElBQUlELGNBQWMsQ0FBQ0gsT0FBTyxDQUFDO0lBQ3RDSSxFQUFFLENBQUNDLE9BQU8sQ0FBQ1IsRUFBRSxDQUFDO0lBQ2QsT0FBTyxZQUFNO01BQ1hPLEVBQUUsQ0FBQ0UsVUFBVSxDQUFDLENBQUM7SUFDakIsQ0FBQztFQUNILENBQUMsRUFBRWYsSUFBSSxDQUFDO0VBRVIsT0FBT0ksV0FBVztBQUNwQixDQUFDIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,19 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import { useState } from 'react';
3
+ export var useToggle = function useToggle() {
4
+ var defaultValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
5
+ var _useState = useState(defaultValue),
6
+ _useState2 = _slicedToArray(_useState, 2),
7
+ visible = _useState2[0],
8
+ setIsVisible = _useState2[1];
9
+ var toggle = function toggle() {
10
+ return setIsVisible(function (prev) {
11
+ return !prev;
12
+ });
13
+ };
14
+ var toggleOff = function toggleOff() {
15
+ return setIsVisible(false);
16
+ };
17
+ return [visible, toggle, toggleOff];
18
+ };
19
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZVRvZ2dsZSIsImRlZmF1bHRWYWx1ZSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsInZpc2libGUiLCJzZXRJc1Zpc2libGUiLCJ0b2dnbGUiLCJwcmV2IiwidG9nZ2xlT2ZmIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZVRvZ2dsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuXG5leHBvcnQgY29uc3QgdXNlVG9nZ2xlID0gKGRlZmF1bHRWYWx1ZSA9IGZhbHNlKTogW2Jvb2xlYW4sICgpID0+IHZvaWQsICgpID0+IHZvaWRdID0+IHtcbiAgY29uc3QgW3Zpc2libGUsIHNldElzVmlzaWJsZV0gPSB1c2VTdGF0ZShkZWZhdWx0VmFsdWUpXG4gIGNvbnN0IHRvZ2dsZSA9ICgpID0+IHNldElzVmlzaWJsZShwcmV2ID0+ICFwcmV2KVxuICBjb25zdCB0b2dnbGVPZmYgPSAoKSA9PiBzZXRJc1Zpc2libGUoZmFsc2UpXG5cbiAgcmV0dXJuIFt2aXNpYmxlLCB0b2dnbGUsIHRvZ2dsZU9mZl1cbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVNBLFFBQVEsUUFBUSxPQUFPO0FBRWhDLE9BQU8sSUFBTUMsU0FBUyxHQUFHLFNBQVpBLFNBQVNBLENBQUEsRUFBZ0U7RUFBQSxJQUE1REMsWUFBWSxHQUFBQyxTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBRSxTQUFBLEdBQUFGLFNBQUEsTUFBRyxLQUFLO0VBQzVDLElBQUFHLFNBQUEsR0FBZ0NOLFFBQVEsQ0FBQ0UsWUFBWSxDQUFDO0lBQUFLLFVBQUEsR0FBQUMsY0FBQSxDQUFBRixTQUFBO0lBQS9DRyxPQUFPLEdBQUFGLFVBQUE7SUFBRUcsWUFBWSxHQUFBSCxVQUFBO0VBQzVCLElBQU1JLE1BQU0sR0FBRyxTQUFUQSxNQUFNQSxDQUFBO0lBQUEsT0FBU0QsWUFBWSxDQUFDLFVBQUFFLElBQUk7TUFBQSxPQUFJLENBQUNBLElBQUk7SUFBQSxFQUFDO0VBQUE7RUFDaEQsSUFBTUMsU0FBUyxHQUFHLFNBQVpBLFNBQVNBLENBQUE7SUFBQSxPQUFTSCxZQUFZLENBQUMsS0FBSyxDQUFDO0VBQUE7RUFFM0MsT0FBTyxDQUFDRCxPQUFPLEVBQUVFLE1BQU0sRUFBRUUsU0FBUyxDQUFDO0FBQ3JDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,2 @@
1
+ export { useToggleFavorite } from './useToggleFavorite';
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VUb2dnbGVGYXZvcml0ZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy91c2VUb2dnbGVGYXZvcml0ZS9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyB1c2VUb2dnbGVGYXZvcml0ZSB9IGZyb20gJy4vdXNlVG9nZ2xlRmF2b3JpdGUnXG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGlCQUFpQixRQUFRLHFCQUFxQiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,83 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
4
+ import { useState, useCallback } from 'react';
5
+ import { useTranslation } from 'react-i18next';
6
+ import { toggleFavoriteAgent } from '../../services/maia/Agents/toggleFavorite';
7
+ import { useSnackBarManager } from '../useSnackBarManager/useSnackBarManager';
8
+ export var useToggleFavorite = function useToggleFavorite() {
9
+ var _useState = useState(false),
10
+ _useState2 = _slicedToArray(_useState, 2),
11
+ isToggling = _useState2[0],
12
+ setIsToggling = _useState2[1];
13
+ var _useState3 = useState(null),
14
+ _useState4 = _slicedToArray(_useState3, 2),
15
+ error = _useState4[0],
16
+ setError = _useState4[1];
17
+ var _useSnackBarManager = useSnackBarManager(),
18
+ handleSnackbarSuccess = _useSnackBarManager.handleSnackbarSuccess,
19
+ handleSnackbarError = _useSnackBarManager.handleSnackbarError;
20
+ var _useTranslation = useTranslation(['chat_ai_section']),
21
+ t = _useTranslation.t;
22
+ var toggleFavorite = useCallback(/*#__PURE__*/function () {
23
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(agentId, onSuccess, onError, currentIsFavorite) {
24
+ var updatedAgent, messageKey, errorMessage, _messageKey, _t;
25
+ return _regeneratorRuntime.wrap(function (_context) {
26
+ while (1) switch (_context.prev = _context.next) {
27
+ case 0:
28
+ if (!isToggling) {
29
+ _context.next = 1;
30
+ break;
31
+ }
32
+ return _context.abrupt("return");
33
+ case 1:
34
+ _context.prev = 1;
35
+ setIsToggling(true);
36
+ setError(null);
37
+ _context.next = 2;
38
+ return toggleFavoriteAgent(agentId);
39
+ case 2:
40
+ updatedAgent = _context.sent;
41
+ if (onSuccess) {
42
+ onSuccess(updatedAgent);
43
+ messageKey = currentIsFavorite ? 'agents.favoriteToggledRemovedSuccess' : 'agents.favoriteToggledAddedSuccess';
44
+ handleSnackbarSuccess(t(messageKey));
45
+ }
46
+ _context.next = 4;
47
+ break;
48
+ case 3:
49
+ _context.prev = 3;
50
+ _t = _context["catch"](1);
51
+ errorMessage = _t instanceof Error ? _t.message : 'Error toggling favorite';
52
+ setError(errorMessage);
53
+ _messageKey = currentIsFavorite ? 'agents.favoriteToggledRemovedError' : 'agents.favoriteToggledError';
54
+ handleSnackbarError(t(_messageKey));
55
+ if (onError) {
56
+ onError(_t instanceof Error ? _t : new Error(errorMessage));
57
+ }
58
+ throw _t;
59
+ case 4:
60
+ _context.prev = 4;
61
+ setIsToggling(false);
62
+ return _context.finish(4);
63
+ case 5:
64
+ case "end":
65
+ return _context.stop();
66
+ }
67
+ }, _callee, null, [[1, 3, 4, 5]]);
68
+ }));
69
+ return function (_x, _x2, _x3, _x4) {
70
+ return _ref.apply(this, arguments);
71
+ };
72
+ }(), [isToggling, handleSnackbarSuccess, handleSnackbarError, t]);
73
+ var resetError = useCallback(function () {
74
+ setError(null);
75
+ }, []);
76
+ return {
77
+ toggleFavorite: toggleFavorite,
78
+ isToggling: isToggling,
79
+ error: error,
80
+ resetError: resetError
81
+ };
82
+ };
83
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlVHJhbnNsYXRpb24iLCJ0b2dnbGVGYXZvcml0ZUFnZW50IiwidXNlU25hY2tCYXJNYW5hZ2VyIiwidXNlVG9nZ2xlRmF2b3JpdGUiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpc1RvZ2dsaW5nIiwic2V0SXNUb2dnbGluZyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiZXJyb3IiLCJzZXRFcnJvciIsIl91c2VTbmFja0Jhck1hbmFnZXIiLCJoYW5kbGVTbmFja2JhclN1Y2Nlc3MiLCJoYW5kbGVTbmFja2JhckVycm9yIiwiX3VzZVRyYW5zbGF0aW9uIiwidCIsInRvZ2dsZUZhdm9yaXRlIiwiX3JlZiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwiYWdlbnRJZCIsIm9uU3VjY2VzcyIsIm9uRXJyb3IiLCJjdXJyZW50SXNGYXZvcml0ZSIsInVwZGF0ZWRBZ2VudCIsIm1lc3NhZ2VLZXkiLCJlcnJvck1lc3NhZ2UiLCJfbWVzc2FnZUtleSIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJhYnJ1cHQiLCJzZW50IiwiRXJyb3IiLCJtZXNzYWdlIiwiZmluaXNoIiwic3RvcCIsIl94IiwiX3gyIiwiX3gzIiwiX3g0IiwiYXBwbHkiLCJhcmd1bWVudHMiLCJyZXNldEVycm9yIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3VzZVRvZ2dsZUZhdm9yaXRlL3VzZVRvZ2dsZUZhdm9yaXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVN0YXRlLCB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgdG9nZ2xlRmF2b3JpdGVBZ2VudCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21haWEvQWdlbnRzL3RvZ2dsZUZhdm9yaXRlJ1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tICcuLi8uLi90eXBlcy9hZ2VudCdcbmltcG9ydCB7IHVzZVNuYWNrQmFyTWFuYWdlciB9IGZyb20gJy4uL3VzZVNuYWNrQmFyTWFuYWdlci91c2VTbmFja0Jhck1hbmFnZXInXG5cbmV4cG9ydCBjb25zdCB1c2VUb2dnbGVGYXZvcml0ZSA9ICgpID0+IHtcbiAgY29uc3QgW2lzVG9nZ2xpbmcsIHNldElzVG9nZ2xpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgeyBoYW5kbGVTbmFja2JhclN1Y2Nlc3MsIGhhbmRsZVNuYWNrYmFyRXJyb3IgfSA9IHVzZVNuYWNrQmFyTWFuYWdlcigpXG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oWydjaGF0X2FpX3NlY3Rpb24nXSlcbiAgY29uc3QgdG9nZ2xlRmF2b3JpdGUgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAoXG4gICAgICBhZ2VudElkOiBzdHJpbmcsXG4gICAgICBvblN1Y2Nlc3M/OiAodXBkYXRlZEFnZW50OiBBZ2VudCkgPT4gdm9pZCxcbiAgICAgIG9uRXJyb3I/OiAoZXJyb3I6IEVycm9yKSA9PiB2b2lkLFxuICAgICAgY3VycmVudElzRmF2b3JpdGU/OiBib29sZWFuXG4gICAgKSA9PiB7XG4gICAgICBpZiAoaXNUb2dnbGluZykgcmV0dXJuXG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHNldElzVG9nZ2xpbmcodHJ1ZSlcbiAgICAgICAgc2V0RXJyb3IobnVsbClcblxuICAgICAgICBjb25zdCB1cGRhdGVkQWdlbnQgPSBhd2FpdCB0b2dnbGVGYXZvcml0ZUFnZW50KGFnZW50SWQpXG5cbiAgICAgICAgaWYgKG9uU3VjY2Vzcykge1xuICAgICAgICAgIG9uU3VjY2Vzcyh1cGRhdGVkQWdlbnQpXG4gICAgICAgICAgY29uc3QgbWVzc2FnZUtleSA9IGN1cnJlbnRJc0Zhdm9yaXRlXG4gICAgICAgICAgICA/ICdhZ2VudHMuZmF2b3JpdGVUb2dnbGVkUmVtb3ZlZFN1Y2Nlc3MnXG4gICAgICAgICAgICA6ICdhZ2VudHMuZmF2b3JpdGVUb2dnbGVkQWRkZWRTdWNjZXNzJ1xuICAgICAgICAgIGhhbmRsZVNuYWNrYmFyU3VjY2Vzcyh0KG1lc3NhZ2VLZXkpKVxuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6ICdFcnJvciB0b2dnbGluZyBmYXZvcml0ZSdcbiAgICAgICAgc2V0RXJyb3IoZXJyb3JNZXNzYWdlKVxuICAgICAgICBjb25zdCBtZXNzYWdlS2V5ID0gY3VycmVudElzRmF2b3JpdGUgPyAnYWdlbnRzLmZhdm9yaXRlVG9nZ2xlZFJlbW92ZWRFcnJvcicgOiAnYWdlbnRzLmZhdm9yaXRlVG9nZ2xlZEVycm9yJ1xuICAgICAgICBoYW5kbGVTbmFja2JhckVycm9yKHQobWVzc2FnZUtleSkpXG5cbiAgICAgICAgaWYgKG9uRXJyb3IpIHtcbiAgICAgICAgICBvbkVycm9yKGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyIDogbmV3IEVycm9yKGVycm9yTWVzc2FnZSkpXG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIHNldElzVG9nZ2xpbmcoZmFsc2UpXG4gICAgICB9XG4gICAgfSxcbiAgICBbaXNUb2dnbGluZywgaGFuZGxlU25hY2tiYXJTdWNjZXNzLCBoYW5kbGVTbmFja2JhckVycm9yLCB0XVxuICApXG5cbiAgY29uc3QgcmVzZXRFcnJvciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRFcnJvcihudWxsKVxuICB9LCBbXSlcblxuICByZXR1cm4ge1xuICAgIHRvZ2dsZUZhdm9yaXRlLFxuICAgIGlzVG9nZ2xp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
package/lib/index.css ADDED
@@ -0,0 +1,76 @@
1
+ @tailwind base;
2
+ @tailwind components;
3
+ @tailwind utilities;
4
+
5
+ /* Streamdown: estilos inyectados por MaiaStreamdown / ensureStreamdownStyles (ver streamdownStyles.ts) */
6
+
7
+ @layer base {
8
+ /* Prevent Tailwind from resetting link styles */
9
+ a {
10
+ color: revert;
11
+ text-decoration: revert;
12
+ }
13
+
14
+ :root {
15
+ --background: 0 0% 100%;
16
+ --foreground: 222.2 84% 4.9%;
17
+ --card: 0 0% 100%;
18
+ --card-foreground: 222.2 84% 4.9%;
19
+ --popover: 0 0% 100%;
20
+ --popover-foreground: 222.2 84% 4.9%;
21
+ --primary: 222.2 47.4% 11.2%;
22
+ --primary-foreground: 210 40% 98%;
23
+ --secondary: 210 40% 96.1%;
24
+ --secondary-foreground: 222.2 47.4% 11.2%;
25
+ --muted: 210 40% 96.1%;
26
+ --muted-foreground: 215.4 16.3% 46.9%;
27
+ --accent: 210 40% 96.1%;
28
+ --accent-foreground: 222.2 47.4% 11.2%;
29
+ --destructive: 0 84.2% 60.2%;
30
+ --destructive-foreground: 210 40% 98%;
31
+ --border: 214.3 31.8% 91.4%;
32
+ --input: 214.3 31.8% 91.4%;
33
+ --ring: 222.2 84% 4.9%;
34
+ --radius: 0.5rem;
35
+ }
36
+
37
+ .dark {
38
+ --background: 222.2 84% 4.9%;
39
+ --foreground: 210 40% 98%;
40
+ --card: 222.2 84% 4.9%;
41
+ --card-foreground: 210 40% 98%;
42
+ --popover: 222.2 84% 4.9%;
43
+ --popover-foreground: 210 40% 98%;
44
+ --primary: 210 40% 98%;
45
+ --primary-foreground: 222.2 47.4% 11.2%;
46
+ --secondary: 217.2 32.6% 17.5%;
47
+ --secondary-foreground: 210 40% 98%;
48
+ --muted: 217.2 32.6% 17.5%;
49
+ --muted-foreground: 215 20.2% 65.1%;
50
+ --accent: 217.2 32.6% 17.5%;
51
+ --accent-foreground: 210 40% 98%;
52
+ --destructive: 0 62.8% 30.6%;
53
+ --destructive-foreground: 210 40% 98%;
54
+ --border: 217.2 32.6% 17.5%;
55
+ --input: 217.2 32.6% 17.5%;
56
+ --ring: 212.7 26.8% 83.9%;
57
+ }
58
+ }
59
+
60
+ body {
61
+ font-family:
62
+ 'Work-Sans',
63
+ -apple-system,
64
+ BlinkMacSystemFont,
65
+ 'Segoe UI',
66
+ 'Roboto',
67
+ 'Oxygen',
68
+ 'Ubuntu',
69
+ 'Cantarell',
70
+ 'Fira Sans',
71
+ 'Droid Sans',
72
+ 'Helvetica Neue',
73
+ sans-serif;
74
+ -webkit-font-smoothing: antialiased;
75
+ -moz-osx-font-smoothing: grayscale;
76
+ }
package/lib/index.js ADDED
@@ -0,0 +1,30 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import { StrictMode } from 'react';
3
+ import { createRoot } from 'react-dom/client';
4
+ import App from './App';
5
+ import './index.css';
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ var isChunkLoadError = function isChunkLoadError(msg) {
8
+ return msg.includes('ChunkLoadError') || msg.includes('Loading chunk');
9
+ };
10
+ window.addEventListener('error', function (e) {
11
+ var _ref, _message, _e$error;
12
+ var msg = String((_ref = (_message = (_e$error = e.error) === null || _e$error === void 0 ? void 0 : _e$error.message) !== null && _message !== void 0 ? _message : e.message) !== null && _ref !== void 0 ? _ref : '');
13
+ if (isChunkLoadError(msg)) {
14
+ e.preventDefault();
15
+ window.location.reload();
16
+ }
17
+ });
18
+ window.addEventListener('unhandledrejection', function (e) {
19
+ var _e$reason;
20
+ var msg = String(((_e$reason = e.reason) === null || _e$reason === void 0 ? void 0 : _e$reason.message) || e.reason);
21
+ if (isChunkLoadError(msg)) {
22
+ e.preventDefault();
23
+ window.location.reload();
24
+ }
25
+ });
26
+ var root = createRoot(document.getElementById('root'));
27
+ root.render(/*#__PURE__*/_jsx(StrictMode, {
28
+ children: /*#__PURE__*/_jsx(App, {})
29
+ }));
30
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTdHJpY3RNb2RlIiwiY3JlYXRlUm9vdCIsIkFwcCIsImpzeCIsIl9qc3giLCJpc0NodW5rTG9hZEVycm9yIiwibXNnIiwiaW5jbHVkZXMiLCJ3aW5kb3ciLCJhZGRFdmVudExpc3RlbmVyIiwiZSIsIl9yZWYiLCJfbWVzc2FnZSIsIl9lJGVycm9yIiwiU3RyaW5nIiwiZXJyb3IiLCJtZXNzYWdlIiwicHJldmVudERlZmF1bHQiLCJsb2NhdGlvbiIsInJlbG9hZCIsIl9lJHJlYXNvbiIsInJlYXNvbiIsInJvb3QiLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwicmVuZGVyIiwiY2hpbGRyZW4iXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IFN0cmljdE1vZGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGNyZWF0ZVJvb3QgfSBmcm9tICdyZWFjdC1kb20vY2xpZW50J1xuaW1wb3J0IEFwcCBmcm9tICcuL0FwcCdcbmltcG9ydCAnLi9pbmRleC5jc3MnXG5cbmNvbnN0IGlzQ2h1bmtMb2FkRXJyb3IgPSAobXNnOiBzdHJpbmcpID0+IG1zZy5pbmNsdWRlcygnQ2h1bmtMb2FkRXJyb3InKSB8fCBtc2cuaW5jbHVkZXMoJ0xvYWRpbmcgY2h1bmsnKVxuXG53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCAoZTogRXJyb3JFdmVudCkgPT4ge1xuICBjb25zdCBtc2cgPSBTdHJpbmcoKGUuZXJyb3IgYXMgYW55KT8ubWVzc2FnZSA/PyBlLm1lc3NhZ2UgPz8gJycpXG4gIGlmIChpc0NodW5rTG9hZEVycm9yKG1zZykpIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKClcbiAgfVxufSlcblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3VuaGFuZGxlZHJlamVjdGlvbicsIChlOiBQcm9taXNlUmVqZWN0aW9uRXZlbnQpID0+IHtcbiAgY29uc3QgbXNnID0gU3RyaW5nKChlLnJlYXNvbiBhcyBhbnkpPy5tZXNzYWdlIHx8IGUucmVhc29uKVxuICBpZiAoaXNDaHVua0xvYWRFcnJvcihtc2cpKSB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpXG4gIH1cbn0pXG5cbmNvbnN0IHJvb3QgPSBjcmVhdGVSb290KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyb290JykhKVxuXG5yb290LnJlbmRlcihcbiAgPFN0cmljdE1vZGU+XG4gICAgPEFwcCAvPlxuICA8L1N0cmljdE1vZGU+XG4pXG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EsU0FBU0EsVUFBVSxRQUFRLE9BQU87QUFDbEMsU0FBU0MsVUFBVSxRQUFRLGtCQUFrQjtBQUM3QyxPQUFPQyxHQUFHLE1BQU0sT0FBTztBQUN2QixPQUFPLGFBQWE7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFFcEIsSUFBTUMsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFnQkEsQ0FBSUMsR0FBVztFQUFBLE9BQUtBLEdBQUcsQ0FBQ0MsUUFBUSxDQUFDLGdCQUFnQixDQUFDLElBQUlELEdBQUcsQ0FBQ0MsUUFBUSxDQUFDLGVBQWUsQ0FBQztBQUFBO0FBRXpHQyxNQUFNLENBQUNDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxVQUFDQyxDQUFhLEVBQUs7RUFBQSxJQUFBQyxJQUFBLEVBQUFDLFFBQUEsRUFBQUMsUUFBQTtFQUNsRCxJQUFNUCxHQUFHLEdBQUdRLE1BQU0sRUFBQUgsSUFBQSxJQUFBQyxRQUFBLElBQUFDLFFBQUEsR0FBRUgsQ0FBQyxDQUFDSyxLQUFLLGNBQUFGLFFBQUEsdUJBQVJBLFFBQUEsQ0FBa0JHLE9BQU8sY0FBQUosUUFBQSxjQUFBQSxRQUFBLEdBQUlGLENBQUMsQ0FBQ00sT0FBTyxjQUFBTCxJQUFBLGNBQUFBLElBQUEsR0FBSSxFQUFFLENBQUM7RUFDaEUsSUFBSU4sZ0JBQWdCLENBQUNDLEdBQUcsQ0FBQyxFQUFFO0lBQ3pCSSxDQUFDLENBQUNPLGNBQWMsQ0FBQyxDQUFDO0lBQ2xCVCxNQUFNLENBQUNVLFFBQVEsQ0FBQ0MsTUFBTSxDQUFDLENBQUM7RUFDMUI7QUFDRixDQUFDLENBQUM7QUFFRlgsTUFBTSxDQUFDQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsRUFBRSxVQUFDQyxDQUF3QixFQUFLO0VBQUEsSUFBQVUsU0FBQTtFQUMxRSxJQUFNZCxHQUFHLEdBQUdRLE1BQU0sQ0FBQyxFQUFBTSxTQUFBLEdBQUNWLENBQUMsQ0FBQ1csTUFBTSxjQUFBRCxTQUFBLHVCQUFUQSxTQUFBLENBQW1CSixPQUFPLEtBQUlOLENBQUMsQ0FBQ1csTUFBTSxDQUFDO0VBQzFELElBQUloQixnQkFBZ0IsQ0FBQ0MsR0FBRyxDQUFDLEVBQUU7SUFDekJJLENBQUMsQ0FBQ08sY0FBYyxDQUFDLENBQUM7SUFDbEJULE1BQU0sQ0FBQ1UsUUFBUSxDQUFDQyxNQUFNLENBQUMsQ0FBQztFQUMxQjtBQUNGLENBQUMsQ0FBQztBQUVGLElBQU1HLElBQUksR0FBR3JCLFVBQVUsQ0FBQ3NCLFFBQVEsQ0FBQ0MsY0FBYyxDQUFDLE1BQU0sQ0FBRSxDQUFDO0FBRXpERixJQUFJLENBQUNHLE1BQU0sY0FDVHJCLElBQUEsQ0FBQ0osVUFBVTtFQUFBMEIsUUFBQSxlQUNUdEIsSUFBQSxDQUFDRixHQUFHLElBQUU7QUFBQyxDQUNHLENBQ2QsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==