@ynput/ayon-frontend-shared 0.2.32 → 0.2.33

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 (579) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +29 -22
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/Feed.cjs.js +1 -1
  5. package/dist/Feed.es.js +11 -9
  6. package/dist/Feed.es.js.map +1 -1
  7. package/dist/Views.cjs.js.map +1 -1
  8. package/dist/Views.es.js.map +1 -1
  9. package/dist/_virtual/index.cjs5.js +1 -1
  10. package/dist/_virtual/index.cjs6.js +1 -1
  11. package/dist/_virtual/index.es5.js +2 -5
  12. package/dist/_virtual/index.es5.js.map +1 -1
  13. package/dist/_virtual/index.es6.js +5 -2
  14. package/dist/_virtual/index.es6.js.map +1 -1
  15. package/dist/api.cjs.js +1 -1
  16. package/dist/api.es.js +219 -217
  17. package/dist/api.es.js.map +1 -1
  18. package/dist/components.cjs.js +1 -1
  19. package/dist/components.es.js +84 -71
  20. package/dist/components.es.js.map +1 -1
  21. package/dist/index.cjs.js +1 -1
  22. package/dist/index.es.js +16 -9
  23. package/dist/index.es.js.map +1 -1
  24. package/dist/node_modules/rehype-prism-plus/dist/index.es.cjs.js +1 -1
  25. package/dist/node_modules/rehype-prism-plus/dist/index.es.es.js +1 -1
  26. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  27. package/dist/node_modules/remove-accents/index.es.js +1 -1
  28. package/dist/shared/src/api/generated/activityFeed.cjs.js +1 -1
  29. package/dist/shared/src/api/generated/activityFeed.cjs.js.map +1 -1
  30. package/dist/shared/src/api/generated/activityFeed.es.js +3 -0
  31. package/dist/shared/src/api/generated/activityFeed.es.js.map +1 -1
  32. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  33. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  34. package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -1
  35. package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
  36. package/dist/shared/src/api/queries/activities/getActivities.es.js +4 -8
  37. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  38. package/dist/shared/src/api/queries/activities/getCategories.cjs.js +2 -0
  39. package/dist/shared/src/api/queries/activities/getCategories.cjs.js.map +1 -0
  40. package/dist/shared/src/api/queries/activities/getCategories.es.js +53 -0
  41. package/dist/shared/src/api/queries/activities/getCategories.es.js.map +1 -0
  42. package/dist/shared/src/api/queries/activities/updateActivities.cjs.js +1 -1
  43. package/dist/shared/src/api/queries/activities/updateActivities.cjs.js.map +1 -1
  44. package/dist/shared/src/api/queries/activities/updateActivities.es.js +53 -51
  45. package/dist/shared/src/api/queries/activities/updateActivities.es.js.map +1 -1
  46. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  47. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  48. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +4 -3
  49. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  50. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +1 -1
  51. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  52. package/dist/shared/src/api/queries/entities/updateEntity.es.js +4 -3
  53. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  54. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  55. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  56. package/dist/shared/src/api/queries/overview/updateOverview.es.js +61 -60
  57. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  58. package/dist/shared/src/api/queries/share/share.cjs.js +1 -1
  59. package/dist/shared/src/api/queries/share/share.cjs.js.map +1 -1
  60. package/dist/shared/src/api/queries/share/share.es.js +38 -12
  61. package/dist/shared/src/api/queries/share/share.es.js.map +1 -1
  62. package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -1
  63. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  64. package/dist/shared/src/api/queries/users/getUsers.es.js +18 -17
  65. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  66. package/dist/shared/src/api/queries/views/updateViews.cjs.js +1 -1
  67. package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -1
  68. package/dist/shared/src/api/queries/views/updateViews.es.js +14 -15
  69. package/dist/shared/src/api/queries/views/updateViews.es.js.map +1 -1
  70. package/dist/shared/src/components/AccessSearchInput/AccessSearchInput.cjs.js +2 -0
  71. package/dist/shared/src/components/AccessSearchInput/AccessSearchInput.cjs.js.map +1 -0
  72. package/dist/shared/src/components/AccessSearchInput/AccessSearchInput.es.js +135 -0
  73. package/dist/shared/src/components/AccessSearchInput/AccessSearchInput.es.js.map +1 -0
  74. package/dist/shared/src/components/AccessSearchInput/AccessSearchInput.styled.cjs.js +39 -0
  75. package/dist/shared/src/components/AccessSearchInput/AccessSearchInput.styled.cjs.js.map +1 -0
  76. package/dist/shared/src/components/AccessSearchInput/AccessSearchInput.styled.es.js +44 -0
  77. package/dist/shared/src/components/AccessSearchInput/AccessSearchInput.styled.es.js.map +1 -0
  78. package/dist/shared/src/components/AccessUser/AccessUser.cjs.js +2 -0
  79. package/dist/shared/src/components/AccessUser/AccessUser.cjs.js.map +1 -0
  80. package/dist/shared/src/components/AccessUser/AccessUser.es.js +43 -0
  81. package/dist/shared/src/components/AccessUser/AccessUser.es.js.map +1 -0
  82. package/dist/shared/src/components/AccessUser/AccessUser.styled.cjs.js +46 -0
  83. package/dist/shared/src/components/AccessUser/AccessUser.styled.cjs.js.map +1 -0
  84. package/dist/shared/src/components/AccessUser/AccessUser.styled.es.js +50 -0
  85. package/dist/shared/src/components/AccessUser/AccessUser.styled.es.js.map +1 -0
  86. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  87. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  88. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +3 -2
  89. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  90. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  91. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  92. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +3 -2
  93. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  94. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  95. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  96. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +3 -2
  97. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  98. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.styles.cjs.js +47 -43
  99. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.styles.cjs.js.map +1 -1
  100. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.styles.es.js +47 -43
  101. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.styles.es.js.map +1 -1
  102. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  103. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  104. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +3 -2
  105. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  106. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js +1 -1
  107. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js.map +1 -1
  108. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js +3 -2
  109. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js.map +1 -1
  110. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  111. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  112. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +3 -2
  113. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  114. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  115. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  116. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +9 -2
  117. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  118. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  119. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  120. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +5 -4
  121. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  122. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  123. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  124. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +9 -2
  125. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  126. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  127. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  128. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +3 -2
  129. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  130. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  131. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  132. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +9 -2
  133. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  134. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  135. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  136. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +3 -2
  137. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  138. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  139. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  140. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +9 -2
  141. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  142. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  143. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  144. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +11 -4
  145. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  146. package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.cjs.js +1 -1
  147. package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.cjs.js.map +1 -1
  148. package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.es.js +9 -2
  149. package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.es.js.map +1 -1
  150. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  151. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  152. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +9 -2
  153. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  154. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  155. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  156. package/dist/shared/src/components/RenameForm/RenameForm.es.js +9 -2
  157. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  158. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  159. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  160. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +3 -2
  161. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  162. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  163. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  164. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +9 -2
  165. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  166. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  167. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  168. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +10 -3
  169. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  170. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  171. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  172. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +9 -2
  173. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  174. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  175. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  176. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +3 -2
  177. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  178. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  179. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  180. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +3 -2
  181. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  182. package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.cjs.js +12 -0
  183. package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.cjs.js.map +1 -0
  184. package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.es.js +46 -0
  185. package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.es.js.map +1 -0
  186. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  187. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  188. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +9 -2
  189. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  190. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  191. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  192. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +9 -2
  193. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  194. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  195. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  196. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +5 -4
  197. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  198. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  199. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  200. package/dist/shared/src/components/Watchers/Watchers.es.js +3 -2
  201. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  202. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  203. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  204. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +9 -2
  205. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  206. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  207. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  208. package/dist/shared/src/containers/Actions/Actions.es.js +3 -2
  209. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  210. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  211. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  212. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +9 -2
  213. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  214. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  215. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  216. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +61 -52
  217. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  218. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  219. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  220. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +9 -2
  221. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  222. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  223. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  224. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +44 -36
  225. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  226. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  227. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  228. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +9 -2
  229. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  230. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  231. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  232. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +3 -2
  233. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  234. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
  235. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
  236. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +4 -2
  237. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
  238. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js +1 -1
  239. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js.map +1 -1
  240. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js +19 -17
  241. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js.map +1 -1
  242. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  243. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  244. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +3 -2
  245. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  246. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  247. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  248. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +9 -2
  249. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  250. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  251. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  252. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +9 -2
  253. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  254. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  255. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  256. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +9 -2
  257. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  258. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  259. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  260. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +9 -2
  261. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  262. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  263. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  264. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +3 -2
  265. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  266. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  267. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  268. package/dist/shared/src/containers/Feed/Feed.es.js +73 -72
  269. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  270. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js +13 -0
  271. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js.map +1 -0
  272. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.es.js +89 -0
  273. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.es.js.map +1 -0
  274. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js +20 -0
  275. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js.map +1 -0
  276. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.es.js +42 -0
  277. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.es.js.map +1 -0
  278. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryTag.cjs.js +51 -0
  279. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryTag.cjs.js.map +1 -0
  280. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryTag.es.js +76 -0
  281. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryTag.es.js.map +1 -0
  282. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  283. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  284. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +161 -133
  285. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  286. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js +30 -14
  287. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js.map +1 -1
  288. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.es.js +41 -24
  289. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.es.js.map +1 -1
  290. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.cjs.js +3 -3
  291. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.cjs.js.map +1 -1
  292. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.es.js +58 -48
  293. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.es.js.map +1 -1
  294. package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js.map +1 -1
  295. package/dist/shared/src/containers/Feed/components/ActivityItem.es.js.map +1 -1
  296. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js +1 -1
  297. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js.map +1 -1
  298. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js +24 -20
  299. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js.map +1 -1
  300. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.styled.cjs.js +12 -12
  301. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.styled.cjs.js.map +1 -1
  302. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.styled.es.js +13 -13
  303. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.styled.es.js.map +1 -1
  304. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  305. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  306. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +336 -260
  307. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  308. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js +69 -41
  309. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js.map +1 -1
  310. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js +77 -48
  311. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js.map +1 -1
  312. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js +2 -0
  313. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js.map +1 -0
  314. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js +19 -0
  315. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js.map +1 -0
  316. package/dist/shared/src/containers/Feed/components/ReactionContainer/ExistingReactions.cjs.js +1 -1
  317. package/dist/shared/src/containers/Feed/components/ReactionContainer/ExistingReactions.cjs.js.map +1 -1
  318. package/dist/shared/src/containers/Feed/components/ReactionContainer/ExistingReactions.es.js +15 -6
  319. package/dist/shared/src/containers/Feed/components/ReactionContainer/ExistingReactions.es.js.map +1 -1
  320. package/dist/shared/src/containers/Feed/components/ReactionContainer/Reaction.cjs.js +1 -1
  321. package/dist/shared/src/containers/Feed/components/ReactionContainer/Reaction.cjs.js.map +1 -1
  322. package/dist/shared/src/containers/Feed/components/ReactionContainer/Reaction.es.js +24 -14
  323. package/dist/shared/src/containers/Feed/components/ReactionContainer/Reaction.es.js.map +1 -1
  324. package/dist/shared/src/containers/Feed/components/ReactionContainer/ReactionPanelOpener.cjs.js +1 -1
  325. package/dist/shared/src/containers/Feed/components/ReactionContainer/ReactionPanelOpener.cjs.js.map +1 -1
  326. package/dist/shared/src/containers/Feed/components/ReactionContainer/ReactionPanelOpener.es.js +60 -38
  327. package/dist/shared/src/containers/Feed/components/ReactionContainer/ReactionPanelOpener.es.js.map +1 -1
  328. package/dist/shared/src/containers/Feed/components/ReactionContainer/Reactions.cjs.js +1 -1
  329. package/dist/shared/src/containers/Feed/components/ReactionContainer/Reactions.cjs.js.map +1 -1
  330. package/dist/shared/src/containers/Feed/components/ReactionContainer/Reactions.es.js +42 -9
  331. package/dist/shared/src/containers/Feed/components/ReactionContainer/Reactions.es.js.map +1 -1
  332. package/dist/shared/src/containers/Feed/components/ReactionContainer/Reactions.styled.cjs.js +65 -20
  333. package/dist/shared/src/containers/Feed/components/ReactionContainer/Reactions.styled.cjs.js.map +1 -1
  334. package/dist/shared/src/containers/Feed/components/ReactionContainer/Reactions.styled.es.js +71 -26
  335. package/dist/shared/src/containers/Feed/components/ReactionContainer/Reactions.styled.es.js.map +1 -1
  336. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  337. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  338. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +4 -2
  339. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  340. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  341. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  342. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +30 -26
  343. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  344. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js +1 -1
  345. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js.map +1 -1
  346. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js +57 -53
  347. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js.map +1 -1
  348. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  349. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  350. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +3 -2
  351. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  352. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  353. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  354. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +9 -2
  355. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  356. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  357. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  358. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +9 -2
  359. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  360. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  361. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  362. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +9 -2
  363. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  364. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  365. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  366. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +9 -2
  367. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  368. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  369. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  370. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +9 -2
  371. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  372. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  373. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  374. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +5 -4
  375. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  376. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  377. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  378. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +42 -35
  379. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  380. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  381. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  382. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +3 -2
  383. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  384. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  385. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  386. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +6 -5
  387. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  388. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  389. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  390. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +23 -21
  391. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  392. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  393. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  394. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +9 -2
  395. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  396. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  397. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  398. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +9 -2
  399. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  400. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  401. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  402. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +9 -2
  403. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  404. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  405. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  406. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +3 -2
  407. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  408. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  409. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  410. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +9 -2
  411. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  412. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js +1 -1
  413. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js.map +1 -1
  414. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js +3 -2
  415. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js.map +1 -1
  416. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  417. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  418. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +9 -2
  419. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  420. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  421. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  422. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +9 -2
  423. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  424. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  425. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  426. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +9 -2
  427. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  428. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js +1 -1
  429. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js.map +1 -1
  430. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js +3 -2
  431. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js.map +1 -1
  432. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  433. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  434. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +9 -2
  435. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  436. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  437. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  438. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +20 -13
  439. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  440. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  441. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  442. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +4 -3
  443. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  444. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  445. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  446. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +11 -4
  447. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  448. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  449. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  450. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +9 -2
  451. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  452. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  453. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  454. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +9 -2
  455. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  456. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  457. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  458. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +9 -2
  459. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  460. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  461. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  462. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +3 -2
  463. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  464. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  465. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  466. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +5 -4
  467. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  468. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  469. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  470. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +3 -2
  471. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  472. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
  473. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  474. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +3 -2
  475. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  476. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  477. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  478. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +3 -2
  479. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  480. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  481. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  482. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +3 -2
  483. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  484. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  485. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  486. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +3 -2
  487. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  488. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  489. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  490. package/dist/shared/src/context/AddonProjectContext.es.js +5 -4
  491. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  492. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  493. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  494. package/dist/shared/src/context/DetailsPanelContext.es.js +70 -66
  495. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  496. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  497. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  498. package/dist/shared/src/context/PowerpackContext.es.js +30 -23
  499. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  500. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  501. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  502. package/dist/shared/src/context/RemoteModulesContext.es.js +5 -4
  503. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  504. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  505. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  506. package/dist/shared/src/hooks/useActionTriggers.es.js +3 -2
  507. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  508. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  509. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  510. package/dist/shared/src/hooks/useEntityUpdate.es.js +3 -2
  511. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  512. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  513. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  514. package/dist/shared/src/hooks/useHierarchyTable.es.js +3 -2
  515. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  516. package/dist/shared/src/hooks/useLoadModule.cjs.js.map +1 -1
  517. package/dist/shared/src/hooks/useLoadModule.es.js.map +1 -1
  518. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  519. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  520. package/dist/shared/src/hooks/useScopedStatuses.es.js +5 -4
  521. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  522. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  523. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  524. package/dist/shared/src/hooks/useUserProjectConfig.es.js +3 -2
  525. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  526. package/dist/shared/src/util/colorUtils.cjs.js +2 -0
  527. package/dist/shared/src/util/colorUtils.cjs.js.map +1 -0
  528. package/dist/shared/src/util/colorUtils.es.js +40 -0
  529. package/dist/shared/src/util/colorUtils.es.js.map +1 -0
  530. package/dist/types/api/generated/activityFeed.d.ts +9 -0
  531. package/dist/types/api/generated/graphql.d.ts +6 -1
  532. package/dist/types/api/index.d.ts +1 -0
  533. package/dist/types/api/queries/activities/getCategories.d.ts +142 -0
  534. package/dist/types/api/queries/activities/getMentions.d.ts +1 -0
  535. package/dist/types/api/queries/activities/index.d.ts +1 -0
  536. package/dist/types/api/queries/activities/updateReaction.d.ts +1 -0
  537. package/dist/types/api/queries/watchers/getWatchers.d.ts +1 -0
  538. package/dist/types/components/AccessSearchInput/AccessSearchInput.d.ts +16 -0
  539. package/dist/types/components/AccessSearchInput/AccessSearchInput.styled.d.ts +2 -0
  540. package/dist/types/components/AccessSearchInput/index.d.ts +2 -0
  541. package/dist/types/components/AccessUser/AccessUser.d.ts +24 -0
  542. package/dist/types/components/AccessUser/AccessUser.styled.d.ts +1 -0
  543. package/dist/types/components/AccessUser/index.d.ts +1 -0
  544. package/dist/types/components/ShareOptionIcon/ShareOptionIcon.d.ts +16 -0
  545. package/dist/types/components/ShareOptionIcon/index.d.ts +1 -0
  546. package/dist/types/components/index.d.ts +3 -0
  547. package/dist/types/containers/DetailsPanel/DetailsPanel.d.ts +2 -1
  548. package/dist/types/containers/DetailsPanel/FeedWrapper.d.ts +1 -0
  549. package/dist/types/containers/Feed/Feed.d.ts +2 -1
  550. package/dist/types/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.d.ts +14 -0
  551. package/dist/types/containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.d.ts +8 -0
  552. package/dist/types/containers/Feed/components/ActivityCategorySelect/CategoryTag.d.ts +10 -0
  553. package/dist/types/containers/Feed/components/ActivityCategorySelect/index.d.ts +1 -0
  554. package/dist/types/containers/Feed/components/ActivityComment/ActivityComment.d.ts +1 -1
  555. package/dist/types/containers/Feed/components/ActivityComment/ActivityComment.styled.d.ts +2 -1
  556. package/dist/types/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.d.ts +3 -1
  557. package/dist/types/containers/Feed/components/ActivityItem.d.ts +1 -1
  558. package/dist/types/containers/Feed/components/ActivityReference/ActivityReference.d.ts +2 -0
  559. package/dist/types/containers/Feed/components/ActivityReference/ActivityReference.styled.d.ts +2 -0
  560. package/dist/types/containers/Feed/components/CommentInput/CommentInput.d.ts +1 -0
  561. package/dist/types/containers/Feed/components/CommentInput/CommentInput.styled.d.ts +7 -1
  562. package/dist/types/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.d.ts +11 -0
  563. package/dist/types/containers/Feed/components/ReactionContainer/ExistingReactions.d.ts +4 -1
  564. package/dist/types/containers/Feed/components/ReactionContainer/Reaction.d.ts +4 -1
  565. package/dist/types/containers/Feed/components/ReactionContainer/ReactionPanelOpener.d.ts +4 -1
  566. package/dist/types/containers/Feed/components/ReactionContainer/Reactions.d.ts +4 -1
  567. package/dist/types/containers/Feed/components/ReactionContainer/Reactions.styled.d.ts +9 -4
  568. package/dist/types/containers/Feed/context/FeedContext.d.ts +2 -1
  569. package/dist/types/containers/Feed/hooks/useCommentMutations.d.ts +3 -2
  570. package/dist/types/containers/Feed/index.d.ts +1 -0
  571. package/dist/types/containers/Views/index.d.ts +2 -2
  572. package/dist/types/context/DetailsPanelContext.d.ts +3 -0
  573. package/dist/types/context/PowerpackContext.d.ts +1 -1
  574. package/dist/types/util/colorUtils.d.ts +42 -0
  575. package/dist/types/util/index.d.ts +1 -0
  576. package/dist/util.cjs.js +1 -1
  577. package/dist/util.es.js +30 -24
  578. package/dist/util.es.js.map +1 -1
  579. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("styled-components"),e=o.span`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("styled-components"),i=e.span`
