@ynput/ayon-frontend-shared 0.2.39 → 0.2.41

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 (436) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +24 -22
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/api.cjs.js +1 -1
  5. package/dist/api.es.js +256 -248
  6. package/dist/api.es.js.map +1 -1
  7. package/dist/index.cjs.js +1 -1
  8. package/dist/index.es.js +11 -9
  9. package/dist/index.es.js.map +1 -1
  10. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
  11. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
  12. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +16 -16
  13. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
  14. package/dist/shared/src/api/queries/config/getConfig.cjs.js +2 -0
  15. package/dist/shared/src/api/queries/config/getConfig.cjs.js.map +1 -0
  16. package/dist/shared/src/api/queries/config/getConfig.es.js +111 -0
  17. package/dist/shared/src/api/queries/config/getConfig.es.js.map +1 -0
  18. package/dist/shared/src/api/queries/config/updateConfig.cjs.js +2 -0
  19. package/dist/shared/src/api/queries/config/updateConfig.cjs.js.map +1 -0
  20. package/dist/shared/src/api/queries/config/updateConfig.es.js +13 -0
  21. package/dist/shared/src/api/queries/config/updateConfig.es.js.map +1 -0
  22. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  23. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  24. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +5 -3
  25. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  26. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +1 -1
  27. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  28. package/dist/shared/src/api/queries/entities/updateEntity.es.js +5 -3
  29. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  30. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
  31. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
  32. package/dist/shared/src/api/queries/links/getEntityLinks.es.js +106 -86
  33. package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
  34. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  35. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  36. package/dist/shared/src/api/queries/overview/updateOverview.es.js +68 -66
  37. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  38. package/dist/shared/src/api/queries/users/getUsers.cjs.js +2 -2
  39. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  40. package/dist/shared/src/api/queries/users/getUsers.es.js +34 -32
  41. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  42. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.cjs.js +8 -7
  43. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.cjs.js.map +1 -1
  44. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.es.js +24 -20
  45. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.es.js.map +1 -1
  46. package/dist/shared/src/components/Chips/Chips.cjs.js +10 -6
  47. package/dist/shared/src/components/Chips/Chips.cjs.js.map +1 -1
  48. package/dist/shared/src/components/Chips/Chips.es.js +44 -38
  49. package/dist/shared/src/components/Chips/Chips.es.js.map +1 -1
  50. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  51. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  52. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +4 -2
  53. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  54. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  55. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  56. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +4 -2
  57. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  58. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  59. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  60. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +4 -2
  61. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  62. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  63. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  64. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +4 -2
  65. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  66. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  67. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  68. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +4 -2
  69. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  70. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  71. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  72. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +4 -2
  73. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  74. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  75. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  76. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +6 -4
  77. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  78. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  79. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  80. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +4 -2
  81. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  82. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  83. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  84. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +28 -25
  85. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  86. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
  87. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
  88. package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js +5 -0
  89. package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js.map +1 -1
  90. package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js +5 -0
  91. package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js.map +1 -1
  92. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  93. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  94. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +4 -2
  95. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  96. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  97. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  98. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +4 -2
  99. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  100. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  101. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  102. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +4 -2
  103. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  104. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  105. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  106. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +6 -4
  107. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  108. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  109. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  110. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +4 -2
  111. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  112. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  113. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  114. package/dist/shared/src/components/RenameForm/RenameForm.es.js +4 -2
  115. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  116. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  117. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  118. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +4 -2
  119. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  120. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  121. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  122. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +4 -2
  123. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  124. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  125. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  126. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +5 -3
  127. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  128. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  129. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  130. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +4 -2
  131. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  132. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  133. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  134. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +4 -2
  135. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  136. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  137. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  138. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +8 -6
  139. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  140. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  141. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  142. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +4 -2
  143. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  144. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  145. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  146. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +4 -2
  147. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  148. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  149. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  150. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +6 -4
  151. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  152. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  153. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  154. package/dist/shared/src/components/Watchers/Watchers.es.js +4 -2
  155. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  156. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  157. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  158. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +4 -2
  159. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  160. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  161. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  162. package/dist/shared/src/containers/Actions/Actions.es.js +4 -2
  163. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  164. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  165. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  166. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +4 -2
  167. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  168. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  169. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  170. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +4 -2
  171. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  172. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  173. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  174. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +4 -2
  175. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  176. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  177. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  178. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +5 -3
  179. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  180. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  181. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  182. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +4 -2
  183. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  184. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  185. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  186. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +4 -2
  187. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  188. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
  189. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
  190. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +4 -2
  191. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
  192. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  193. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  194. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +4 -2
  195. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  196. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  197. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  198. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +4 -2
  199. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  200. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  201. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  202. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +4 -2
  203. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  204. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  205. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  206. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +4 -2
  207. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  208. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  209. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  210. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +4 -2
  211. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  212. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  213. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  214. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +4 -2
  215. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  216. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  217. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  218. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +4 -2
  219. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  220. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  221. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  222. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +4 -2
  223. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  224. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  225. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  226. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +4 -2
  227. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  228. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  229. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  230. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +4 -2
  231. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  232. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  233. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  234. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +7 -5
  235. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  236. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  237. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  238. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +4 -2
  239. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  240. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  241. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  242. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +4 -2
  243. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  244. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  245. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  246. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +4 -2
  247. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  248. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  249. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  250. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +4 -2
  251. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  252. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  253. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  254. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +4 -2
  255. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  256. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  257. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  258. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +4 -2
  259. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  260. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  261. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  262. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +6 -4
  263. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  264. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  265. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  266. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +4 -2
  267. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  268. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  269. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  270. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +7 -5
  271. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  272. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  273. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  274. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +4 -2
  275. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  276. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  277. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  278. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +4 -2
  279. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  280. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  281. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  282. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +4 -2
  283. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  284. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  285. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  286. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +4 -2
  287. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  288. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  289. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  290. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +30 -28
  291. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  292. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  293. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  294. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +4 -2
  295. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  296. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  297. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  298. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +4 -2
  299. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  300. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  301. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  302. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +4 -2
  303. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  304. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  305. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  306. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +4 -2
  307. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  308. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  309. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  310. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +4 -2
  311. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  312. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  313. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  314. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +4 -2
  315. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  316. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  317. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  318. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +15 -13
  319. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  320. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.cjs.js +1 -1
  321. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.cjs.js.map +1 -1
  322. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.es.js +34 -21
  323. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.es.js.map +1 -1
  324. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  325. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  326. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +31 -28
  327. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  328. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  329. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  330. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +4 -2
  331. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  332. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  333. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  334. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +4 -2
  335. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  336. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  337. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  338. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +4 -2
  339. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  340. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  341. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  342. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +4 -2
  343. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  344. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  345. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  346. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +6 -4
  347. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  348. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  349. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  350. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +4 -2
  351. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  352. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
  353. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  354. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +4 -2
  355. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  356. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  357. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  358. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +4 -2
  359. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  360. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  361. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  362. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +4 -2
  363. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  364. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  365. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  366. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +4 -2
  367. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  368. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  369. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  370. package/dist/shared/src/context/AddonProjectContext.es.js +6 -4
  371. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  372. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  373. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  374. package/dist/shared/src/context/DetailsPanelContext.es.js +6 -4
  375. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  376. package/dist/shared/src/context/GlobalContext.cjs.js +1 -1
  377. package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -1
  378. package/dist/shared/src/context/GlobalContext.es.js +6 -4
  379. package/dist/shared/src/context/GlobalContext.es.js.map +1 -1
  380. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  381. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  382. package/dist/shared/src/context/PowerpackContext.es.js +8 -6
  383. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  384. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  385. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  386. package/dist/shared/src/context/ProjectContext.es.js +44 -38
  387. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  388. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  389. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  390. package/dist/shared/src/context/ProjectFoldersContext.es.js +6 -4
  391. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  392. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  393. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  394. package/dist/shared/src/context/RemoteModulesContext.es.js +6 -4
  395. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  396. package/dist/shared/src/context/UriContext.cjs.js +1 -1
  397. package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
  398. package/dist/shared/src/context/UriContext.es.js +7 -5
  399. package/dist/shared/src/context/UriContext.es.js.map +1 -1
  400. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  401. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  402. package/dist/shared/src/context/WebsocketContext.es.js +6 -4
  403. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  404. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  405. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  406. package/dist/shared/src/hooks/useActionTriggers.es.js +4 -2
  407. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  408. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  409. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  410. package/dist/shared/src/hooks/useEntityUpdate.es.js +4 -2
  411. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  412. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
  413. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
  414. package/dist/shared/src/hooks/useGetEntityGroups.es.js +4 -2
  415. package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
  416. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  417. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  418. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +4 -2
  419. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  420. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  421. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  422. package/dist/shared/src/hooks/useScopedStatuses.es.js +6 -4
  423. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  424. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  425. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  426. package/dist/shared/src/hooks/useUserProjectConfig.es.js +4 -2
  427. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  428. package/dist/types/api/queries/config/getConfig.d.ts +747 -0
  429. package/dist/types/api/queries/config/index.d.ts +2 -0
  430. package/dist/types/api/queries/config/updateConfig.d.ts +171 -0
  431. package/dist/types/api/queries/index.d.ts +1 -0
  432. package/dist/types/api/queries/links/getEntityLinks.d.ts +2 -1
  433. package/dist/types/components/AddonLoadingScreen/AddonLoadingScreen.d.ts +7 -2
  434. package/dist/types/components/Chips/Chips.d.ts +1 -0
  435. package/dist/types/components/LinksManager/LinksManager.d.ts +1 -0
  436. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CommentInput.es.js","sources":["../../../../../../../src/containers/Feed/components/CommentInput/CommentInput.tsx"],"sourcesContent":["// React and related hooks\nimport React, { FC, useEffect, useMemo, useRef, useState } from 'react'\n\n// Third-party libraries\nimport clsx from 'clsx'\nimport { toast } from 'react-toastify'\nimport ReactQuill, { Quill } from 'react-quill-ayon'\n\n// Components\nimport { Button, Icon, SaveButton } from '@ynput/ayon-react-components'\nimport CommentMentionSelect from '../CommentMentionSelect/CommentMentionSelect'\nimport InputMarkdownConvert from './InputMarkdownConvert'\nimport FilesGrid from '../FilesGrid'\n\n// Styled components\nimport * as Styled from './CommentInput.styled'\nimport { QuillListStyles } from '../../../../components/QuillListStyles'\n\n// Helpers and utilities\nimport getMentionOptions from '../../mentionHelpers/getMentionOptions'\nimport getMentionUsers from '../../mentionHelpers/getMentionUsers'\nimport getMentionTasks from '../../mentionHelpers/getMentionTasks'\nimport getMentionVersions from '../../mentionHelpers/getMentionVersions'\nimport { convertToMarkdown } from './quillToMarkdown'\nimport { handleFileDrop, parseImages, typeWithDelay } from './helpers'\nimport { getModules, quillFormats } from './modules'\n\n// Hooks\nimport useInitialValue from './hooks/useInitialValue'\nimport useSetCursorEnd from './hooks/useSetCursorEnd'\nimport useMentionLink from './hooks/useMentionLink'\nimport useAnnotationsSync from './hooks/useAnnotationsSync'\nimport { useBlendedCategoryColor } from './hooks/useBlendedCategoryColor'\n\n// State management\nimport useAnnotationsUpload from './hooks/useAnnotationsUpload'\nimport { useFeedContext } from '../../context/FeedContext'\nimport { ActivityCategorySelect, isCategoryHidden, SavedAnnotationMetadata } from '../../index'\nimport { useDetailsPanelContext } from '@shared/context'\nimport { useProjectContext } from '@shared/context'\n\nvar Delta = Quill.import('delta')\n\nconst mentionTypes = ['@', '@@', '@@@']\nexport const mentionTypeOptions = {\n '@@@': {\n id: 'task',\n },\n '@@': {\n id: 'version',\n },\n '@': {\n id: 'user',\n isCircle: true,\n },\n}\n\ninterface CommentInputProps {\n initValue: string | null\n initFiles?: any[]\n initCategory?: string | null\n onSubmit: (markdown: string, files: any[], data?: any) => Promise<void>\n isEditing?: boolean\n disabled?: boolean\n isLoading?: boolean\n isOpen: boolean\n onOpen?: () => void\n onClose?: () => void\n}\n\nconst CommentInput: FC<CommentInputProps> = ({\n initValue,\n initFiles = [],\n initCategory = null,\n onSubmit,\n isEditing,\n disabled,\n isLoading,\n isOpen,\n onOpen,\n onClose,\n}) => {\n const {\n projectName,\n entities,\n projectInfo,\n scope,\n currentTab,\n mentionSuggestionsData,\n categories,\n isGuest,\n } = useFeedContext()\n\n const { hasLicense, onPowerFeature, user } = useDetailsPanelContext()\n const isUser = !user?.data?.isAdmin && !user?.data?.isManager\n\n const project = useProjectContext()\n\n const {\n users: mentionUsers,\n versions: mentionVersions,\n tasks: mentionTasks,\n } = mentionSuggestionsData || {}\n\n const [initHeight, setInitHeight] = useState(88)\n const [editorValue, setEditorValue] = useState('')\n // file uploads\n const [files, setFiles] = useState(initFiles)\n const [filesUploading, setFilesUploading] = useState([])\n const [isDropping, setIsDropping] = useState(false)\n const [isSubmitting, setIsSubmitting] = useState(false)\n\n const { annotations, removeAnnotation, goToAnnotation } = useAnnotationsSync({\n entityId: entities[0]?.id,\n filesUploading,\n })\n\n // MENTION STATES\n const [mention, setMention] = useState<null | any>(null)\n const [mentionSelectedIndex, setMentionSelectedIndex] = useState(0)\n // CATEGORY STATE\n const [category, setCategory] = useState<null | string>(initCategory)\n const categoryOptions = categories.filter((cat) => cat.accessLevel >= 20)\n const categoryData = categories.find((cat) => cat.name === category)\n // Compute blended background color for category\n const blendedCategoryColor = useBlendedCategoryColor(categoryData?.color)\n // REFS\n const editorRef = useRef<any>(null)\n const editorContainerRef = useRef<HTMLDivElement>(null)\n\n const markdownRef = useRef<HTMLDivElement>(null)\n\n // if there is an initial value, set it so the editor is prefilled\n useInitialValue({\n markdownRef,\n initValue,\n setEditorValue,\n setInitHeight,\n isOpen: isOpen,\n filter: currentTab,\n })\n\n // When editing, set selection to the end of the editor\n useSetCursorEnd({ initHeight, editorRef, isEditing })\n // create a new quill format for mentions and registers it\n useMentionLink({ projectName })\n\n // focus on editor when opened\n useEffect(() => {\n if (isOpen) {\n editorRef.current?.getEditor()?.enable()\n // block autofocus if opened from an annotation\n if (annotations.length > 0 && files.length === 0) {\n return\n }\n\n editorRef.current?.focus()\n }\n // We don't set annotations or files as useEffect dependencies, because we don't want to focus\n // the input if it's already open but annotations change (e.g. are removed).\n }, [isOpen, editorRef])\n\n mentionTypes.sort((a, b) => b.length - a.length)\n\n const mentionOptions = useMemo(\n () =>\n getMentionOptions(\n mention?.type,\n {\n '@': () => getMentionUsers(mentionUsers),\n '@@': () => getMentionVersions(mentionVersions, project),\n '@@@': () => getMentionTasks(mentionTasks, projectInfo.taskTypes),\n },\n mention?.search,\n ),\n [mentionTasks, mentionVersions, mentionUsers, mention?.type, mention?.search],\n )\n\n // show first 5 and filter itself out\n const shownMentionOptions = mentionOptions.slice(0, 5)\n\n // triggered when a mention is selected\n const [newSelection, setNewSelection] = useState<null | number>()\n\n useEffect(() => {\n if (newSelection) {\n setNewSelection(null)\n // now we set selection to the end of the mention\n const quill = editorRef.current.getEditor()\n quill.setSelection(newSelection)\n }\n }, [newSelection])\n\n const handleSelectMention = (selectedOption: any) => {\n // get option text\n const quill = editorRef.current.getEditor()\n\n const typePrefix = mention.type // the type of mention: @, @@, @@@\n const search = typePrefix + (mention.search || '') // the full search string: @Tim\n const mentionLabel = typePrefix + selectedOption.label // the label of the mention: @Tim Bailey\n // @ts-expect-error\n const type = mentionTypeOptions[typePrefix] // the type of mention: user, version, task\n const href = `${type?.id}:${selectedOption.id}` // the href of the mention: user:user.123\n\n // get selection delta\n const selection = quill.getSelection(true)\n const selectionIndex = selection?.index || 0\n const startIndex = selectionIndex - search.length // the start index of the search\n\n // first delete the search string\n quill.deleteText(startIndex, search.length)\n\n // insert embed link\n quill.insertText(startIndex, mentionLabel, 'mention', href)\n\n const endIndex = startIndex + mentionLabel.length\n\n // insert a space after the mention\n quill.updateContents(new Delta().retain(endIndex).insert(' '))\n\n // remove single \\n after mention\n quill.updateContents(new Delta().retain(endIndex + 1).delete(1))\n\n // set selection to the end of the mention + 1\n setNewSelection(endIndex + 1)\n\n // reset mention state\n setMention(null)\n setMentionSelectedIndex(0)\n }\n\n const handleSelectChange = (option: any) => {\n handleSelectMention(option)\n }\n\n const handleChange = (content: string, delta: any, _: any, editor: any) => {\n let currentCharacter =\n (delta.ops[0] && delta.ops[0].insert) || (delta.ops[1] && delta.ops[1].insert)\n\n const tabOrEnter = currentCharacter === '\\n' || currentCharacter === '\\t'\n // find the first option\n const selectedOption = mentionOptions[mentionSelectedIndex]\n\n if (mention && tabOrEnter && selectedOption && !isGuest) {\n // get option text\n const retain = (delta.ops[0] && delta.ops[0].retain) || 0\n // prevent default\n\n // @ts-ignore\n handleSelectMention(selectedOption, retain)\n\n return\n }\n\n setEditorValue(content)\n\n const isDelete = delta.ops.length === 2 && !!delta.ops[1].delete\n\n if (!currentCharacter && isDelete) {\n currentCharacter = editor.getText(delta.ops[0].retain - 1, 1)\n }\n\n const isMention = mentionTypes.includes(currentCharacter)\n\n if (isMention) {\n const mentionIndex = delta.ops.findIndex((op: any) => 'insert' in op || 'delete' in op)\n const mention = currentCharacter\n let retain = mentionIndex === 0 ? 0 : delta.ops[mentionIndex - 1].retain\n if (isDelete) retain = retain - 1\n\n // for each mention denotation char, check if it is a mention\n // sort by length of mention denotation char\n let mentionMatch = null\n\n // loop through each mention denotation char, with longest first. First one to match is the one we want\n for (const chars of mentionTypes) {\n let isMatch = true\n // start with the last character\n if (chars.endsWith(mention)) {\n // loop through the chars backwards\n for (let i = chars.length - 1; i >= 0; i--) {\n // skip first character as that's already been checked\n if (i === 0) continue\n const char = chars[i - 1]\n const indexInDelta = retain - (chars.length - i)\n const valueCharAtIndex = editor.getText(indexInDelta, 1)\n if (valueCharAtIndex !== char) {\n isMatch = false\n break\n }\n }\n } else {\n isMatch = false\n }\n\n if (isMatch) {\n // console.log('match!!!', chars)\n mentionMatch = chars\n break\n }\n }\n\n if (mentionMatch) {\n setMention({\n type: mentionMatch,\n retain: retain,\n })\n } else {\n setMention(null)\n setMentionSelectedIndex(0)\n }\n } else {\n // get full string between mention and new delta\n // This is where SEARCH is handled\n if (mention) {\n const retain = delta.ops[0].retain\n // if space is pressed, remove mention\n if (currentCharacter === ' ' || !retain) {\n setMention(null)\n setMentionSelectedIndex(0)\n return\n }\n\n let distanceMentionToRetain = retain - mention.retain\n if (!isDelete) distanceMentionToRetain++\n const mentionFull = editor.getText(mention.retain, distanceMentionToRetain)\n const mentionSearch = mentionFull.replace(mention.type.slice(-1), '')\n // check for space in mentionFull\n if (mentionFull.includes(' ')) {\n setMention(null)\n setMentionSelectedIndex(0)\n } else {\n setMention({\n ...mention,\n search: mentionSearch?.toLowerCase(),\n })\n }\n } else {\n // just deleting any text\n const quill = editorRef.current.getEditor()\n const currentSelection = quill.getSelection(false)\n const currentFormat = quill.getFormat(currentSelection?.index, currentSelection?.length)\n if (currentFormat.mention) {\n // if format is mention, delete the whole mention\n const [lineBlock] = quill.getLine(currentSelection.index - 1) || []\n const ops = lineBlock?.cache?.delta?.ops || []\n // get last op with attributes mention: true\n const lastMentionOp = ops.reverse().find((op: any) => op.attributes?.mention)\n if (lastMentionOp) {\n const mentionLength = lastMentionOp.insert.length\n quill.deleteText(currentSelection.index - mentionLength, mentionLength)\n }\n }\n }\n }\n }\n\n const addTextToEditor = (type: string) => {\n // get editor retain\n const quill = editorRef.current.getEditor()\n\n let retain = quill.getSelection(true)?.index || 0\n\n // get character at retain\n const currentCharacter = quill.getText(retain - 1, 1)\n\n // if the current character is a character, increment retain\n const addSpace = currentCharacter !== ' ' && currentCharacter\n if (addSpace) {\n quill.insertText(retain, ' ')\n retain++\n }\n\n // This is hack AF, but it works\n typeWithDelay(quill, retain, type)\n }\n\n const handleMentionButton = (type: string) => {\n // first check if mention is already open\n if (mention) {\n const { type, retain, search = '' } = mention\n\n const quill = editorRef.current.getEditor()\n const length = type.length + search.length\n const start = retain - type.length + 1\n // delete the mention\n quill.deleteText(start, length)\n }\n\n addTextToEditor(type)\n }\n\n const handleOpenClick = () => {\n if (isOpen || disabled) return\n\n onOpen && onOpen()\n }\n\n const handleClose = () => {\n // get editor value\n const editor = editorRef.current.getEditor()\n const text = editor.getText()\n if (text.length < 2 || isEditing) {\n setEditorValue('')\n }\n\n // always close editor\n onClose && onClose()\n }\n\n const handleFileUploaded = ({ file, data }: any) => {\n const newFile = {\n id: data.id,\n name: file.name,\n mime: file.type,\n size: file.size,\n order: files.length,\n }\n\n setFiles((prev) => [...prev, newFile])\n // remove from uploading\n setFilesUploading((prev) => prev.filter((uploading: any) => uploading.name !== file.name))\n\n return newFile\n }\n\n const handleFileRemove = (id: string, name: string, isUnsavedAnnotation: boolean) => {\n if (isUnsavedAnnotation) {\n // remove from annotations (if it's an unsaved annotation)\n removeAnnotation?.(id)\n } else {\n // remove file from files\n setFiles((prev) => prev.filter((file) => file.id !== id))\n // remove from uploading\n setFilesUploading((prev) => {\n return prev.filter((file: any) => file.name !== name)\n })\n }\n }\n\n const handleFileProgress = (e: any, file: any) => {\n const progress = Math.round((e.loaded * 100) / e.total)\n if (progress !== 100) {\n const uploadProgress = {\n name: file.name,\n progress,\n type: file.type,\n order: files.length + filesUploading.length,\n }\n\n // @ts-ignore\n setFilesUploading((prev) => {\n // replace or add new progress\n const newProgress = prev.filter((name: any) => name.name !== file.name)\n return [...newProgress, uploadProgress]\n })\n }\n }\n\n // when a file is not dropped onto the comment input\n const handleDrop = (e: React.DragEvent<HTMLDivElement>) => {\n setIsDropping(false)\n // upload file\n handleFileDrop(e, projectName, handleFileProgress, handleFileUploaded)\n }\n\n const handleDragOver = (e: React.DragEvent<HTMLDivElement>) => {\n e.preventDefault()\n e.stopPropagation()\n setIsDropping(true)\n }\n\n const uploadAnnotations = useAnnotationsUpload({\n projectName,\n onSuccess: handleFileUploaded,\n })\n\n const handleSubmit = async () => {\n try {\n setIsSubmitting(true)\n // upload any annotations first\n let annotationFiles = []\n let annotationMetadata: SavedAnnotationMetadata[] = []\n\n if (annotations.length) {\n const { files, metadata } = await uploadAnnotations(annotations)\n annotationFiles = files\n annotationMetadata = metadata\n }\n\n // convert to markdown\n const [markdown] = convertToMarkdown(editorValue)\n\n // remove img query params\n const markdownParsed = parseImages(markdown)\n\n const uploadedFiles = [...files, ...annotationFiles]\n\n if ((markdownParsed || uploadedFiles.length) && onSubmit) {\n try {\n await onSubmit(markdownParsed, uploadedFiles, {\n annotations: annotationMetadata,\n category: isGuest ? null : category, // guests cannot set category (it is done by default on backend)\n })\n // only clear if onSubmit is successful\n setEditorValue('')\n setFiles([])\n } catch (error) {\n // error is handled in rtk query mutation\n return\n }\n }\n } catch (error) {\n console.error(error)\n toast.error('Something went wrong')\n } finally {\n setIsSubmitting(false)\n }\n }\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (mention) {\n // close mention on escape\n if (e.key === 'Escape') {\n setMention(null)\n setMentionSelectedIndex(0)\n return\n }\n\n // add top search of mention\n if (mention && e.key === 'Tab') {\n // we handle this in the onChange\n }\n\n const arrowDirection = e.key === 'ArrowUp' ? -1 : e.key === 'ArrowDown' ? 1 : 0\n\n if (arrowDirection) {\n // navigate through mentions\n e.preventDefault()\n let newIndex = mentionSelectedIndex + arrowDirection\n if (newIndex < 0) newIndex = shownMentionOptions.length - 1\n if (newIndex >= shownMentionOptions.length) newIndex = 0\n setMentionSelectedIndex(newIndex)\n }\n\n if (e.key === 'Enter') {\n // we handle this in the onChange\n }\n }\n\n if (e.key === 'Enter' && (e.ctrlKey || e.metaKey)) {\n handleSubmit()\n }\n\n if (e.key === 'Escape') {\n handleClose()\n }\n }\n\n let quillMinHeight: number | undefined = isOpen ? initHeight + 41 : 44\n if (isEditing) quillMinHeight = undefined\n\n // QUILL CONFIG\n const modules = useMemo(\n () =>\n getModules({\n imageUploader: {\n projectName,\n onUpload: handleFileUploaded,\n onUploadProgress: handleFileProgress,\n },\n }),\n [projectName, setFiles, setFilesUploading],\n )\n\n const allFiles = [...annotations, ...(files || []), ...filesUploading].sort(\n (a, b) => a.order - b.order,\n )\n const compactGrid = allFiles.length > 3\n\n // disable version mentions for folders\n let mentionsError = null\n if (entities.length && entities[0].entityType === 'folder') {\n if (mention?.type === '@@') {\n mentionsError = 'Version mentions are disabled for folders'\n }\n }\n\n const getCommentPlaceholder = (isOpen?: boolean) => {\n if (disabled) {\n if (isGuest) return 'You do not have permission to comment.'\n return 'Commenting is disabled across multiple projects.'\n }\n\n if (isGuest || !isOpen) return 'Leave a comment'\n\n return 'Comment or mention with @user, @@version, @@@task...'\n }\n\n return (\n <>\n <Styled.AutoHeight\n className={clsx('comment-container', { isOpen, isEditing })}\n onDragOver={handleDragOver}\n onDragLeave={() => setIsDropping(false)}\n onDrop={handleDrop}\n onClick={() => setIsDropping(false)}\n onKeyDown={(e) => e.stopPropagation()}\n >\n <Styled.Comment\n className={clsx('block-shortcuts', {\n isOpen,\n isClosed: !isOpen || disabled,\n isEditing,\n isDropping,\n disabled,\n isLoading,\n isSubmitting,\n category: !!category && !isGuest,\n })}\n onKeyDown={handleKeyDown}\n onClick={handleOpenClick}\n $categoryPrimary={categoryData?.color}\n $categoryTertiary={blendedCategoryColor.primary}\n $categorySecondary={blendedCategoryColor.secondary}\n >\n <Styled.Markdown ref={markdownRef}>\n {/* this is purely used to translate the markdown into html for Editor */}\n <InputMarkdownConvert typeOptions={mentionTypeOptions} initValue={initValue} />\n </Styled.Markdown>\n\n {/* file uploads */}\n {isOpen && (\n <FilesGrid\n files={allFiles}\n isCompact={compactGrid || isEditing}\n onRemove={handleFileRemove}\n projectName={projectName}\n onAnnotationClick={goToAnnotation}\n style={{\n borderBottom: '1px solid var(--md-sys-color-outline-variant)',\n height: '100%',\n }}\n isEditing\n pt={{\n file: {\n style: {\n height: isEditing ? 70 : undefined,\n },\n },\n }}\n />\n )}\n {isOpen && !disabled ? (\n <QuillListStyles ref={editorContainerRef}>\n {!isGuest && (\n <ActivityCategorySelect\n value={category}\n categories={categoryOptions}\n onChange={(c) => setCategory(c)}\n isCompact={isEditing}\n hasPowerpack={hasLicense}\n onPowerFeature={onPowerFeature}\n isHidden={isCategoryHidden(categoryOptions, { isGuest, isUser })}\n style={{\n position: isEditing ? 'relative' : 'absolute',\n left: 4,\n top: isEditing ? 0 : 4,\n }}\n />\n )}\n\n <ReactQuill\n theme=\"snow\"\n style={{ minHeight: quillMinHeight, maxHeight: 300 }}\n ref={editorRef}\n value={editorValue}\n onChange={handleChange}\n readOnly={!isOpen}\n placeholder={getCommentPlaceholder(true)}\n modules={modules}\n formats={quillFormats}\n />\n </QuillListStyles>\n ) : (\n <Styled.Placeholder>{getCommentPlaceholder()}</Styled.Placeholder>\n )}\n\n <Styled.Footer>\n {!isGuest && (\n <Styled.Buttons>\n {/* mention a user */}\n <Button\n icon=\"person\"\n variant=\"text\"\n onClick={() => handleMentionButton('@')}\n data-tooltip={'Mention user'}\n data-shortcut={'@'}\n />\n {/* mention a version */}\n <Button\n icon=\"layers\"\n variant=\"text\"\n onClick={() => handleMentionButton('@@')}\n data-tooltip={'Mention version'}\n data-shortcut={'@@'}\n />\n {/* mention a task */}\n <Button\n icon=\"check_circle\"\n variant=\"text\"\n onClick={() => handleMentionButton('@@@')}\n data-tooltip={'Mention task'}\n data-shortcut={'@@@'}\n />\n </Styled.Buttons>\n )}\n <Styled.Buttons style={{ marginLeft: 'auto' }}>\n {isEditing && (\n <Button variant=\"text\" onClick={handleClose}>\n Cancel\n </Button>\n )}\n <SaveButton\n label={isEditing ? 'Save' : 'Comment'}\n className=\"comment\"\n active={!!editorValue || !!files.length}\n onClick={handleSubmit}\n disabled={isLoading}\n />\n </Styled.Buttons>\n </Styled.Footer>\n\n <Styled.Dropzone className={clsx({ show: isDropping && isOpen })}>\n <Icon icon=\"cloud_upload\" />\n </Styled.Dropzone>\n </Styled.Comment>\n <CommentMentionSelect\n mention={mention}\n options={shownMentionOptions}\n onChange={handleSelectChange}\n types={mentionTypes}\n // @ts-ignore\n config={mentionTypeOptions[mention?.type]}\n noneFound={!shownMentionOptions.length && mention?.search}\n noneFoundAtAll={!shownMentionOptions.length && !mention?.search}\n selectedIndex={mentionSelectedIndex}\n // @ts-ignore\n error={mentionsError}\n isGuest={isGuest}\n />\n </Styled.AutoHeight>\n </>\n )\n}\n\nexport default CommentInput\n"],"names":["Delta","Quill","mentionTypes","mentionTypeOptions","CommentInput","initValue","initFiles","initCategory","onSubmit","isEditing","disabled","isLoading","isOpen","onOpen","onClose","projectName","entities","projectInfo","scope","currentTab","mentionSuggestionsData","categories","isGuest","useFeedContext","hasLicense","onPowerFeature","user","useDetailsPanelContext","isUser","_a","_b","project","useProjectContext","mentionUsers","mentionVersions","mentionTasks","initHeight","setInitHeight","useState","editorValue","setEditorValue","files","setFiles","filesUploading","setFilesUploading","isDropping","setIsDropping","isSubmitting","setIsSubmitting","annotations","removeAnnotation","goToAnnotation","useAnnotationsSync","_c","mention","setMention","mentionSelectedIndex","setMentionSelectedIndex","category","setCategory","categoryOptions","cat","categoryData","blendedCategoryColor","useBlendedCategoryColor","editorRef","useRef","editorContainerRef","markdownRef","useInitialValue","useSetCursorEnd","useMentionLink","useEffect","a","b","mentionOptions","useMemo","getMentionOptions","getMentionUsers","getMentionVersions","getMentionTasks","shownMentionOptions","newSelection","setNewSelection","handleSelectMention","selectedOption","quill","typePrefix","search","mentionLabel","type","href","selection","startIndex","endIndex","handleSelectChange","option","handleChange","content","delta","_","editor","currentCharacter","tabOrEnter","isDelete","mentionIndex","op","retain","mentionMatch","chars","isMatch","i","char","indexInDelta","distanceMentionToRetain","mentionFull","mentionSearch","currentSelection","lineBlock","lastMentionOp","mentionLength","addTextToEditor","typeWithDelay","handleMentionButton","length","start","handleOpenClick","handleClose","handleFileUploaded","file","data","newFile","prev","uploading","handleFileRemove","id","name","isUnsavedAnnotation","handleFileProgress","e","progress","uploadProgress","handleDrop","handleFileDrop","handleDragOver","uploadAnnotations","useAnnotationsUpload","handleSubmit","annotationFiles","annotationMetadata","metadata","markdown","convertToMarkdown","markdownParsed","parseImages","uploadedFiles","error","toast","handleKeyDown","arrowDirection","newIndex","quillMinHeight","modules","getModules","allFiles","compactGrid","mentionsError","getCommentPlaceholder","jsx","Fragment","jsxs","Styled.AutoHeight","clsx","Styled.Comment","Styled.Markdown","InputMarkdownConvert","FilesGrid","QuillListStyles","ActivityCategorySelect","c","isCategoryHidden","ReactQuill","quillFormats","Styled.Placeholder","Styled.Footer","Styled.Buttons","Button","SaveButton","Styled.Dropzone","Icon","CommentMentionSelect"],"mappings":"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"}
1
+ {"version":3,"file":"CommentInput.es.js","sources":["../../../../../../../src/containers/Feed/components/CommentInput/CommentInput.tsx"],"sourcesContent":["// React and related hooks\nimport React, { FC, useEffect, useMemo, useRef, useState } from 'react'\n\n// Third-party libraries\nimport clsx from 'clsx'\nimport { toast } from 'react-toastify'\nimport ReactQuill, { Quill } from 'react-quill-ayon'\n\n// Components\nimport { Button, Icon, SaveButton } from '@ynput/ayon-react-components'\nimport CommentMentionSelect from '../CommentMentionSelect/CommentMentionSelect'\nimport InputMarkdownConvert from './InputMarkdownConvert'\nimport FilesGrid from '../FilesGrid'\n\n// Styled components\nimport * as Styled from './CommentInput.styled'\nimport { QuillListStyles } from '../../../../components/QuillListStyles'\n\n// Helpers and utilities\nimport getMentionOptions from '../../mentionHelpers/getMentionOptions'\nimport getMentionUsers from '../../mentionHelpers/getMentionUsers'\nimport getMentionTasks from '../../mentionHelpers/getMentionTasks'\nimport getMentionVersions from '../../mentionHelpers/getMentionVersions'\nimport { convertToMarkdown } from './quillToMarkdown'\nimport { handleFileDrop, parseImages, typeWithDelay } from './helpers'\nimport { getModules, quillFormats } from './modules'\n\n// Hooks\nimport useInitialValue from './hooks/useInitialValue'\nimport useSetCursorEnd from './hooks/useSetCursorEnd'\nimport useMentionLink from './hooks/useMentionLink'\nimport useAnnotationsSync from './hooks/useAnnotationsSync'\nimport { useBlendedCategoryColor } from './hooks/useBlendedCategoryColor'\n\n// State management\nimport useAnnotationsUpload from './hooks/useAnnotationsUpload'\nimport { useFeedContext } from '../../context/FeedContext'\nimport { ActivityCategorySelect, isCategoryHidden, SavedAnnotationMetadata } from '../../index'\nimport { useDetailsPanelContext } from '@shared/context'\nimport { useProjectContext } from '@shared/context'\n\nvar Delta = Quill.import('delta')\n\nconst mentionTypes = ['@', '@@', '@@@']\nexport const mentionTypeOptions = {\n '@@@': {\n id: 'task',\n },\n '@@': {\n id: 'version',\n },\n '@': {\n id: 'user',\n isCircle: true,\n },\n}\n\ninterface CommentInputProps {\n initValue: string | null\n initFiles?: any[]\n initCategory?: string | null\n onSubmit: (markdown: string, files: any[], data?: any) => Promise<void>\n isEditing?: boolean\n disabled?: boolean\n isLoading?: boolean\n isOpen: boolean\n onOpen?: () => void\n onClose?: () => void\n}\n\nconst CommentInput: FC<CommentInputProps> = ({\n initValue,\n initFiles = [],\n initCategory = null,\n onSubmit,\n isEditing,\n disabled,\n isLoading,\n isOpen,\n onOpen,\n onClose,\n}) => {\n const {\n projectName,\n entities,\n projectInfo,\n scope,\n currentTab,\n mentionSuggestionsData,\n categories,\n isGuest,\n } = useFeedContext()\n\n const { hasLicense, onPowerFeature, user } = useDetailsPanelContext()\n const isUser = !user?.data?.isAdmin && !user?.data?.isManager\n\n const project = useProjectContext()\n\n const {\n users: mentionUsers,\n versions: mentionVersions,\n tasks: mentionTasks,\n } = mentionSuggestionsData || {}\n\n const [initHeight, setInitHeight] = useState(88)\n const [editorValue, setEditorValue] = useState('')\n // file uploads\n const [files, setFiles] = useState(initFiles)\n const [filesUploading, setFilesUploading] = useState([])\n const [isDropping, setIsDropping] = useState(false)\n const [isSubmitting, setIsSubmitting] = useState(false)\n\n const { annotations, removeAnnotation, goToAnnotation } = useAnnotationsSync({\n entityId: entities[0]?.id,\n filesUploading,\n })\n\n // MENTION STATES\n const [mention, setMention] = useState<null | any>(null)\n const [mentionSelectedIndex, setMentionSelectedIndex] = useState(0)\n // CATEGORY STATE\n const [category, setCategory] = useState<null | string>(initCategory)\n const categoryOptions = categories.filter((cat) => cat.accessLevel >= 20)\n const categoryData = categories.find((cat) => cat.name === category)\n // Compute blended background color for category\n const blendedCategoryColor = useBlendedCategoryColor(categoryData?.color)\n // REFS\n const editorRef = useRef<any>(null)\n const editorContainerRef = useRef<HTMLDivElement>(null)\n\n const markdownRef = useRef<HTMLDivElement>(null)\n\n // if there is an initial value, set it so the editor is prefilled\n useInitialValue({\n markdownRef,\n initValue,\n setEditorValue,\n setInitHeight,\n isOpen: isOpen,\n filter: currentTab,\n })\n\n // When editing, set selection to the end of the editor\n useSetCursorEnd({ initHeight, editorRef, isEditing })\n // create a new quill format for mentions and registers it\n useMentionLink({ projectName })\n\n // focus on editor when opened\n useEffect(() => {\n if (isOpen) {\n editorRef.current?.getEditor()?.enable()\n // block autofocus if opened from an annotation\n if (annotations.length > 0 && files.length === 0) {\n return\n }\n\n editorRef.current?.focus()\n }\n // We don't set annotations or files as useEffect dependencies, because we don't want to focus\n // the input if it's already open but annotations change (e.g. are removed).\n }, [isOpen, editorRef])\n\n mentionTypes.sort((a, b) => b.length - a.length)\n\n const mentionOptions = useMemo(\n () =>\n getMentionOptions(\n mention?.type,\n {\n '@': () => getMentionUsers(mentionUsers),\n '@@': () => getMentionVersions(mentionVersions, project),\n '@@@': () => getMentionTasks(mentionTasks, projectInfo.taskTypes),\n },\n mention?.search,\n ),\n [mentionTasks, mentionVersions, mentionUsers, mention?.type, mention?.search],\n )\n\n // show first 5 and filter itself out\n const shownMentionOptions = mentionOptions.slice(0, 5)\n\n // triggered when a mention is selected\n const [newSelection, setNewSelection] = useState<null | number>()\n\n useEffect(() => {\n if (newSelection) {\n setNewSelection(null)\n // now we set selection to the end of the mention\n const quill = editorRef.current.getEditor()\n quill.setSelection(newSelection)\n }\n }, [newSelection])\n\n const handleSelectMention = (selectedOption: any) => {\n // get option text\n const quill = editorRef.current.getEditor()\n\n const typePrefix = mention.type // the type of mention: @, @@, @@@\n const search = typePrefix + (mention.search || '') // the full search string: @Tim\n const mentionLabel = typePrefix + selectedOption.label // the label of the mention: @Tim Bailey\n // @ts-expect-error\n const type = mentionTypeOptions[typePrefix] // the type of mention: user, version, task\n const href = `${type?.id}:${selectedOption.id}` // the href of the mention: user:user.123\n\n // get selection delta\n const selection = quill.getSelection(true)\n const selectionIndex = selection?.index || 0\n const startIndex = selectionIndex - search.length // the start index of the search\n\n // first delete the search string\n quill.deleteText(startIndex, search.length)\n\n // insert embed link\n quill.insertText(startIndex, mentionLabel, 'mention', href)\n\n const endIndex = startIndex + mentionLabel.length\n\n // insert a space after the mention\n quill.updateContents(new Delta().retain(endIndex).insert(' '))\n\n // remove single \\n after mention\n quill.updateContents(new Delta().retain(endIndex + 1).delete(1))\n\n // set selection to the end of the mention + 1\n setNewSelection(endIndex + 1)\n\n // reset mention state\n setMention(null)\n setMentionSelectedIndex(0)\n }\n\n const handleSelectChange = (option: any) => {\n handleSelectMention(option)\n }\n\n const handleChange = (content: string, delta: any, _: any, editor: any) => {\n let currentCharacter =\n (delta.ops[0] && delta.ops[0].insert) || (delta.ops[1] && delta.ops[1].insert)\n\n const tabOrEnter = currentCharacter === '\\n' || currentCharacter === '\\t'\n // find the first option\n const selectedOption = mentionOptions[mentionSelectedIndex]\n\n if (mention && tabOrEnter && selectedOption && !isGuest) {\n // get option text\n const retain = (delta.ops[0] && delta.ops[0].retain) || 0\n // prevent default\n\n // @ts-ignore\n handleSelectMention(selectedOption, retain)\n\n return\n }\n\n setEditorValue(content)\n\n const isDelete = delta.ops.length === 2 && !!delta.ops[1].delete\n\n if (!currentCharacter && isDelete) {\n currentCharacter = editor.getText(delta.ops[0].retain - 1, 1)\n }\n\n const isMention = mentionTypes.includes(currentCharacter)\n\n if (isMention) {\n const mentionIndex = delta.ops.findIndex((op: any) => 'insert' in op || 'delete' in op)\n const mention = currentCharacter\n let retain = mentionIndex === 0 ? 0 : delta.ops[mentionIndex - 1].retain\n if (isDelete) retain = retain - 1\n\n // for each mention denotation char, check if it is a mention\n // sort by length of mention denotation char\n let mentionMatch = null\n\n // loop through each mention denotation char, with longest first. First one to match is the one we want\n for (const chars of mentionTypes) {\n let isMatch = true\n // start with the last character\n if (chars.endsWith(mention)) {\n // loop through the chars backwards\n for (let i = chars.length - 1; i >= 0; i--) {\n // skip first character as that's already been checked\n if (i === 0) continue\n const char = chars[i - 1]\n const indexInDelta = retain - (chars.length - i)\n const valueCharAtIndex = editor.getText(indexInDelta, 1)\n if (valueCharAtIndex !== char) {\n isMatch = false\n break\n }\n }\n } else {\n isMatch = false\n }\n\n if (isMatch) {\n // console.log('match!!!', chars)\n mentionMatch = chars\n break\n }\n }\n\n if (mentionMatch) {\n setMention({\n type: mentionMatch,\n retain: retain,\n })\n } else {\n setMention(null)\n setMentionSelectedIndex(0)\n }\n } else {\n // get full string between mention and new delta\n // This is where SEARCH is handled\n if (mention) {\n const retain = delta.ops[0].retain\n // if space is pressed, remove mention\n if (currentCharacter === ' ' || !retain) {\n setMention(null)\n setMentionSelectedIndex(0)\n return\n }\n\n let distanceMentionToRetain = retain - mention.retain\n if (!isDelete) distanceMentionToRetain++\n const mentionFull = editor.getText(mention.retain, distanceMentionToRetain)\n const mentionSearch = mentionFull.replace(mention.type.slice(-1), '')\n // check for space in mentionFull\n if (mentionFull.includes(' ')) {\n setMention(null)\n setMentionSelectedIndex(0)\n } else {\n setMention({\n ...mention,\n search: mentionSearch?.toLowerCase(),\n })\n }\n } else {\n // just deleting any text\n const quill = editorRef.current.getEditor()\n const currentSelection = quill.getSelection(false)\n const currentFormat = quill.getFormat(currentSelection?.index, currentSelection?.length)\n if (currentFormat.mention) {\n // if format is mention, delete the whole mention\n const [lineBlock] = quill.getLine(currentSelection.index - 1) || []\n const ops = lineBlock?.cache?.delta?.ops || []\n // get last op with attributes mention: true\n const lastMentionOp = ops.reverse().find((op: any) => op.attributes?.mention)\n if (lastMentionOp) {\n const mentionLength = lastMentionOp.insert.length\n quill.deleteText(currentSelection.index - mentionLength, mentionLength)\n }\n }\n }\n }\n }\n\n const addTextToEditor = (type: string) => {\n // get editor retain\n const quill = editorRef.current.getEditor()\n\n let retain = quill.getSelection(true)?.index || 0\n\n // get character at retain\n const currentCharacter = quill.getText(retain - 1, 1)\n\n // if the current character is a character, increment retain\n const addSpace = currentCharacter !== ' ' && currentCharacter\n if (addSpace) {\n quill.insertText(retain, ' ')\n retain++\n }\n\n // This is hack AF, but it works\n typeWithDelay(quill, retain, type)\n }\n\n const handleMentionButton = (type: string) => {\n // first check if mention is already open\n if (mention) {\n const { type, retain, search = '' } = mention\n\n const quill = editorRef.current.getEditor()\n const length = type.length + search.length\n const start = retain - type.length + 1\n // delete the mention\n quill.deleteText(start, length)\n }\n\n addTextToEditor(type)\n }\n\n const handleOpenClick = () => {\n if (isOpen || disabled) return\n\n onOpen && onOpen()\n }\n\n const handleClose = () => {\n // get editor value\n const editor = editorRef.current.getEditor()\n const text = editor.getText()\n if (text.length < 2 || isEditing) {\n setEditorValue('')\n }\n\n // always close editor\n onClose && onClose()\n }\n\n const handleFileUploaded = ({ file, data }: any) => {\n const newFile = {\n id: data.id,\n name: file.name,\n mime: file.type,\n size: file.size,\n order: files.length,\n }\n\n setFiles((prev) => [...prev, newFile])\n // remove from uploading\n setFilesUploading((prev) => prev.filter((uploading: any) => uploading.name !== file.name))\n\n return newFile\n }\n\n const handleFileRemove = (id: string, name: string, isUnsavedAnnotation: boolean) => {\n if (isUnsavedAnnotation) {\n // remove from annotations (if it's an unsaved annotation)\n removeAnnotation?.(id)\n } else {\n // remove file from files\n setFiles((prev) => prev.filter((file) => file.id !== id))\n // remove from uploading\n setFilesUploading((prev) => {\n return prev.filter((file: any) => file.name !== name)\n })\n }\n }\n\n const handleFileProgress = (e: any, file: any) => {\n const progress = Math.round((e.loaded * 100) / e.total)\n if (progress !== 100) {\n const uploadProgress = {\n name: file.name,\n progress,\n type: file.type,\n order: files.length + filesUploading.length,\n }\n\n // @ts-ignore\n setFilesUploading((prev) => {\n // replace or add new progress\n const newProgress = prev.filter((name: any) => name.name !== file.name)\n return [...newProgress, uploadProgress]\n })\n }\n }\n\n // when a file is not dropped onto the comment input\n const handleDrop = (e: React.DragEvent<HTMLDivElement>) => {\n setIsDropping(false)\n // upload file\n handleFileDrop(e, projectName, handleFileProgress, handleFileUploaded)\n }\n\n const handleDragOver = (e: React.DragEvent<HTMLDivElement>) => {\n e.preventDefault()\n e.stopPropagation()\n setIsDropping(true)\n }\n\n const uploadAnnotations = useAnnotationsUpload({\n projectName,\n onSuccess: handleFileUploaded,\n })\n\n const handleSubmit = async () => {\n try {\n setIsSubmitting(true)\n // upload any annotations first\n let annotationFiles = []\n let annotationMetadata: SavedAnnotationMetadata[] = []\n\n if (annotations.length) {\n const { files, metadata } = await uploadAnnotations(annotations)\n annotationFiles = files\n annotationMetadata = metadata\n }\n\n // convert to markdown\n const [markdown] = convertToMarkdown(editorValue)\n\n // remove img query params\n const markdownParsed = parseImages(markdown)\n\n const uploadedFiles = [...files, ...annotationFiles]\n\n if ((markdownParsed || uploadedFiles.length) && onSubmit) {\n try {\n await onSubmit(markdownParsed, uploadedFiles, {\n annotations: annotationMetadata,\n category: isGuest ? null : category, // guests cannot set category (it is done by default on backend)\n })\n // only clear if onSubmit is successful\n setEditorValue('')\n setFiles([])\n } catch (error) {\n // error is handled in rtk query mutation\n return\n }\n }\n } catch (error) {\n console.error(error)\n toast.error('Something went wrong')\n } finally {\n setIsSubmitting(false)\n }\n }\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (mention) {\n // close mention on escape\n if (e.key === 'Escape') {\n setMention(null)\n setMentionSelectedIndex(0)\n return\n }\n\n // add top search of mention\n if (mention && e.key === 'Tab') {\n // we handle this in the onChange\n }\n\n const arrowDirection = e.key === 'ArrowUp' ? -1 : e.key === 'ArrowDown' ? 1 : 0\n\n if (arrowDirection) {\n // navigate through mentions\n e.preventDefault()\n let newIndex = mentionSelectedIndex + arrowDirection\n if (newIndex < 0) newIndex = shownMentionOptions.length - 1\n if (newIndex >= shownMentionOptions.length) newIndex = 0\n setMentionSelectedIndex(newIndex)\n }\n\n if (e.key === 'Enter') {\n // we handle this in the onChange\n }\n }\n\n if (e.key === 'Enter' && (e.ctrlKey || e.metaKey)) {\n handleSubmit()\n }\n\n if (e.key === 'Escape') {\n handleClose()\n }\n }\n\n let quillMinHeight: number | undefined = isOpen ? initHeight + 41 : 44\n if (isEditing) quillMinHeight = undefined\n\n // QUILL CONFIG\n const modules = useMemo(\n () =>\n getModules({\n imageUploader: {\n projectName,\n onUpload: handleFileUploaded,\n onUploadProgress: handleFileProgress,\n },\n }),\n [projectName, setFiles, setFilesUploading],\n )\n\n const allFiles = [...annotations, ...(files || []), ...filesUploading].sort(\n (a, b) => a.order - b.order,\n )\n const compactGrid = allFiles.length > 3\n\n // disable version mentions for folders\n let mentionsError = null\n if (entities.length && entities[0].entityType === 'folder') {\n if (mention?.type === '@@') {\n mentionsError = 'Version mentions are disabled for folders'\n }\n }\n\n const getCommentPlaceholder = (isOpen?: boolean) => {\n if (disabled) {\n if (isGuest) return 'You do not have permission to comment.'\n return 'Commenting is disabled across multiple projects.'\n }\n\n if (isGuest || !isOpen) return 'Leave a comment'\n\n return 'Comment or mention with @user, @@version, @@@task...'\n }\n\n return (\n <>\n <Styled.AutoHeight\n className={clsx('comment-container', { isOpen, isEditing })}\n onDragOver={handleDragOver}\n onDragLeave={() => setIsDropping(false)}\n onDrop={handleDrop}\n onClick={() => setIsDropping(false)}\n onKeyDown={(e) => e.stopPropagation()}\n >\n <Styled.Comment\n className={clsx('block-shortcuts', {\n isOpen,\n isClosed: !isOpen || disabled,\n isEditing,\n isDropping,\n disabled,\n isLoading,\n isSubmitting,\n category: !!category && !isGuest,\n })}\n onKeyDown={handleKeyDown}\n onClick={handleOpenClick}\n $categoryPrimary={categoryData?.color}\n $categoryTertiary={blendedCategoryColor.primary}\n $categorySecondary={blendedCategoryColor.secondary}\n >\n <Styled.Markdown ref={markdownRef}>\n {/* this is purely used to translate the markdown into html for Editor */}\n <InputMarkdownConvert typeOptions={mentionTypeOptions} initValue={initValue} />\n </Styled.Markdown>\n\n {/* file uploads */}\n {isOpen && (\n <FilesGrid\n files={allFiles}\n isCompact={compactGrid || isEditing}\n onRemove={handleFileRemove}\n projectName={projectName}\n onAnnotationClick={goToAnnotation}\n style={{\n borderBottom: '1px solid var(--md-sys-color-outline-variant)',\n height: '100%',\n }}\n isEditing\n pt={{\n file: {\n style: {\n height: isEditing ? 70 : undefined,\n },\n },\n }}\n />\n )}\n {isOpen && !disabled ? (\n <QuillListStyles ref={editorContainerRef}>\n {!isGuest && (\n <ActivityCategorySelect\n value={category}\n categories={categoryOptions}\n onChange={(c) => setCategory(c)}\n isCompact={isEditing}\n hasPowerpack={hasLicense}\n onPowerFeature={onPowerFeature}\n isHidden={isCategoryHidden(categoryOptions, { isGuest, isUser })}\n style={{\n position: isEditing ? 'relative' : 'absolute',\n left: 4,\n top: isEditing ? 0 : 4,\n }}\n />\n )}\n\n <ReactQuill\n theme=\"snow\"\n style={{ minHeight: quillMinHeight, maxHeight: 300 }}\n ref={editorRef}\n value={editorValue}\n onChange={handleChange}\n readOnly={!isOpen}\n placeholder={getCommentPlaceholder(true)}\n modules={modules}\n formats={quillFormats}\n />\n </QuillListStyles>\n ) : (\n <Styled.Placeholder>{getCommentPlaceholder()}</Styled.Placeholder>\n )}\n\n <Styled.Footer>\n {!isGuest && (\n <Styled.Buttons>\n {/* mention a user */}\n <Button\n icon=\"person\"\n variant=\"text\"\n onClick={() => handleMentionButton('@')}\n data-tooltip={'Mention user'}\n data-shortcut={'@'}\n />\n {/* mention a version */}\n <Button\n icon=\"layers\"\n variant=\"text\"\n onClick={() => handleMentionButton('@@')}\n data-tooltip={'Mention version'}\n data-shortcut={'@@'}\n />\n {/* mention a task */}\n <Button\n icon=\"check_circle\"\n variant=\"text\"\n onClick={() => handleMentionButton('@@@')}\n data-tooltip={'Mention task'}\n data-shortcut={'@@@'}\n />\n </Styled.Buttons>\n )}\n <Styled.Buttons style={{ marginLeft: 'auto' }}>\n {isEditing && (\n <Button variant=\"text\" onClick={handleClose}>\n Cancel\n </Button>\n )}\n <SaveButton\n label={isEditing ? 'Save' : 'Comment'}\n className=\"comment\"\n active={!!editorValue || !!files.length}\n onClick={handleSubmit}\n disabled={isLoading}\n />\n </Styled.Buttons>\n </Styled.Footer>\n\n <Styled.Dropzone className={clsx({ show: isDropping && isOpen })}>\n <Icon icon=\"cloud_upload\" />\n </Styled.Dropzone>\n </Styled.Comment>\n <CommentMentionSelect\n mention={mention}\n options={shownMentionOptions}\n onChange={handleSelectChange}\n types={mentionTypes}\n // @ts-ignore\n config={mentionTypeOptions[mention?.type]}\n noneFound={!shownMentionOptions.length && mention?.search}\n noneFoundAtAll={!shownMentionOptions.length && !mention?.search}\n selectedIndex={mentionSelectedIndex}\n // @ts-ignore\n error={mentionsError}\n isGuest={isGuest}\n />\n </Styled.AutoHeight>\n </>\n )\n}\n\nexport default CommentInput\n"],"names":["Delta","Quill","mentionTypes","mentionTypeOptions","CommentInput","initValue","initFiles","initCategory","onSubmit","isEditing","disabled","isLoading","isOpen","onOpen","onClose","projectName","entities","projectInfo","scope","currentTab","mentionSuggestionsData","categories","isGuest","useFeedContext","hasLicense","onPowerFeature","user","useDetailsPanelContext","isUser","_a","_b","project","useProjectContext","mentionUsers","mentionVersions","mentionTasks","initHeight","setInitHeight","useState","editorValue","setEditorValue","files","setFiles","filesUploading","setFilesUploading","isDropping","setIsDropping","isSubmitting","setIsSubmitting","annotations","removeAnnotation","goToAnnotation","useAnnotationsSync","_c","mention","setMention","mentionSelectedIndex","setMentionSelectedIndex","category","setCategory","categoryOptions","cat","categoryData","blendedCategoryColor","useBlendedCategoryColor","editorRef","useRef","editorContainerRef","markdownRef","useInitialValue","useSetCursorEnd","useMentionLink","useEffect","a","b","mentionOptions","useMemo","getMentionOptions","getMentionUsers","getMentionVersions","getMentionTasks","shownMentionOptions","newSelection","setNewSelection","handleSelectMention","selectedOption","quill","typePrefix","search","mentionLabel","type","href","selection","startIndex","endIndex","handleSelectChange","option","handleChange","content","delta","_","editor","currentCharacter","tabOrEnter","isDelete","mentionIndex","op","retain","mentionMatch","chars","isMatch","i","char","indexInDelta","distanceMentionToRetain","mentionFull","mentionSearch","currentSelection","lineBlock","lastMentionOp","mentionLength","addTextToEditor","typeWithDelay","handleMentionButton","length","start","handleOpenClick","handleClose","handleFileUploaded","file","data","newFile","prev","uploading","handleFileRemove","id","name","isUnsavedAnnotation","handleFileProgress","e","progress","uploadProgress","handleDrop","handleFileDrop","handleDragOver","uploadAnnotations","useAnnotationsUpload","handleSubmit","annotationFiles","annotationMetadata","metadata","markdown","convertToMarkdown","markdownParsed","parseImages","uploadedFiles","error","toast","handleKeyDown","arrowDirection","newIndex","quillMinHeight","modules","getModules","allFiles","compactGrid","mentionsError","getCommentPlaceholder","jsx","Fragment","jsxs","Styled.AutoHeight","clsx","Styled.Comment","Styled.Markdown","InputMarkdownConvert","FilesGrid","QuillListStyles","ActivityCategorySelect","c","isCategoryHidden","ReactQuill","quillFormats","Styled.Placeholder","Styled.Footer","Styled.Buttons","Button","SaveButton","Styled.Dropzone","Icon","CommentMentionSelect"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const k=require("../../../../../../../_virtual/jsx-runtime.cjs.js"),E=require("./EntityTooltip.styled.cjs.js");require("react-dom");require("react");const F=require("../../../context/FeedContext.cjs.js");require("@ynput/ayon-react-components");require("clsx");require("../UserTooltip/UserTooltip.styled.cjs.js");require("../../../../../context/RemoteModulesContext.cjs.js");require("../../../../../context/DetailsPanelContext.cjs.js");require("../../../../../context/ThumbnailUploaderContext.cjs.js");require("../../../../../context/SettingsPanelContext.cjs.js");require("../../../../../context/pip/PiPProvider.cjs.js");require("../../../../../context/pip/PiPWrapper.cjs.js");require("../../../../../context/AddonProjectContext.cjs.js");require("../../../../../context/AddonContext.cjs.js");require("../../../../../context/PowerpackContext.cjs.js");require("../../../../../context/MoveEntityContext.cjs.js");require("../../../../../context/MenuContext.cjs.js");require("../../../../../context/WebsocketContext.cjs.js");require("../../../../../context/GlobalContext.cjs.js");const I=require("../../../../../context/ProjectContext.cjs.js");require("../../../../../context/ProjectFoldersContext.cjs.js");require("../../../../../context/UriContext.cjs.js");require("../../FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../CommentInput/CommentInput.cjs.js");require("../../ReactionContainer/Reactions.styled.cjs.js");require("../../FilesGrid/FilesGrid.styled.cjs.js");require("../../FileUploadCard/FileUploadCard.styled.cjs.js");require("../../CommentInput/quillToMarkdown.cjs.js");require("../../ActivityComment/ActivityComment.styled.cjs.js");require("lodash");require("../../ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../ActivityReference/ActivityReference.styled.cjs.js");require("react-toastify");require("uuid");require("../../../../../util/pubsub.cjs.js");require("react-router-dom");require("../../ActivityStatus/ActivityStatus.cjs.js");require("../../ActivityHeader/ActivityHeader.styled.cjs.js");require("../../ActivityDate.cjs.js");require("../../../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../../../../api/base/client.cjs.js");require("../../../../../api/generated/graphql.cjs.js");require("../../../../../api/generated/graphqlLinks.cjs.js");require("../../../../../api/generated/access.cjs.js");require("../../../../../api/generated/actions.cjs.js");require("../../../../../api/generated/activityFeed.cjs.js");require("../../../../../api/generated/addons.cjs.js");require("../../../../../api/generated/anatomy.cjs.js");require("../../../../../api/generated/attributes.cjs.js");require("../../../../../api/generated/authentication.cjs.js");require("../../../../../api/generated/bundles.cjs.js");require("../../../../../api/generated/configuration.cjs.js");require("../../../../../api/generated/desktop.cjs.js");require("../../../../../api/generated/entityLists.cjs.js");require("../../../../../api/generated/events.cjs.js");require("../../../../../api/generated/files.cjs.js");require("../../../../../api/generated/folders.cjs.js");require("../../../../../api/generated/inbox.cjs.js");require("../../../../../api/generated/links.cjs.js");require("../../../../../api/generated/market.cjs.js");require("../../../../../api/generated/onboarding.cjs.js");require("../../../../../api/generated/operations.cjs.js");require("../../../../../api/generated/products.cjs.js");require("../../../../../api/generated/projectDashboard.cjs.js");require("../../../../../api/generated/projects.cjs.js");require("../../../../../api/generated/reviewables.cjs.js");require("../../../../../api/generated/services.cjs.js");require("../../../../../api/generated/system.cjs.js");require("../../../../../api/generated/tasks.cjs.js");require("../../../../../api/generated/teams.cjs.js");require("../../../../../api/generated/thumbnails.cjs.js");require("../../../../../api/generated/uRIs.cjs.js");require("../../../../../api/generated/users.cjs.js");require("../../../../../api/generated/versions.cjs.js");require("../../../../../api/generated/workfiles.cjs.js");require("../../../../../api/generated/ynputCloud.cjs.js");require("../../../../../api/generated/grouping.cjs.js");require("../../../../../api/generated/views.cjs.js");require("../../../../../api/queries/actions/getActions.cjs.js");require("../../../../../api/queries/activities/getActivities.cjs.js");require("../../../../../api/queries/activities/updateActivities.cjs.js");require("../../../../../api/queries/activities/updateReaction.cjs.js");require("../../../../../api/queries/activities/getMentions.cjs.js");require("../../../../../api/queries/activities/getCategories.cjs.js");require("../../../../../api/queries/addons/getAddons.cjs.js");require("../../../../../api/queries/addons/updateAddons.cjs.js");require("../../../../../api/queries/attributes/getAttributes.cjs.js");require("../../../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../../../api/queries/cloud/cloud.cjs.js");require("../../../../../api/queries/entities/getEntity.cjs.js");require("../../../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../../../api/queries/entities/updateEntity.cjs.js");require("../../../../../api/queries/entityLists/getLists.cjs.js");require("../../../../../api/queries/entityLists/updateLists.cjs.js");require("../../../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../../../api/queries/entityLists/listFolders.cjs.js");require("../../../../../api/queries/folders/getFolders.cjs.js");require("../../../../../api/queries/grouping/getGrouping.cjs.js");require("../../../../../api/queries/links/updateLinks.cjs.js");require("../../../../../api/queries/links/getLinks.cjs.js");require("../../../../../api/queries/links/getEntityLinks.cjs.js");require("../../../../../api/queries/overview/getOverview.cjs.js");require("../../../../../api/queries/overview/updateOverview.cjs.js");require("../../../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../../../api/queries/permissions/getPermissions.cjs.js");require("../../../../../api/queries/products/createProduct.cjs.js");require("../../../../../api/queries/project/getProject.cjs.js");require("../../../../../api/queries/project/updateProject.cjs.js");require("../../../../../api/queries/review/getReview.cjs.js");require("../../../../../api/queries/review/updateReview.cjs.js");require("../../../../../api/queries/share/share.cjs.js");require("../../../../../api/queries/system/getSystem.cjs.js");require("../../../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../../../api/queries/users/getUsers.cjs.js");require("../../../../../api/queries/users/updateUsers.cjs.js");require("../../../../../api/queries/users/guests.cjs.js");require("../../../../../api/queries/versions/updateVersions.cjs.js");require("../../../../../api/queries/views/getViews.cjs.js");require("../../../../../api/queries/views/updateViews.cjs.js");require("../../../../../api/queries/watchers/getWatchers.cjs.js");require("../../../../../api/queries/uris/getUris.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../../ProjectTreeTable/ProjectTreeTable.cjs.js");require("../../../../ProjectTreeTable/context/CellEditingContext.cjs.js");require("short-uuid");require("@tanstack/react-table");require("../../../../ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/DateWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/TextWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/CellWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../../../../../components/LinksManager/CellEditingDialog.cjs.js");require("../../../../ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../../../../ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../../../ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../../../../ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../../../../ProjectTreeTable/components/SelectionCell.cjs.js");require("../../../../ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../../../../ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../../../../ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../../../../ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../../../../ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../../../../ProjectTreeTable/context/ClipboardContext.cjs.js");require("../../../../ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../../../../ProjectTreeTable/context/ProjectDataContext.cjs.js");require("../../../../../../../_virtual/runtime.cjs.js");require("../../../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../../../../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../../../../ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../../../../ProjectTreeTable/components/ColumnHeaderMenu.cjs.js");require("../../../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../../../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../../../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../../../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../../../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../../../Actions/Actions.styled.cjs.js");require("../../../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../../../Actions/ActionIcon.cjs.js");require("../../../../Views/context/ViewsContext.cjs.js");require("../../../../Views/Views.styled.cjs.js");require("../../../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../../../components/Watchers/Watchers.cjs.js");require("../../../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../../../components/Powerpack/PricingLink.cjs.js");require("../../../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../../../components/Powerpack/CTAButton.cjs.js");require("../../../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../../../components/SizeSlider/SizeSlider.cjs.js");require("../../../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../../../components/SearchFilter/filterDates.cjs.js");require("../../../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../../../components/Badge/Badge.cjs.js");require("../../../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../../../components/Feedback/FeedbackContext.cjs.js");require("../../../../../components/Feedback/SupportBubble.cjs.js");require("../../../../../components/Chips/Chips.cjs.js");require("../../../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../../../components/StyledLink/StyledLink.cjs.js");require("date-fns");require("../../../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../../../components/AccessUser/AccessUser.cjs.js");require("../../../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../../../components/Menu/Menu.styled.cjs.js");require("../../../../../components/Menu/MenuItem.cjs.js");require("../../ActivityCategorySelect/CategoryTag.cjs.js");require("../../ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../ActivityVersions/ActivityVersions.styled.cjs.js");require("../../ActivityGroup/ActivityGroup.styled.cjs.js");require("../../../Feed.styled.cjs.js");require("../../ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../ActivityCategorySelect/CategoryDropdownItem.cjs.js");const W=({entityId:e,entityType:i,thumbnailId:r,updatedAt:q,projectName:u})=>{if(!u||!r&&(!e||!i))return null;const t=q?`?updatedAt=${q}`:"";return e&&i?`${`/api/projects/${u}/${i}s/${e}/thumbnail`}${t}`:`${`/api/projects/${u}/thumbnails/${r}`}${t}`},v=({type:e,id:i,pos:{left:r=0,top:q=0}={}})=>{var a;const{entityTooltipData:u,isFetchingTooltip:t,projectInfo:o,projectName:c}=F.useFeedContext(),l=I.useProjectContext(),n=220;r+n/2>window.innerWidth&&(r=window.innerWidth-n/2);const{title:d,subTitle:p,path:h,taskType:m,productType:x,users:T=[],thumbnailId:$,updatedAt:j,status:y}=u||{},{taskTypes:b=[],statuses:U=[]}=o,g=(a=b.find(s=>s.name===m))==null?void 0:a.icon,w=U.find(s=>s.name===y),P=W({entityId:i,entityType:e,thumbnailId:$,updatedAt:j,projectName:c}),f=l.getProductType(x).icon,C={task:g,version:f};return e?k.jsxRuntimeExports.jsx(E.TooltipEntityCard,{style:{left:r,top:q,maxWidth:n},title:d,header:p,path:h,showPath:!0,status:w,users:T,hidePriority:!0,isLoading:t,loadingSections:["header","title","users","status"],titleIcon:C[e||""],imageUrl:P||void 0}):null};module.exports=v;
1
+ "use strict";const k=require("../../../../../../../_virtual/jsx-runtime.cjs.js"),E=require("./EntityTooltip.styled.cjs.js");require("react-dom");require("react");const F=require("../../../context/FeedContext.cjs.js");require("@ynput/ayon-react-components");require("clsx");require("../UserTooltip/UserTooltip.styled.cjs.js");require("../../../../../context/RemoteModulesContext.cjs.js");require("../../../../../context/DetailsPanelContext.cjs.js");require("../../../../../context/ThumbnailUploaderContext.cjs.js");require("../../../../../context/SettingsPanelContext.cjs.js");require("../../../../../context/pip/PiPProvider.cjs.js");require("../../../../../context/pip/PiPWrapper.cjs.js");require("../../../../../context/AddonProjectContext.cjs.js");require("../../../../../context/AddonContext.cjs.js");require("../../../../../context/PowerpackContext.cjs.js");require("../../../../../context/MoveEntityContext.cjs.js");require("../../../../../context/MenuContext.cjs.js");require("../../../../../context/WebsocketContext.cjs.js");require("../../../../../context/GlobalContext.cjs.js");const I=require("../../../../../context/ProjectContext.cjs.js");require("../../../../../context/ProjectFoldersContext.cjs.js");require("../../../../../context/UriContext.cjs.js");require("../../FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../CommentInput/CommentInput.cjs.js");require("../../ReactionContainer/Reactions.styled.cjs.js");require("../../FilesGrid/FilesGrid.styled.cjs.js");require("../../FileUploadCard/FileUploadCard.styled.cjs.js");require("../../CommentInput/quillToMarkdown.cjs.js");require("../../ActivityComment/ActivityComment.styled.cjs.js");require("lodash");require("../../ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../ActivityReference/ActivityReference.styled.cjs.js");require("react-toastify");require("uuid");require("../../../../../util/pubsub.cjs.js");require("react-router-dom");require("../../ActivityStatus/ActivityStatus.cjs.js");require("../../ActivityHeader/ActivityHeader.styled.cjs.js");require("../../ActivityDate.cjs.js");require("../../../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../../../../api/base/client.cjs.js");require("../../../../../api/generated/graphql.cjs.js");require("../../../../../api/generated/graphqlLinks.cjs.js");require("../../../../../api/generated/access.cjs.js");require("../../../../../api/generated/actions.cjs.js");require("../../../../../api/generated/activityFeed.cjs.js");require("../../../../../api/generated/addons.cjs.js");require("../../../../../api/generated/anatomy.cjs.js");require("../../../../../api/generated/attributes.cjs.js");require("../../../../../api/generated/authentication.cjs.js");require("../../../../../api/generated/bundles.cjs.js");require("../../../../../api/generated/configuration.cjs.js");require("../../../../../api/generated/desktop.cjs.js");require("../../../../../api/generated/entityLists.cjs.js");require("../../../../../api/generated/events.cjs.js");require("../../../../../api/generated/files.cjs.js");require("../../../../../api/generated/folders.cjs.js");require("../../../../../api/generated/inbox.cjs.js");require("../../../../../api/generated/links.cjs.js");require("../../../../../api/generated/market.cjs.js");require("../../../../../api/generated/onboarding.cjs.js");require("../../../../../api/generated/operations.cjs.js");require("../../../../../api/generated/products.cjs.js");require("../../../../../api/generated/projectDashboard.cjs.js");require("../../../../../api/generated/projects.cjs.js");require("../../../../../api/generated/reviewables.cjs.js");require("../../../../../api/generated/services.cjs.js");require("../../../../../api/generated/system.cjs.js");require("../../../../../api/generated/tasks.cjs.js");require("../../../../../api/generated/teams.cjs.js");require("../../../../../api/generated/thumbnails.cjs.js");require("../../../../../api/generated/uRIs.cjs.js");require("../../../../../api/generated/users.cjs.js");require("../../../../../api/generated/versions.cjs.js");require("../../../../../api/generated/workfiles.cjs.js");require("../../../../../api/generated/ynputCloud.cjs.js");require("../../../../../api/generated/grouping.cjs.js");require("../../../../../api/generated/views.cjs.js");require("../../../../../api/queries/actions/getActions.cjs.js");require("../../../../../api/queries/activities/getActivities.cjs.js");require("../../../../../api/queries/activities/updateActivities.cjs.js");require("../../../../../api/queries/activities/updateReaction.cjs.js");require("../../../../../api/queries/activities/getMentions.cjs.js");require("../../../../../api/queries/activities/getCategories.cjs.js");require("../../../../../api/queries/addons/getAddons.cjs.js");require("../../../../../api/queries/addons/updateAddons.cjs.js");require("../../../../../api/queries/attributes/getAttributes.cjs.js");require("../../../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../../../api/queries/cloud/cloud.cjs.js");require("../../../../../api/queries/config/getConfig.cjs.js");require("../../../../../api/queries/config/updateConfig.cjs.js");require("../../../../../api/queries/entities/getEntity.cjs.js");require("../../../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../../../api/queries/entities/updateEntity.cjs.js");require("../../../../../api/queries/entityLists/getLists.cjs.js");require("../../../../../api/queries/entityLists/updateLists.cjs.js");require("../../../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../../../api/queries/entityLists/listFolders.cjs.js");require("../../../../../api/queries/folders/getFolders.cjs.js");require("../../../../../api/queries/grouping/getGrouping.cjs.js");require("../../../../../api/queries/links/updateLinks.cjs.js");require("../../../../../api/queries/links/getLinks.cjs.js");require("../../../../../api/queries/links/getEntityLinks.cjs.js");require("../../../../../api/queries/overview/getOverview.cjs.js");require("../../../../../api/queries/overview/updateOverview.cjs.js");require("../../../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../../../api/queries/permissions/getPermissions.cjs.js");require("../../../../../api/queries/products/createProduct.cjs.js");require("../../../../../api/queries/project/getProject.cjs.js");require("../../../../../api/queries/project/updateProject.cjs.js");require("../../../../../api/queries/review/getReview.cjs.js");require("../../../../../api/queries/review/updateReview.cjs.js");require("../../../../../api/queries/share/share.cjs.js");require("../../../../../api/queries/system/getSystem.cjs.js");require("../../../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../../../api/queries/users/getUsers.cjs.js");require("../../../../../api/queries/users/updateUsers.cjs.js");require("../../../../../api/queries/users/guests.cjs.js");require("../../../../../api/queries/versions/updateVersions.cjs.js");require("../../../../../api/queries/views/getViews.cjs.js");require("../../../../../api/queries/views/updateViews.cjs.js");require("../../../../../api/queries/watchers/getWatchers.cjs.js");require("../../../../../api/queries/uris/getUris.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../../ProjectTreeTable/ProjectTreeTable.cjs.js");require("../../../../ProjectTreeTable/context/CellEditingContext.cjs.js");require("short-uuid");require("@tanstack/react-table");require("../../../../ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/DateWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/TextWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/CellWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../../../../../components/LinksManager/CellEditingDialog.cjs.js");require("../../../../ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../../../../ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../../../ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../../../../ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../../../../ProjectTreeTable/components/SelectionCell.cjs.js");require("../../../../ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../../../../ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../../../../ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../../../../ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../../../../ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../../../../ProjectTreeTable/context/ClipboardContext.cjs.js");require("../../../../ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../../../../ProjectTreeTable/context/ProjectDataContext.cjs.js");require("../../../../../../../_virtual/runtime.cjs.js");require("../../../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../../../../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../../../../ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../../../../ProjectTreeTable/components/ColumnHeaderMenu.cjs.js");require("../../../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../../../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../../../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../../../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../../../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../../../Actions/Actions.styled.cjs.js");require("../../../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../../../Actions/ActionIcon.cjs.js");require("../../../../Views/context/ViewsContext.cjs.js");require("../../../../Views/Views.styled.cjs.js");require("../../../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../../../components/Watchers/Watchers.cjs.js");require("../../../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../../../components/Powerpack/PricingLink.cjs.js");require("../../../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../../../components/Powerpack/CTAButton.cjs.js");require("../../../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../../../components/SizeSlider/SizeSlider.cjs.js");require("../../../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../../../components/SearchFilter/filterDates.cjs.js");require("../../../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../../../components/Badge/Badge.cjs.js");require("../../../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../../../components/Feedback/FeedbackContext.cjs.js");require("../../../../../components/Feedback/SupportBubble.cjs.js");require("../../../../../components/Chips/Chips.cjs.js");require("../../../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../../../components/StyledLink/StyledLink.cjs.js");require("date-fns");require("../../../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../../../components/AccessUser/AccessUser.cjs.js");require("../../../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../../../components/Menu/Menu.styled.cjs.js");require("../../../../../components/Menu/MenuItem.cjs.js");require("../../ActivityCategorySelect/CategoryTag.cjs.js");require("../../ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../ActivityVersions/ActivityVersions.styled.cjs.js");require("../../ActivityGroup/ActivityGroup.styled.cjs.js");require("../../../Feed.styled.cjs.js");require("../../ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../ActivityCategorySelect/CategoryDropdownItem.cjs.js");const W=({entityId:e,entityType:i,thumbnailId:r,updatedAt:q,projectName:u})=>{if(!u||!r&&(!e||!i))return null;const t=q?`?updatedAt=${q}`:"";return e&&i?`${`/api/projects/${u}/${i}s/${e}/thumbnail`}${t}`:`${`/api/projects/${u}/thumbnails/${r}`}${t}`},v=({type:e,id:i,pos:{left:r=0,top:q=0}={}})=>{var a;const{entityTooltipData:u,isFetchingTooltip:t,projectInfo:o,projectName:c}=F.useFeedContext(),l=I.useProjectContext(),n=220;r+n/2>window.innerWidth&&(r=window.innerWidth-n/2);const{title:d,subTitle:p,path:h,taskType:m,productType:x,users:T=[],thumbnailId:$,updatedAt:j,status:y}=u||{},{taskTypes:b=[],statuses:U=[]}=o,g=(a=b.find(s=>s.name===m))==null?void 0:a.icon,w=U.find(s=>s.name===y),P=W({entityId:i,entityType:e,thumbnailId:$,updatedAt:j,projectName:c}),f=l.getProductType(x).icon,C={task:g,version:f};return e?k.jsxRuntimeExports.jsx(E.TooltipEntityCard,{style:{left:r,top:q,maxWidth:n},title:d,header:p,path:h,showPath:!0,status:w,users:T,hidePriority:!0,isLoading:t,loadingSections:["header","title","users","status"],titleIcon:C[e||""],imageUrl:P||void 0}):null};module.exports=v;
2
2
  //# sourceMappingURL=EntityTooltip.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EntityTooltip.cjs.js","sources":["../../../../../../../../src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.tsx"],"sourcesContent":["import * as Styled from './EntityTooltip.styled'\nimport { useFeedContext } from '@shared/containers/Feed'\nimport { Status } from '@shared/containers/ProjectTreeTable/types/project'\nimport { useProjectContext } from '@shared/context'\n\ninterface ThumbnailUrlParams {\n entityId?: string\n entityType?: string\n thumbnailId?: string\n updatedAt?: string\n projectName?: string\n}\n\nconst getThumbnailUrl = ({\n entityId,\n entityType,\n thumbnailId,\n updatedAt,\n projectName,\n}: ThumbnailUrlParams) => {\n // If projectName is not provided or neither thumbnailId nor entityId and entityType are provided, return null\n if (!projectName || (!thumbnailId && (!entityId || !entityType))) return null\n\n // Construct the updatedAt query parameter if updatedAt is provided\n const updatedAtQueryParam = updatedAt ? `?updatedAt=${updatedAt}` : ''\n\n // If entityId and entityType are provided, construct the URL using them\n if (entityId && entityType) {\n const entityUrl = `/api/projects/${projectName}/${entityType}s/${entityId}/thumbnail`\n return `${entityUrl}${updatedAtQueryParam}`\n }\n\n // If entityId and entityType are not provided, fallback on thumbnailId\n const thumbnailUrl = `/api/projects/${projectName}/thumbnails/${thumbnailId}`\n return `${thumbnailUrl}${updatedAtQueryParam}`\n}\n\ninterface EntityTooltipProps {\n type?: string\n id?: string\n pos?: {\n left?: number\n top?: number\n }\n projectName?: string\n projectInfo?: any\n}\n\nconst EntityTooltip: React.FC<EntityTooltipProps> = ({\n type,\n id,\n pos: { left = 0, top = 0 } = {},\n}) => {\n const { entityTooltipData, isFetchingTooltip, projectInfo, projectName } = useFeedContext()\n const project = useProjectContext()\n\n const width = 220\n\n // check x is not offScreen\n if (left + width / 2 > window.innerWidth) left = window.innerWidth - width / 2\n\n const {\n title,\n subTitle,\n path,\n taskType,\n productType,\n users = [],\n thumbnailId,\n updatedAt,\n status,\n } = entityTooltipData || {}\n\n const { taskTypes = [], statuses = [] } = projectInfo\n\n const taskIcon = taskTypes.find((type: any) => type.name === taskType)?.icon\n const statusObject = statuses.find((s: Status) => s.name === status)\n const thumbnailUrl = getThumbnailUrl({\n entityId: id,\n entityType: type,\n thumbnailId,\n updatedAt,\n projectName,\n })\n const productIcon = project.getProductType(productType).icon\n\n const icons: Record<string, string | undefined> = {\n task: taskIcon,\n version: productIcon,\n }\n\n if (!type) return null\n\n return (\n <Styled.TooltipEntityCard\n style={{ left, top, maxWidth: width }}\n title={title}\n header={subTitle}\n path={path}\n showPath\n status={statusObject}\n users={users}\n hidePriority\n isLoading={isFetchingTooltip}\n loadingSections={['header', 'title', 'users', 'status']}\n titleIcon={icons[type || '']}\n imageUrl={thumbnailUrl || undefined}\n />\n )\n}\n\nexport default EntityTooltip\n"],"names":["getThumbnailUrl","entityId","entityType","thumbnailId","updatedAt","projectName","updatedAtQueryParam","EntityTooltip","type","id","left","top","entityTooltipData","isFetchingTooltip","projectInfo","useFeedContext","project","useProjectContext","width","title","subTitle","path","taskType","productType","users","status","taskTypes","statuses","taskIcon","_a","statusObject","thumbnailUrl","productIcon","icons","jsx","Styled.TooltipEntityCard"],"mappings":"4+dAaA,MAAMA,EAAkB,CAAC,CACvB,SAAAC,EACA,WAAAC,EACA,YAAAC,EACA,UAAAC,EACA,YAAAC,CACF,IAA0B,CAEpB,GAAA,CAACA,GAAgB,CAACF,IAAgB,CAACF,GAAY,CAACC,GAAqB,OAAA,KAGzE,MAAMI,EAAsBF,EAAY,cAAcA,CAAS,GAAK,GAGpE,OAAIH,GAAYC,EAEP,GADW,iBAAiBG,CAAW,IAAIH,CAAU,KAAKD,CAAQ,YACtD,GAAGK,CAAmB,GAKpC,GADc,iBAAiBD,CAAW,eAAeF,CAAW,EACrD,GAAGG,CAAmB,EAC9C,EAaMC,EAA8C,CAAC,CACnD,KAAAC,EACA,GAAAC,EACA,IAAK,CAAE,KAAAC,EAAO,EAAG,IAAAC,EAAM,CAAA,EAAM,CAAA,CAC/B,IAAM,OACJ,KAAM,CAAE,kBAAAC,EAAmB,kBAAAC,EAAmB,YAAAC,EAAa,YAAAT,CAAA,EAAgBU,EAAAA,eAAe,EACpFC,EAAUC,EAAAA,kBAAkB,EAE5BC,EAAQ,IAGVR,EAAOQ,EAAQ,EAAI,OAAO,aAAmBR,EAAA,OAAO,WAAaQ,EAAQ,GAEvE,KAAA,CACJ,MAAAC,EACA,SAAAC,EACA,KAAAC,EACA,SAAAC,EACA,YAAAC,EACA,MAAAC,EAAQ,CAAC,EACT,YAAArB,EACA,UAAAC,EACA,OAAAqB,CACF,EAAIb,GAAqB,CAAC,EAEpB,CAAE,UAAAc,EAAY,CAAA,EAAI,SAAAC,EAAW,CAAA,CAAO,EAAAb,EAEpCc,GAAWC,EAAAH,EAAU,KAAMlB,GAAcA,EAAK,OAASc,CAAQ,IAApD,YAAAO,EAAuD,KAClEC,EAAeH,EAAS,KAAM,GAAc,EAAE,OAASF,CAAM,EAC7DM,EAAe/B,EAAgB,CACnC,SAAUS,EACV,WAAYD,EACZ,YAAAL,EACA,UAAAC,EACA,YAAAC,CAAA,CACD,EACK2B,EAAchB,EAAQ,eAAeO,CAAW,EAAE,KAElDU,EAA4C,CAChD,KAAML,EACN,QAASI,CACX,EAEI,OAACxB,EAGH0B,EAAA,kBAAA,IAACC,EAAO,kBAAP,CACC,MAAO,CAAE,KAAAzB,EAAM,IAAAC,EAAK,SAAUO,CAAM,EACpC,MAAAC,EACA,OAAQC,EACR,KAAAC,EACA,SAAQ,GACR,OAAQS,EACR,MAAAN,EACA,aAAY,GACZ,UAAWX,EACX,gBAAiB,CAAC,SAAU,QAAS,QAAS,QAAQ,EACtD,UAAWoB,EAAMzB,GAAQ,EAAE,EAC3B,SAAUuB,GAAgB,MAAA,CAC5B,EAhBgB,IAkBpB"}
1
+ {"version":3,"file":"EntityTooltip.cjs.js","sources":["../../../../../../../../src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.tsx"],"sourcesContent":["import * as Styled from './EntityTooltip.styled'\nimport { useFeedContext } from '@shared/containers/Feed'\nimport { Status } from '@shared/containers/ProjectTreeTable/types/project'\nimport { useProjectContext } from '@shared/context'\n\ninterface ThumbnailUrlParams {\n entityId?: string\n entityType?: string\n thumbnailId?: string\n updatedAt?: string\n projectName?: string\n}\n\nconst getThumbnailUrl = ({\n entityId,\n entityType,\n thumbnailId,\n updatedAt,\n projectName,\n}: ThumbnailUrlParams) => {\n // If projectName is not provided or neither thumbnailId nor entityId and entityType are provided, return null\n if (!projectName || (!thumbnailId && (!entityId || !entityType))) return null\n\n // Construct the updatedAt query parameter if updatedAt is provided\n const updatedAtQueryParam = updatedAt ? `?updatedAt=${updatedAt}` : ''\n\n // If entityId and entityType are provided, construct the URL using them\n if (entityId && entityType) {\n const entityUrl = `/api/projects/${projectName}/${entityType}s/${entityId}/thumbnail`\n return `${entityUrl}${updatedAtQueryParam}`\n }\n\n // If entityId and entityType are not provided, fallback on thumbnailId\n const thumbnailUrl = `/api/projects/${projectName}/thumbnails/${thumbnailId}`\n return `${thumbnailUrl}${updatedAtQueryParam}`\n}\n\ninterface EntityTooltipProps {\n type?: string\n id?: string\n pos?: {\n left?: number\n top?: number\n }\n projectName?: string\n projectInfo?: any\n}\n\nconst EntityTooltip: React.FC<EntityTooltipProps> = ({\n type,\n id,\n pos: { left = 0, top = 0 } = {},\n}) => {\n const { entityTooltipData, isFetchingTooltip, projectInfo, projectName } = useFeedContext()\n const project = useProjectContext()\n\n const width = 220\n\n // check x is not offScreen\n if (left + width / 2 > window.innerWidth) left = window.innerWidth - width / 2\n\n const {\n title,\n subTitle,\n path,\n taskType,\n productType,\n users = [],\n thumbnailId,\n updatedAt,\n status,\n } = entityTooltipData || {}\n\n const { taskTypes = [], statuses = [] } = projectInfo\n\n const taskIcon = taskTypes.find((type: any) => type.name === taskType)?.icon\n const statusObject = statuses.find((s: Status) => s.name === status)\n const thumbnailUrl = getThumbnailUrl({\n entityId: id,\n entityType: type,\n thumbnailId,\n updatedAt,\n projectName,\n })\n const productIcon = project.getProductType(productType).icon\n\n const icons: Record<string, string | undefined> = {\n task: taskIcon,\n version: productIcon,\n }\n\n if (!type) return null\n\n return (\n <Styled.TooltipEntityCard\n style={{ left, top, maxWidth: width }}\n title={title}\n header={subTitle}\n path={path}\n showPath\n status={statusObject}\n users={users}\n hidePriority\n isLoading={isFetchingTooltip}\n loadingSections={['header', 'title', 'users', 'status']}\n titleIcon={icons[type || '']}\n imageUrl={thumbnailUrl || undefined}\n />\n )\n}\n\nexport default EntityTooltip\n"],"names":["getThumbnailUrl","entityId","entityType","thumbnailId","updatedAt","projectName","updatedAtQueryParam","EntityTooltip","type","id","left","top","entityTooltipData","isFetchingTooltip","projectInfo","useFeedContext","project","useProjectContext","width","title","subTitle","path","taskType","productType","users","status","taskTypes","statuses","taskIcon","_a","statusObject","thumbnailUrl","productIcon","icons","jsx","Styled.TooltipEntityCard"],"mappings":"2meAaA,MAAMA,EAAkB,CAAC,CACvB,SAAAC,EACA,WAAAC,EACA,YAAAC,EACA,UAAAC,EACA,YAAAC,CACF,IAA0B,CAEpB,GAAA,CAACA,GAAgB,CAACF,IAAgB,CAACF,GAAY,CAACC,GAAqB,OAAA,KAGzE,MAAMI,EAAsBF,EAAY,cAAcA,CAAS,GAAK,GAGpE,OAAIH,GAAYC,EAEP,GADW,iBAAiBG,CAAW,IAAIH,CAAU,KAAKD,CAAQ,YACtD,GAAGK,CAAmB,GAKpC,GADc,iBAAiBD,CAAW,eAAeF,CAAW,EACrD,GAAGG,CAAmB,EAC9C,EAaMC,EAA8C,CAAC,CACnD,KAAAC,EACA,GAAAC,EACA,IAAK,CAAE,KAAAC,EAAO,EAAG,IAAAC,EAAM,CAAA,EAAM,CAAA,CAC/B,IAAM,OACJ,KAAM,CAAE,kBAAAC,EAAmB,kBAAAC,EAAmB,YAAAC,EAAa,YAAAT,CAAA,EAAgBU,EAAAA,eAAe,EACpFC,EAAUC,EAAAA,kBAAkB,EAE5BC,EAAQ,IAGVR,EAAOQ,EAAQ,EAAI,OAAO,aAAmBR,EAAA,OAAO,WAAaQ,EAAQ,GAEvE,KAAA,CACJ,MAAAC,EACA,SAAAC,EACA,KAAAC,EACA,SAAAC,EACA,YAAAC,EACA,MAAAC,EAAQ,CAAC,EACT,YAAArB,EACA,UAAAC,EACA,OAAAqB,CACF,EAAIb,GAAqB,CAAC,EAEpB,CAAE,UAAAc,EAAY,CAAA,EAAI,SAAAC,EAAW,CAAA,CAAO,EAAAb,EAEpCc,GAAWC,EAAAH,EAAU,KAAMlB,GAAcA,EAAK,OAASc,CAAQ,IAApD,YAAAO,EAAuD,KAClEC,EAAeH,EAAS,KAAM,GAAc,EAAE,OAASF,CAAM,EAC7DM,EAAe/B,EAAgB,CACnC,SAAUS,EACV,WAAYD,EACZ,YAAAL,EACA,UAAAC,EACA,YAAAC,CAAA,CACD,EACK2B,EAAchB,EAAQ,eAAeO,CAAW,EAAE,KAElDU,EAA4C,CAChD,KAAML,EACN,QAASI,CACX,EAEI,OAACxB,EAGH0B,EAAA,kBAAA,IAACC,EAAO,kBAAP,CACC,MAAO,CAAE,KAAAzB,EAAM,IAAAC,EAAK,SAAUO,CAAM,EACpC,MAAAC,EACA,OAAQC,EACR,KAAAC,EACA,SAAQ,GACR,OAAQS,EACR,MAAAN,EACA,aAAY,GACZ,UAAWX,EACX,gBAAiB,CAAC,SAAU,QAAS,QAAS,QAAQ,EACtD,UAAWoB,EAAMzB,GAAQ,EAAE,EAC3B,SAAUuB,GAAgB,MAAA,CAC5B,EAhBgB,IAkBpB"}
@@ -99,6 +99,8 @@ import "../../../../../api/queries/attributes/getAttributes.es.js";
99
99
  import "../../../../../api/queries/attributes/updateAttributes.es.js";
100
100
  import "../../../../../api/queries/authentication/getAuthentication.es.js";
101
101
  import "../../../../../api/queries/cloud/cloud.es.js";
102
+ import "../../../../../api/queries/config/getConfig.es.js";
103
+ import "../../../../../api/queries/config/updateConfig.es.js";
102
104
  import "../../../../../api/queries/entities/getEntity.es.js";
103
105
  import "../../../../../api/queries/entities/getEntityPanel.es.js";
104
106
  import "../../../../../api/queries/entities/updateEntity.es.js";
@@ -253,7 +255,7 @@ const A = ({
253
255
  if (!r || !o && (!t || !i)) return null;
254
256
  const m = p ? `?updatedAt=${p}` : "";
255
257
  return t && i ? `${`/api/projects/${r}/${i}s/${t}/thumbnail`}${m}` : `${`/api/projects/${r}/thumbnails/${o}`}${m}`;
256
- }, ap = ({
258
+ }, cp = ({
257
259
  type: t,
258
260
  id: i,
259
261
  pos: { left: o = 0, top: p = 0 } = {}
@@ -300,6 +302,6 @@ const A = ({
300
302
  ) : null;
301
303
  };
302
304
  export {
303
- ap as default
305
+ cp as default
304
306
  };
305
307
  //# sourceMappingURL=EntityTooltip.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EntityTooltip.es.js","sources":["../../../../../../../../src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.tsx"],"sourcesContent":["import * as Styled from './EntityTooltip.styled'\nimport { useFeedContext } from '@shared/containers/Feed'\nimport { Status } from '@shared/containers/ProjectTreeTable/types/project'\nimport { useProjectContext } from '@shared/context'\n\ninterface ThumbnailUrlParams {\n entityId?: string\n entityType?: string\n thumbnailId?: string\n updatedAt?: string\n projectName?: string\n}\n\nconst getThumbnailUrl = ({\n entityId,\n entityType,\n thumbnailId,\n updatedAt,\n projectName,\n}: ThumbnailUrlParams) => {\n // If projectName is not provided or neither thumbnailId nor entityId and entityType are provided, return null\n if (!projectName || (!thumbnailId && (!entityId || !entityType))) return null\n\n // Construct the updatedAt query parameter if updatedAt is provided\n const updatedAtQueryParam = updatedAt ? `?updatedAt=${updatedAt}` : ''\n\n // If entityId and entityType are provided, construct the URL using them\n if (entityId && entityType) {\n const entityUrl = `/api/projects/${projectName}/${entityType}s/${entityId}/thumbnail`\n return `${entityUrl}${updatedAtQueryParam}`\n }\n\n // If entityId and entityType are not provided, fallback on thumbnailId\n const thumbnailUrl = `/api/projects/${projectName}/thumbnails/${thumbnailId}`\n return `${thumbnailUrl}${updatedAtQueryParam}`\n}\n\ninterface EntityTooltipProps {\n type?: string\n id?: string\n pos?: {\n left?: number\n top?: number\n }\n projectName?: string\n projectInfo?: any\n}\n\nconst EntityTooltip: React.FC<EntityTooltipProps> = ({\n type,\n id,\n pos: { left = 0, top = 0 } = {},\n}) => {\n const { entityTooltipData, isFetchingTooltip, projectInfo, projectName } = useFeedContext()\n const project = useProjectContext()\n\n const width = 220\n\n // check x is not offScreen\n if (left + width / 2 > window.innerWidth) left = window.innerWidth - width / 2\n\n const {\n title,\n subTitle,\n path,\n taskType,\n productType,\n users = [],\n thumbnailId,\n updatedAt,\n status,\n } = entityTooltipData || {}\n\n const { taskTypes = [], statuses = [] } = projectInfo\n\n const taskIcon = taskTypes.find((type: any) => type.name === taskType)?.icon\n const statusObject = statuses.find((s: Status) => s.name === status)\n const thumbnailUrl = getThumbnailUrl({\n entityId: id,\n entityType: type,\n thumbnailId,\n updatedAt,\n projectName,\n })\n const productIcon = project.getProductType(productType).icon\n\n const icons: Record<string, string | undefined> = {\n task: taskIcon,\n version: productIcon,\n }\n\n if (!type) return null\n\n return (\n <Styled.TooltipEntityCard\n style={{ left, top, maxWidth: width }}\n title={title}\n header={subTitle}\n path={path}\n showPath\n status={statusObject}\n users={users}\n hidePriority\n isLoading={isFetchingTooltip}\n loadingSections={['header', 'title', 'users', 'status']}\n titleIcon={icons[type || '']}\n imageUrl={thumbnailUrl || undefined}\n />\n )\n}\n\nexport default EntityTooltip\n"],"names":["getThumbnailUrl","entityId","entityType","thumbnailId","updatedAt","projectName","updatedAtQueryParam","EntityTooltip","type","id","left","top","entityTooltipData","isFetchingTooltip","projectInfo","useFeedContext","project","useProjectContext","width","title","subTitle","path","taskType","productType","users","status","taskTypes","statuses","taskIcon","_a","statusObject","thumbnailUrl","productIcon","icons","jsx","Styled.TooltipEntityCard"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,MAAMA,IAAkB,CAAC;AAAA,EACvB,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAAC;AACF,MAA0B;AAEpB,MAAA,CAACA,KAAgB,CAACF,MAAgB,CAACF,KAAY,CAACC,GAAqB,QAAA;AAGzE,QAAMI,IAAsBF,IAAY,cAAcA,CAAS,KAAK;AAGpE,SAAIH,KAAYC,IAEP,GADW,iBAAiBG,CAAW,IAAIH,CAAU,KAAKD,CAAQ,YACtD,GAAGK,CAAmB,KAKpC,GADc,iBAAiBD,CAAW,eAAeF,CAAW,EACrD,GAAGG,CAAmB;AAC9C,GAaMC,KAA8C,CAAC;AAAA,EACnD,MAAAC;AAAA,EACA,IAAAC;AAAA,EACA,KAAK,EAAE,MAAAC,IAAO,GAAG,KAAAC,IAAM,EAAA,IAAM,CAAA;AAC/B,MAAM;;AACJ,QAAM,EAAE,mBAAAC,GAAmB,mBAAAC,GAAmB,aAAAC,GAAa,aAAAT,EAAA,IAAgBU,EAAe,GACpFC,IAAUC,EAAkB,GAE5BC,IAAQ;AAGV,EAAAR,IAAOQ,IAAQ,IAAI,OAAO,eAAmBR,IAAA,OAAO,aAAaQ,IAAQ;AAEvE,QAAA;AAAA,IACJ,OAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC;AAAA,IACA,OAAAC,IAAQ,CAAC;AAAA,IACT,aAAArB;AAAA,IACA,WAAAC;AAAA,IACA,QAAAqB;AAAA,EACF,IAAIb,KAAqB,CAAC,GAEpB,EAAE,WAAAc,IAAY,CAAA,GAAI,UAAAC,IAAW,CAAA,EAAO,IAAAb,GAEpCc,KAAWC,IAAAH,EAAU,KAAK,CAAClB,MAAcA,EAAK,SAASc,CAAQ,MAApD,gBAAAO,EAAuD,MAClEC,IAAeH,EAAS,KAAK,CAAC,MAAc,EAAE,SAASF,CAAM,GAC7DM,IAAe/B,EAAgB;AAAA,IACnC,UAAUS;AAAA,IACV,YAAYD;AAAA,IACZ,aAAAL;AAAA,IACA,WAAAC;AAAA,IACA,aAAAC;AAAA,EAAA,CACD,GACK2B,IAAchB,EAAQ,eAAeO,CAAW,EAAE,MAElDU,IAA4C;AAAA,IAChD,MAAML;AAAA,IACN,SAASI;AAAA,EACX;AAEI,SAACxB,IAGH0B,gBAAAA,EAAA;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,OAAO,EAAE,MAAAzB,GAAM,KAAAC,GAAK,UAAUO,EAAM;AAAA,MACpC,OAAAC;AAAA,MACA,QAAQC;AAAA,MACR,MAAAC;AAAA,MACA,UAAQ;AAAA,MACR,QAAQS;AAAA,MACR,OAAAN;AAAA,MACA,cAAY;AAAA,MACZ,WAAWX;AAAA,MACX,iBAAiB,CAAC,UAAU,SAAS,SAAS,QAAQ;AAAA,MACtD,WAAWoB,EAAMzB,KAAQ,EAAE;AAAA,MAC3B,UAAUuB,KAAgB;AAAA,IAAA;AAAA,EAC5B,IAhBgB;AAkBpB;"}
1
+ {"version":3,"file":"EntityTooltip.es.js","sources":["../../../../../../../../src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.tsx"],"sourcesContent":["import * as Styled from './EntityTooltip.styled'\nimport { useFeedContext } from '@shared/containers/Feed'\nimport { Status } from '@shared/containers/ProjectTreeTable/types/project'\nimport { useProjectContext } from '@shared/context'\n\ninterface ThumbnailUrlParams {\n entityId?: string\n entityType?: string\n thumbnailId?: string\n updatedAt?: string\n projectName?: string\n}\n\nconst getThumbnailUrl = ({\n entityId,\n entityType,\n thumbnailId,\n updatedAt,\n projectName,\n}: ThumbnailUrlParams) => {\n // If projectName is not provided or neither thumbnailId nor entityId and entityType are provided, return null\n if (!projectName || (!thumbnailId && (!entityId || !entityType))) return null\n\n // Construct the updatedAt query parameter if updatedAt is provided\n const updatedAtQueryParam = updatedAt ? `?updatedAt=${updatedAt}` : ''\n\n // If entityId and entityType are provided, construct the URL using them\n if (entityId && entityType) {\n const entityUrl = `/api/projects/${projectName}/${entityType}s/${entityId}/thumbnail`\n return `${entityUrl}${updatedAtQueryParam}`\n }\n\n // If entityId and entityType are not provided, fallback on thumbnailId\n const thumbnailUrl = `/api/projects/${projectName}/thumbnails/${thumbnailId}`\n return `${thumbnailUrl}${updatedAtQueryParam}`\n}\n\ninterface EntityTooltipProps {\n type?: string\n id?: string\n pos?: {\n left?: number\n top?: number\n }\n projectName?: string\n projectInfo?: any\n}\n\nconst EntityTooltip: React.FC<EntityTooltipProps> = ({\n type,\n id,\n pos: { left = 0, top = 0 } = {},\n}) => {\n const { entityTooltipData, isFetchingTooltip, projectInfo, projectName } = useFeedContext()\n const project = useProjectContext()\n\n const width = 220\n\n // check x is not offScreen\n if (left + width / 2 > window.innerWidth) left = window.innerWidth - width / 2\n\n const {\n title,\n subTitle,\n path,\n taskType,\n productType,\n users = [],\n thumbnailId,\n updatedAt,\n status,\n } = entityTooltipData || {}\n\n const { taskTypes = [], statuses = [] } = projectInfo\n\n const taskIcon = taskTypes.find((type: any) => type.name === taskType)?.icon\n const statusObject = statuses.find((s: Status) => s.name === status)\n const thumbnailUrl = getThumbnailUrl({\n entityId: id,\n entityType: type,\n thumbnailId,\n updatedAt,\n projectName,\n })\n const productIcon = project.getProductType(productType).icon\n\n const icons: Record<string, string | undefined> = {\n task: taskIcon,\n version: productIcon,\n }\n\n if (!type) return null\n\n return (\n <Styled.TooltipEntityCard\n style={{ left, top, maxWidth: width }}\n title={title}\n header={subTitle}\n path={path}\n showPath\n status={statusObject}\n users={users}\n hidePriority\n isLoading={isFetchingTooltip}\n loadingSections={['header', 'title', 'users', 'status']}\n titleIcon={icons[type || '']}\n imageUrl={thumbnailUrl || undefined}\n />\n )\n}\n\nexport default EntityTooltip\n"],"names":["getThumbnailUrl","entityId","entityType","thumbnailId","updatedAt","projectName","updatedAtQueryParam","EntityTooltip","type","id","left","top","entityTooltipData","isFetchingTooltip","projectInfo","useFeedContext","project","useProjectContext","width","title","subTitle","path","taskType","productType","users","status","taskTypes","statuses","taskIcon","_a","statusObject","thumbnailUrl","productIcon","icons","jsx","Styled.TooltipEntityCard"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,MAAMA,IAAkB,CAAC;AAAA,EACvB,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAAC;AACF,MAA0B;AAEpB,MAAA,CAACA,KAAgB,CAACF,MAAgB,CAACF,KAAY,CAACC,GAAqB,QAAA;AAGzE,QAAMI,IAAsBF,IAAY,cAAcA,CAAS,KAAK;AAGpE,SAAIH,KAAYC,IAEP,GADW,iBAAiBG,CAAW,IAAIH,CAAU,KAAKD,CAAQ,YACtD,GAAGK,CAAmB,KAKpC,GADc,iBAAiBD,CAAW,eAAeF,CAAW,EACrD,GAAGG,CAAmB;AAC9C,GAaMC,KAA8C,CAAC;AAAA,EACnD,MAAAC;AAAA,EACA,IAAAC;AAAA,EACA,KAAK,EAAE,MAAAC,IAAO,GAAG,KAAAC,IAAM,EAAA,IAAM,CAAA;AAC/B,MAAM;;AACJ,QAAM,EAAE,mBAAAC,GAAmB,mBAAAC,GAAmB,aAAAC,GAAa,aAAAT,EAAA,IAAgBU,EAAe,GACpFC,IAAUC,EAAkB,GAE5BC,IAAQ;AAGV,EAAAR,IAAOQ,IAAQ,IAAI,OAAO,eAAmBR,IAAA,OAAO,aAAaQ,IAAQ;AAEvE,QAAA;AAAA,IACJ,OAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC;AAAA,IACA,OAAAC,IAAQ,CAAC;AAAA,IACT,aAAArB;AAAA,IACA,WAAAC;AAAA,IACA,QAAAqB;AAAA,EACF,IAAIb,KAAqB,CAAC,GAEpB,EAAE,WAAAc,IAAY,CAAA,GAAI,UAAAC,IAAW,CAAA,EAAO,IAAAb,GAEpCc,KAAWC,IAAAH,EAAU,KAAK,CAAClB,MAAcA,EAAK,SAASc,CAAQ,MAApD,gBAAAO,EAAuD,MAClEC,IAAeH,EAAS,KAAK,CAAC,MAAc,EAAE,SAASF,CAAM,GAC7DM,IAAe/B,EAAgB;AAAA,IACnC,UAAUS;AAAA,IACV,YAAYD;AAAA,IACZ,aAAAL;AAAA,IACA,WAAAC;AAAA,IACA,aAAAC;AAAA,EAAA,CACD,GACK2B,IAAchB,EAAQ,eAAeO,CAAW,EAAE,MAElDU,IAA4C;AAAA,IAChD,MAAML;AAAA,IACN,SAASI;AAAA,EACX;AAEI,SAACxB,IAGH0B,gBAAAA,EAAA;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,OAAO,EAAE,MAAAzB,GAAM,KAAAC,GAAK,UAAUO,EAAM;AAAA,MACpC,OAAAC;AAAA,MACA,QAAQC;AAAA,MACR,MAAAC;AAAA,MACA,UAAQ;AAAA,MACR,QAAQS;AAAA,MACR,OAAAN;AAAA,MACA,cAAY;AAAA,MACZ,WAAWX;AAAA,MACX,iBAAiB,CAAC,UAAU,SAAS,SAAS,QAAQ;AAAA,MACtD,WAAWoB,EAAMzB,KAAQ,EAAE;AAAA,MAC3B,UAAUuB,KAAgB;AAAA,IAAA;AAAA,EAC5B,IAhBgB;AAkBpB;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const I=require("../../../../../_virtual/jsx-runtime.cjs.js"),u=require("react"),Q=require("../hooks/useGetFeedActivitiesData.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");const o=require("../../../api/queries/activities/getActivities.cjs.js"),q=require("../../../api/queries/activities/updateActivities.cjs.js"),y=require("../../../api/queries/activities/updateReaction.cjs.js"),U=require("../../../api/queries/activities/getMentions.cjs.js"),O=require("../../../api/queries/activities/getCategories.cjs.js"),k=require("../../../api/queries/activities/util/activitiesHelpers.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");const W=require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");const H="__new__",d=u.createContext(void 0),z=({children:i,...e})=>{var c;const{isGuest:v}=W.useDetailsPanelContext(),{data:g=[]}=o.useGetActivityUsersQuery({projects:[e.projectName]}),{currentTab:n}=e,[s,l]=u.useState(null),[r,A]=u.useState(null),[E,{isLoading:j}]=q.useCreateEntityActivityMutation(),[m,{isLoading:p}]=q.useUpdateActivityMutation(),[C,{isLoading:M}]=q.useDeleteActivityMutation(),w=j||p||M,N=async t=>await E(t).unwrap(),T=async t=>await m(t).unwrap(),x=async t=>await C(t).unwrap(),[F]=y.useCreateReactionToActivityMutation(),[R]=y.useDeleteReactionToActivityMutation(),D=async t=>await F(t).unwrap(),P=async t=>await R(t).unwrap(),a=k.getFilterActivityTypes(n),_=Q({entities:e.entities,filter:n,activityTypes:a,projectName:e.projectName,entityType:e.entityType}),G=!e.projectName||!(r!=null&&r.id)||r.type==="user",{data:L,isFetching:S}=o.useGetEntityTooltipQuery({entityType:r==null?void 0:r.type,entityId:r==null?void 0:r.id,projectName:e.projectName},{skip:G}),{data:b={}}=U.useGetEntityMentionsQuery({suggestRequest:{entityType:e.entityType,entityId:(c=e.entities[0])==null?void 0:c.id},projectName:e.projectName},{skip:!s}),{data:h=[]}=O.useGetActivityCategoriesQuery({projectName:e.projectName});return I.jsxRuntimeExports.jsx(d.Provider,{value:{...e,..._,mentionSuggestionsData:b,categories:h,users:g,isUpdatingActivity:w,entityTooltipData:L,isFetchingTooltip:S,refTooltip:r,activityTypes:a,currentTab:n,isGuest:v,editingId:s,setEditingId:l,setRefTooltip:A,createEntityActivity:N,updateActivity:T,deleteActivity:x,createReaction:D,deleteReaction:P},children:i})},B=()=>{const i=u.useContext(d);if(!i)throw new Error("useFeedContext must be used within a FeedProvider");return i};exports.FEED_NEW_COMMENT=H;exports.FeedProvider=z;exports.useFeedContext=B;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const I=require("../../../../../_virtual/jsx-runtime.cjs.js"),u=require("react"),Q=require("../hooks/useGetFeedActivitiesData.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");const o=require("../../../api/queries/activities/getActivities.cjs.js"),q=require("../../../api/queries/activities/updateActivities.cjs.js"),y=require("../../../api/queries/activities/updateReaction.cjs.js"),U=require("../../../api/queries/activities/getMentions.cjs.js"),O=require("../../../api/queries/activities/getCategories.cjs.js"),k=require("../../../api/queries/activities/util/activitiesHelpers.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");const W=require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");const H="__new__",d=u.createContext(void 0),z=({children:i,...e})=>{var c;const{isGuest:v}=W.useDetailsPanelContext(),{data:g=[]}=o.useGetActivityUsersQuery({projects:[e.projectName]}),{currentTab:n}=e,[s,l]=u.useState(null),[r,A]=u.useState(null),[E,{isLoading:j}]=q.useCreateEntityActivityMutation(),[m,{isLoading:p}]=q.useUpdateActivityMutation(),[C,{isLoading:M}]=q.useDeleteActivityMutation(),w=j||p||M,N=async t=>await E(t).unwrap(),T=async t=>await m(t).unwrap(),x=async t=>await C(t).unwrap(),[F]=y.useCreateReactionToActivityMutation(),[R]=y.useDeleteReactionToActivityMutation(),D=async t=>await F(t).unwrap(),P=async t=>await R(t).unwrap(),a=k.getFilterActivityTypes(n),_=Q({entities:e.entities,filter:n,activityTypes:a,projectName:e.projectName,entityType:e.entityType}),G=!e.projectName||!(r!=null&&r.id)||r.type==="user",{data:L,isFetching:S}=o.useGetEntityTooltipQuery({entityType:r==null?void 0:r.type,entityId:r==null?void 0:r.id,projectName:e.projectName},{skip:G}),{data:b={}}=U.useGetEntityMentionsQuery({suggestRequest:{entityType:e.entityType,entityId:(c=e.entities[0])==null?void 0:c.id},projectName:e.projectName},{skip:!s}),{data:h=[]}=O.useGetActivityCategoriesQuery({projectName:e.projectName});return I.jsxRuntimeExports.jsx(d.Provider,{value:{...e,..._,mentionSuggestionsData:b,categories:h,users:g,isUpdatingActivity:w,entityTooltipData:L,isFetchingTooltip:S,refTooltip:r,activityTypes:a,currentTab:n,isGuest:v,editingId:s,setEditingId:l,setRefTooltip:A,createEntityActivity:N,updateActivity:T,deleteActivity:x,createReaction:D,deleteReaction:P},children:i})},B=()=>{const i=u.useContext(d);if(!i)throw new Error("useFeedContext must be used within a FeedProvider");return i};exports.FEED_NEW_COMMENT=H;exports.FeedProvider=z;exports.useFeedContext=B;
2
2
  //# sourceMappingURL=FeedContext.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FeedContext.cjs.js","sources":["../../../../../../src/containers/Feed/context/FeedContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useState } from 'react'\nimport useGetFeedActivitiesData from '../hooks/useGetFeedActivitiesData'\n\n// Queries\nimport {\n useCreateEntityActivityMutation,\n useDeleteActivityMutation,\n useUpdateActivityMutation,\n useCreateReactionToActivityMutation,\n useDeleteReactionToActivityMutation,\n useGetActivityUsersQuery,\n useGetEntityMentionsQuery,\n useGetEntityTooltipQuery,\n useGetActivityCategoriesQuery,\n} from '@shared/api'\nimport type { ActivityCategory, SuggestRequest, SuggestResponse } from '@shared/api'\nimport { ActivityUser } from '../helpers/groupMinorActivities'\nimport {\n DetailsPanelTab,\n PowerpackFeature,\n useDetailsPanelContext,\n} from '@shared/context'\nimport { getFilterActivityTypes } from '@shared/api'\n\nexport const FEED_NEW_COMMENT = '__new__' as const\n\nexport type EditingState = null | typeof FEED_NEW_COMMENT | string\n\n// Add type for the refTooltip\nexport interface RefTooltip {\n id: string | null\n type: string\n name: string\n label: string\n pos: {\n top: number\n left: number\n }\n}\n\nexport type FeedContextProps = {\n children: React.ReactNode\n projectName: string\n entityType: string\n activityTypes?: string[] | null\n entities: any[]\n projectInfo: any\n scope: string\n userName: string\n userFullName: string\n\n // annotations\n annotations?: Record<string, any>\n removeAnnotation?: (id: string) => void\n exportAnnotationComposite?: (id: string) => Promise<Blob | null>\n // currentTab\n currentTab: DetailsPanelTab\n setCurrentTab: (tab: DetailsPanelTab) => void\n}\n\ninterface FeedContextType extends Omit<FeedContextProps, 'children'> {\n // local UI state\n editingId: EditingState\n setEditingId: (id: EditingState) => void\n // activities data props\n activitiesData: any[]\n isLoadingActivities: boolean\n isLoadingNew: boolean\n isLoadingNextPage: boolean\n hasNextPage: boolean\n loadNextPage?: () => Promise<any>\n // refTooltip state and functions\n refTooltip: RefTooltip | null\n setRefTooltip: (tooltip: RefTooltip | null) => void\n // tooltip data\n entityTooltipData: any\n isFetchingTooltip: boolean\n // query functions\n createEntityActivity: (args: any) => Promise<any>\n updateActivity: (args: any) => Promise<any>\n deleteActivity: (args: any) => Promise<any>\n createReaction: (args: any) => Promise<any>\n deleteReaction: (args: any) => Promise<any>\n isUpdatingActivity: boolean\n // users data\n users: ActivityUser[]\n isGuest: boolean\n // mentions data\n mentionSuggestionsData: SuggestResponse\n // categories data\n categories: ActivityCategory[]\n}\n\nconst FeedContext = createContext<FeedContextType | undefined>(undefined)\n\nexport const FeedProvider = ({ children, ...props }: FeedContextProps) => {\n const { isGuest } = useDetailsPanelContext()\n const { data: users = [] } = useGetActivityUsersQuery({ projects: [props.projectName] })\n const { currentTab } = props\n const [editingId, setEditingId] = useState<EditingState>(null)\n const [refTooltip, setRefTooltip] = useState<RefTooltip | null>(null)\n\n // queries\n const [createEntityActivityMutation, { isLoading: isLoadingCreate }] =\n useCreateEntityActivityMutation()\n const [updateActivityMutation, { isLoading: isLoadingUpdate }] = useUpdateActivityMutation()\n const [deleteActivityMutation, { isLoading: isLoadingDelete }] = useDeleteActivityMutation()\n const isUpdatingActivity = isLoadingCreate || isLoadingUpdate || isLoadingDelete\n\n const createEntityActivity: FeedContextType['createEntityActivity'] = async (args) =>\n await createEntityActivityMutation(args).unwrap()\n const updateActivity: FeedContextType['updateActivity'] = async (args) =>\n await updateActivityMutation(args).unwrap()\n const deleteActivity: FeedContextType['deleteActivity'] = async (args) =>\n await deleteActivityMutation(args).unwrap()\n\n const [createReactionToActivity] = useCreateReactionToActivityMutation()\n const [deleteReactionToActivity] = useDeleteReactionToActivityMutation()\n\n const createReaction: FeedContextType['createReaction'] = async (args) =>\n await createReactionToActivity(args).unwrap()\n const deleteReaction: FeedContextType['deleteReaction'] = async (args) =>\n await deleteReactionToActivity(args).unwrap()\n\n const activityTypes = getFilterActivityTypes(currentTab)\n\n const activitiesDataProps = useGetFeedActivitiesData({\n entities: props.entities,\n filter: currentTab,\n activityTypes: activityTypes,\n projectName: props.projectName,\n entityType: props.entityType,\n })\n const skip = !props.projectName || !refTooltip?.id || refTooltip.type === 'user'\n const { data: entityTooltipData, isFetching: isFetchingTooltip } = useGetEntityTooltipQuery(\n { entityType: refTooltip?.type, entityId: refTooltip?.id, projectName: props.projectName },\n { skip: skip },\n )\n\n // get all versions that can be mentioned\n const { data: mentionSuggestionsData = {} } = useGetEntityMentionsQuery(\n {\n suggestRequest: {\n entityType: props.entityType as SuggestRequest['entityType'],\n entityId: props.entities[0]?.id,\n },\n projectName: props.projectName,\n },\n { skip: !editingId },\n )\n\n // get comment categories for this project and user\n const { data: categories = [] } = useGetActivityCategoriesQuery({\n projectName: props.projectName,\n })\n\n return (\n <FeedContext.Provider\n value={{\n ...props,\n ...activitiesDataProps,\n mentionSuggestionsData,\n categories,\n users,\n isUpdatingActivity,\n entityTooltipData,\n isFetchingTooltip,\n refTooltip,\n activityTypes,\n currentTab,\n isGuest,\n editingId,\n setEditingId,\n setRefTooltip,\n // Query functions\n createEntityActivity,\n updateActivity,\n deleteActivity,\n createReaction,\n deleteReaction,\n }}\n >\n {children}\n </FeedContext.Provider>\n )\n}\n\nexport const useFeedContext = () => {\n const context = useContext(FeedContext)\n if (!context) {\n throw new Error('useFeedContext must be used within a FeedProvider')\n }\n return context\n}\n"],"names":["FEED_NEW_COMMENT","FeedContext","createContext","FeedProvider","children","props","isGuest","useDetailsPanelContext","users","useGetActivityUsersQuery","currentTab","editingId","setEditingId","useState","refTooltip","setRefTooltip","createEntityActivityMutation","isLoadingCreate","useCreateEntityActivityMutation","updateActivityMutation","isLoadingUpdate","useUpdateActivityMutation","deleteActivityMutation","isLoadingDelete","useDeleteActivityMutation","isUpdatingActivity","createEntityActivity","args","updateActivity","deleteActivity","createReactionToActivity","useCreateReactionToActivityMutation","deleteReactionToActivity","useDeleteReactionToActivityMutation","createReaction","deleteReaction","activityTypes","getFilterActivityTypes","activitiesDataProps","useGetFeedActivitiesData","skip","entityTooltipData","isFetchingTooltip","useGetEntityTooltipQuery","mentionSuggestionsData","useGetEntityMentionsQuery","_a","categories","useGetActivityCategoriesQuery","jsx","useFeedContext","context","useContext"],"mappings":"oqLAwBO,MAAMA,EAAmB,UAqE1BC,EAAcC,gBAA2C,MAAS,EAE3DC,EAAe,CAAC,CAAE,SAAAC,EAAU,GAAGC,KAA8B,OAClE,KAAA,CAAE,QAAAC,CAAQ,EAAIC,yBAAuB,EACrC,CAAE,KAAMC,EAAQ,CAAA,GAAOC,EAAAA,yBAAyB,CAAE,SAAU,CAACJ,EAAM,WAAW,EAAG,EACjF,CAAE,WAAAK,GAAeL,EACjB,CAACM,EAAWC,CAAY,EAAIC,EAAAA,SAAuB,IAAI,EACvD,CAACC,EAAYC,CAAa,EAAIF,EAAAA,SAA4B,IAAI,EAG9D,CAACG,EAA8B,CAAE,UAAWC,CAAiB,CAAA,EACjEC,EAAAA,gCAAgC,EAC5B,CAACC,EAAwB,CAAE,UAAWC,CAAiB,CAAA,EAAIC,EAAAA,0BAA0B,EACrF,CAACC,EAAwB,CAAE,UAAWC,CAAiB,CAAA,EAAIC,EAAAA,0BAA0B,EACrFC,EAAqBR,GAAmBG,GAAmBG,EAE3DG,EAAgE,MAAOC,GAC3E,MAAMX,EAA6BW,CAAI,EAAE,OAAO,EAC5CC,EAAoD,MAAOD,GAC/D,MAAMR,EAAuBQ,CAAI,EAAE,OAAO,EACtCE,EAAoD,MAAOF,GAC/D,MAAML,EAAuBK,CAAI,EAAE,OAAO,EAEtC,CAACG,CAAwB,EAAIC,sCAAoC,EACjE,CAACC,CAAwB,EAAIC,sCAAoC,EAEjEC,EAAoD,MAAOP,GAC/D,MAAMG,EAAyBH,CAAI,EAAE,OAAO,EACxCQ,EAAoD,MAAOR,GAC/D,MAAMK,EAAyBL,CAAI,EAAE,OAAO,EAExCS,EAAgBC,yBAAuB3B,CAAU,EAEjD4B,EAAsBC,EAAyB,CACnD,SAAUlC,EAAM,SAChB,OAAQK,EACR,cAAA0B,EACA,YAAa/B,EAAM,YACnB,WAAYA,EAAM,UAAA,CACnB,EACKmC,EAAO,CAACnC,EAAM,aAAe,EAACS,GAAA,MAAAA,EAAY,KAAMA,EAAW,OAAS,OACpE,CAAE,KAAM2B,EAAmB,WAAYC,CAAsB,EAAAC,EAAA,yBACjE,CAAE,WAAY7B,GAAA,YAAAA,EAAY,KAAM,SAAUA,GAAA,YAAAA,EAAY,GAAI,YAAaT,EAAM,WAAY,EACzF,CAAE,KAAAmC,CAAW,CACf,EAGM,CAAE,KAAMI,EAAyB,CAAA,CAAO,EAAAC,EAAA,0BAC5C,CACE,eAAgB,CACd,WAAYxC,EAAM,WAClB,UAAUyC,EAAAzC,EAAM,SAAS,CAAC,IAAhB,YAAAyC,EAAmB,EAC/B,EACA,YAAazC,EAAM,WACrB,EACA,CAAE,KAAM,CAACM,CAAU,CACrB,EAGM,CAAE,KAAMoC,EAAa,CAAC,CAAA,EAAMC,EAAAA,8BAA8B,CAC9D,YAAa3C,EAAM,WAAA,CACpB,EAGC,OAAA4C,EAAA,kBAAA,IAAChD,EAAY,SAAZ,CACC,MAAO,CACL,GAAGI,EACH,GAAGiC,EACH,uBAAAM,EACA,WAAAG,EACA,MAAAvC,EACA,mBAAAiB,EACA,kBAAAgB,EACA,kBAAAC,EACA,WAAA5B,EACA,cAAAsB,EACA,WAAA1B,EACA,QAAAJ,EACA,UAAAK,EACA,aAAAC,EACA,cAAAG,EAEA,qBAAAW,EACA,eAAAE,EACA,eAAAC,EACA,eAAAK,EACA,eAAAC,CACF,EAEC,SAAA/B,CAAA,CACH,CAEJ,EAEa8C,EAAiB,IAAM,CAC5B,MAAAC,EAAUC,aAAWnD,CAAW,EACtC,GAAI,CAACkD,EACG,MAAA,IAAI,MAAM,mDAAmD,EAE9D,OAAAA,CACT"}
1
+ {"version":3,"file":"FeedContext.cjs.js","sources":["../../../../../../src/containers/Feed/context/FeedContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useState } from 'react'\nimport useGetFeedActivitiesData from '../hooks/useGetFeedActivitiesData'\n\n// Queries\nimport {\n useCreateEntityActivityMutation,\n useDeleteActivityMutation,\n useUpdateActivityMutation,\n useCreateReactionToActivityMutation,\n useDeleteReactionToActivityMutation,\n useGetActivityUsersQuery,\n useGetEntityMentionsQuery,\n useGetEntityTooltipQuery,\n useGetActivityCategoriesQuery,\n} from '@shared/api'\nimport type { ActivityCategory, SuggestRequest, SuggestResponse } from '@shared/api'\nimport { ActivityUser } from '../helpers/groupMinorActivities'\nimport {\n DetailsPanelTab,\n PowerpackFeature,\n useDetailsPanelContext,\n} from '@shared/context'\nimport { getFilterActivityTypes } from '@shared/api'\n\nexport const FEED_NEW_COMMENT = '__new__' as const\n\nexport type EditingState = null | typeof FEED_NEW_COMMENT | string\n\n// Add type for the refTooltip\nexport interface RefTooltip {\n id: string | null\n type: string\n name: string\n label: string\n pos: {\n top: number\n left: number\n }\n}\n\nexport type FeedContextProps = {\n children: React.ReactNode\n projectName: string\n entityType: string\n activityTypes?: string[] | null\n entities: any[]\n projectInfo: any\n scope: string\n userName: string\n userFullName: string\n\n // annotations\n annotations?: Record<string, any>\n removeAnnotation?: (id: string) => void\n exportAnnotationComposite?: (id: string) => Promise<Blob | null>\n // currentTab\n currentTab: DetailsPanelTab\n setCurrentTab: (tab: DetailsPanelTab) => void\n}\n\ninterface FeedContextType extends Omit<FeedContextProps, 'children'> {\n // local UI state\n editingId: EditingState\n setEditingId: (id: EditingState) => void\n // activities data props\n activitiesData: any[]\n isLoadingActivities: boolean\n isLoadingNew: boolean\n isLoadingNextPage: boolean\n hasNextPage: boolean\n loadNextPage?: () => Promise<any>\n // refTooltip state and functions\n refTooltip: RefTooltip | null\n setRefTooltip: (tooltip: RefTooltip | null) => void\n // tooltip data\n entityTooltipData: any\n isFetchingTooltip: boolean\n // query functions\n createEntityActivity: (args: any) => Promise<any>\n updateActivity: (args: any) => Promise<any>\n deleteActivity: (args: any) => Promise<any>\n createReaction: (args: any) => Promise<any>\n deleteReaction: (args: any) => Promise<any>\n isUpdatingActivity: boolean\n // users data\n users: ActivityUser[]\n isGuest: boolean\n // mentions data\n mentionSuggestionsData: SuggestResponse\n // categories data\n categories: ActivityCategory[]\n}\n\nconst FeedContext = createContext<FeedContextType | undefined>(undefined)\n\nexport const FeedProvider = ({ children, ...props }: FeedContextProps) => {\n const { isGuest } = useDetailsPanelContext()\n const { data: users = [] } = useGetActivityUsersQuery({ projects: [props.projectName] })\n const { currentTab } = props\n const [editingId, setEditingId] = useState<EditingState>(null)\n const [refTooltip, setRefTooltip] = useState<RefTooltip | null>(null)\n\n // queries\n const [createEntityActivityMutation, { isLoading: isLoadingCreate }] =\n useCreateEntityActivityMutation()\n const [updateActivityMutation, { isLoading: isLoadingUpdate }] = useUpdateActivityMutation()\n const [deleteActivityMutation, { isLoading: isLoadingDelete }] = useDeleteActivityMutation()\n const isUpdatingActivity = isLoadingCreate || isLoadingUpdate || isLoadingDelete\n\n const createEntityActivity: FeedContextType['createEntityActivity'] = async (args) =>\n await createEntityActivityMutation(args).unwrap()\n const updateActivity: FeedContextType['updateActivity'] = async (args) =>\n await updateActivityMutation(args).unwrap()\n const deleteActivity: FeedContextType['deleteActivity'] = async (args) =>\n await deleteActivityMutation(args).unwrap()\n\n const [createReactionToActivity] = useCreateReactionToActivityMutation()\n const [deleteReactionToActivity] = useDeleteReactionToActivityMutation()\n\n const createReaction: FeedContextType['createReaction'] = async (args) =>\n await createReactionToActivity(args).unwrap()\n const deleteReaction: FeedContextType['deleteReaction'] = async (args) =>\n await deleteReactionToActivity(args).unwrap()\n\n const activityTypes = getFilterActivityTypes(currentTab)\n\n const activitiesDataProps = useGetFeedActivitiesData({\n entities: props.entities,\n filter: currentTab,\n activityTypes: activityTypes,\n projectName: props.projectName,\n entityType: props.entityType,\n })\n const skip = !props.projectName || !refTooltip?.id || refTooltip.type === 'user'\n const { data: entityTooltipData, isFetching: isFetchingTooltip } = useGetEntityTooltipQuery(\n { entityType: refTooltip?.type, entityId: refTooltip?.id, projectName: props.projectName },\n { skip: skip },\n )\n\n // get all versions that can be mentioned\n const { data: mentionSuggestionsData = {} } = useGetEntityMentionsQuery(\n {\n suggestRequest: {\n entityType: props.entityType as SuggestRequest['entityType'],\n entityId: props.entities[0]?.id,\n },\n projectName: props.projectName,\n },\n { skip: !editingId },\n )\n\n // get comment categories for this project and user\n const { data: categories = [] } = useGetActivityCategoriesQuery({\n projectName: props.projectName,\n })\n\n return (\n <FeedContext.Provider\n value={{\n ...props,\n ...activitiesDataProps,\n mentionSuggestionsData,\n categories,\n users,\n isUpdatingActivity,\n entityTooltipData,\n isFetchingTooltip,\n refTooltip,\n activityTypes,\n currentTab,\n isGuest,\n editingId,\n setEditingId,\n setRefTooltip,\n // Query functions\n createEntityActivity,\n updateActivity,\n deleteActivity,\n createReaction,\n deleteReaction,\n }}\n >\n {children}\n </FeedContext.Provider>\n )\n}\n\nexport const useFeedContext = () => {\n const context = useContext(FeedContext)\n if (!context) {\n throw new Error('useFeedContext must be used within a FeedProvider')\n }\n return context\n}\n"],"names":["FEED_NEW_COMMENT","FeedContext","createContext","FeedProvider","children","props","isGuest","useDetailsPanelContext","users","useGetActivityUsersQuery","currentTab","editingId","setEditingId","useState","refTooltip","setRefTooltip","createEntityActivityMutation","isLoadingCreate","useCreateEntityActivityMutation","updateActivityMutation","isLoadingUpdate","useUpdateActivityMutation","deleteActivityMutation","isLoadingDelete","useDeleteActivityMutation","isUpdatingActivity","createEntityActivity","args","updateActivity","deleteActivity","createReactionToActivity","useCreateReactionToActivityMutation","deleteReactionToActivity","useDeleteReactionToActivityMutation","createReaction","deleteReaction","activityTypes","getFilterActivityTypes","activitiesDataProps","useGetFeedActivitiesData","skip","entityTooltipData","isFetchingTooltip","useGetEntityTooltipQuery","mentionSuggestionsData","useGetEntityMentionsQuery","_a","categories","useGetActivityCategoriesQuery","jsx","useFeedContext","context","useContext"],"mappings":"uxLAwBO,MAAMA,EAAmB,UAqE1BC,EAAcC,gBAA2C,MAAS,EAE3DC,EAAe,CAAC,CAAE,SAAAC,EAAU,GAAGC,KAA8B,OAClE,KAAA,CAAE,QAAAC,CAAQ,EAAIC,yBAAuB,EACrC,CAAE,KAAMC,EAAQ,CAAA,GAAOC,EAAAA,yBAAyB,CAAE,SAAU,CAACJ,EAAM,WAAW,EAAG,EACjF,CAAE,WAAAK,GAAeL,EACjB,CAACM,EAAWC,CAAY,EAAIC,EAAAA,SAAuB,IAAI,EACvD,CAACC,EAAYC,CAAa,EAAIF,EAAAA,SAA4B,IAAI,EAG9D,CAACG,EAA8B,CAAE,UAAWC,CAAiB,CAAA,EACjEC,EAAAA,gCAAgC,EAC5B,CAACC,EAAwB,CAAE,UAAWC,CAAiB,CAAA,EAAIC,EAAAA,0BAA0B,EACrF,CAACC,EAAwB,CAAE,UAAWC,CAAiB,CAAA,EAAIC,EAAAA,0BAA0B,EACrFC,EAAqBR,GAAmBG,GAAmBG,EAE3DG,EAAgE,MAAOC,GAC3E,MAAMX,EAA6BW,CAAI,EAAE,OAAO,EAC5CC,EAAoD,MAAOD,GAC/D,MAAMR,EAAuBQ,CAAI,EAAE,OAAO,EACtCE,EAAoD,MAAOF,GAC/D,MAAML,EAAuBK,CAAI,EAAE,OAAO,EAEtC,CAACG,CAAwB,EAAIC,sCAAoC,EACjE,CAACC,CAAwB,EAAIC,sCAAoC,EAEjEC,EAAoD,MAAOP,GAC/D,MAAMG,EAAyBH,CAAI,EAAE,OAAO,EACxCQ,EAAoD,MAAOR,GAC/D,MAAMK,EAAyBL,CAAI,EAAE,OAAO,EAExCS,EAAgBC,yBAAuB3B,CAAU,EAEjD4B,EAAsBC,EAAyB,CACnD,SAAUlC,EAAM,SAChB,OAAQK,EACR,cAAA0B,EACA,YAAa/B,EAAM,YACnB,WAAYA,EAAM,UAAA,CACnB,EACKmC,EAAO,CAACnC,EAAM,aAAe,EAACS,GAAA,MAAAA,EAAY,KAAMA,EAAW,OAAS,OACpE,CAAE,KAAM2B,EAAmB,WAAYC,CAAsB,EAAAC,EAAA,yBACjE,CAAE,WAAY7B,GAAA,YAAAA,EAAY,KAAM,SAAUA,GAAA,YAAAA,EAAY,GAAI,YAAaT,EAAM,WAAY,EACzF,CAAE,KAAAmC,CAAW,CACf,EAGM,CAAE,KAAMI,EAAyB,CAAA,CAAO,EAAAC,EAAA,0BAC5C,CACE,eAAgB,CACd,WAAYxC,EAAM,WAClB,UAAUyC,EAAAzC,EAAM,SAAS,CAAC,IAAhB,YAAAyC,EAAmB,EAC/B,EACA,YAAazC,EAAM,WACrB,EACA,CAAE,KAAM,CAACM,CAAU,CACrB,EAGM,CAAE,KAAMoC,EAAa,CAAC,CAAA,EAAMC,EAAAA,8BAA8B,CAC9D,YAAa3C,EAAM,WAAA,CACpB,EAGC,OAAA4C,EAAA,kBAAA,IAAChD,EAAY,SAAZ,CACC,MAAO,CACL,GAAGI,EACH,GAAGiC,EACH,uBAAAM,EACA,WAAAG,EACA,MAAAvC,EACA,mBAAAiB,EACA,kBAAAgB,EACA,kBAAAC,EACA,WAAA5B,EACA,cAAAsB,EACA,WAAA1B,EACA,QAAAJ,EACA,UAAAK,EACA,aAAAC,EACA,cAAAG,EAEA,qBAAAW,EACA,eAAAE,EACA,eAAAC,EACA,eAAAK,EACA,eAAAC,CACF,EAEC,SAAA/B,CAAA,CACH,CAEJ,EAEa8C,EAAiB,IAAM,CAC5B,MAAAC,EAAUC,aAAWnD,CAAW,EACtC,GAAI,CAACkD,EACG,MAAA,IAAI,MAAM,mDAAmD,EAE9D,OAAAA,CACT"}
@@ -52,6 +52,8 @@ import "../../../api/queries/attributes/getAttributes.es.js";
52
52
  import "../../../api/queries/attributes/updateAttributes.es.js";
53
53
  import "../../../api/queries/authentication/getAuthentication.es.js";
54
54
  import "../../../api/queries/cloud/cloud.es.js";
55
+ import "../../../api/queries/config/getConfig.es.js";
56
+ import "../../../api/queries/config/updateConfig.es.js";
55
57
  import "../../../api/queries/entities/getEntity.es.js";
56
58
  import "../../../api/queries/entities/getEntityPanel.es.js";
57
59
  import "../../../api/queries/entities/updateEntity.es.js";
@@ -102,7 +104,7 @@ import "../../../context/GlobalContext.es.js";
102
104
  import "../../../context/ProjectContext.es.js";
103
105
  import "../../../context/ProjectFoldersContext.es.js";
104
106
  import "../../../context/UriContext.es.js";
105
- const Bi = "__new__", s = I(void 0), Hi = ({ children: e, ...t }) => {
107
+ const Ji = "__new__", s = I(void 0), Ki = ({ children: e, ...t }) => {
106
108
  var n;
107
109
  const { isGuest: c } = K(), { data: u = [] } = b({ projects: [t.projectName] }), { currentTab: r } = t, [m, y] = a(null), [i, d] = a(null), [v, { isLoading: g }] = S(), [A, { isLoading: l }] = q(), [j, { isLoading: w }] = O(), E = g || l || w, N = async (o) => await v(o).unwrap(), T = async (o) => await A(o).unwrap(), x = async (o) => await j(o).unwrap(), [C] = W(), [M] = z(), F = async (o) => await C(o).unwrap(), D = async (o) => await M(o).unwrap(), p = J(r), R = U({
108
110
  entities: t.entities,
@@ -154,15 +156,15 @@ const Bi = "__new__", s = I(void 0), Hi = ({ children: e, ...t }) => {
154
156
  children: e
155
157
  }
156
158
  );
157
- }, Ji = () => {
159
+ }, Vi = () => {
158
160
  const e = Q(s);
159
161
  if (!e)
160
162
  throw new Error("useFeedContext must be used within a FeedProvider");
161
163
  return e;
162
164
  };
163
165
  export {
164
- Bi as FEED_NEW_COMMENT,
165
- Hi as FeedProvider,
166
- Ji as useFeedContext
166
+ Ji as FEED_NEW_COMMENT,
167
+ Ki as FeedProvider,
168
+ Vi as useFeedContext
167
169
  };
168
170
  //# sourceMappingURL=FeedContext.es.js.map