2
2
  gap: 2px;
3
3
  display: inline-flex;
4
4
  border-radius: var(--border-radius-m);
@@ -14,40 +14,40 @@
14
14
 
15
15
  &,
16
16
  .icon {
17
- color: var(--md-sys-color-primary);
17
+ color: ${({$categoryPrimary:o})=>o||"var(--md-sys-color-primary)"};
18
18
  }
19
19
 
20
20
  .icon {
21
21
  font-size: 20px;
22
22
  }
23
23
 
24
- background-color: var(--md-sys-color-surface-container-high);
24
+ background-color: ${({$categorySecondary:o})=>o||"var(--md-sys-color-surface-container-high)"};
25
25
 
26
26
  &:hover {
27
- background-color: var(--md-sys-color-surface-container-high-hover);
27
+ background-color: ${({$categorySecondary:o})=>o?`color-mix(in srgb, ${o} 85%, white)`:"var(--md-sys-color-surface-container-high-hover)"};
28
28
  }
29
29
  &:active {
30
- background-color: var(--md-sys-color-surface-container-high-active);
30
+ background-color: ${({$categorySecondary:o})=>o?`color-mix(in srgb, ${o} 70%, white)`:"var(--md-sys-color-surface-container-high-active)"};
31
31
  }
32
32
 
33
- ${({$variant:r})=>r==="text"&&o.css`
33
+ ${({$variant:o})=>o==="text"&&e.css`
34
34
  background-color: unset;
35
35
  `}
36
36
 
37
- ${({$variant:r})=>r==="filled"&&o.css`
38
- background-color: var(--md-sys-color-primary);
37
+ ${({$variant:o,$categoryPrimary:r})=>o==="filled"&&e.css`
38
+ background-color: ${r||"var(--md-sys-color-primary)"};
39
39
 
40
40
  &,
41
41
  .icon {
42
- color: var(--md-sys-color-on-primary);
42
+ color: ${r?"white":"var(--md-sys-color-on-primary)"};
43
43
  }
44
44
 
45
45
  &:hover {
46
- background-color: var(--md-sys-color-primary-hover);
46
+ background-color: ${r?`color-mix(in srgb, ${r} 85%, white)`:"var(--md-sys-color-primary-hover)"};
47
47
  }
48
48
 
49
49
  &:active {
50
- background-color: var(--md-sys-color-primary-active);
50
+ background-color: ${r?`color-mix(in srgb, ${r} 70%, white)`:"var(--md-sys-color-primary-active)"};
51
51
  }
52
52
  `}
53
53
 
@@ -55,5 +55,5 @@
55
55
  &.disabled {
56
56
  background-color: unset;
57
57
  }
58
- `;exports.Reference=e;
58
+ `;exports.Reference=i;
59
59
  //# sourceMappingURL=ActivityReference.styled.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActivityReference.styled.cjs.js","sources":["../../../../../../../src/containers/Feed/components/ActivityReference/ActivityReference.styled.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\n\nexport const Reference = styled.span<{ $variant: 'surface' | 'filled' | 'text' }>`\n gap: 2px;\n display: inline-flex;\n border-radius: var(--border-radius-m);\n width: min-content;\n position: relative;\n user-select: none;\n padding: 0;\n padding-right: 4px;\n white-space: nowrap;\n cursor: pointer;\n\n align-items: center;\n\n &,\n .icon {\n color: var(--md-sys-color-primary);\n }\n\n .icon {\n font-size: 20px;\n }\n\n background-color: var(--md-sys-color-surface-container-high);\n\n &:hover {\n background-color: var(--md-sys-color-surface-container-high-hover);\n }\n &:active {\n background-color: var(--md-sys-color-surface-container-high-active);\n }\n\n ${({ $variant }) =>\n $variant === 'text' &&\n css`\n background-color: unset;\n `}\n\n ${({ $variant }) =>\n $variant === 'filled' &&\n css`\n background-color: var(--md-sys-color-primary);\n\n &,\n .icon {\n color: var(--md-sys-color-on-primary);\n }\n\n &:hover {\n background-color: var(--md-sys-color-primary-hover);\n }\n\n &:active {\n background-color: var(--md-sys-color-primary-active);\n }\n `}\n\n /* remove background colour and hover on disabled */\n &.disabled {\n background-color: unset;\n }\n`\n"],"names":["Reference","styled","$variant","css"],"mappings":"qHAEaA,EAAYC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAgC5B,CAAC,CAAE,SAAAC,CAAS,IACZA,IAAa,QACbC,EAAA;AAAA;AAAA,KAEC;AAAA;AAAA,IAED,CAAC,CAAE,SAAAD,CAAS,IACZA,IAAa,UACbC,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAeC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA"}
1
+ {"version":3,"file":"ActivityReference.styled.cjs.js","sources":["../../../../../../../src/containers/Feed/components/ActivityReference/ActivityReference.styled.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\n\nexport const Reference = styled.span<{\n $variant: 'surface' | 'filled' | 'text'\n $categoryPrimary?: string\n $categorySecondary?: string\n}>`\n gap: 2px;\n display: inline-flex;\n border-radius: var(--border-radius-m);\n width: min-content;\n position: relative;\n user-select: none;\n padding: 0;\n padding-right: 4px;\n white-space: nowrap;\n cursor: pointer;\n\n align-items: center;\n\n &,\n .icon {\n color: ${({ $categoryPrimary }) => $categoryPrimary || 'var(--md-sys-color-primary)'};\n }\n\n .icon {\n font-size: 20px;\n }\n\n background-color: ${({ $categorySecondary }) =>\n $categorySecondary || 'var(--md-sys-color-surface-container-high)'};\n\n &:hover {\n background-color: ${({ $categorySecondary }) =>\n $categorySecondary\n ? `color-mix(in srgb, ${$categorySecondary} 85%, white)`\n : 'var(--md-sys-color-surface-container-high-hover)'};\n }\n &:active {\n background-color: ${({ $categorySecondary }) =>\n $categorySecondary\n ? `color-mix(in srgb, ${$categorySecondary} 70%, white)`\n : 'var(--md-sys-color-surface-container-high-active)'};\n }\n\n ${({ $variant }) =>\n $variant === 'text' &&\n css`\n background-color: unset;\n `}\n\n ${({ $variant, $categoryPrimary }) =>\n $variant === 'filled' &&\n css`\n background-color: ${$categoryPrimary || 'var(--md-sys-color-primary)'};\n\n &,\n .icon {\n color: ${$categoryPrimary ? 'white' : 'var(--md-sys-color-on-primary)'};\n }\n\n &:hover {\n background-color: ${$categoryPrimary\n ? `color-mix(in srgb, ${$categoryPrimary} 85%, white)`\n : 'var(--md-sys-color-primary-hover)'};\n }\n\n &:active {\n background-color: ${$categoryPrimary\n ? `color-mix(in srgb, ${$categoryPrimary} 70%, white)`\n : 'var(--md-sys-color-primary-active)'};\n }\n `}\n\n /* remove background colour and hover on disabled */\n &.disabled {\n background-color: unset;\n }\n`\n"],"names":["Reference","styled","$categoryPrimary","$categorySecondary","$variant","css"],"mappings":"qHAEaA,EAAYC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAoBnB,CAAC,CAAE,iBAAAC,KAAuBA,GAAoB,6BAA6B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAOlE,CAAC,CAAE,mBAAAC,KACrBA,GAAsB,4CAA4C;AAAA;AAAA;AAAA,wBAG9C,CAAC,CAAE,mBAAAA,CAAmB,IACxCA,EACI,sBAAsBA,CAAkB,eACxC,kDAAkD;AAAA;AAAA;AAAA,wBAGpC,CAAC,CAAE,mBAAAA,CAAmB,IACxCA,EACI,sBAAsBA,CAAkB,eACxC,mDAAmD;AAAA;AAAA;AAAA,IAGzD,CAAC,CAAE,SAAAC,CAAS,IACZA,IAAa,QACbC,EAAA;AAAA;AAAA,KAEC;AAAA;AAAA,IAED,CAAC,CAAE,SAAAD,EAAU,iBAAAF,CAAiB,IAC9BE,IAAa,UACbC,EAAA;AAAA,0BACsBH,GAAoB,6BAA6B;AAAA;AAAA;AAAA;AAAA,iBAI1DA,EAAmB,QAAU,gCAAgC;AAAA;AAAA;AAAA;AAAA,4BAIlDA,EAChB,sBAAsBA,CAAgB,eACtC,mCAAmC;AAAA;AAAA;AAAA;AAAA,4BAInBA,EAChB,sBAAsBA,CAAgB,eACtC,oCAAoC;AAAA;AAAA,KAE3C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA"}
@@ -1,5 +1,5 @@
1
- import c, { css as o } from "styled-components";
2
- const e = c.span`
1
+ import c, { css as i } from "styled-components";
2
+ const n = c.span`
3
3
  gap: 2px;
4
4
  display: inline-flex;
5
5
  border-radius: var(--border-radius-m);
@@ -15,40 +15,40 @@ const e = c.span`
15
15
 
16
16
  &,
17
17
  .icon {
18
- color: var(--md-sys-color-primary);
18
+ color: ${({ $categoryPrimary: o }) => o || "var(--md-sys-color-primary)"};
19
19
  }
20
20
 
21
21
  .icon {
22
22
  font-size: 20px;
23
23
  }
24
24
 
25
- background-color: var(--md-sys-color-surface-container-high);
25
+ background-color: ${({ $categorySecondary: o }) => o || "var(--md-sys-color-surface-container-high)"};
26
26
 
27
27
  &:hover {
28
- background-color: var(--md-sys-color-surface-container-high-hover);
28
+ background-color: ${({ $categorySecondary: o }) => o ? `color-mix(in srgb, ${o} 85%, white)` : "var(--md-sys-color-surface-container-high-hover)"};
29
29
  }
30
30
  &:active {
31
- background-color: var(--md-sys-color-surface-container-high-active);
31
+ background-color: ${({ $categorySecondary: o }) => o ? `color-mix(in srgb, ${o} 70%, white)` : "var(--md-sys-color-surface-container-high-active)"};
32
32
  }
33
33
 
34
- ${({ $variant: r }) => r === "text" && o`
34
+ ${({ $variant: o }) => o === "text" && i`
35
35
  background-color: unset;
36
36
  `}
37
37
 
38
- ${({ $variant: r }) => r === "filled" && o`
39
- background-color: var(--md-sys-color-primary);
38
+ ${({ $variant: o, $categoryPrimary: r }) => o === "filled" && i`
39
+ background-color: ${r || "var(--md-sys-color-primary)"};
40
40
 
41
41
  &,
42
42
  .icon {
43
- color: var(--md-sys-color-on-primary);
43
+ color: ${r ? "white" : "var(--md-sys-color-on-primary)"};
44
44
  }
45
45
 
46
46
  &:hover {
47
- background-color: var(--md-sys-color-primary-hover);
47
+ background-color: ${r ? `color-mix(in srgb, ${r} 85%, white)` : "var(--md-sys-color-primary-hover)"};
48
48
  }
49
49
 
50
50
  &:active {
51
- background-color: var(--md-sys-color-primary-active);
51
+ background-color: ${r ? `color-mix(in srgb, ${r} 70%, white)` : "var(--md-sys-color-primary-active)"};
52
52
  }
53
53
  `}
54
54
 
@@ -58,6 +58,6 @@ const e = c.span`
58
58
  }
59
59
  `;
60
60
  export {
61
- e as Reference
61
+ n as Reference
62
62
  };
63
63
  //# sourceMappingURL=ActivityReference.styled.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActivityReference.styled.es.js","sources":["../../../../../../../src/containers/Feed/components/ActivityReference/ActivityReference.styled.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\n\nexport const Reference = styled.span<{ $variant: 'surface' | 'filled' | 'text' }>`\n gap: 2px;\n display: inline-flex;\n border-radius: var(--border-radius-m);\n width: min-content;\n position: relative;\n user-select: none;\n padding: 0;\n padding-right: 4px;\n white-space: nowrap;\n cursor: pointer;\n\n align-items: center;\n\n &,\n .icon {\n color: var(--md-sys-color-primary);\n }\n\n .icon {\n font-size: 20px;\n }\n\n background-color: var(--md-sys-color-surface-container-high);\n\n &:hover {\n background-color: var(--md-sys-color-surface-container-high-hover);\n }\n &:active {\n background-color: var(--md-sys-color-surface-container-high-active);\n }\n\n ${({ $variant }) =>\n $variant === 'text' &&\n css`\n background-color: unset;\n `}\n\n ${({ $variant }) =>\n $variant === 'filled' &&\n css`\n background-color: var(--md-sys-color-primary);\n\n &,\n .icon {\n color: var(--md-sys-color-on-primary);\n }\n\n &:hover {\n background-color: var(--md-sys-color-primary-hover);\n }\n\n &:active {\n background-color: var(--md-sys-color-primary-active);\n }\n `}\n\n /* remove background colour and hover on disabled */\n &.disabled {\n background-color: unset;\n }\n`\n"],"names":["Reference","styled","$variant","css"],"mappings":";AAEO,MAAMA,IAAYC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAgC5B,CAAC,EAAE,UAAAC,EAAS,MACZA,MAAa,UACbC;AAAA;AAAA,KAEC;AAAA;AAAA,IAED,CAAC,EAAE,UAAAD,EAAS,MACZA,MAAa,YACbC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAeC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
1
+ {"version":3,"file":"ActivityReference.styled.es.js","sources":["../../../../../../../src/containers/Feed/components/ActivityReference/ActivityReference.styled.ts"],"sourcesContent":["import styled, { css } from 'styled-components'\n\nexport const Reference = styled.span<{\n $variant: 'surface' | 'filled' | 'text'\n $categoryPrimary?: string\n $categorySecondary?: string\n}>`\n gap: 2px;\n display: inline-flex;\n border-radius: var(--border-radius-m);\n width: min-content;\n position: relative;\n user-select: none;\n padding: 0;\n padding-right: 4px;\n white-space: nowrap;\n cursor: pointer;\n\n align-items: center;\n\n &,\n .icon {\n color: ${({ $categoryPrimary }) => $categoryPrimary || 'var(--md-sys-color-primary)'};\n }\n\n .icon {\n font-size: 20px;\n }\n\n background-color: ${({ $categorySecondary }) =>\n $categorySecondary || 'var(--md-sys-color-surface-container-high)'};\n\n &:hover {\n background-color: ${({ $categorySecondary }) =>\n $categorySecondary\n ? `color-mix(in srgb, ${$categorySecondary} 85%, white)`\n : 'var(--md-sys-color-surface-container-high-hover)'};\n }\n &:active {\n background-color: ${({ $categorySecondary }) =>\n $categorySecondary\n ? `color-mix(in srgb, ${$categorySecondary} 70%, white)`\n : 'var(--md-sys-color-surface-container-high-active)'};\n }\n\n ${({ $variant }) =>\n $variant === 'text' &&\n css`\n background-color: unset;\n `}\n\n ${({ $variant, $categoryPrimary }) =>\n $variant === 'filled' &&\n css`\n background-color: ${$categoryPrimary || 'var(--md-sys-color-primary)'};\n\n &,\n .icon {\n color: ${$categoryPrimary ? 'white' : 'var(--md-sys-color-on-primary)'};\n }\n\n &:hover {\n background-color: ${$categoryPrimary\n ? `color-mix(in srgb, ${$categoryPrimary} 85%, white)`\n : 'var(--md-sys-color-primary-hover)'};\n }\n\n &:active {\n background-color: ${$categoryPrimary\n ? `color-mix(in srgb, ${$categoryPrimary} 70%, white)`\n : 'var(--md-sys-color-primary-active)'};\n }\n `}\n\n /* remove background colour and hover on disabled */\n &.disabled {\n background-color: unset;\n }\n`\n"],"names":["Reference","styled","$categoryPrimary","$categorySecondary","$variant","css"],"mappings":";AAEO,MAAMA,IAAYC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAoBnB,CAAC,EAAE,kBAAAC,QAAuBA,KAAoB,6BAA6B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAOlE,CAAC,EAAE,oBAAAC,QACrBA,KAAsB,4CAA4C;AAAA;AAAA;AAAA,wBAG9C,CAAC,EAAE,oBAAAA,EAAmB,MACxCA,IACI,sBAAsBA,CAAkB,iBACxC,kDAAkD;AAAA;AAAA;AAAA,wBAGpC,CAAC,EAAE,oBAAAA,EAAmB,MACxCA,IACI,sBAAsBA,CAAkB,iBACxC,mDAAmD;AAAA;AAAA;AAAA,IAGzD,CAAC,EAAE,UAAAC,EAAS,MACZA,MAAa,UACbC;AAAA;AAAA,KAEC;AAAA;AAAA,IAED,CAAC,EAAE,UAAAD,GAAU,kBAAAF,EAAiB,MAC9BE,MAAa,YACbC;AAAA,0BACsBH,KAAoB,6BAA6B;AAAA;AAAA;AAAA;AAAA,iBAI1DA,IAAmB,UAAU,gCAAgC;AAAA;AAAA;AAAA;AAAA,4BAIlDA,IAChB,sBAAsBA,CAAgB,iBACtC,mCAAmC;AAAA;AAAA;AAAA;AAAA,4BAInBA,IAChB,sBAAsBA,CAAgB,iBACtC,oCAAoC;AAAA;AAAA,KAE3C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -1,3 +1,3 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("../../../../../../_virtual/jsx-runtime.cjs.js"),l=require("react"),W=require("clsx"),Ne=require("react-toastify"),je=require("react-quill-ayon"),v=require("@ynput/ayon-react-components"),_e=require("../CommentMentionSelect/CommentMentionSelect.cjs.js"),Ke=require("./InputMarkdownConvert.cjs.js"),Ve=require("../FilesGrid/FilesGrid.cjs.js"),y=require("./CommentInput.styled.cjs.js"),ze=require("../../../../components/QuillListStyles/QuillListStyles.cjs.js"),Qe=require("../../mentionHelpers/getMentionOptions.cjs.js"),Ge=require("../../mentionHelpers/getMentionUsers.cjs.js"),We=require("../../mentionHelpers/getMentionTasks.cjs.js"),$e=require("../../mentionHelpers/getMentionVersions.cjs.js"),Oe=require("./quillToMarkdown.cjs.js"),$=require("./helpers.cjs.js"),fe=require("./modules/index.cjs.js"),Je=require("./hooks/useInitialValue.cjs.js"),Xe=require("./hooks/useSetCursorEnd.cjs.js"),Ye=require("./hooks/useMentionLink.cjs.js"),Ze=require("./hooks/useAnnotationsSync.cjs.js"),et=require("./hooks/useAnnotationsUpload.cjs.js"),tt=require("../../context/FeedContext.cjs.js");var ye=je.Quill.import("delta");const B=["@","@@","@@@"],L={"@@@":{id:"task"},"@@":{id:"version"},"@":{id:"user",isCircle:!0}},nt=({initValue:O,initFiles:Ce=[],onSubmit:J,isEditing:j,disabled:T,isLoading:X,isOpen:u,onOpen:Y,onClose:Z})=>{var ge;const{projectName:q,entities:H,projectInfo:ke,scope:ot,currentTab:qe,mentionSuggestionsData:Ee}=tt.useFeedContext(),{users:ee,versions:te,tasks:ne}=Ee||{},[oe,Me]=l.useState(88),[N,F]=l.useState(""),[E,D]=l.useState(Ce),[_,b]=l.useState([]),[se,A]=l.useState(!1),[Re,re]=l.useState(!1),{annotations:P,removeAnnotation:K,goToAnnotation:we}=Ze.default({entityId:(ge=H[0])==null?void 0:ge.id,filesUploading:_}),[n,C]=l.useState(null),[V,M]=l.useState(0),d=l.useRef(null),ie=l.useRef(null);Je({markdownRef:ie,initValue:O,setEditorValue:F,setInitHeight:Me,isOpen:u,filter:qe}),Xe({initHeight:oe,editorRef:d,isEditing:j}),Ye({projectName:q}),l.useEffect(()=>{var e,t,o;if(u){if((t=(e=d.current)==null?void 0:e.getEditor())==null||t.enable(),P.length>0&&E.length===0)return;(o=d.current)==null||o.focus()}},[u,d]),B.sort((e,t)=>t.length-e.length);const le=l.useMemo(()=>Qe(n==null?void 0:n.type,{"@":()=>Ge(ee),"@@":()=>$e(te),"@@@":()=>We(ne,ke.taskTypes)},n==null?void 0:n.search),[ne,te,ee,n==null?void 0:n.type,n==null?void 0:n.search]),I=le.slice(0,5),[z,ae]=l.useState();l.useEffect(()=>{z&&(ae(null),d.current.getEditor().setSelection(z))},[z]);const ce=e=>{const t=d.current.getEditor(),o=n.type,s=o+(n.search||""),r=o+e.label,a=L[o],x=`${a==null?void 0:a.id}:${e.id}`,k=t.getSelection(!0),R=((k==null?void 0:k.index)||0)-s.length;t.deleteText(R,s.length),t.insertText(R,r,"mention",x);const w=R+r.length;t.updateContents(new ye().retain(w).insert(" ")),t.updateContents(new ye().retain(w+1).delete(1)),ae(w+1),C(null),M(0)},Se=e=>{ce(e)},ve=(e,t,o,s)=>{var R,w;let r=t.ops[0]&&t.ops[0].insert||t.ops[1]&&t.ops[1].insert;const a=r===`
2
- `||r===" ",x=le[V];if(n&&a&&x){t.ops[0]&&t.ops[0].retain,ce(x);return}F(e);const k=t.ops.length===2&&!!t.ops[1].delete;if(!r&&k&&(r=s.getText(t.ops[0].retain-1,1)),B.includes(r)){const h=t.ops.findIndex(g=>"insert"in g||"delete"in g),c=r;let f=h===0?0:t.ops[h-1].retain;k&&(f=f-1);let p=null;for(const g of B){let S=!0;if(g.endsWith(c))for(let m=g.length-1;m>=0;m--){if(m===0)continue;const U=g[m-1],He=f-(g.length-m);if(s.getText(He,1)!==U){S=!1;break}}else S=!1;if(S){p=g;break}}p?C({type:p,retain:f}):(C(null),M(0))}else if(n){const h=t.ops[0].retain;if(r===" "||!h){C(null),M(0);return}let c=h-n.retain;k||c++;const f=s.getText(n.retain,c),p=f.replace(n.type.slice(-1),"");f.includes(" ")?(C(null),M(0)):C({...n,search:p==null?void 0:p.toLowerCase()})}else{const h=d.current.getEditor(),c=h.getSelection(!1);if(h.getFormat(c==null?void 0:c.index,c==null?void 0:c.length).mention){const[p]=h.getLine(c.index-1)||[],S=(((w=(R=p==null?void 0:p.cache)==null?void 0:R.delta)==null?void 0:w.ops)||[]).reverse().find(m=>{var U;return(U=m.attributes)==null?void 0:U.mention});if(S){const m=S.insert.length;h.deleteText(c.index-m,m)}}}},Te=e=>{var a;const t=d.current.getEditor();let o=((a=t.getSelection(!0))==null?void 0:a.index)||0;const s=t.getText(o-1,1);s!==" "&&s&&(t.insertText(o," "),o++),$.typeWithDelay(t,o,e)},Q=e=>{if(n){const{type:t,retain:o,search:s=""}=n,r=d.current.getEditor(),a=t.length+s.length,x=o-t.length+1;r.deleteText(x,a)}Te(e)},Ie=()=>{u||T||Y&&Y()},ue=()=>{(d.current.getEditor().getText().length<2||j)&&F(""),Z&&Z()},G=({file:e,data:t})=>{const o={id:t.id,name:e.name,mime:e.type,size:e.size,order:E.length};return D(s=>[...s,o]),b(s=>s.filter(r=>r.name!==e.name)),o},Fe=(e,t,o)=>{o?K==null||K(e):(D(s=>s.filter(r=>r.id!==e)),b(s=>s.filter(r=>r.name!==t)))},de=(e,t)=>{const o=Math.round(e.loaded*100/e.total);if(o!==100){const s={name:t.name,progress:o,type:t.type,order:E.length+_.length};b(r=>[...r.filter(x=>x.name!==t.name),s])}},De=e=>{A(!1),$.handleFileDrop(e,q,de,G)},be=e=>{e.preventDefault(),e.stopPropagation(),A(!0)},Ae=et({projectName:q,onSuccess:G}),pe=async()=>{try{re(!0);let e=[],t=[];if(P.length){const{files:a,metadata:x}=await Ae(P);e=a,t=x}const[o]=Oe.convertToMarkdown(N),s=$.parseImages(o),r=[...E,...e];if((s||r.length)&&J)try{await J(s,r,{annotations:t}),F(""),D([])}catch{return}}catch(e){console.error(e),Ne.toast.error("Something went wrong")}finally{re(!1)}},Pe=e=>{if(n){if(e.key==="Escape"){C(null),M(0);return}n&&e.key;const t=e.key==="ArrowUp"?-1:e.key==="ArrowDown"?1:0;if(t){e.preventDefault();let o=V+t;o<0&&(o=I.length-1),o>=I.length&&(o=0),M(o)}e.key}e.key==="Enter"&&(e.ctrlKey||e.metaKey)&&pe(),e.key==="Escape"&&ue()};let xe=u?oe+41:44;j&&(xe=void 0);const Ue=l.useMemo(()=>fe.getModules({imageUploader:{projectName:q,onUpload:G,onUploadProgress:de}}),[q,D,b]),he=[...P,...E||[],..._].sort((e,t)=>e.order-t.order),Be=he.length>6;let me=null;return H.length&&H[0].entityType==="folder"&&(n==null?void 0:n.type)==="@@"&&(me="Version mentions are disabled for folders"),i.jsxRuntimeExports.jsx(i.jsxRuntimeExports.Fragment,{children:i.jsxRuntimeExports.jsxs(y.AutoHeight,{className:W("comment-container",{isOpen:u,isEditing:j}),onDragOver:be,onDragLeave:()=>A(!1),onDrop:De,onClick:()=>A(!1),onKeyDown:e=>e.stopPropagation(),children:[i.jsxRuntimeExports.jsxs(y.Comment,{className:W("block-shortcuts",{isOpen:u,isClosed:!u||T,isEditing:j,isDropping:se,disabled:T,isLoading:X,isSubmitting:Re}),onKeyDown:Pe,onClick:Ie,children:[i.jsxRuntimeExports.jsx(y.Markdown,{ref:ie,children:i.jsxRuntimeExports.jsx(Ke,{typeOptions:L,initValue:O})}),u&&i.jsxRuntimeExports.jsx(Ve,{files:he,isCompact:Be,onRemove:Fe,style:{borderBottom:"1px solid var(--md-sys-color-outline-variant)"},projectName:q,onAnnotationClick:we}),u&&!T?i.jsxRuntimeExports.jsx(ze.QuillListStyles,{children:i.jsxRuntimeExports.jsx(je,{theme:"snow",style:{minHeight:xe,maxHeight:300},ref:d,value:N,onChange:ve,readOnly:!u,placeholder:"Comment or mention with @user, @@version, @@@task...",modules:Ue,formats:fe.quillFormats})}):i.jsxRuntimeExports.jsx(y.Placeholder,{children:T?"Commenting is disabled across multiple projects.":"Add a comment..."}),i.jsxRuntimeExports.jsxs(y.Footer,{children:[i.jsxRuntimeExports.jsxs(y.Buttons,{children:[i.jsxRuntimeExports.jsx(v.Button,{icon:"person",variant:"text",onClick:()=>Q("@"),"data-tooltip":"Mention user","data-shortcut":"@"}),i.jsxRuntimeExports.jsx(v.Button,{icon:"layers",variant:"text",onClick:()=>Q("@@"),"data-tooltip":"Mention version","data-shortcut":"@@"}),i.jsxRuntimeExports.jsx(v.Button,{icon:"check_circle",variant:"text",onClick:()=>Q("@@@"),"data-tooltip":"Mention task","data-shortcut":"@@@"})]}),i.jsxRuntimeExports.jsxs(y.Buttons,{children:[j&&i.jsxRuntimeExports.jsx(v.Button,{variant:"text",onClick:ue,children:"Cancel"}),i.jsxRuntimeExports.jsx(v.SaveButton,{label:j?"Save":"Comment",className:"comment",active:!!N||!!E.length,onClick:pe,disabled:X})]})]}),i.jsxRuntimeExports.jsx(y.Dropzone,{className:W({show:se&&u}),children:i.jsxRuntimeExports.jsx(v.Icon,{icon:"cloud_upload"})})]}),i.jsxRuntimeExports.jsx(_e,{mention:n,options:I,onChange:Se,types:B,z:!0,config:L[n==null?void 0:n.type],noneFound:!I.length&&(n==null?void 0:n.search),noneFoundAtAll:!I.length&&!(n!=null&&n.search),selectedIndex:V,error:me})]})})};exports.default=nt;exports.mentionTypeOptions=L;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("../../../../../../_virtual/jsx-runtime.cjs.js"),l=require("react"),W=require("clsx"),Je=require("react-toastify"),Re=require("react-quill-ayon"),T=require("@ynput/ayon-react-components"),Xe=require("../CommentMentionSelect/CommentMentionSelect.cjs.js"),Ye=require("./InputMarkdownConvert.cjs.js"),Ze=require("../FilesGrid/FilesGrid.cjs.js"),y=require("./CommentInput.styled.cjs.js"),et=require("../../../../components/QuillListStyles/QuillListStyles.cjs.js"),tt=require("../../mentionHelpers/getMentionOptions.cjs.js"),nt=require("../../mentionHelpers/getMentionUsers.cjs.js"),rt=require("../../mentionHelpers/getMentionTasks.cjs.js"),ot=require("../../mentionHelpers/getMentionVersions.cjs.js"),st=require("./quillToMarkdown.cjs.js"),J=require("./helpers.cjs.js"),je=require("./modules/index.cjs.js"),it=require("./hooks/useInitialValue.cjs.js"),lt=require("./hooks/useSetCursorEnd.cjs.js"),at=require("./hooks/useMentionLink.cjs.js"),ct=require("./hooks/useAnnotationsSync.cjs.js"),ut=require("./hooks/useBlendedCategoryColor.cjs.js"),dt=require("./hooks/useAnnotationsUpload.cjs.js"),pt=require("../../context/FeedContext.cjs.js");require("react-dom");require("../Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("lodash");require("uuid");require("../../../../util/pubsub.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("../ReactionContainer/Reactions.styled.cjs.js");require("../ActivityComment/ActivityComment.styled.cjs.js");require("../ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../ActivityStatus/ActivityStatus.cjs.js");require("../ActivityHeader/ActivityHeader.styled.cjs.js");require("../ActivityDate.cjs.js");require("../../../../context/RemoteModulesContext.cjs.js");const xt=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("../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("date-fns");require("../../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");const ht=require("../ActivityCategorySelect/ActivityCategorySelect.cjs.js");var ke=Re.Quill.import("delta");const H=["@","@@","@@@"],N={"@@@":{id:"task"},"@@":{id:"version"},"@":{id:"user",isCircle:!0}},mt=({initValue:X,initFiles:Se=[],initCategory:ve=null,onSubmit:Y,isEditing:x,disabled:I,isLoading:Z,isOpen:u,onOpen:ee,onClose:te})=>{var Ce;const{projectName:k,entities:_,projectInfo:we,scope:gt,currentTab:Me,mentionSuggestionsData:Ee,categories:ne}=pt.useFeedContext(),{hasLicense:Te,onPowerFeature:Ie}=xt.useDetailsPanelContext(),{users:re,versions:oe,tasks:se}=Ee||{},[ie,Fe]=l.useState(88),[K,D]=l.useState(""),[R,b]=l.useState(Se),[V,P]=l.useState([]),[le,A]=l.useState(!1),[De,ae]=l.useState(!1),{annotations:B,removeAnnotation:$,goToAnnotation:be}=ct.default({entityId:(Ce=_[0])==null?void 0:Ce.id,filesUploading:V}),[n,C]=l.useState(null),[Q,S]=l.useState(0),[U,Pe]=l.useState(ve),Ae=ne.filter(e=>e.accessLevel>=20),v=ne.find(e=>e.name===U),ce=ut.useBlendedCategoryColor(v==null?void 0:v.color),d=l.useRef(null),Be=l.useRef(null),ue=l.useRef(null);it({markdownRef:ue,initValue:X,setEditorValue:D,setInitHeight:Fe,isOpen:u,filter:Me}),lt({initHeight:ie,editorRef:d,isEditing:x}),at({projectName:k}),l.useEffect(()=>{var e,t,r;if(u){if((t=(e=d.current)==null?void 0:e.getEditor())==null||t.enable(),B.length>0&&R.length===0)return;(r=d.current)==null||r.focus()}},[u,d]),H.sort((e,t)=>t.length-e.length);const de=l.useMemo(()=>tt(n==null?void 0:n.type,{"@":()=>nt(re),"@@":()=>ot(oe),"@@@":()=>rt(se,we.taskTypes)},n==null?void 0:n.search),[se,oe,re,n==null?void 0:n.type,n==null?void 0:n.search]),F=de.slice(0,5),[z,pe]=l.useState();l.useEffect(()=>{z&&(pe(null),d.current.getEditor().setSelection(z))},[z]);const xe=e=>{const t=d.current.getEditor(),r=n.type,o=r+(n.search||""),s=r+e.label,a=N[r],h=`${a==null?void 0:a.id}:${e.id}`,j=t.getSelection(!0),w=((j==null?void 0:j.index)||0)-o.length;t.deleteText(w,o.length),t.insertText(w,s,"mention",h);const M=w+s.length;t.updateContents(new ke().retain(M).insert(" ")),t.updateContents(new ke().retain(M+1).delete(1)),pe(M+1),C(null),S(0)},Ue=e=>{xe(e)},Le=(e,t,r,o)=>{var w,M;let s=t.ops[0]&&t.ops[0].insert||t.ops[1]&&t.ops[1].insert;const a=s===`
2
+ `||s===" ",h=de[Q];if(n&&a&&h){t.ops[0]&&t.ops[0].retain,xe(h);return}D(e);const j=t.ops.length===2&&!!t.ops[1].delete;if(!s&&j&&(s=o.getText(t.ops[0].retain-1,1)),H.includes(s)){const m=t.ops.findIndex(f=>"insert"in f||"delete"in f),c=s;let q=m===0?0:t.ops[m-1].retain;j&&(q=q-1);let p=null;for(const f of H){let E=!0;if(f.endsWith(c))for(let g=f.length-1;g>=0;g--){if(g===0)continue;const L=f[g-1],We=q-(f.length-g);if(o.getText(We,1)!==L){E=!1;break}}else E=!1;if(E){p=f;break}}p?C({type:p,retain:q}):(C(null),S(0))}else if(n){const m=t.ops[0].retain;if(s===" "||!m){C(null),S(0);return}let c=m-n.retain;j||c++;const q=o.getText(n.retain,c),p=q.replace(n.type.slice(-1),"");q.includes(" ")?(C(null),S(0)):C({...n,search:p==null?void 0:p.toLowerCase()})}else{const m=d.current.getEditor(),c=m.getSelection(!1);if(m.getFormat(c==null?void 0:c.index,c==null?void 0:c.length).mention){const[p]=m.getLine(c.index-1)||[],E=(((M=(w=p==null?void 0:p.cache)==null?void 0:w.delta)==null?void 0:M.ops)||[]).reverse().find(g=>{var L;return(L=g.attributes)==null?void 0:L.mention});if(E){const g=E.insert.length;m.deleteText(c.index-g,g)}}}},He=e=>{var a;const t=d.current.getEditor();let r=((a=t.getSelection(!0))==null?void 0:a.index)||0;const o=t.getText(r-1,1);o!==" "&&o&&(t.insertText(r," "),r++),J.typeWithDelay(t,r,e)},G=e=>{if(n){const{type:t,retain:r,search:o=""}=n,s=d.current.getEditor(),a=t.length+o.length,h=r-t.length+1;s.deleteText(h,a)}He(e)},Ne=()=>{u||I||ee&&ee()},he=()=>{(d.current.getEditor().getText().length<2||x)&&D(""),te&&te()},O=({file:e,data:t})=>{const r={id:t.id,name:e.name,mime:e.type,size:e.size,order:R.length};return b(o=>[...o,r]),P(o=>o.filter(s=>s.name!==e.name)),r},_e=(e,t,r)=>{r?$==null||$(e):(b(o=>o.filter(s=>s.id!==e)),P(o=>o.filter(s=>s.name!==t)))},me=(e,t)=>{const r=Math.round(e.loaded*100/e.total);if(r!==100){const o={name:t.name,progress:r,type:t.type,order:R.length+V.length};P(s=>[...s.filter(h=>h.name!==t.name),o])}},Ke=e=>{A(!1),J.handleFileDrop(e,k,me,O)},Ve=e=>{e.preventDefault(),e.stopPropagation(),A(!0)},$e=dt({projectName:k,onSuccess:O}),ge=async()=>{try{ae(!0);let e=[],t=[];if(B.length){const{files:a,metadata:h}=await $e(B);e=a,t=h}const[r]=st.convertToMarkdown(K),o=J.parseImages(r),s=[...R,...e];if((o||s.length)&&Y)try{await Y(o,s,{annotations:t,category:U}),D(""),b([])}catch{return}}catch(e){console.error(e),Je.toast.error("Something went wrong")}finally{ae(!1)}},Qe=e=>{if(n){if(e.key==="Escape"){C(null),S(0);return}n&&e.key;const t=e.key==="ArrowUp"?-1:e.key==="ArrowDown"?1:0;if(t){e.preventDefault();let r=Q+t;r<0&&(r=F.length-1),r>=F.length&&(r=0),S(r)}e.key}e.key==="Enter"&&(e.ctrlKey||e.metaKey)&&ge(),e.key==="Escape"&&he()};let fe=u?ie+41:44;x&&(fe=void 0);const ze=l.useMemo(()=>je.getModules({imageUploader:{projectName:k,onUpload:O,onUploadProgress:me}}),[k,b,P]),qe=[...B,...R||[],...V].sort((e,t)=>e.order-t.order),Ge=qe.length>6;let ye=null;return _.length&&_[0].entityType==="folder"&&(n==null?void 0:n.type)==="@@"&&(ye="Version mentions are disabled for folders"),i.jsxRuntimeExports.jsx(i.jsxRuntimeExports.Fragment,{children:i.jsxRuntimeExports.jsxs(y.AutoHeight,{className:W("comment-container",{isOpen:u,isEditing:x}),onDragOver:Ve,onDragLeave:()=>A(!1),onDrop:Ke,onClick:()=>A(!1),onKeyDown:e=>e.stopPropagation(),children:[i.jsxRuntimeExports.jsxs(y.Comment,{className:W("block-shortcuts",{isOpen:u,isClosed:!u||I,isEditing:x,isDropping:le,disabled:I,isLoading:Z,isSubmitting:De,category:!!U}),onKeyDown:Qe,onClick:Ne,$categoryPrimary:v==null?void 0:v.color,$categoryTertiary:ce.primary,$categorySecondary:ce.secondary,children:[i.jsxRuntimeExports.jsx(y.Markdown,{ref:ue,children:i.jsxRuntimeExports.jsx(Ye,{typeOptions:N,initValue:X})}),u&&i.jsxRuntimeExports.jsx(Ze,{files:qe,isCompact:Ge,onRemove:_e,style:{borderBottom:"1px solid var(--md-sys-color-outline-variant)"},projectName:k,onAnnotationClick:be}),u&&!I?i.jsxRuntimeExports.jsxs(et.QuillListStyles,{ref:Be,children:[i.jsxRuntimeExports.jsx(ht.ActivityCategorySelect,{value:U,categories:Ae,onChange:e=>Pe(e),isCompact:x,hasPowerpack:Te,onPowerFeature:Ie,style:{position:x?"relative":"absolute",left:4,top:x?0:4}}),i.jsxRuntimeExports.jsx(Re,{theme:"snow",style:{minHeight:fe,maxHeight:300},ref:d,value:K,onChange:Le,readOnly:!u,placeholder:"Comment or mention with @user, @@version, @@@task...",modules:ze,formats:je.quillFormats})]}):i.jsxRuntimeExports.jsx(y.Placeholder,{children:I?"Commenting is disabled across multiple projects.":"Add a comment..."}),i.jsxRuntimeExports.jsxs(y.Footer,{children:[i.jsxRuntimeExports.jsxs(y.Buttons,{children:[i.jsxRuntimeExports.jsx(T.Button,{icon:"person",variant:"text",onClick:()=>G("@"),"data-tooltip":"Mention user","data-shortcut":"@"}),i.jsxRuntimeExports.jsx(T.Button,{icon:"layers",variant:"text",onClick:()=>G("@@"),"data-tooltip":"Mention version","data-shortcut":"@@"}),i.jsxRuntimeExports.jsx(T.Button,{icon:"check_circle",variant:"text",onClick:()=>G("@@@"),"data-tooltip":"Mention task","data-shortcut":"@@@"})]}),i.jsxRuntimeExports.jsxs(y.Buttons,{children:[x&&i.jsxRuntimeExports.jsx(T.Button,{variant:"text",onClick:he,children:"Cancel"}),i.jsxRuntimeExports.jsx(T.SaveButton,{label:x?"Save":"Comment",className:"comment",active:!!K||!!R.length,onClick:ge,disabled:Z})]})]}),i.jsxRuntimeExports.jsx(y.Dropzone,{className:W({show:le&&u}),children:i.jsxRuntimeExports.jsx(T.Icon,{icon:"cloud_upload"})})]}),i.jsxRuntimeExports.jsx(Xe,{mention:n,options:F,onChange:Ue,types:H,config:N[n==null?void 0:n.type],noneFound:!F.length&&(n==null?void 0:n.search),noneFoundAtAll:!F.length&&!(n!=null&&n.search),selectedIndex:Q,error:ye})]})})};exports.default=mt;exports.mentionTypeOptions=N;
3
3
  //# sourceMappingURL=CommentInput.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommentInput.cjs.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'\n\n// State management\nimport useAnnotationsUpload from './hooks/useAnnotationsUpload'\nimport { useFeedContext } from '../../context/FeedContext'\nimport { SavedAnnotationMetadata } from '../../index'\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 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 onSubmit,\n isEditing,\n disabled,\n isLoading,\n isOpen,\n onOpen,\n onClose,\n}) => {\n const { projectName, entities, projectInfo, scope, currentTab, mentionSuggestionsData } =\n useFeedContext()\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 // REFS\n const editorRef = useRef<any>(null)\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),\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) {\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, { annotations: annotationMetadata })\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 > 6\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 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 })}\n onKeyDown={handleKeyDown}\n onClick={handleOpenClick}\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}\n onRemove={handleFileRemove}\n style={{ borderBottom: '1px solid var(--md-sys-color-outline-variant)' }}\n projectName={projectName}\n onAnnotationClick={goToAnnotation}\n />\n )}\n {isOpen && !disabled ? (\n <QuillListStyles>\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={'Comment or mention with @user, @@version, @@@task...'}\n modules={modules}\n formats={quillFormats}\n />\n </QuillListStyles>\n ) : (\n <Styled.Placeholder>\n {disabled ? 'Commenting is disabled across multiple projects.' : 'Add a comment...'}\n </Styled.Placeholder>\n )}\n\n <Styled.Footer>\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 <Styled.Buttons>\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 z\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 />\n </Styled.AutoHeight>\n </>\n )\n}\n\nexport default CommentInput\n"],"names":["Delta","Quill","mentionTypes","mentionTypeOptions","CommentInput","initValue","initFiles","onSubmit","isEditing","disabled","isLoading","isOpen","onOpen","onClose","projectName","entities","projectInfo","scope","currentTab","mentionSuggestionsData","useFeedContext","mentionUsers","mentionVersions","mentionTasks","initHeight","setInitHeight","useState","editorValue","setEditorValue","files","setFiles","filesUploading","setFilesUploading","isDropping","setIsDropping","isSubmitting","setIsSubmitting","annotations","removeAnnotation","goToAnnotation","useAnnotationsSync","_a","mention","setMention","mentionSelectedIndex","setMentionSelectedIndex","editorRef","useRef","markdownRef","useInitialValue","useSetCursorEnd","useMentionLink","useEffect","_b","_c","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","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","jsx","Fragment","jsxs","Styled.AutoHeight","clsx","Styled.Comment","Styled.Markdown","InputMarkdownConvert","FilesGrid","QuillListStyles","ReactQuill","quillFormats","Styled.Placeholder","Styled.Footer","Styled.Buttons","Button","SaveButton","Styled.Dropzone","Icon","CommentMentionSelect"],"mappings":"srCAsCA,IAAIA,GAAQC,GAAAA,MAAM,OAAO,OAAO,EAEhC,MAAMC,EAAe,CAAC,IAAK,KAAM,KAAK,EACzBC,EAAqB,CAChC,MAAO,CACL,GAAI,MACN,EACA,KAAM,CACJ,GAAI,SACN,EACA,IAAK,CACH,GAAI,OACJ,SAAU,EAAA,CAEd,EAcMC,GAAsC,CAAC,CAC3C,UAAAC,EACA,UAAAC,GAAY,CAAC,EACb,SAAAC,EACA,UAAAC,EACA,SAAAC,EACA,UAAAC,EACA,OAAAC,EACA,OAAAC,EACA,QAAAC,CACF,IAAM,QACE,KAAA,CAAE,YAAAC,EAAa,SAAAC,EAAU,YAAAC,GAAa,MAAAC,GAAO,WAAAC,GAAY,uBAAAC,IAC7DC,kBAAe,EAEX,CACJ,MAAOC,GACP,SAAUC,GACV,MAAOC,EACT,EAAIJ,IAA0B,CAAC,EAEzB,CAACK,GAAYC,EAAa,EAAIC,EAAAA,SAAS,EAAE,EACzC,CAACC,EAAaC,CAAc,EAAIF,EAAAA,SAAS,EAAE,EAE3C,CAACG,EAAOC,CAAQ,EAAIJ,EAAAA,SAASpB,EAAS,EACtC,CAACyB,EAAgBC,CAAiB,EAAIN,EAAAA,SAAS,CAAA,CAAE,EACjD,CAACO,GAAYC,CAAa,EAAIR,EAAAA,SAAS,EAAK,EAC5C,CAACS,GAAcC,EAAe,EAAIV,EAAAA,SAAS,EAAK,EAEhD,CAAE,YAAAW,EAAa,iBAAAC,EAAkB,eAAAC,EAAA,EAAmBC,GAAAA,QAAmB,CAC3E,UAAUC,GAAA1B,EAAS,CAAC,IAAV,YAAA0B,GAAa,GACvB,eAAAV,CAAA,CACD,EAGK,CAACW,EAASC,CAAU,EAAIjB,EAAAA,SAAqB,IAAI,EACjD,CAACkB,EAAsBC,CAAuB,EAAInB,EAAAA,SAAS,CAAC,EAE5DoB,EAAYC,SAAY,IAAI,EAC5BC,GAAcD,SAAuB,IAAI,EAG/BE,GAAA,CACd,YAAAD,GACA,UAAA3C,EACA,eAAAuB,EACA,cAAAH,GACA,OAAAd,EACA,OAAQO,EAAA,CACT,EAGDgC,GAAgB,CAAE,WAAA1B,GAAY,UAAAsB,EAAW,UAAAtC,CAAA,CAAW,EAErC2C,GAAA,CAAE,YAAArC,EAAa,EAG9BsC,EAAAA,UAAU,IAAM,WACd,GAAIzC,EAAQ,CAGV,IAFU0C,GAAAZ,EAAAK,EAAA,UAAA,YAAAL,EAAS,cAAT,MAAAY,EAAsB,SAE5BhB,EAAY,OAAS,GAAKR,EAAM,SAAW,EAC7C,QAGFyB,EAAAR,EAAU,UAAV,MAAAQ,EAAmB,OAAM,CAC3B,EAGC,CAAC3C,EAAQmC,CAAS,CAAC,EAEtB5C,EAAa,KAAK,CAACqD,EAAGC,IAAMA,EAAE,OAASD,EAAE,MAAM,EAE/C,MAAME,GAAiBC,EAAA,QACrB,IACEC,GACEjB,GAAA,YAAAA,EAAS,KACT,CACE,IAAK,IAAMkB,GAAgBvC,EAAY,EACvC,KAAM,IAAMwC,GAAmBvC,EAAe,EAC9C,MAAO,IAAMwC,GAAgBvC,GAAcP,GAAY,SAAS,CAClE,EACA0B,GAAA,YAAAA,EAAS,MACX,EACF,CAACnB,GAAcD,GAAiBD,GAAcqB,GAAA,YAAAA,EAAS,KAAMA,GAAA,YAAAA,EAAS,MAAM,CAC9E,EAGMqB,EAAsBN,GAAe,MAAM,EAAG,CAAC,EAG/C,CAACO,EAAcC,EAAe,EAAIvC,WAAwB,EAEhE0B,EAAAA,UAAU,IAAM,CACVY,IACFC,GAAgB,IAAI,EAENnB,EAAU,QAAQ,UAAU,EACpC,aAAakB,CAAY,EACjC,EACC,CAACA,CAAY,CAAC,EAEX,MAAAE,GAAuBC,GAAwB,CAE7C,MAAAC,EAAQtB,EAAU,QAAQ,UAAU,EAEpCuB,EAAa3B,EAAQ,KACrB4B,EAASD,GAAc3B,EAAQ,QAAU,IACzC6B,EAAeF,EAAaF,EAAe,MAE3CK,EAAOrE,EAAmBkE,CAAU,EACpCI,EAAO,GAAGD,GAAA,YAAAA,EAAM,EAAE,IAAIL,EAAe,EAAE,GAGvCO,EAAYN,EAAM,aAAa,EAAI,EAEnCO,IADiBD,GAAA,YAAAA,EAAW,QAAS,GACPJ,EAAO,OAGrCF,EAAA,WAAWO,EAAYL,EAAO,MAAM,EAG1CF,EAAM,WAAWO,EAAYJ,EAAc,UAAWE,CAAI,EAEpD,MAAAG,EAAWD,EAAaJ,EAAa,OAGrCH,EAAA,eAAe,IAAIpE,GAAM,EAAE,OAAO4E,CAAQ,EAAE,OAAO,GAAG,CAAC,EAGvDR,EAAA,eAAe,IAAIpE,KAAQ,OAAO4E,EAAW,CAAC,EAAE,OAAO,CAAC,CAAC,EAG/DX,GAAgBW,EAAW,CAAC,EAG5BjC,EAAW,IAAI,EACfE,EAAwB,CAAC,CAC3B,EAEMgC,GAAsBC,GAAgB,CAC1CZ,GAAoBY,CAAM,CAC5B,EAEMC,GAAe,CAACC,EAAiBC,EAAYC,EAAQC,IAAgB,SACzE,IAAIC,EACDH,EAAM,IAAI,CAAC,GAAKA,EAAM,IAAI,CAAC,EAAE,QAAYA,EAAM,IAAI,CAAC,GAAKA,EAAM,IAAI,CAAC,EAAE,OAEnE,MAAAI,EAAaD,IAAqB;AAAA,GAAQA,IAAqB,IAE/DjB,EAAiBV,GAAeb,CAAoB,EAEtD,GAAAF,GAAW2C,GAAclB,EAAgB,CAE3Bc,EAAM,IAAI,CAAC,GAAKA,EAAM,IAAI,CAAC,EAAE,OAI7Cf,GAAoBC,CAAsB,EAE1C,MAAA,CAGFvC,EAAeoD,CAAO,EAEhB,MAAAM,EAAWL,EAAM,IAAI,SAAW,GAAK,CAAC,CAACA,EAAM,IAAI,CAAC,EAAE,OAQ1D,GANI,CAACG,GAAoBE,IACJF,EAAAD,EAAO,QAAQF,EAAM,IAAI,CAAC,EAAE,OAAS,EAAG,CAAC,GAG5C/E,EAAa,SAASkF,CAAgB,EAEzC,CACP,MAAAG,EAAeN,EAAM,IAAI,UAAWO,GAAY,WAAYA,GAAM,WAAYA,CAAE,EAChF9C,EAAU0C,EACZ,IAAAK,EAASF,IAAiB,EAAI,EAAIN,EAAM,IAAIM,EAAe,CAAC,EAAE,OAC9DD,MAAmBG,EAAS,GAIhC,IAAIC,EAAe,KAGnB,UAAWC,KAASzF,EAAc,CAChC,IAAI0F,EAAU,GAEV,GAAAD,EAAM,SAASjD,CAAO,EAExB,QAASmD,EAAIF,EAAM,OAAS,EAAGE,GAAK,EAAGA,IAAK,CAE1C,GAAIA,IAAM,EAAG,SACP,MAAAC,EAAOH,EAAME,EAAI,CAAC,EAClBE,GAAeN,GAAUE,EAAM,OAASE,GAE9C,GADyBV,EAAO,QAAQY,GAAc,CAAC,IAC9BD,EAAM,CACnBF,EAAA,GACV,KAAA,CACF,MAGQA,EAAA,GAGZ,GAAIA,EAAS,CAEIF,EAAAC,EACf,KAAA,CACF,CAGED,EACS/C,EAAA,CACT,KAAM+C,EACN,OAAAD,CAAA,CACD,GAED9C,EAAW,IAAI,EACfE,EAAwB,CAAC,EAC3B,SAIIH,EAAS,CACX,MAAM+C,EAASR,EAAM,IAAI,CAAC,EAAE,OAExB,GAAAG,IAAqB,KAAO,CAACK,EAAQ,CACvC9C,EAAW,IAAI,EACfE,EAAwB,CAAC,EACzB,MAAA,CAGE,IAAAmD,EAA0BP,EAAS/C,EAAQ,OAC1C4C,GAAUU,IACf,MAAMC,EAAcd,EAAO,QAAQzC,EAAQ,OAAQsD,CAAuB,EACpEE,EAAgBD,EAAY,QAAQvD,EAAQ,KAAK,MAAM,EAAE,EAAG,EAAE,EAEhEuD,EAAY,SAAS,GAAG,GAC1BtD,EAAW,IAAI,EACfE,EAAwB,CAAC,GAEdF,EAAA,CACT,GAAGD,EACH,OAAQwD,GAAA,YAAAA,EAAe,aAAY,CACpC,CACH,KACK,CAEC,MAAA9B,EAAQtB,EAAU,QAAQ,UAAU,EACpCqD,EAAmB/B,EAAM,aAAa,EAAK,EAEjD,GADsBA,EAAM,UAAU+B,GAAA,YAAAA,EAAkB,MAAOA,GAAA,YAAAA,EAAkB,MAAM,EACrE,QAAS,CAEnB,KAAA,CAACC,CAAS,EAAIhC,EAAM,QAAQ+B,EAAiB,MAAQ,CAAC,GAAK,CAAC,EAG5DE,KAFMhD,GAAAZ,EAAA2D,GAAA,YAAAA,EAAW,QAAX,YAAA3D,EAAkB,QAAlB,YAAAY,EAAyB,MAAO,CAAC,GAEnB,UAAU,KAAMmC,GAAY,OAAA,OAAA/C,EAAA+C,EAAG,aAAH,YAAA/C,EAAe,QAAO,EAC5E,GAAI4D,EAAe,CACX,MAAAC,EAAgBD,EAAc,OAAO,OAC3CjC,EAAM,WAAW+B,EAAiB,MAAQG,EAAeA,CAAa,CAAA,CACxE,CACF,CAGN,EAEMC,GAAmB/B,GAAiB,OAElC,MAAAJ,EAAQtB,EAAU,QAAQ,UAAU,EAE1C,IAAI2C,IAAShD,EAAA2B,EAAM,aAAa,EAAI,IAAvB,YAAA3B,EAA0B,QAAS,EAGhD,MAAM2C,EAAmBhB,EAAM,QAAQqB,EAAS,EAAG,CAAC,EAGnCL,IAAqB,KAAOA,IAErChB,EAAA,WAAWqB,EAAQ,GAAG,EAC5BA,KAIYe,gBAAApC,EAAOqB,EAAQjB,CAAI,CACnC,EAEMiC,EAAuBjC,GAAiB,CAE5C,GAAI9B,EAAS,CACX,KAAM,CAAE,KAAA8B,EAAM,OAAAiB,EAAQ,OAAAnB,EAAS,IAAO5B,EAEhC0B,EAAQtB,EAAU,QAAQ,UAAU,EACpC4D,EAASlC,EAAK,OAASF,EAAO,OAC9BqC,EAAQlB,EAASjB,EAAK,OAAS,EAE/BJ,EAAA,WAAWuC,EAAOD,CAAM,CAAA,CAGhCH,GAAgB/B,CAAI,CACtB,EAEMoC,GAAkB,IAAM,CACxBjG,GAAUF,GAEdG,GAAUA,EAAO,CACnB,EAEMiG,GAAc,IAAM,EAET/D,EAAU,QAAQ,UAAU,EACvB,QAAQ,EACnB,OAAS,GAAKtC,IACrBoB,EAAe,EAAE,EAInBf,GAAWA,EAAQ,CACrB,EAEMiG,EAAqB,CAAC,CAAE,KAAAC,EAAM,KAAAC,KAAgB,CAClD,MAAMC,EAAU,CACd,GAAID,EAAK,GACT,KAAMD,EAAK,KACX,KAAMA,EAAK,KACX,KAAMA,EAAK,KACX,MAAOlF,EAAM,MACf,EAEA,OAAAC,EAAUoF,GAAS,CAAC,GAAGA,EAAMD,CAAO,CAAC,EAEnBjF,EAACkF,GAASA,EAAK,OAAQC,GAAmBA,EAAU,OAASJ,EAAK,IAAI,CAAC,EAElFE,CACT,EAEMG,GAAmB,CAACC,EAAYC,EAAcC,IAAiC,CAC/EA,EAEFjF,GAAA,MAAAA,EAAmB+E,IAGVvF,EAACoF,GAASA,EAAK,OAAQH,GAASA,EAAK,KAAOM,CAAE,CAAC,EAExDrF,EAAmBkF,GACVA,EAAK,OAAQH,GAAcA,EAAK,OAASO,CAAI,CACrD,EAEL,EAEME,GAAqB,CAAC,EAAQT,IAAc,CAChD,MAAMU,EAAW,KAAK,MAAO,EAAE,OAAS,IAAO,EAAE,KAAK,EACtD,GAAIA,IAAa,IAAK,CACpB,MAAMC,EAAiB,CACrB,KAAMX,EAAK,KACX,SAAAU,EACA,KAAMV,EAAK,KACX,MAAOlF,EAAM,OAASE,EAAe,MACvC,EAGAC,EAAmBkF,GAGV,CAAC,GADYA,EAAK,OAAQI,GAAcA,EAAK,OAASP,EAAK,IAAI,EAC9CW,CAAc,CACvC,CAAA,CAEL,EAGMC,GAAc,GAAuC,CACzDzF,EAAc,EAAK,EAEJ0F,EAAAA,eAAA,EAAG9G,EAAa0G,GAAoBV,CAAkB,CACvE,EAEMe,GAAkB,GAAuC,CAC7D,EAAE,eAAe,EACjB,EAAE,gBAAgB,EAClB3F,EAAc,EAAI,CACpB,EAEM4F,GAAoBC,GAAqB,CAC7C,YAAAjH,EACA,UAAWgG,CAAA,CACZ,EAEKkB,GAAe,SAAY,CAC3B,GAAA,CACF5F,GAAgB,EAAI,EAEpB,IAAI6F,EAAkB,CAAC,EACnBC,EAAgD,CAAC,EAErD,GAAI7F,EAAY,OAAQ,CACtB,KAAM,CAAE,MAAAR,EAAO,SAAAsG,GAAa,MAAML,GAAkBzF,CAAW,EAC7CR,EAAAA,EACGqG,EAAAC,CAAA,CAIvB,KAAM,CAACC,CAAQ,EAAIC,GAAA,kBAAkB1G,CAAW,EAG1C2G,EAAiBC,cAAYH,CAAQ,EAErCI,EAAgB,CAAC,GAAG3G,EAAO,GAAGoG,CAAe,EAE9C,IAAAK,GAAkBE,EAAc,SAAWjI,EAC1C,GAAA,CACF,MAAMA,EAAS+H,EAAgBE,EAAe,CAAE,YAAaN,EAAoB,EAEjFtG,EAAe,EAAE,EACjBE,EAAS,CAAA,CAAE,OACG,CAEd,MAAA,QAGG2G,EAAO,CACd,QAAQ,MAAMA,CAAK,EACnBC,GAAA,MAAM,MAAM,sBAAsB,CAAA,QAClC,CACAtG,GAAgB,EAAK,CAAA,CAEzB,EAEMuG,GAAiB,GAAwC,CAC7D,GAAIjG,EAAS,CAEP,GAAA,EAAE,MAAQ,SAAU,CACtBC,EAAW,IAAI,EACfE,EAAwB,CAAC,EACzB,MAAA,CAIEH,GAAW,EAAE,IAIX,MAAAkG,EAAiB,EAAE,MAAQ,UAAY,GAAK,EAAE,MAAQ,YAAc,EAAI,EAE9E,GAAIA,EAAgB,CAElB,EAAE,eAAe,EACjB,IAAIC,EAAWjG,EAAuBgG,EAClCC,EAAW,IAAcA,EAAA9E,EAAoB,OAAS,GACtD8E,GAAY9E,EAAoB,SAAmB8E,EAAA,GACvDhG,EAAwBgG,CAAQ,CAAA,CAG9B,EAAE,GAEN,CAGE,EAAE,MAAQ,UAAY,EAAE,SAAW,EAAE,UAC1Bb,GAAA,EAGX,EAAE,MAAQ,UACAnB,GAAA,CAEhB,EAEI,IAAAiC,GAAqCnI,EAASa,GAAa,GAAK,GAChEhB,IAA4BsI,GAAA,QAGhC,MAAMC,GAAUrF,EAAA,QACd,IACEsF,cAAW,CACT,cAAe,CACb,YAAAlI,EACA,SAAUgG,EACV,iBAAkBU,EAAA,CACpB,CACD,EACH,CAAC1G,EAAagB,EAAUE,CAAiB,CAC3C,EAEMiH,GAAW,CAAC,GAAG5G,EAAa,GAAIR,GAAS,GAAK,GAAGE,CAAc,EAAE,KACrE,CAACwB,EAAGC,IAAMD,EAAE,MAAQC,EAAE,KACxB,EACM0F,GAAcD,GAAS,OAAS,EAGtC,IAAIE,GAAgB,KACpB,OAAIpI,EAAS,QAAUA,EAAS,CAAC,EAAE,aAAe,WAC5C2B,GAAA,YAAAA,EAAS,QAAS,OACJyG,GAAA,6CAMhBC,wBAAAC,EAAAA,kBAAAA,SAAA,CAAA,SAAAC,EAAA,kBAAA,KAACC,EAAO,WAAP,CACC,UAAWC,EAAK,oBAAqB,CAAE,OAAA7I,EAAQ,UAAAH,EAAW,EAC1D,WAAYqH,GACZ,YAAa,IAAM3F,EAAc,EAAK,EACtC,OAAQyF,GACR,QAAS,IAAMzF,EAAc,EAAK,EAClC,UAAY,GAAM,EAAE,gBAAgB,EAEpC,SAAA,CAAAoH,EAAA,kBAAA,KAACG,EAAO,QAAP,CACC,UAAWD,EAAK,kBAAmB,CACjC,OAAA7I,EACA,SAAU,CAACA,GAAUF,EACrB,UAAAD,EACA,WAAAyB,GACA,SAAAxB,EACA,UAAAC,EACA,aAAAyB,EAAA,CACD,EACD,UAAWwG,GACX,QAAS/B,GAET,SAAA,CAACwC,EAAAA,kBAAAA,IAAAM,EAAAA,SAAA,CAAgB,IAAK1G,GAEpB,iCAAC2G,GAAqB,CAAA,YAAaxJ,EAAoB,UAAAE,CAAA,CAAsB,CAC/E,CAAA,EAGCM,GACCyI,EAAA,kBAAA,IAACQ,GAAA,CACC,MAAOX,GACP,UAAWC,GACX,SAAU9B,GACV,MAAO,CAAE,aAAc,+CAAgD,EACvE,YAAAtG,EACA,kBAAmByB,EAAA,CACrB,EAED5B,GAAU,CAACF,EACV2I,EAAAA,kBAAAA,IAACS,GAAAA,gBACC,CAAA,SAAAT,EAAA,kBAAA,IAACU,GAAA,CACC,MAAM,OACN,MAAO,CAAE,UAAWhB,GAAgB,UAAW,GAAI,EACnD,IAAKhG,EACL,MAAOnB,EACP,SAAUoD,GACV,SAAU,CAACpE,EACX,YAAa,uDACb,QAAAoI,GACA,QAASgB,GAAAA,YAAA,CAAA,EAEb,EAECX,EAAA,kBAAA,IAAAY,cAAA,CACE,SAAAvJ,EAAW,mDAAqD,mBACnE,EAGF6I,yBAACW,EAAAA,OAAA,CACC,SAAA,CAACX,yBAAAY,EAAAA,QAAA,CAEC,SAAA,CAAAd,EAAA,kBAAA,IAACe,EAAA,OAAA,CACC,KAAK,SACL,QAAQ,OACR,QAAS,IAAM1D,EAAoB,GAAG,EACtC,eAAc,eACd,gBAAe,GAAA,CACjB,EAEA2C,EAAA,kBAAA,IAACe,EAAA,OAAA,CACC,KAAK,SACL,QAAQ,OACR,QAAS,IAAM1D,EAAoB,IAAI,EACvC,eAAc,kBACd,gBAAe,IAAA,CACjB,EAEA2C,EAAA,kBAAA,IAACe,EAAA,OAAA,CACC,KAAK,eACL,QAAQ,OACR,QAAS,IAAM1D,EAAoB,KAAK,EACxC,eAAc,eACd,gBAAe,KAAA,CAAA,CACjB,EACF,EACA6C,yBAACY,EAAAA,QAAA,CACE,SAAA,CAAA1J,2BACE2J,EAAO,OAAA,CAAA,QAAQ,OAAO,QAAStD,GAAa,SAE7C,SAAA,EAEFuC,EAAA,kBAAA,IAACgB,EAAA,WAAA,CACC,MAAO5J,EAAY,OAAS,UAC5B,UAAU,UACV,OAAQ,CAAC,CAACmB,GAAe,CAAC,CAACE,EAAM,OACjC,QAASmG,GACT,SAAUtH,CAAA,CAAA,CACZ,CACF,CAAA,CAAA,EACF,0BAEC2J,EAAO,SAAP,CAAgB,UAAWb,EAAK,CAAE,KAAMvH,IAActB,CAAQ,CAAA,EAC7D,SAAAyI,EAAAA,kBAAAA,IAACkB,EAAAA,KAAK,CAAA,KAAK,eAAe,CAC5B,CAAA,CAAA,CAAA,CACF,EACAlB,EAAA,kBAAA,IAACmB,GAAA,CACC,QAAA7H,EACA,QAASqB,EACT,SAAUc,GACV,MAAO3E,EACP,EAAC,GAED,OAAQC,EAAmBuC,GAAA,YAAAA,EAAS,IAAI,EACxC,UAAW,CAACqB,EAAoB,SAAUrB,GAAA,YAAAA,EAAS,QACnD,eAAgB,CAACqB,EAAoB,QAAU,EAACrB,GAAA,MAAAA,EAAS,QACzD,cAAeE,EAEf,MAAOuG,EAAA,CAAA,CACT,CAAA,CAAA,EAEJ,CAEJ"}
1
+ {"version":3,"file":"CommentInput.cjs.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, SavedAnnotationMetadata } from '../../index'\nimport { CategoryTag } from '../ActivityCategorySelect/CategoryTag'\nimport { useDetailsPanelContext } 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 } = useFeedContext()\n\n const { hasLicense, onPowerFeature } = useDetailsPanelContext()\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),\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) {\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,\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 > 6\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 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,\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}\n onRemove={handleFileRemove}\n style={{ borderBottom: '1px solid var(--md-sys-color-outline-variant)' }}\n projectName={projectName}\n onAnnotationClick={goToAnnotation}\n />\n )}\n {isOpen && !disabled ? (\n <QuillListStyles ref={editorContainerRef}>\n <ActivityCategorySelect\n value={category}\n categories={categoryOptions}\n onChange={(c) => setCategory(c)}\n isCompact={isEditing}\n hasPowerpack={hasLicense}\n onPowerFeature={onPowerFeature}\n style={{\n position: isEditing ? 'relative' : 'absolute',\n left: 4,\n top: isEditing ? 0 : 4,\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={'Comment or mention with @user, @@version, @@@task...'}\n modules={modules}\n formats={quillFormats}\n />\n </QuillListStyles>\n ) : (\n <Styled.Placeholder>\n {disabled ? 'Commenting is disabled across multiple projects.' : 'Add a comment...'}\n </Styled.Placeholder>\n )}\n\n <Styled.Footer>\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 <Styled.Buttons>\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 />\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","useFeedContext","hasLicense","onPowerFeature","useDetailsPanelContext","mentionUsers","mentionVersions","mentionTasks","initHeight","setInitHeight","useState","editorValue","setEditorValue","files","setFiles","filesUploading","setFilesUploading","isDropping","setIsDropping","isSubmitting","setIsSubmitting","annotations","removeAnnotation","goToAnnotation","useAnnotationsSync","_a","mention","setMention","mentionSelectedIndex","setMentionSelectedIndex","category","setCategory","categoryOptions","cat","categoryData","blendedCategoryColor","useBlendedCategoryColor","editorRef","useRef","editorContainerRef","markdownRef","useInitialValue","useSetCursorEnd","useMentionLink","useEffect","_b","_c","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","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","jsx","Fragment","jsxs","Styled.AutoHeight","clsx","Styled.Comment","Styled.Markdown","InputMarkdownConvert","FilesGrid","QuillListStyles","ActivityCategorySelect","c","ReactQuill","quillFormats","Styled.Placeholder","Styled.Footer","Styled.Buttons","Button","SaveButton","Styled.Dropzone","Icon","CommentMentionSelect"],"mappings":"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"}