@ynput/ayon-frontend-shared 0.2.45 → 0.3.1

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 (411) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +72 -65
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +104 -102
  6. package/dist/Slicer.cjs.js +1 -1
  7. package/dist/Slicer.es.js +113 -4
  8. package/dist/Slicer.es.js.map +1 -1
  9. package/dist/Views.cjs.js.map +1 -1
  10. package/dist/Views.es.js.map +1 -1
  11. package/dist/_virtual/index.cjs4.js +1 -1
  12. package/dist/_virtual/index.cjs5.js +1 -1
  13. package/dist/_virtual/index.es4.js +2 -5
  14. package/dist/_virtual/index.es4.js.map +1 -1
  15. package/dist/_virtual/index.es5.js +5 -2
  16. package/dist/_virtual/index.es5.js.map +1 -1
  17. package/dist/components.cjs.js +1 -1
  18. package/dist/components.es.js +141 -139
  19. package/dist/components.es.js.map +1 -1
  20. package/dist/index.cjs.js +1 -1
  21. package/dist/index.es.js +61 -54
  22. package/dist/index.es.js.map +1 -1
  23. package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.cjs.js +5 -5
  24. package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.cjs.js.map +1 -1
  25. package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.es.js +313 -305
  26. package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.es.js.map +1 -1
  27. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  28. package/dist/node_modules/remove-accents/index.es.js +1 -1
  29. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
  30. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
  31. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
  32. package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
  33. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
  34. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
  35. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  36. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  37. package/dist/shared/src/api/queries/overview/getOverview.es.js +95 -95
  38. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  39. package/dist/shared/src/api/queries/views/updateViews.cjs.js +1 -1
  40. package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -1
  41. package/dist/shared/src/api/queries/views/updateViews.es.js +1 -1
  42. package/dist/shared/src/api/queries/views/updateViews.es.js.map +1 -1
  43. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  44. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  45. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +57 -50
  46. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  47. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  48. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  49. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +45 -38
  50. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  51. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  52. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  53. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +47 -40
  54. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  55. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  56. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  57. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +49 -42
  58. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  59. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  60. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  61. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +44 -37
  62. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  63. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  64. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  65. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +48 -41
  66. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  67. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +2 -0
  68. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -0
  69. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +282 -0
  70. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -0
  71. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  72. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  73. package/dist/shared/src/components/RenameForm/RenameForm.es.js +48 -41
  74. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  75. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  76. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  77. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +64 -57
  78. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  79. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  80. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  81. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +54 -47
  82. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  83. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  84. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  85. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +53 -46
  86. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  87. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  88. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  89. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +42 -41
  90. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  91. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  92. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  93. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +52 -45
  94. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  95. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +2 -2
  96. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  97. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +56 -49
  98. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  99. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  100. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  101. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +53 -46
  102. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  103. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  104. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  105. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +54 -47
  106. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  107. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  108. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  109. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +93 -86
  110. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  111. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  112. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  113. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +49 -42
  114. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  115. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  116. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  117. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +68 -61
  118. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  119. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  120. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  121. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +93 -86
  122. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  123. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
  124. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
  125. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +47 -40
  126. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
  127. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  128. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  129. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +46 -43
  130. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  131. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  132. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  133. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +49 -46
  134. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  135. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  136. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  137. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +49 -46
  138. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  139. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  140. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  141. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +49 -46
  142. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  143. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  144. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  145. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +50 -42
  146. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  147. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  148. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  149. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +55 -48
  150. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  151. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  152. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  153. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +70 -63
  154. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  155. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  156. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  157. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +47 -40
  158. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  159. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  160. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  161. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +483 -462
  162. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  163. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  164. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  165. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +105 -98
  166. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  167. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  168. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  169. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +47 -40
  170. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  171. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  172. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  173. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +57 -50
  174. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  175. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  176. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  177. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +54 -47
  178. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  179. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +3 -3
  180. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  181. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +142 -146
  182. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  183. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  184. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  185. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
  186. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
  187. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +63 -68
  188. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
  189. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  190. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  191. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +49 -41
  192. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  193. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  194. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  195. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +74 -67
  196. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  197. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  198. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  199. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +48 -41
  200. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  201. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  202. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  203. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +55 -48
  204. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  205. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  206. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  207. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +54 -47
  208. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  209. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  210. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  211. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +51 -44
  212. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  213. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  214. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  215. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +141 -132
  216. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  217. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  218. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  219. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +51 -44
  220. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  221. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  222. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  223. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +51 -44
  224. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  225. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  226. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  227. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +54 -47
  228. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  229. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  230. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  231. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +46 -39
  232. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  233. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  234. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  235. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +46 -39
  236. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  237. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  238. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  239. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +81 -67
  240. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  241. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  242. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  243. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +62 -55
  244. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  245. package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.cjs.js +1 -1
  246. package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.cjs.js.map +1 -1
  247. package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.es.js +11 -6
  248. package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.es.js.map +1 -1
  249. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +2 -2
  250. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  251. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +16 -13
  252. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  253. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
  254. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  255. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +342 -116
  256. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  257. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.cjs.js +2 -2
  258. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.cjs.js.map +1 -1
  259. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.es.js +47 -40
  260. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.es.js.map +1 -1
  261. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +2 -2
  262. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
  263. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +7 -7
  264. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
  265. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  266. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  267. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +69 -62
  268. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  269. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  270. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  271. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +51 -44
  272. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  273. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js +2 -2
  274. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js.map +1 -1
  275. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js +29 -33
  276. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js.map +1 -1
  277. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  278. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  279. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +118 -111
  280. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  281. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  282. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  283. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +49 -46
  284. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  285. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +2 -0
  286. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -0
  287. package/dist/shared/src/containers/Slicer/components/Slicer.es.js +82 -0
  288. package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -0
  289. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +27 -0
  290. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -0
  291. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +71 -0
  292. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -0
  293. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +10 -0
  294. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -0
  295. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +294 -0
  296. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -0
  297. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +2 -0
  298. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -0
  299. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +215 -0
  300. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -0
  301. package/dist/shared/src/containers/Slicer/hooks/useFiltersWithHierarchy.cjs.js.map +1 -0
  302. package/dist/shared/src/containers/Slicer/hooks/useFiltersWithHierarchy.es.js.map +1 -0
  303. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +2 -0
  304. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -0
  305. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +25 -0
  306. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -0
  307. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +2 -0
  308. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -0
  309. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +28 -0
  310. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -0
  311. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +2 -0
  312. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -0
  313. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +304 -0
  314. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -0
  315. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js +2 -0
  316. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -0
  317. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js +99 -0
  318. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -0
  319. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.cjs.js.map +1 -0
  320. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.es.js.map +1 -0
  321. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  322. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  323. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +95 -88
  324. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  325. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +2 -2
  326. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  327. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +32 -31
  328. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  329. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  330. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  331. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +125 -121
  332. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  333. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -1
  334. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
  335. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +47 -49
  336. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
  337. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  338. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  339. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +6 -5
  340. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  341. package/dist/shared/src/context/AddonContext.cjs.js.map +1 -1
  342. package/dist/shared/src/context/AddonContext.es.js.map +1 -1
  343. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  344. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  345. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  346. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  347. package/dist/shared/src/context/ProjectFoldersContext.es.js +62 -49
  348. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  349. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  350. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  351. package/dist/shared/src/context/WebsocketContext.es.js +51 -44
  352. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  353. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  354. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  355. package/dist/shared/src/hooks/useLoadModules.cjs.js +1 -1
  356. package/dist/shared/src/hooks/useLoadModules.cjs.js.map +1 -1
  357. package/dist/shared/src/hooks/useLoadModules.es.js +7 -7
  358. package/dist/shared/src/hooks/useLoadModules.es.js.map +1 -1
  359. package/dist/shared/src/util/columnConfigConverter.cjs.js +1 -1
  360. package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
  361. package/dist/shared/src/util/columnConfigConverter.es.js +69 -46
  362. package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
  363. package/dist/shared/src/util/getGroupByDataType.cjs.js +1 -1
  364. package/dist/shared/src/util/getGroupByDataType.cjs.js.map +1 -1
  365. package/dist/shared/src/util/getGroupByDataType.es.js +4 -4
  366. package/dist/shared/src/util/getGroupByDataType.es.js.map +1 -1
  367. package/dist/types/api/queries/activities/getActivities.d.ts +1 -1
  368. package/dist/types/api/queries/entityLists/getLists.d.ts +183 -183
  369. package/dist/types/api/queries/links/getLinks.d.ts +1 -1
  370. package/dist/types/api/queries/overview/getOverview.d.ts +2 -1
  371. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +2 -2
  372. package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +29 -0
  373. package/dist/types/components/RemotePage/index.d.ts +1 -0
  374. package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +1 -0
  375. package/dist/types/components/index.d.ts +31 -30
  376. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +0 -2
  377. package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +1 -4
  378. package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +2 -1
  379. package/dist/types/containers/ProjectTreeTable/hooks/useQueryFilters.d.ts +4 -1
  380. package/dist/types/containers/ProjectTreeTable/utils/restrictedEntity.d.ts +3 -3
  381. package/dist/types/containers/Slicer/components/Slicer.d.ts +9 -0
  382. package/dist/types/containers/Slicer/components/SlicerDropdownFallback.d.ts +7 -0
  383. package/dist/types/containers/Slicer/components/SlicerSearch.d.ts +6 -0
  384. package/dist/types/containers/Slicer/context/SlicerContext.d.ts +48 -0
  385. package/dist/types/containers/Slicer/hooks/index.d.ts +5 -0
  386. package/dist/types/containers/Slicer/{useFiltersWithHierarchy.d.ts → hooks/useFiltersWithHierarchy.d.ts} +1 -1
  387. package/dist/types/containers/Slicer/hooks/useProjectAnatomySlices.d.ts +51 -0
  388. package/dist/types/containers/Slicer/hooks/useSlicerAttributesData.d.ts +7 -0
  389. package/dist/types/containers/Slicer/hooks/useTableDataBySlice.d.ts +8 -0
  390. package/dist/types/containers/Slicer/hooks/useUsersTable.d.ts +10 -0
  391. package/dist/types/containers/Slicer/index.d.ts +4 -2
  392. package/dist/types/containers/Slicer/types.d.ts +35 -0
  393. package/dist/types/containers/Slicer/{createFilterFromSlicer.d.ts → util/createFilterFromSlicer.d.ts} +2 -2
  394. package/dist/types/containers/Slicer/util/index.d.ts +1 -0
  395. package/dist/types/containers/Views/ViewsMenuContainer/BaseViewsTags.d.ts +4 -1
  396. package/dist/types/containers/Views/hooks/pages/useOverviewViewSettings.d.ts +7 -1
  397. package/dist/types/containers/Views/index.d.ts +1 -1
  398. package/dist/types/containers/Views/utils/viewUpdateHelper.d.ts +1 -1
  399. package/dist/types/context/AddonContext.d.ts +10 -1
  400. package/dist/types/context/AddonProjectContext.d.ts +7 -12
  401. package/dist/types/context/ProjectFoldersContext.d.ts +1 -0
  402. package/dist/types/hooks/useGroupByRemoteModules.d.ts +2 -1
  403. package/package.json +1 -1
  404. package/dist/shared/src/containers/Slicer/createFilterFromSlicer.cjs.js.map +0 -1
  405. package/dist/shared/src/containers/Slicer/createFilterFromSlicer.es.js.map +0 -1
  406. package/dist/shared/src/containers/Slicer/useFiltersWithHierarchy.cjs.js.map +0 -1
  407. package/dist/shared/src/containers/Slicer/useFiltersWithHierarchy.es.js.map +0 -1
  408. /package/dist/shared/src/containers/Slicer/{useFiltersWithHierarchy.cjs.js → hooks/useFiltersWithHierarchy.cjs.js} +0 -0
  409. /package/dist/shared/src/containers/Slicer/{useFiltersWithHierarchy.es.js → hooks/useFiltersWithHierarchy.es.js} +0 -0
  410. /package/dist/shared/src/containers/Slicer/{createFilterFromSlicer.cjs.js → util/createFilterFromSlicer.cjs.js} +0 -0
  411. /package/dist/shared/src/containers/Slicer/{createFilterFromSlicer.es.js → util/createFilterFromSlicer.es.js} +0 -0
@@ -1,3 +1,3 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("../../../../../../_virtual/jsx-runtime.cjs.js"),u=require("react"),z=require("clsx"),er=require("react-toastify"),ke=require("react-quill-ayon"),M=require("@ynput/ayon-react-components"),rr=require("../CommentMentionSelect/CommentMentionSelect.cjs.js"),tr=require("./InputMarkdownConvert.cjs.js"),nr=require("../FilesGrid/FilesGrid.cjs.js"),f=require("./CommentInput.styled.cjs.js"),ir=require("../../../../components/QuillListStyles/QuillListStyles.cjs.js"),or=require("../../mentionHelpers/getMentionOptions.cjs.js"),sr=require("../../mentionHelpers/getMentionUsers.cjs.js"),ur=require("../../mentionHelpers/getMentionTasks.cjs.js"),ar=require("../../mentionHelpers/getMentionVersions.cjs.js"),cr=require("./quillToMarkdown.cjs.js"),G=require("./helpers.cjs.js"),je=require("./modules/index.cjs.js"),lr=require("./hooks/useInitialValue.cjs.js"),qr=require("./hooks/useSetCursorEnd.cjs.js"),dr=require("./hooks/useMentionLink.cjs.js"),mr=require("./hooks/useAnnotationsSync.cjs.js"),pr=require("./hooks/useBlendedCategoryColor.cjs.js"),xr=require("./hooks/useAnnotationsUpload.cjs.js"),hr=require("../../context/FeedContext.cjs.js");require("react-dom");require("../Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../../../context/RemoteModulesContext.cjs.js");const gr=require("../../../../context/DetailsPanelContext.cjs.js");require("../../../../context/ThumbnailUploaderContext.cjs.js");require("../../../../context/SettingsPanelContext.cjs.js");require("../../../../context/pip/PiPProvider.cjs.js");require("../../../../context/pip/PiPWrapper.cjs.js");require("../../../../context/AddonProjectContext.cjs.js");require("../../../../context/AddonContext.cjs.js");require("../../../../context/PowerpackContext.cjs.js");require("../../../../context/MoveEntityContext.cjs.js");require("../../../../context/MenuContext.cjs.js");require("../../../../context/WebsocketContext.cjs.js");require("../../../../context/GlobalContext.cjs.js");const fr=require("../../../../context/ProjectContext.cjs.js");require("../../../../context/ProjectFoldersContext.cjs.js");require("../../../../context/UriContext.cjs.js");require("../FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../ReactionContainer/Reactions.styled.cjs.js");require("../ActivityComment/ActivityComment.styled.cjs.js");require("lodash");require("../ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../ActivityReference/ActivityReference.styled.cjs.js");require("uuid");require("../../../../util/pubsub.cjs.js");require("react-router-dom");require("../ActivityStatus/ActivityStatus.cjs.js");require("../ActivityHeader/ActivityHeader.styled.cjs.js");require("../ActivityDate.cjs.js");require("../../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../../../api/base/client.cjs.js");require("../../../../api/generated/graphql.cjs.js");require("../../../../api/generated/graphqlLinks.cjs.js");require("../../../../api/generated/access.cjs.js");require("../../../../api/generated/actions.cjs.js");require("../../../../api/generated/activityFeed.cjs.js");require("../../../../api/generated/addons.cjs.js");require("../../../../api/generated/anatomy.cjs.js");require("../../../../api/generated/attributes.cjs.js");require("../../../../api/generated/authentication.cjs.js");require("../../../../api/generated/bundles.cjs.js");require("../../../../api/generated/configuration.cjs.js");require("../../../../api/generated/desktop.cjs.js");require("../../../../api/generated/entityLists.cjs.js");require("../../../../api/generated/events.cjs.js");require("../../../../api/generated/files.cjs.js");require("../../../../api/generated/folders.cjs.js");require("../../../../api/generated/inbox.cjs.js");require("../../../../api/generated/links.cjs.js");require("../../../../api/generated/market.cjs.js");require("../../../../api/generated/onboarding.cjs.js");require("../../../../api/generated/operations.cjs.js");require("../../../../api/generated/products.cjs.js");require("../../../../api/generated/projectDashboard.cjs.js");require("../../../../api/generated/projects.cjs.js");require("../../../../api/generated/reviewables.cjs.js");require("../../../../api/generated/services.cjs.js");require("../../../../api/generated/system.cjs.js");require("../../../../api/generated/tasks.cjs.js");require("../../../../api/generated/teams.cjs.js");require("../../../../api/generated/thumbnails.cjs.js");require("../../../../api/generated/uRIs.cjs.js");require("../../../../api/generated/users.cjs.js");require("../../../../api/generated/versions.cjs.js");require("../../../../api/generated/workfiles.cjs.js");require("../../../../api/generated/ynputCloud.cjs.js");require("../../../../api/generated/grouping.cjs.js");require("../../../../api/generated/views.cjs.js");require("../../../../api/queries/actions/getActions.cjs.js");require("../../../../api/queries/activities/getActivities.cjs.js");require("../../../../api/queries/activities/updateActivities.cjs.js");require("../../../../api/queries/activities/updateReaction.cjs.js");require("../../../../api/queries/activities/getMentions.cjs.js");require("../../../../api/queries/activities/getCategories.cjs.js");require("../../../../api/queries/addons/getAddons.cjs.js");require("../../../../api/queries/addons/updateAddons.cjs.js");require("../../../../api/queries/attributes/getAttributes.cjs.js");require("../../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../../api/queries/cloud/cloud.cjs.js");require("../../../../api/queries/config/getConfig.cjs.js");require("../../../../api/queries/config/updateConfig.cjs.js");require("../../../../api/queries/entities/getEntity.cjs.js");require("../../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../../api/queries/entities/updateEntity.cjs.js");require("../../../../api/queries/entityLists/getLists.cjs.js");require("../../../../api/queries/entityLists/updateLists.cjs.js");require("../../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../../api/queries/entityLists/listFolders.cjs.js");require("../../../../api/queries/folders/getFolders.cjs.js");require("../../../../api/queries/grouping/getGrouping.cjs.js");require("../../../../api/queries/links/updateLinks.cjs.js");require("../../../../api/queries/links/getLinks.cjs.js");require("../../../../api/queries/links/getEntityLinks.cjs.js");require("../../../../api/queries/overview/getOverview.cjs.js");require("../../../../api/queries/overview/updateOverview.cjs.js");require("../../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../../api/queries/permissions/getPermissions.cjs.js");require("../../../../api/queries/products/createProduct.cjs.js");require("../../../../api/queries/project/getProject.cjs.js");require("../../../../api/queries/project/updateProject.cjs.js");require("../../../../api/queries/review/getReview.cjs.js");require("../../../../api/queries/review/updateReview.cjs.js");require("../../../../api/queries/share/share.cjs.js");require("../../../../api/queries/system/getSystem.cjs.js");require("../../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../../api/queries/users/getUsers.cjs.js");require("../../../../api/queries/users/updateUsers.cjs.js");require("../../../../api/queries/users/guests.cjs.js");require("../../../../api/queries/versions/updateVersions.cjs.js");require("../../../../api/queries/views/getViews.cjs.js");require("../../../../api/queries/views/updateViews.cjs.js");require("../../../../api/queries/watchers/getWatchers.cjs.js");require("../../../../api/queries/uris/getUris.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../../components/Thumbnail/StackedThumbnails.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../../../ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../../../ProjectTreeTable/widgets/DateWidget.cjs.js");require("../../../ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../../../ProjectTreeTable/widgets/TextWidget.cjs.js");require("../../../ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../../../ProjectTreeTable/widgets/CellWidget.cjs.js");require("../../../ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../../../ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../../../ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../../../../components/LinksManager/CellEditingDialog.cjs.js");require("../../../ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../../../ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../../ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../../../ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../../../ProjectTreeTable/context/CellEditingContext.cjs.js");require("short-uuid");require("../../../ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../../../ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../../../ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../../../ProjectTreeTable/context/ClipboardContext.cjs.js");require("../../../ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../../../ProjectTreeTable/context/ProjectDataContext.cjs.js");require("../../../../../../_virtual/runtime.cjs.js");require("../../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../../../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../../../ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../../../ProjectTreeTable/components/SelectionCell.cjs.js");require("../../../ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../../../ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../../../ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../../../ProjectTreeTable/components/ColumnHeaderMenu.cjs.js");require("../../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../../Actions/Actions.styled.cjs.js");require("../../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../../Actions/ActionIcon.cjs.js");require("../../../Views/context/ViewsContext.cjs.js");require("../../../Views/Views.styled.cjs.js");require("../../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../../components/Watchers/Watchers.cjs.js");require("../../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../../components/Powerpack/PricingLink.cjs.js");require("../../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../../components/Powerpack/CTAButton.cjs.js");require("../../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../../components/SizeSlider/SizeSlider.cjs.js");require("../../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../../components/SearchFilter/filterDates.cjs.js");require("../../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../../components/Badge/Badge.cjs.js");require("../../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../../components/Feedback/FeedbackContext.cjs.js");require("../../../../components/Feedback/SupportBubble.cjs.js");require("../../../../components/Chips/Chips.cjs.js");require("../../../../components/StyledLink/StyledLink.cjs.js");require("date-fns");require("../../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../../components/AccessUser/AccessUser.cjs.js");require("../../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../../components/Menu/Menu.styled.cjs.js");require("../../../../components/Menu/MenuItem.cjs.js");require("../ActivityCategorySelect/CategoryTag.cjs.js");require("../ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../ActivityVersions/ActivityVersions.styled.cjs.js");require("../ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed.styled.cjs.js");const Se=require("../ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../ActivityCategorySelect/CategoryDropdownItem.cjs.js");var ve=ke.Quill.import("delta");const B=["@","@@","@@@"],L={"@@@":{id:"task"},"@@":{id:"version"},"@":{id:"user",isCircle:!0}},yr=({initValue:O,initFiles:Re=[],initCategory:we=null,data:W={},onSubmit:Y,isEditing:l,disabled:E,isLoading:J,isOpen:q,onOpen:X,onClose:Z})=>{const{projectName:S,entities:U,projectInfo:Me,scope:Cr,currentTab:Ee,mentionSuggestionsData:Te,categories:ee,isGuest:x}=hr.useFeedContext(),{hasLicense:De,onPowerFeature:Ie,user:Fe}=gr.useDetailsPanelContext(),Pe=Fe?.data?.isAdmin,be=fr.useProjectContext(),{users:re,versions:te,tasks:ne}=Te||{},[ie,Ae]=u.useState(88),[H,D]=u.useState(""),[v,I]=u.useState(Re),[N,F]=u.useState([]),[oe,P]=u.useState(!1),[Be,se]=u.useState(!1),{annotations:b,removeAnnotation:Le,goToAnnotation:Ue}=mr.default({entityId:U[0]?.id,filesUploading:N}),[s,y]=u.useState(null),[_,k]=u.useState(0),[A,He]=u.useState(we),ue=ee.filter(e=>e.accessLevel>=20),ae=ee.find(e=>e.name===A),ce=pr.useBlendedCategoryColor(ae?.color),d=u.useRef(null),Ne=u.useRef(null),le=u.useRef(null);lr({markdownRef:le,initValue:O,setEditorValue:D,setInitHeight:Ae,isOpen:q,filter:Ee}),qr({initHeight:ie,editorRef:d,isEditing:l}),dr({projectName:S}),u.useEffect(()=>{if(q){if(d.current?.getEditor()?.enable(),b.length>0&&v.length===0)return;d.current?.focus()}},[q,d]),B.sort((e,r)=>r.length-e.length);const qe=u.useMemo(()=>or(s?.type,{"@":()=>sr(re),"@@":()=>ar(te,be),"@@@":()=>ur(ne,Me.taskTypes)},s?.search),[ne,te,re,s?.type,s?.search]),T=qe.slice(0,5),[K,de]=u.useState();u.useEffect(()=>{K&&(de(null),d.current.getEditor().setSelection(K))},[K]);const me=e=>{const r=d.current.getEditor(),t=s.type,n=t+(s.search||""),i=t+e.label,m=`${L[t]?.id}:${e.id}`,a=(r.getSelection(!0)?.index||0)-n.length;r.deleteText(a,n.length),r.insertText(a,i,"mention",m);const c=a+i.length;r.updateContents(new ve().retain(c).insert(" ")),r.updateContents(new ve().retain(c+1).delete(1)),de(c+1),y(null),k(0)},_e=e=>{me(e)},Ke=(e,r,t,n)=>{let i=r.ops[0]&&r.ops[0].insert||r.ops[1]&&r.ops[1].insert;const C=i===`
2
- `||i===" ",m=qe[_];if(s&&C&&m&&!x){r.ops[0]&&r.ops[0].retain,me(m);return}D(e);const R=r.ops.length===2&&!!r.ops[1].delete;if(!i&&R&&(i=n.getText(r.ops[0].retain-1,1)),B.includes(i)){const a=r.ops.findIndex(h=>"insert"in h||"delete"in h),c=i;let g=a===0?0:r.ops[a-1].retain;R&&(g=g-1);let j=null;for(const h of B){let w=!0;if(h.endsWith(c))for(let p=h.length-1;p>=0;p--){if(p===0)continue;const Xe=h[p-1],Ze=g-(h.length-p);if(n.getText(Ze,1)!==Xe){w=!1;break}}else w=!1;if(w){j=h;break}}j?y({type:j,retain:g}):(y(null),k(0))}else if(s){const a=r.ops[0].retain;if(i===" "||!a){y(null),k(0);return}let c=a-s.retain;R||c++;const g=n.getText(s.retain,c),j=g.replace(s.type.slice(-1),"");g.includes(" ")?(y(null),k(0)):y({...s,search:j?.toLowerCase()})}else{const a=d.current.getEditor(),c=a.getSelection(!1);if(a.getFormat(c?.index,c?.length).mention){const[j]=a.getLine(c.index-1)||[],w=(j?.cache?.delta?.ops||[]).reverse().find(p=>p.attributes?.mention);if(w){const p=w.insert.length;a.deleteText(c.index-p,p)}}}},Ve=e=>{const r=d.current.getEditor();let t=r.getSelection(!0)?.index||0;const n=r.getText(t-1,1);n!==" "&&n&&(r.insertText(t," "),t++),G.typeWithDelay(r,t,e)},V=e=>{if(s){const{type:r,retain:t,search:n=""}=s,i=d.current.getEditor(),C=r.length+n.length,m=t-r.length+1;i.deleteText(m,C)}Ve(e)},$e=()=>{q||E||X&&X()},pe=()=>{(d.current.getEditor().getText().length<2||l)&&D(""),Z&&Z()},$=({file:e,data:r})=>{const t={id:r.id,name:e.name,mime:e.type,size:e.size,order:v.length};return I(n=>[...n,t]),F(n=>n.filter(i=>i.name!==e.name)),t},Qe=(e,r,t)=>{t?Le?.(e):(I(n=>n.filter(i=>i.id!==e)),F(n=>n.filter(i=>i.name!==r)))},xe=(e,r)=>{const t=Math.round(e.loaded*100/e.total);if(t!==100){const n={name:r.name,progress:t,type:r.type,order:v.length+N.length};F(i=>[...i.filter(m=>m.name!==r.name),n])}},ze=e=>{P(!1),G.handleFileDrop(e,S,xe,$)},Ge=e=>{e.preventDefault(),e.stopPropagation(),P(!0)},Oe=xr({projectName:S,onSuccess:$}),he=async()=>{try{se(!0);let e=[],r;if(b.length){const{files:m,metadata:R}=await Oe(b);e=m;const{annotations:Q=[]}=W||{};r=[...Q,...R]}const[t]=cr.convertToMarkdown(H),n=G.parseImages(t),i=[...v,...e],C={...W,annotations:r,category:x?null:A};if((n||i.length)&&Y)try{await Y(n,i,C),D(""),I([])}catch{return}}catch(e){console.error(e),er.toast.error("Something went wrong")}finally{se(!1)}},We=e=>{if(s){if(e.key==="Escape"){y(null),k(0);return}s&&e.key;const r=e.key==="ArrowUp"?-1:e.key==="ArrowDown"?1:0;if(r){e.preventDefault();let t=_+r;t<0&&(t=T.length-1),t>=T.length&&(t=0),k(t)}e.key}e.key==="Enter"&&(e.ctrlKey||e.metaKey)&&he(),e.key==="Escape"&&pe()};let ge=q?ie+41:44;l&&(ge=void 0);const Ye=u.useMemo(()=>je.getModules({imageUploader:{projectName:S,onUpload:$,onUploadProgress:xe}}),[S,I,F]),fe=[...b,...v||[],...N].sort((e,r)=>e.order-r.order),Je=fe.length>3;let ye=null;U.length&&U[0].entityType==="folder"&&s?.type==="@@"&&(ye="Version mentions are disabled for folders");const Ce=e=>E?x?"You do not have permission to comment.":"Commenting is disabled across multiple projects.":x||!e?"Leave a comment":"Comment or mention with @user, @@version, @@@task...";return o.jsxRuntimeExports.jsx(o.jsxRuntimeExports.Fragment,{children:o.jsxRuntimeExports.jsxs(f.AutoHeight,{className:z("comment-container",{isOpen:q,isEditing:l}),onDragOver:Ge,onDragLeave:()=>P(!1),onDrop:ze,onClick:()=>P(!1),onKeyDown:e=>e.stopPropagation(),children:[o.jsxRuntimeExports.jsxs(f.Comment,{className:z("block-shortcuts",{isOpen:q,isClosed:!q||E,isEditing:l,isDropping:oe,disabled:E,isLoading:J,isSubmitting:Be,category:!!A&&!x}),onKeyDown:We,onClick:$e,$categoryPrimary:ae?.color,$categoryTertiary:ce.primary,$categorySecondary:ce.secondary,children:[o.jsxRuntimeExports.jsx(f.Markdown,{ref:le,children:o.jsxRuntimeExports.jsx(tr,{typeOptions:L,initValue:O})}),q&&o.jsxRuntimeExports.jsx(nr,{files:fe,isCompact:Je||l,onRemove:Qe,projectName:S,onAnnotationClick:Ue,style:{borderBottom:"1px solid var(--md-sys-color-outline-variant)",height:"100%"},isEditing:!0,pt:{file:{style:{height:l?70:void 0}}}}),q&&!E?o.jsxRuntimeExports.jsxs(ir.QuillListStyles,{ref:Ne,children:[!x&&o.jsxRuntimeExports.jsx(Se.ActivityCategorySelect,{value:A,categories:ue,onChange:e=>He(e),isCompact:l,hasPowerpack:De,onPowerFeature:Ie,isHidden:Se.isCategoryHidden(ue,{isGuest:x,isAdmin:Pe}),style:{position:l?"relative":"absolute",left:4,top:l?0:4}}),o.jsxRuntimeExports.jsx(ke,{theme:"snow",style:{minHeight:ge,maxHeight:300},ref:d,value:H,onChange:Ke,readOnly:!q,placeholder:Ce(!0),modules:Ye,formats:je.quillFormats})]}):o.jsxRuntimeExports.jsx(f.Placeholder,{children:Ce()}),o.jsxRuntimeExports.jsxs(f.Footer,{children:[!x&&o.jsxRuntimeExports.jsxs(f.Buttons,{children:[o.jsxRuntimeExports.jsx(M.Button,{icon:"person",variant:"text",onClick:()=>V("@"),"data-tooltip":"Mention user","data-shortcut":"@"}),o.jsxRuntimeExports.jsx(M.Button,{icon:"layers",variant:"text",onClick:()=>V("@@"),"data-tooltip":"Mention version","data-shortcut":"@@"}),o.jsxRuntimeExports.jsx(M.Button,{icon:"check_circle",variant:"text",onClick:()=>V("@@@"),"data-tooltip":"Mention task","data-shortcut":"@@@"})]}),o.jsxRuntimeExports.jsxs(f.Buttons,{style:{marginLeft:"auto"},children:[l&&o.jsxRuntimeExports.jsx(M.Button,{variant:"text",onClick:pe,children:"Cancel"}),o.jsxRuntimeExports.jsx(M.SaveButton,{label:l?"Save":"Comment",className:"comment",active:!!H||!!v.length,onClick:he,disabled:J})]})]}),o.jsxRuntimeExports.jsx(f.Dropzone,{className:z({show:oe&&q}),children:o.jsxRuntimeExports.jsx(M.Icon,{icon:"cloud_upload"})})]}),o.jsxRuntimeExports.jsx(rr,{mention:s,options:T,onChange:_e,types:B,config:L[s?.type],noneFound:!T.length&&s?.search,noneFoundAtAll:!T.length&&!s?.search,selectedIndex:_,error:ye,isGuest:x})]})})};exports.default=yr;exports.mentionTypeOptions=L;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("../../../../../../_virtual/jsx-runtime.cjs.js"),u=require("react"),z=require("clsx"),er=require("react-toastify"),ke=require("react-quill-ayon"),M=require("@ynput/ayon-react-components"),rr=require("../CommentMentionSelect/CommentMentionSelect.cjs.js"),tr=require("./InputMarkdownConvert.cjs.js"),ir=require("../FilesGrid/FilesGrid.cjs.js"),f=require("./CommentInput.styled.cjs.js"),nr=require("../../../../components/QuillListStyles/QuillListStyles.cjs.js"),or=require("../../mentionHelpers/getMentionOptions.cjs.js"),sr=require("../../mentionHelpers/getMentionUsers.cjs.js"),ur=require("../../mentionHelpers/getMentionTasks.cjs.js"),ar=require("../../mentionHelpers/getMentionVersions.cjs.js"),cr=require("./quillToMarkdown.cjs.js"),G=require("./helpers.cjs.js"),je=require("./modules/index.cjs.js"),lr=require("./hooks/useInitialValue.cjs.js"),qr=require("./hooks/useSetCursorEnd.cjs.js"),dr=require("./hooks/useMentionLink.cjs.js"),mr=require("./hooks/useAnnotationsSync.cjs.js"),pr=require("./hooks/useBlendedCategoryColor.cjs.js"),xr=require("./hooks/useAnnotationsUpload.cjs.js"),hr=require("../../context/FeedContext.cjs.js");require("react-dom");require("../Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../../../context/RemoteModulesContext.cjs.js");const gr=require("../../../../context/DetailsPanelContext.cjs.js");require("../../../../context/ThumbnailUploaderContext.cjs.js");require("../../../../context/SettingsPanelContext.cjs.js");require("../../../../context/pip/PiPProvider.cjs.js");require("../../../../context/pip/PiPWrapper.cjs.js");require("../../../../context/AddonProjectContext.cjs.js");require("../../../../context/AddonContext.cjs.js");require("../../../../context/PowerpackContext.cjs.js");require("../../../../context/MoveEntityContext.cjs.js");require("../../../../context/MenuContext.cjs.js");require("../../../../context/WebsocketContext.cjs.js");require("../../../../context/GlobalContext.cjs.js");const fr=require("../../../../context/ProjectContext.cjs.js");require("../../../../context/ProjectFoldersContext.cjs.js");require("../../../../context/UriContext.cjs.js");require("../FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../ReactionContainer/Reactions.styled.cjs.js");require("../ActivityComment/ActivityComment.styled.cjs.js");require("lodash");require("../ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../ActivityReference/ActivityReference.styled.cjs.js");require("uuid");require("../../../../util/pubsub.cjs.js");require("react-router-dom");require("../ActivityStatus/ActivityStatus.cjs.js");require("../ActivityHeader/ActivityHeader.styled.cjs.js");require("../ActivityDate.cjs.js");require("../../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../../components/AccessUser/AccessUser.cjs.js");require("../../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../../components/Badge/Badge.cjs.js");require("../../../../components/Chips/Chips.cjs.js");require("../../../../api/base/client.cjs.js");require("../../../../api/generated/graphql.cjs.js");require("../../../../api/generated/graphqlLinks.cjs.js");require("../../../../api/generated/access.cjs.js");require("../../../../api/generated/actions.cjs.js");require("../../../../api/generated/activityFeed.cjs.js");require("../../../../api/generated/addons.cjs.js");require("../../../../api/generated/anatomy.cjs.js");require("../../../../api/generated/attributes.cjs.js");require("../../../../api/generated/authentication.cjs.js");require("../../../../api/generated/bundles.cjs.js");require("../../../../api/generated/configuration.cjs.js");require("../../../../api/generated/desktop.cjs.js");require("../../../../api/generated/entityLists.cjs.js");require("../../../../api/generated/events.cjs.js");require("../../../../api/generated/files.cjs.js");require("../../../../api/generated/folders.cjs.js");require("../../../../api/generated/inbox.cjs.js");require("../../../../api/generated/links.cjs.js");require("../../../../api/generated/market.cjs.js");require("../../../../api/generated/onboarding.cjs.js");require("../../../../api/generated/operations.cjs.js");require("../../../../api/generated/products.cjs.js");require("../../../../api/generated/projectDashboard.cjs.js");require("../../../../api/generated/projects.cjs.js");require("../../../../api/generated/reviewables.cjs.js");require("../../../../api/generated/services.cjs.js");require("../../../../api/generated/system.cjs.js");require("../../../../api/generated/tasks.cjs.js");require("../../../../api/generated/teams.cjs.js");require("../../../../api/generated/thumbnails.cjs.js");require("../../../../api/generated/uRIs.cjs.js");require("../../../../api/generated/users.cjs.js");require("../../../../api/generated/versions.cjs.js");require("../../../../api/generated/workfiles.cjs.js");require("../../../../api/generated/ynputCloud.cjs.js");require("../../../../api/generated/grouping.cjs.js");require("../../../../api/generated/views.cjs.js");require("../../../../api/queries/actions/getActions.cjs.js");require("../../../../api/queries/activities/getActivities.cjs.js");require("../../../../api/queries/activities/updateActivities.cjs.js");require("../../../../api/queries/activities/updateReaction.cjs.js");require("../../../../api/queries/activities/getMentions.cjs.js");require("../../../../api/queries/activities/getCategories.cjs.js");require("../../../../api/queries/addons/getAddons.cjs.js");require("../../../../api/queries/addons/updateAddons.cjs.js");require("../../../../api/queries/attributes/getAttributes.cjs.js");require("../../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../../api/queries/cloud/cloud.cjs.js");require("../../../../api/queries/config/getConfig.cjs.js");require("../../../../api/queries/config/updateConfig.cjs.js");require("../../../../api/queries/entities/getEntity.cjs.js");require("../../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../../api/queries/entities/updateEntity.cjs.js");require("../../../../api/queries/entityLists/getLists.cjs.js");require("../../../../api/queries/entityLists/updateLists.cjs.js");require("../../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../../api/queries/entityLists/listFolders.cjs.js");require("../../../../api/queries/folders/getFolders.cjs.js");require("../../../../api/queries/grouping/getGrouping.cjs.js");require("../../../../api/queries/links/updateLinks.cjs.js");require("../../../../api/queries/links/getLinks.cjs.js");require("../../../../api/queries/links/getEntityLinks.cjs.js");require("../../../../api/queries/overview/getOverview.cjs.js");require("../../../../api/queries/overview/updateOverview.cjs.js");require("../../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../../api/queries/permissions/getPermissions.cjs.js");require("../../../../api/queries/products/createProduct.cjs.js");require("../../../../api/queries/project/getProject.cjs.js");require("../../../../api/queries/project/updateProject.cjs.js");require("../../../../api/queries/review/getReview.cjs.js");require("../../../../api/queries/review/updateReview.cjs.js");require("../../../../api/queries/share/share.cjs.js");require("../../../../api/queries/system/getSystem.cjs.js");require("../../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../../api/queries/users/getUsers.cjs.js");require("../../../../api/queries/users/updateUsers.cjs.js");require("../../../../api/queries/users/guests.cjs.js");require("../../../../api/queries/versions/updateVersions.cjs.js");require("../../../../api/queries/views/getViews.cjs.js");require("../../../../api/queries/views/updateViews.cjs.js");require("../../../../api/queries/watchers/getWatchers.cjs.js");require("../../../../api/queries/uris/getUris.cjs.js");require("../../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("@tanstack/react-virtual");require("@tanstack/react-table");require("../../../ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../../../ProjectTreeTable/widgets/DateWidget.cjs.js");require("../../../ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../../../ProjectTreeTable/widgets/TextWidget.cjs.js");require("../../../ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../../../ProjectTreeTable/widgets/CellWidget.cjs.js");require("../../../ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../../../ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../../../ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../../../../components/LinksManager/CellEditingDialog.cjs.js");require("../../../ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../../../ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../../ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../../../ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../../../ProjectTreeTable/context/CellEditingContext.cjs.js");require("short-uuid");require("../../../ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../../../ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../../../ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../../../ProjectTreeTable/context/ClipboardContext.cjs.js");require("../../../ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../../../ProjectTreeTable/context/ProjectDataContext.cjs.js");require("../../../../../../_virtual/runtime.cjs.js");require("../../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../../../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../../../ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../../../ProjectTreeTable/components/SelectionCell.cjs.js");require("../../../ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../../../ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../../../ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../../../ProjectTreeTable/components/ColumnHeaderMenu.cjs.js");require("../../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../SimpleTable/SimpleTable.styled.cjs.js");require("@tanstack/match-sorter-utils");require("../../../SimpleTable/context/SimpleTableContext.cjs.js");require("../../../SimpleTable/SimpleTableRowTemplate.cjs.js");require("../../../Slicer/hooks/useTableDataBySlice.cjs.js");require("../../../Slicer/components/SlicerSearch.cjs.js");require("../../../Slicer/context/SlicerContext.cjs.js");require("../../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../../Actions/Actions.styled.cjs.js");require("../../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../../Actions/ActionIcon.cjs.js");require("../../../Views/context/ViewsContext.cjs.js");require("../../../Views/Views.styled.cjs.js");require("../../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../../components/Feedback/FeedbackContext.cjs.js");require("../../../../components/Feedback/SupportBubble.cjs.js");require("../../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../../components/LegacyBadge/LegacyBadge.cjs.js");require("date-fns");require("../../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../../components/Powerpack/PricingLink.cjs.js");require("../../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../../components/Powerpack/CTAButton.cjs.js");require("../../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../../components/SizeSlider/SizeSlider.cjs.js");require("../../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../../components/SearchFilter/filterDates.cjs.js");require("../../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../../../components/StyledLink/StyledLink.cjs.js");require("../../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../../components/Watchers/Watchers.cjs.js");require("../../../../components/Menu/Menu.styled.cjs.js");require("../../../../components/Menu/MenuItem.cjs.js");require("../ActivityCategorySelect/CategoryTag.cjs.js");require("../ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../ActivityVersions/ActivityVersions.styled.cjs.js");require("../ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed.styled.cjs.js");const Se=require("../ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../ActivityCategorySelect/CategoryDropdownItem.cjs.js");var ve=ke.Quill.import("delta");const B=["@","@@","@@@"],L={"@@@":{id:"task"},"@@":{id:"version"},"@":{id:"user",isCircle:!0}},yr=({initValue:O,initFiles:Re=[],initCategory:we=null,data:W={},onSubmit:Y,isEditing:l,disabled:E,isLoading:J,isOpen:q,onOpen:X,onClose:Z})=>{const{projectName:S,entities:U,projectInfo:Me,scope:Cr,currentTab:Ee,mentionSuggestionsData:Te,categories:ee,isGuest:x}=hr.useFeedContext(),{hasLicense:De,onPowerFeature:Ie,user:Fe}=gr.useDetailsPanelContext(),Pe=Fe?.data?.isAdmin,be=fr.useProjectContext(),{users:re,versions:te,tasks:ie}=Te||{},[ne,Ae]=u.useState(88),[H,D]=u.useState(""),[v,I]=u.useState(Re),[N,F]=u.useState([]),[oe,P]=u.useState(!1),[Be,se]=u.useState(!1),{annotations:b,removeAnnotation:Le,goToAnnotation:Ue}=mr.default({entityId:U[0]?.id,filesUploading:N}),[s,y]=u.useState(null),[_,k]=u.useState(0),[A,He]=u.useState(we),ue=ee.filter(e=>e.accessLevel>=20),ae=ee.find(e=>e.name===A),ce=pr.useBlendedCategoryColor(ae?.color),d=u.useRef(null),Ne=u.useRef(null),le=u.useRef(null);lr({markdownRef:le,initValue:O,setEditorValue:D,setInitHeight:Ae,isOpen:q,filter:Ee}),qr({initHeight:ne,editorRef:d,isEditing:l}),dr({projectName:S}),u.useEffect(()=>{if(q){if(d.current?.getEditor()?.enable(),b.length>0&&v.length===0)return;d.current?.focus()}},[q,d]),B.sort((e,r)=>r.length-e.length);const qe=u.useMemo(()=>or(s?.type,{"@":()=>sr(re),"@@":()=>ar(te,be),"@@@":()=>ur(ie,Me.taskTypes)},s?.search),[ie,te,re,s?.type,s?.search]),T=qe.slice(0,5),[K,de]=u.useState();u.useEffect(()=>{K&&(de(null),d.current.getEditor().setSelection(K))},[K]);const me=e=>{const r=d.current.getEditor(),t=s.type,i=t+(s.search||""),n=t+e.label,m=`${L[t]?.id}:${e.id}`,a=(r.getSelection(!0)?.index||0)-i.length;r.deleteText(a,i.length),r.insertText(a,n,"mention",m);const c=a+n.length;r.updateContents(new ve().retain(c).insert(" ")),r.updateContents(new ve().retain(c+1).delete(1)),de(c+1),y(null),k(0)},_e=e=>{me(e)},Ke=(e,r,t,i)=>{let n=r.ops[0]&&r.ops[0].insert||r.ops[1]&&r.ops[1].insert;const C=n===`
2
+ `||n===" ",m=qe[_];if(s&&C&&m&&!x){r.ops[0]&&r.ops[0].retain,me(m);return}D(e);const R=r.ops.length===2&&!!r.ops[1].delete;if(!n&&R&&(n=i.getText(r.ops[0].retain-1,1)),B.includes(n)){const a=r.ops.findIndex(h=>"insert"in h||"delete"in h),c=n;let g=a===0?0:r.ops[a-1].retain;R&&(g=g-1);let j=null;for(const h of B){let w=!0;if(h.endsWith(c))for(let p=h.length-1;p>=0;p--){if(p===0)continue;const Xe=h[p-1],Ze=g-(h.length-p);if(i.getText(Ze,1)!==Xe){w=!1;break}}else w=!1;if(w){j=h;break}}j?y({type:j,retain:g}):(y(null),k(0))}else if(s){const a=r.ops[0].retain;if(n===" "||!a){y(null),k(0);return}let c=a-s.retain;R||c++;const g=i.getText(s.retain,c),j=g.replace(s.type.slice(-1),"");g.includes(" ")?(y(null),k(0)):y({...s,search:j?.toLowerCase()})}else{const a=d.current.getEditor(),c=a.getSelection(!1);if(a.getFormat(c?.index,c?.length).mention){const[j]=a.getLine(c.index-1)||[],w=(j?.cache?.delta?.ops||[]).reverse().find(p=>p.attributes?.mention);if(w){const p=w.insert.length;a.deleteText(c.index-p,p)}}}},Ve=e=>{const r=d.current.getEditor();let t=r.getSelection(!0)?.index||0;const i=r.getText(t-1,1);i!==" "&&i&&(r.insertText(t," "),t++),G.typeWithDelay(r,t,e)},V=e=>{if(s){const{type:r,retain:t,search:i=""}=s,n=d.current.getEditor(),C=r.length+i.length,m=t-r.length+1;n.deleteText(m,C)}Ve(e)},$e=()=>{q||E||X&&X()},pe=()=>{(d.current.getEditor().getText().length<2||l)&&D(""),Z&&Z()},$=({file:e,data:r})=>{const t={id:r.id,name:e.name,mime:e.type,size:e.size,order:v.length};return I(i=>[...i,t]),F(i=>i.filter(n=>n.name!==e.name)),t},Qe=(e,r,t)=>{t?Le?.(e):(I(i=>i.filter(n=>n.id!==e)),F(i=>i.filter(n=>n.name!==r)))},xe=(e,r)=>{const t=Math.round(e.loaded*100/e.total);if(t!==100){const i={name:r.name,progress:t,type:r.type,order:v.length+N.length};F(n=>[...n.filter(m=>m.name!==r.name),i])}},ze=e=>{P(!1),G.handleFileDrop(e,S,xe,$)},Ge=e=>{e.preventDefault(),e.stopPropagation(),P(!0)},Oe=xr({projectName:S,onSuccess:$}),he=async()=>{try{se(!0);let e=[],r;if(b.length){const{files:m,metadata:R}=await Oe(b);e=m;const{annotations:Q=[]}=W||{};r=[...Q,...R]}const[t]=cr.convertToMarkdown(H),i=G.parseImages(t),n=[...v,...e],C={...W,annotations:r,category:x?null:A};if((i||n.length)&&Y)try{await Y(i,n,C),D(""),I([])}catch{return}}catch(e){console.error(e),er.toast.error("Something went wrong")}finally{se(!1)}},We=e=>{if(s){if(e.key==="Escape"){y(null),k(0);return}s&&e.key;const r=e.key==="ArrowUp"?-1:e.key==="ArrowDown"?1:0;if(r){e.preventDefault();let t=_+r;t<0&&(t=T.length-1),t>=T.length&&(t=0),k(t)}e.key}e.key==="Enter"&&(e.ctrlKey||e.metaKey)&&he(),e.key==="Escape"&&pe()};let ge=q?ne+41:44;l&&(ge=void 0);const Ye=u.useMemo(()=>je.getModules({imageUploader:{projectName:S,onUpload:$,onUploadProgress:xe}}),[S,I,F]),fe=[...b,...v||[],...N].sort((e,r)=>e.order-r.order),Je=fe.length>3;let ye=null;U.length&&U[0].entityType==="folder"&&s?.type==="@@"&&(ye="Version mentions are disabled for folders");const Ce=e=>E?x?"You do not have permission to comment.":"Commenting is disabled across multiple projects.":x||!e?"Leave a comment":"Comment or mention with @user, @@version, @@@task...";return o.jsxRuntimeExports.jsx(o.jsxRuntimeExports.Fragment,{children:o.jsxRuntimeExports.jsxs(f.AutoHeight,{className:z("comment-container",{isOpen:q,isEditing:l}),onDragOver:Ge,onDragLeave:()=>P(!1),onDrop:ze,onClick:()=>P(!1),onKeyDown:e=>e.stopPropagation(),children:[o.jsxRuntimeExports.jsxs(f.Comment,{className:z("block-shortcuts",{isOpen:q,isClosed:!q||E,isEditing:l,isDropping:oe,disabled:E,isLoading:J,isSubmitting:Be,category:!!A&&!x}),onKeyDown:We,onClick:$e,$categoryPrimary:ae?.color,$categoryTertiary:ce.primary,$categorySecondary:ce.secondary,children:[o.jsxRuntimeExports.jsx(f.Markdown,{ref:le,children:o.jsxRuntimeExports.jsx(tr,{typeOptions:L,initValue:O})}),q&&o.jsxRuntimeExports.jsx(ir,{files:fe,isCompact:Je||l,onRemove:Qe,projectName:S,onAnnotationClick:Ue,style:{borderBottom:"1px solid var(--md-sys-color-outline-variant)",height:"100%"},isEditing:!0,pt:{file:{style:{height:l?70:void 0}}}}),q&&!E?o.jsxRuntimeExports.jsxs(nr.QuillListStyles,{ref:Ne,children:[!x&&o.jsxRuntimeExports.jsx(Se.ActivityCategorySelect,{value:A,categories:ue,onChange:e=>He(e),isCompact:l,hasPowerpack:De,onPowerFeature:Ie,isHidden:Se.isCategoryHidden(ue,{isGuest:x,isAdmin:Pe}),style:{position:l?"relative":"absolute",left:4,top:l?0:4}}),o.jsxRuntimeExports.jsx(ke,{theme:"snow",style:{minHeight:ge,maxHeight:300},ref:d,value:H,onChange:Ke,readOnly:!q,placeholder:Ce(!0),modules:Ye,formats:je.quillFormats})]}):o.jsxRuntimeExports.jsx(f.Placeholder,{children:Ce()}),o.jsxRuntimeExports.jsxs(f.Footer,{children:[!x&&o.jsxRuntimeExports.jsxs(f.Buttons,{children:[o.jsxRuntimeExports.jsx(M.Button,{icon:"person",variant:"text",onClick:()=>V("@"),"data-tooltip":"Mention user","data-shortcut":"@"}),o.jsxRuntimeExports.jsx(M.Button,{icon:"layers",variant:"text",onClick:()=>V("@@"),"data-tooltip":"Mention version","data-shortcut":"@@"}),o.jsxRuntimeExports.jsx(M.Button,{icon:"check_circle",variant:"text",onClick:()=>V("@@@"),"data-tooltip":"Mention task","data-shortcut":"@@@"})]}),o.jsxRuntimeExports.jsxs(f.Buttons,{style:{marginLeft:"auto"},children:[l&&o.jsxRuntimeExports.jsx(M.Button,{variant:"text",onClick:pe,children:"Cancel"}),o.jsxRuntimeExports.jsx(M.SaveButton,{label:l?"Save":"Comment",className:"comment",active:!!H||!!v.length,onClick:he,disabled:J})]})]}),o.jsxRuntimeExports.jsx(f.Dropzone,{className:z({show:oe&&q}),children:o.jsxRuntimeExports.jsx(M.Icon,{icon:"cloud_upload"})})]}),o.jsxRuntimeExports.jsx(rr,{mention:s,options:T,onChange:_e,types:B,config:L[s?.type],noneFound:!T.length&&s?.search,noneFoundAtAll:!T.length&&!s?.search,selectedIndex:_,error:ye,isGuest:x})]})})};exports.default=yr;exports.mentionTypeOptions=L;
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'\nimport { useBlendedCategoryColor } from './hooks/useBlendedCategoryColor'\n\n// State management\nimport useAnnotationsUpload from './hooks/useAnnotationsUpload'\nimport { useFeedContext } from '../../context/FeedContext'\nimport { ActivityCategorySelect, isCategoryHidden, SavedAnnotationMetadata } from '../../index'\nimport { useDetailsPanelContext } from '@shared/context'\nimport { useProjectContext } from '@shared/context'\n\nvar Delta = Quill.import('delta')\n\nconst mentionTypes = ['@', '@@', '@@@']\nexport const mentionTypeOptions = {\n '@@@': {\n id: 'task',\n },\n '@@': {\n id: 'version',\n },\n '@': {\n id: 'user',\n isCircle: true,\n },\n}\n\ninterface CommentInputProps {\n initValue: string | null\n initFiles?: any[]\n initCategory?: string | null\n data?: 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 initCategory = null,\n data = {},\n onSubmit,\n isEditing,\n disabled,\n isLoading,\n isOpen,\n onOpen,\n onClose,\n}) => {\n const {\n projectName,\n entities,\n projectInfo,\n scope,\n currentTab,\n mentionSuggestionsData,\n categories,\n isGuest,\n } = useFeedContext()\n\n const { hasLicense, onPowerFeature, user } = useDetailsPanelContext()\n const isAdmin = user?.data?.isAdmin\n\n const project = useProjectContext()\n\n const {\n users: mentionUsers,\n versions: mentionVersions,\n tasks: mentionTasks,\n } = mentionSuggestionsData || {}\n\n const [initHeight, setInitHeight] = useState(88)\n const [editorValue, setEditorValue] = useState('')\n // file uploads\n const [files, setFiles] = useState(initFiles)\n const [filesUploading, setFilesUploading] = useState([])\n const [isDropping, setIsDropping] = useState(false)\n const [isSubmitting, setIsSubmitting] = useState(false)\n\n const { annotations, removeAnnotation, goToAnnotation } = useAnnotationsSync({\n entityId: entities[0]?.id,\n filesUploading,\n })\n\n // MENTION STATES\n const [mention, setMention] = useState<null | any>(null)\n const [mentionSelectedIndex, setMentionSelectedIndex] = useState(0)\n // CATEGORY STATE\n const [category, setCategory] = useState<null | string>(initCategory)\n const categoryOptions = categories.filter((cat) => cat.accessLevel >= 20)\n const categoryData = categories.find((cat) => cat.name === category)\n // Compute blended background color for category\n const blendedCategoryColor = useBlendedCategoryColor(categoryData?.color)\n // REFS\n const editorRef = useRef<any>(null)\n const editorContainerRef = useRef<HTMLDivElement>(null)\n\n const markdownRef = useRef<HTMLDivElement>(null)\n\n // if there is an initial value, set it so the editor is prefilled\n useInitialValue({\n markdownRef,\n initValue,\n setEditorValue,\n setInitHeight,\n isOpen: isOpen,\n filter: currentTab,\n })\n\n // When editing, set selection to the end of the editor\n useSetCursorEnd({ initHeight, editorRef, isEditing })\n // create a new quill format for mentions and registers it\n useMentionLink({ projectName })\n\n // focus on editor when opened\n useEffect(() => {\n if (isOpen) {\n editorRef.current?.getEditor()?.enable()\n // block autofocus if opened from an annotation\n if (annotations.length > 0 && files.length === 0) {\n return\n }\n\n editorRef.current?.focus()\n }\n // We don't set annotations or files as useEffect dependencies, because we don't want to focus\n // the input if it's already open but annotations change (e.g. are removed).\n }, [isOpen, editorRef])\n\n mentionTypes.sort((a, b) => b.length - a.length)\n\n const mentionOptions = useMemo(\n () =>\n getMentionOptions(\n mention?.type,\n {\n '@': () => getMentionUsers(mentionUsers),\n '@@': () => getMentionVersions(mentionVersions, project),\n '@@@': () => getMentionTasks(mentionTasks, projectInfo.taskTypes),\n },\n mention?.search,\n ),\n [mentionTasks, mentionVersions, mentionUsers, mention?.type, mention?.search],\n )\n\n // show first 5 and filter itself out\n const shownMentionOptions = mentionOptions.slice(0, 5)\n\n // triggered when a mention is selected\n const [newSelection, setNewSelection] = useState<null | number>()\n\n useEffect(() => {\n if (newSelection) {\n setNewSelection(null)\n // now we set selection to the end of the mention\n const quill = editorRef.current.getEditor()\n quill.setSelection(newSelection)\n }\n }, [newSelection])\n\n const handleSelectMention = (selectedOption: any) => {\n // get option text\n const quill = editorRef.current.getEditor()\n\n const typePrefix = mention.type // the type of mention: @, @@, @@@\n const search = typePrefix + (mention.search || '') // the full search string: @Tim\n const mentionLabel = typePrefix + selectedOption.label // the label of the mention: @Tim Bailey\n // @ts-expect-error\n const type = mentionTypeOptions[typePrefix] // the type of mention: user, version, task\n const href = `${type?.id}:${selectedOption.id}` // the href of the mention: user:user.123\n\n // get selection delta\n const selection = quill.getSelection(true)\n const selectionIndex = selection?.index || 0\n const startIndex = selectionIndex - search.length // the start index of the search\n\n // first delete the search string\n quill.deleteText(startIndex, search.length)\n\n // insert embed link\n quill.insertText(startIndex, mentionLabel, 'mention', href)\n\n const endIndex = startIndex + mentionLabel.length\n\n // insert a space after the mention\n quill.updateContents(new Delta().retain(endIndex).insert(' '))\n\n // remove single \\n after mention\n quill.updateContents(new Delta().retain(endIndex + 1).delete(1))\n\n // set selection to the end of the mention + 1\n setNewSelection(endIndex + 1)\n\n // reset mention state\n setMention(null)\n setMentionSelectedIndex(0)\n }\n\n const handleSelectChange = (option: any) => {\n handleSelectMention(option)\n }\n\n const handleChange = (content: string, delta: any, _: any, editor: any) => {\n let currentCharacter =\n (delta.ops[0] && delta.ops[0].insert) || (delta.ops[1] && delta.ops[1].insert)\n\n const tabOrEnter = currentCharacter === '\\n' || currentCharacter === '\\t'\n // find the first option\n const selectedOption = mentionOptions[mentionSelectedIndex]\n\n if (mention && tabOrEnter && selectedOption && !isGuest) {\n // get option text\n const retain = (delta.ops[0] && delta.ops[0].retain) || 0\n // prevent default\n\n // @ts-ignore\n handleSelectMention(selectedOption, retain)\n\n return\n }\n\n setEditorValue(content)\n\n const isDelete = delta.ops.length === 2 && !!delta.ops[1].delete\n\n if (!currentCharacter && isDelete) {\n currentCharacter = editor.getText(delta.ops[0].retain - 1, 1)\n }\n\n const isMention = mentionTypes.includes(currentCharacter)\n\n if (isMention) {\n const mentionIndex = delta.ops.findIndex((op: any) => 'insert' in op || 'delete' in op)\n const mention = currentCharacter\n let retain = mentionIndex === 0 ? 0 : delta.ops[mentionIndex - 1].retain\n if (isDelete) retain = retain - 1\n\n // for each mention denotation char, check if it is a mention\n // sort by length of mention denotation char\n let mentionMatch = null\n\n // loop through each mention denotation char, with longest first. First one to match is the one we want\n for (const chars of mentionTypes) {\n let isMatch = true\n // start with the last character\n if (chars.endsWith(mention)) {\n // loop through the chars backwards\n for (let i = chars.length - 1; i >= 0; i--) {\n // skip first character as that's already been checked\n if (i === 0) continue\n const char = chars[i - 1]\n const indexInDelta = retain - (chars.length - i)\n const valueCharAtIndex = editor.getText(indexInDelta, 1)\n if (valueCharAtIndex !== char) {\n isMatch = false\n break\n }\n }\n } else {\n isMatch = false\n }\n\n if (isMatch) {\n // console.log('match!!!', chars)\n mentionMatch = chars\n break\n }\n }\n\n if (mentionMatch) {\n setMention({\n type: mentionMatch,\n retain: retain,\n })\n } else {\n setMention(null)\n setMentionSelectedIndex(0)\n }\n } else {\n // get full string between mention and new delta\n // This is where SEARCH is handled\n if (mention) {\n const retain = delta.ops[0].retain\n // if space is pressed, remove mention\n if (currentCharacter === ' ' || !retain) {\n setMention(null)\n setMentionSelectedIndex(0)\n return\n }\n\n let distanceMentionToRetain = retain - mention.retain\n if (!isDelete) distanceMentionToRetain++\n const mentionFull = editor.getText(mention.retain, distanceMentionToRetain)\n const mentionSearch = mentionFull.replace(mention.type.slice(-1), '')\n // check for space in mentionFull\n if (mentionFull.includes(' ')) {\n setMention(null)\n setMentionSelectedIndex(0)\n } else {\n setMention({\n ...mention,\n search: mentionSearch?.toLowerCase(),\n })\n }\n } else {\n // just deleting any text\n const quill = editorRef.current.getEditor()\n const currentSelection = quill.getSelection(false)\n const currentFormat = quill.getFormat(currentSelection?.index, currentSelection?.length)\n if (currentFormat.mention) {\n // if format is mention, delete the whole mention\n const [lineBlock] = quill.getLine(currentSelection.index - 1) || []\n const ops = lineBlock?.cache?.delta?.ops || []\n // get last op with attributes mention: true\n const lastMentionOp = ops.reverse().find((op: any) => op.attributes?.mention)\n if (lastMentionOp) {\n const mentionLength = lastMentionOp.insert.length\n quill.deleteText(currentSelection.index - mentionLength, mentionLength)\n }\n }\n }\n }\n }\n\n const addTextToEditor = (type: string) => {\n // get editor retain\n const quill = editorRef.current.getEditor()\n\n let retain = quill.getSelection(true)?.index || 0\n\n // get character at retain\n const currentCharacter = quill.getText(retain - 1, 1)\n\n // if the current character is a character, increment retain\n const addSpace = currentCharacter !== ' ' && currentCharacter\n if (addSpace) {\n quill.insertText(retain, ' ')\n retain++\n }\n\n // This is hack AF, but it works\n typeWithDelay(quill, retain, type)\n }\n\n const handleMentionButton = (type: string) => {\n // first check if mention is already open\n if (mention) {\n const { type, retain, search = '' } = mention\n\n const quill = editorRef.current.getEditor()\n const length = type.length + search.length\n const start = retain - type.length + 1\n // delete the mention\n quill.deleteText(start, length)\n }\n\n addTextToEditor(type)\n }\n\n const handleOpenClick = () => {\n if (isOpen || disabled) return\n\n onOpen && onOpen()\n }\n\n const handleClose = () => {\n // get editor value\n const editor = editorRef.current.getEditor()\n const text = editor.getText()\n if (text.length < 2 || isEditing) {\n setEditorValue('')\n }\n\n // always close editor\n onClose && onClose()\n }\n\n const handleFileUploaded = ({ file, data }: any) => {\n const newFile = {\n id: data.id,\n name: file.name,\n mime: file.type,\n size: file.size,\n order: files.length,\n }\n\n setFiles((prev) => [...prev, newFile])\n // remove from uploading\n setFilesUploading((prev) => prev.filter((uploading: any) => uploading.name !== file.name))\n\n return newFile\n }\n\n const handleFileRemove = (id: string, name: string, isUnsavedAnnotation: boolean) => {\n if (isUnsavedAnnotation) {\n // remove from annotations (if it's an unsaved annotation)\n removeAnnotation?.(id)\n } else {\n // remove file from files\n setFiles((prev) => prev.filter((file) => file.id !== id))\n // remove from uploading\n setFilesUploading((prev) => {\n return prev.filter((file: any) => file.name !== name)\n })\n }\n }\n\n const handleFileProgress = (e: any, file: any) => {\n const progress = Math.round((e.loaded * 100) / e.total)\n if (progress !== 100) {\n const uploadProgress = {\n name: file.name,\n progress,\n type: file.type,\n order: files.length + filesUploading.length,\n }\n\n // @ts-ignore\n setFilesUploading((prev) => {\n // replace or add new progress\n const newProgress = prev.filter((name: any) => name.name !== file.name)\n return [...newProgress, uploadProgress]\n })\n }\n }\n\n // when a file is not dropped onto the comment input\n const handleDrop = (e: React.DragEvent<HTMLDivElement>) => {\n setIsDropping(false)\n // upload file\n handleFileDrop(e, projectName, handleFileProgress, handleFileUploaded)\n }\n\n const handleDragOver = (e: React.DragEvent<HTMLDivElement>) => {\n e.preventDefault()\n e.stopPropagation()\n setIsDropping(true)\n }\n\n const uploadAnnotations = useAnnotationsUpload({\n projectName,\n onSuccess: handleFileUploaded,\n })\n\n const handleSubmit = async () => {\n try {\n setIsSubmitting(true)\n\n // upload any annotations first\n let annotationFiles = []\n let annotationMetadata: SavedAnnotationMetadata[] | undefined = undefined\n if (annotations.length) {\n const { files, metadata } = await uploadAnnotations(annotations)\n annotationFiles = files\n // get current files data\n const { annotations: annotationsData = [] } = data || {}\n // merge existing annotations data with new metadata\n annotationMetadata = [...annotationsData, ...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 const newData = {\n ...data,\n annotations: annotationMetadata, // could be undefined\n category: isGuest ? null : category, // guests cannot set category (it is done by default on backend)\n }\n\n if ((markdownParsed || uploadedFiles.length) && onSubmit) {\n try {\n await onSubmit(markdownParsed, uploadedFiles, newData)\n // only clear if onSubmit is successful\n setEditorValue('')\n setFiles([])\n } catch (error) {\n // error is handled in rtk query mutation\n return\n }\n }\n } catch (error) {\n console.error(error)\n toast.error('Something went wrong')\n } finally {\n setIsSubmitting(false)\n }\n }\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (mention) {\n // close mention on escape\n if (e.key === 'Escape') {\n setMention(null)\n setMentionSelectedIndex(0)\n return\n }\n\n // add top search of mention\n if (mention && e.key === 'Tab') {\n // we handle this in the onChange\n }\n\n const arrowDirection = e.key === 'ArrowUp' ? -1 : e.key === 'ArrowDown' ? 1 : 0\n\n if (arrowDirection) {\n // navigate through mentions\n e.preventDefault()\n let newIndex = mentionSelectedIndex + arrowDirection\n if (newIndex < 0) newIndex = shownMentionOptions.length - 1\n if (newIndex >= shownMentionOptions.length) newIndex = 0\n setMentionSelectedIndex(newIndex)\n }\n\n if (e.key === 'Enter') {\n // we handle this in the onChange\n }\n }\n\n if (e.key === 'Enter' && (e.ctrlKey || e.metaKey)) {\n handleSubmit()\n }\n\n if (e.key === 'Escape') {\n handleClose()\n }\n }\n\n let quillMinHeight: number | undefined = isOpen ? initHeight + 41 : 44\n if (isEditing) quillMinHeight = undefined\n\n // QUILL CONFIG\n const modules = useMemo(\n () =>\n getModules({\n imageUploader: {\n projectName,\n onUpload: handleFileUploaded,\n onUploadProgress: handleFileProgress,\n },\n }),\n [projectName, setFiles, setFilesUploading],\n )\n\n const allFiles = [...annotations, ...(files || []), ...filesUploading].sort(\n (a, b) => a.order - b.order,\n )\n const compactGrid = allFiles.length > 3\n\n // disable version mentions for folders\n let mentionsError = null\n if (entities.length && entities[0].entityType === 'folder') {\n if (mention?.type === '@@') {\n mentionsError = 'Version mentions are disabled for folders'\n }\n }\n\n const getCommentPlaceholder = (isOpen?: boolean) => {\n if (disabled) {\n if (isGuest) return 'You do not have permission to comment.'\n return 'Commenting is disabled across multiple projects.'\n }\n\n if (isGuest || !isOpen) return 'Leave a comment'\n\n return 'Comment or mention with @user, @@version, @@@task...'\n }\n\n return (\n <>\n <Styled.AutoHeight\n className={clsx('comment-container', { isOpen, isEditing })}\n onDragOver={handleDragOver}\n onDragLeave={() => setIsDropping(false)}\n onDrop={handleDrop}\n onClick={() => setIsDropping(false)}\n onKeyDown={(e) => e.stopPropagation()}\n >\n <Styled.Comment\n className={clsx('block-shortcuts', {\n isOpen,\n isClosed: !isOpen || disabled,\n isEditing,\n isDropping,\n disabled,\n isLoading,\n isSubmitting,\n category: !!category && !isGuest,\n })}\n onKeyDown={handleKeyDown}\n onClick={handleOpenClick}\n $categoryPrimary={categoryData?.color}\n $categoryTertiary={blendedCategoryColor.primary}\n $categorySecondary={blendedCategoryColor.secondary}\n >\n <Styled.Markdown ref={markdownRef}>\n {/* this is purely used to translate the markdown into html for Editor */}\n <InputMarkdownConvert typeOptions={mentionTypeOptions} initValue={initValue} />\n </Styled.Markdown>\n\n {/* file uploads */}\n {isOpen && (\n <FilesGrid\n files={allFiles}\n isCompact={compactGrid || isEditing}\n onRemove={handleFileRemove}\n projectName={projectName}\n onAnnotationClick={goToAnnotation}\n style={{\n borderBottom: '1px solid var(--md-sys-color-outline-variant)',\n height: '100%',\n }}\n isEditing\n pt={{\n file: {\n style: {\n height: isEditing ? 70 : undefined,\n },\n },\n }}\n />\n )}\n {isOpen && !disabled ? (\n <QuillListStyles ref={editorContainerRef}>\n {!isGuest && (\n <ActivityCategorySelect\n value={category}\n categories={categoryOptions}\n onChange={(c) => setCategory(c)}\n isCompact={isEditing}\n hasPowerpack={hasLicense}\n onPowerFeature={onPowerFeature}\n isHidden={isCategoryHidden(categoryOptions, { isGuest, isAdmin })}\n style={{\n position: isEditing ? 'relative' : 'absolute',\n left: 4,\n top: isEditing ? 0 : 4,\n }}\n />\n )}\n\n <ReactQuill\n theme=\"snow\"\n style={{ minHeight: quillMinHeight, maxHeight: 300 }}\n ref={editorRef}\n value={editorValue}\n onChange={handleChange}\n readOnly={!isOpen}\n placeholder={getCommentPlaceholder(true)}\n modules={modules}\n formats={quillFormats}\n />\n </QuillListStyles>\n ) : (\n <Styled.Placeholder>{getCommentPlaceholder()}</Styled.Placeholder>\n )}\n\n <Styled.Footer>\n {!isGuest && (\n <Styled.Buttons>\n {/* mention a user */}\n <Button\n icon=\"person\"\n variant=\"text\"\n onClick={() => handleMentionButton('@')}\n data-tooltip={'Mention user'}\n data-shortcut={'@'}\n />\n {/* mention a version */}\n <Button\n icon=\"layers\"\n variant=\"text\"\n onClick={() => handleMentionButton('@@')}\n data-tooltip={'Mention version'}\n data-shortcut={'@@'}\n />\n {/* mention a task */}\n <Button\n icon=\"check_circle\"\n variant=\"text\"\n onClick={() => handleMentionButton('@@@')}\n data-tooltip={'Mention task'}\n data-shortcut={'@@@'}\n />\n </Styled.Buttons>\n )}\n <Styled.Buttons style={{ marginLeft: 'auto' }}>\n {isEditing && (\n <Button variant=\"text\" onClick={handleClose}>\n Cancel\n </Button>\n )}\n <SaveButton\n label={isEditing ? 'Save' : 'Comment'}\n className=\"comment\"\n active={!!editorValue || !!files.length}\n onClick={handleSubmit}\n disabled={isLoading}\n />\n </Styled.Buttons>\n </Styled.Footer>\n\n <Styled.Dropzone className={clsx({ show: isDropping && isOpen })}>\n <Icon icon=\"cloud_upload\" />\n </Styled.Dropzone>\n </Styled.Comment>\n <CommentMentionSelect\n mention={mention}\n options={shownMentionOptions}\n onChange={handleSelectChange}\n types={mentionTypes}\n // @ts-ignore\n config={mentionTypeOptions[mention?.type]}\n noneFound={!shownMentionOptions.length && mention?.search}\n noneFoundAtAll={!shownMentionOptions.length && !mention?.search}\n selectedIndex={mentionSelectedIndex}\n // @ts-ignore\n error={mentionsError}\n isGuest={isGuest}\n />\n </Styled.AutoHeight>\n </>\n )\n}\n\nexport default CommentInput\n"],"names":["Delta","Quill","mentionTypes","mentionTypeOptions","CommentInput","initValue","initFiles","initCategory","data","onSubmit","isEditing","disabled","isLoading","isOpen","onOpen","onClose","projectName","entities","projectInfo","scope","currentTab","mentionSuggestionsData","categories","isGuest","useFeedContext","hasLicense","onPowerFeature","user","useDetailsPanelContext","isAdmin","project","useProjectContext","mentionUsers","mentionVersions","mentionTasks","initHeight","setInitHeight","useState","editorValue","setEditorValue","files","setFiles","filesUploading","setFilesUploading","isDropping","setIsDropping","isSubmitting","setIsSubmitting","annotations","removeAnnotation","goToAnnotation","useAnnotationsSync","mention","setMention","mentionSelectedIndex","setMentionSelectedIndex","category","setCategory","categoryOptions","cat","categoryData","blendedCategoryColor","useBlendedCategoryColor","editorRef","useRef","editorContainerRef","markdownRef","useInitialValue","useSetCursorEnd","useMentionLink","useEffect","a","b","mentionOptions","useMemo","getMentionOptions","getMentionUsers","getMentionVersions","getMentionTasks","shownMentionOptions","newSelection","setNewSelection","handleSelectMention","selectedOption","quill","typePrefix","search","mentionLabel","href","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","type","typeWithDelay","handleMentionButton","length","start","handleOpenClick","handleClose","handleFileUploaded","file","newFile","prev","uploading","handleFileRemove","id","name","isUnsavedAnnotation","handleFileProgress","progress","uploadProgress","handleDrop","handleFileDrop","handleDragOver","uploadAnnotations","useAnnotationsUpload","handleSubmit","annotationFiles","annotationMetadata","metadata","annotationsData","markdown","convertToMarkdown","markdownParsed","parseImages","uploadedFiles","newData","error","toast","handleKeyDown","arrowDirection","newIndex","quillMinHeight","modules","getModules","allFiles","compactGrid","mentionsError","getCommentPlaceholder","jsx","Fragment","jsxs","Styled.AutoHeight","clsx","Styled.Comment","Styled.Markdown","InputMarkdownConvert","FilesGrid","QuillListStyles","ActivityCategorySelect","c","isCategoryHidden","ReactQuill","quillFormats","Styled.Placeholder","Styled.Footer","Styled.Buttons","Button","SaveButton","Styled.Dropzone","Icon","CommentMentionSelect"],"mappings":"8xeAyCA,IAAIA,GAAQC,GAAAA,MAAM,OAAO,OAAO,EAEhC,MAAMC,EAAe,CAAC,IAAK,KAAM,KAAK,EACzBC,EAAqB,CAChC,MAAO,CACL,GAAI,MAAA,EAEN,KAAM,CACJ,GAAI,SAAA,EAEN,IAAK,CACH,GAAI,OACJ,SAAU,EAAA,CAEd,EAgBMC,GAAsC,CAAC,CAC3C,UAAAC,EACA,UAAAC,GAAY,CAAA,EACZ,aAAAC,GAAe,KACf,KAAAC,EAAO,CAAA,EACP,SAAAC,EACA,UAAAC,EACA,SAAAC,EACA,UAAAC,EACA,OAAAC,EACA,OAAAC,EACA,QAAAC,CACF,IAAM,CACJ,KAAM,CACJ,YAAAC,EACA,SAAAC,EACA,YAAAC,GACA,MAAAC,GACA,WAAAC,GACA,uBAAAC,GACA,WAAAC,GACA,QAAAC,CAAA,EACEC,kBAAA,EAEE,CAAE,WAAAC,GAAY,eAAAC,GAAgB,KAAAC,EAAA,EAASC,GAAAA,uBAAA,EACvCC,GAAUF,IAAM,MAAM,QAEtBG,GAAUC,GAAAA,kBAAA,EAEV,CACJ,MAAOC,GACP,SAAUC,GACV,MAAOC,EAAA,EACLb,IAA0B,CAAA,EAExB,CAACc,GAAYC,EAAa,EAAIC,EAAAA,SAAS,EAAE,EACzC,CAACC,EAAaC,CAAc,EAAIF,EAAAA,SAAS,EAAE,EAE3C,CAACG,EAAOC,CAAQ,EAAIJ,EAAAA,SAAS/B,EAAS,EACtC,CAACoC,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,GAAkB,eAAAC,EAAA,EAAmBC,GAAAA,QAAmB,CAC3E,SAAUlC,EAAS,CAAC,GAAG,GACvB,eAAAyB,CAAA,CACD,EAGK,CAACU,EAASC,CAAU,EAAIhB,EAAAA,SAAqB,IAAI,EACjD,CAACiB,EAAsBC,CAAuB,EAAIlB,EAAAA,SAAS,CAAC,EAE5D,CAACmB,EAAUC,EAAW,EAAIpB,EAAAA,SAAwB9B,EAAY,EAC9DmD,GAAkBpC,GAAW,OAAQqC,GAAQA,EAAI,aAAe,EAAE,EAClEC,GAAetC,GAAW,KAAMqC,GAAQA,EAAI,OAASH,CAAQ,EAE7DK,GAAuBC,GAAAA,wBAAwBF,IAAc,KAAK,EAElEG,EAAYC,EAAAA,OAAY,IAAI,EAC5BC,GAAqBD,EAAAA,OAAuB,IAAI,EAEhDE,GAAcF,EAAAA,OAAuB,IAAI,EAG/CG,GAAgB,CACd,YAAAD,GACA,UAAA7D,EACA,eAAAkC,EACA,cAAAH,GACA,OAAAvB,EACA,OAAQO,EAAA,CACT,EAGDgD,GAAgB,CAAE,WAAAjC,GAAY,UAAA4B,EAAW,UAAArD,CAAA,CAAW,EAEpD2D,GAAe,CAAE,YAAArD,EAAa,EAG9BsD,EAAAA,UAAU,IAAM,CACd,GAAIzD,EAAQ,CAGV,GAFAkD,EAAU,SAAS,UAAA,GAAa,OAAA,EAE5Bf,EAAY,OAAS,GAAKR,EAAM,SAAW,EAC7C,OAGFuB,EAAU,SAAS,MAAA,CACrB,CAGF,EAAG,CAAClD,EAAQkD,CAAS,CAAC,EAEtB7D,EAAa,KAAK,CAACqE,EAAGC,IAAMA,EAAE,OAASD,EAAE,MAAM,EAE/C,MAAME,GAAiBC,EAAAA,QACrB,IACEC,GACEvB,GAAS,KACT,CACE,IAAK,IAAMwB,GAAgB5C,EAAY,EACvC,KAAM,IAAM6C,GAAmB5C,GAAiBH,EAAO,EACvD,MAAO,IAAMgD,GAAgB5C,GAAchB,GAAY,SAAS,CAAA,EAElEkC,GAAS,MAAA,EAEb,CAAClB,GAAcD,GAAiBD,GAAcoB,GAAS,KAAMA,GAAS,MAAM,CAAA,EAIxE2B,EAAsBN,GAAe,MAAM,EAAG,CAAC,EAG/C,CAACO,EAAcC,EAAe,EAAI5C,WAAA,EAExCiC,EAAAA,UAAU,IAAM,CACVU,IACFC,GAAgB,IAAI,EAENlB,EAAU,QAAQ,UAAA,EAC1B,aAAaiB,CAAY,EAEnC,EAAG,CAACA,CAAY,CAAC,EAEjB,MAAME,GAAuBC,GAAwB,CAEnD,MAAMC,EAAQrB,EAAU,QAAQ,UAAA,EAE1BsB,EAAajC,EAAQ,KACrBkC,EAASD,GAAcjC,EAAQ,QAAU,IACzCmC,EAAeF,EAAaF,EAAe,MAG3CK,EAAO,GADArF,EAAmBkF,CAAU,GACpB,EAAE,IAAIF,EAAe,EAAE,GAKvCM,GAFYL,EAAM,aAAa,EAAI,GACP,OAAS,GACPE,EAAO,OAG3CF,EAAM,WAAWK,EAAYH,EAAO,MAAM,EAG1CF,EAAM,WAAWK,EAAYF,EAAc,UAAWC,CAAI,EAE1D,MAAME,EAAWD,EAAaF,EAAa,OAG3CH,EAAM,eAAe,IAAIpF,GAAA,EAAQ,OAAO0F,CAAQ,EAAE,OAAO,GAAG,CAAC,EAG7DN,EAAM,eAAe,IAAIpF,KAAQ,OAAO0F,EAAW,CAAC,EAAE,OAAO,CAAC,CAAC,EAG/DT,GAAgBS,EAAW,CAAC,EAG5BrC,EAAW,IAAI,EACfE,EAAwB,CAAC,CAC3B,EAEMoC,GAAsBC,GAAgB,CAC1CV,GAAoBU,CAAM,CAC5B,EAEMC,GAAe,CAACC,EAAiBC,EAAYC,EAAQC,IAAgB,CACzE,IAAIC,EACDH,EAAM,IAAI,CAAC,GAAKA,EAAM,IAAI,CAAC,EAAE,QAAYA,EAAM,IAAI,CAAC,GAAKA,EAAM,IAAI,CAAC,EAAE,OAEzE,MAAMI,EAAaD,IAAqB;AAAA,GAAQA,IAAqB,IAE/Df,EAAiBV,GAAenB,CAAoB,EAE1D,GAAIF,GAAW+C,GAAchB,GAAkB,CAAC5D,EAAS,CAEvCwE,EAAM,IAAI,CAAC,GAAKA,EAAM,IAAI,CAAC,EAAE,OAI7Cb,GAAoBC,CAAsB,EAE1C,MACF,CAEA5C,EAAeuD,CAAO,EAEtB,MAAMM,EAAWL,EAAM,IAAI,SAAW,GAAK,CAAC,CAACA,EAAM,IAAI,CAAC,EAAE,OAQ1D,GANI,CAACG,GAAoBE,IACvBF,EAAmBD,EAAO,QAAQF,EAAM,IAAI,CAAC,EAAE,OAAS,EAAG,CAAC,GAG5C7F,EAAa,SAASgG,CAAgB,EAEzC,CACb,MAAMG,EAAeN,EAAM,IAAI,UAAWO,GAAY,WAAYA,GAAM,WAAYA,CAAE,EAChFlD,EAAU8C,EAChB,IAAIK,EAASF,IAAiB,EAAI,EAAIN,EAAM,IAAIM,EAAe,CAAC,EAAE,OAC9DD,MAAmBG,EAAS,GAIhC,IAAIC,EAAe,KAGnB,UAAWC,KAASvG,EAAc,CAChC,IAAIwG,EAAU,GAEd,GAAID,EAAM,SAASrD,CAAO,EAExB,QAASuD,EAAIF,EAAM,OAAS,EAAGE,GAAK,EAAGA,IAAK,CAE1C,GAAIA,IAAM,EAAG,SACb,MAAMC,GAAOH,EAAME,EAAI,CAAC,EAClBE,GAAeN,GAAUE,EAAM,OAASE,GAE9C,GADyBV,EAAO,QAAQY,GAAc,CAAC,IAC9BD,GAAM,CAC7BF,EAAU,GACV,KACF,CACF,MAEAA,EAAU,GAGZ,GAAIA,EAAS,CAEXF,EAAeC,EACf,KACF,CACF,CAEID,EACFnD,EAAW,CACT,KAAMmD,EACN,OAAAD,CAAA,CACD,GAEDlD,EAAW,IAAI,EACfE,EAAwB,CAAC,EAE7B,SAGMH,EAAS,CACX,MAAMmD,EAASR,EAAM,IAAI,CAAC,EAAE,OAE5B,GAAIG,IAAqB,KAAO,CAACK,EAAQ,CACvClD,EAAW,IAAI,EACfE,EAAwB,CAAC,EACzB,MACF,CAEA,IAAIuD,EAA0BP,EAASnD,EAAQ,OAC1CgD,GAAUU,IACf,MAAMC,EAAcd,EAAO,QAAQ7C,EAAQ,OAAQ0D,CAAuB,EACpEE,EAAgBD,EAAY,QAAQ3D,EAAQ,KAAK,MAAM,EAAE,EAAG,EAAE,EAEhE2D,EAAY,SAAS,GAAG,GAC1B1D,EAAW,IAAI,EACfE,EAAwB,CAAC,GAEzBF,EAAW,CACT,GAAGD,EACH,OAAQ4D,GAAe,YAAA,CAAY,CACpC,CAEL,KAAO,CAEL,MAAM5B,EAAQrB,EAAU,QAAQ,UAAA,EAC1BkD,EAAmB7B,EAAM,aAAa,EAAK,EAEjD,GADsBA,EAAM,UAAU6B,GAAkB,MAAOA,GAAkB,MAAM,EACrE,QAAS,CAEzB,KAAM,CAACC,CAAS,EAAI9B,EAAM,QAAQ6B,EAAiB,MAAQ,CAAC,GAAK,CAAA,EAG3DE,GAFMD,GAAW,OAAO,OAAO,KAAO,CAAA,GAElB,UAAU,KAAMZ,GAAYA,EAAG,YAAY,OAAO,EAC5E,GAAIa,EAAe,CACjB,MAAMC,EAAgBD,EAAc,OAAO,OAC3C/B,EAAM,WAAW6B,EAAiB,MAAQG,EAAeA,CAAa,CACxE,CACF,CACF,CAEJ,EAEMC,GAAmBC,GAAiB,CAExC,MAAMlC,EAAQrB,EAAU,QAAQ,UAAA,EAEhC,IAAIwC,EAASnB,EAAM,aAAa,EAAI,GAAG,OAAS,EAGhD,MAAMc,EAAmBd,EAAM,QAAQmB,EAAS,EAAG,CAAC,EAGnCL,IAAqB,KAAOA,IAE3Cd,EAAM,WAAWmB,EAAQ,GAAG,EAC5BA,KAIFgB,gBAAcnC,EAAOmB,EAAQe,CAAI,CACnC,EAEME,EAAuBF,GAAiB,CAE5C,GAAIlE,EAAS,CACX,KAAM,CAAE,KAAAkE,EAAM,OAAAf,EAAQ,OAAAjB,EAAS,IAAOlC,EAEhCgC,EAAQrB,EAAU,QAAQ,UAAA,EAC1B0D,EAASH,EAAK,OAAShC,EAAO,OAC9BoC,EAAQnB,EAASe,EAAK,OAAS,EAErClC,EAAM,WAAWsC,EAAOD,CAAM,CAChC,CAEAJ,GAAgBC,CAAI,CACtB,EAEMK,GAAkB,IAAM,CACxB9G,GAAUF,GAEdG,GAAUA,EAAA,CACZ,EAEM8G,GAAc,IAAM,EAET7D,EAAU,QAAQ,UAAA,EACb,QAAA,EACX,OAAS,GAAKrD,IACrB6B,EAAe,EAAE,EAInBxB,GAAWA,EAAA,CACb,EAEM8G,EAAqB,CAAC,CAAE,KAAAC,EAAM,KAAAtH,KAAgB,CAClD,MAAMuH,EAAU,CACd,GAAIvH,EAAK,GACT,KAAMsH,EAAK,KACX,KAAMA,EAAK,KACX,KAAMA,EAAK,KACX,MAAOtF,EAAM,MAAA,EAGf,OAAAC,EAAUuF,GAAS,CAAC,GAAGA,EAAMD,CAAO,CAAC,EAErCpF,EAAmBqF,GAASA,EAAK,OAAQC,GAAmBA,EAAU,OAASH,EAAK,IAAI,CAAC,EAElFC,CACT,EAEMG,GAAmB,CAACC,EAAYC,EAAcC,IAAiC,CAC/EA,EAEFpF,KAAmBkF,CAAE,GAGrB1F,EAAUuF,GAASA,EAAK,OAAQF,GAASA,EAAK,KAAOK,CAAE,CAAC,EAExDxF,EAAmBqF,GACVA,EAAK,OAAQF,GAAcA,EAAK,OAASM,CAAI,CACrD,EAEL,EAEME,GAAqB,CAAC,EAAQR,IAAc,CAChD,MAAMS,EAAW,KAAK,MAAO,EAAE,OAAS,IAAO,EAAE,KAAK,EACtD,GAAIA,IAAa,IAAK,CACpB,MAAMC,EAAiB,CACrB,KAAMV,EAAK,KACX,SAAAS,EACA,KAAMT,EAAK,KACX,MAAOtF,EAAM,OAASE,EAAe,MAAA,EAIvCC,EAAmBqF,GAGV,CAAC,GADYA,EAAK,OAAQI,GAAcA,EAAK,OAASN,EAAK,IAAI,EAC9CU,CAAc,CACvC,CACH,CACF,EAGMC,GAAc,GAAuC,CACzD5F,EAAc,EAAK,EAEnB6F,EAAAA,eAAe,EAAG1H,EAAasH,GAAoBT,CAAkB,CACvE,EAEMc,GAAkB,GAAuC,CAC7D,EAAE,eAAA,EACF,EAAE,gBAAA,EACF9F,EAAc,EAAI,CACpB,EAEM+F,GAAoBC,GAAqB,CAC7C,YAAA7H,EACA,UAAW6G,CAAA,CACZ,EAEKiB,GAAe,SAAY,CAC/B,GAAI,CACF/F,GAAgB,EAAI,EAGpB,IAAIgG,EAAkB,CAAA,EAClBC,EACJ,GAAIhG,EAAY,OAAQ,CACtB,KAAM,CAAE,MAAAR,EAAO,SAAAyG,GAAa,MAAML,GAAkB5F,CAAW,EAC/D+F,EAAkBvG,EAElB,KAAM,CAAE,YAAa0G,EAAkB,CAAA,CAAC,EAAM1I,GAAQ,CAAA,EAEtDwI,EAAqB,CAAC,GAAGE,EAAiB,GAAGD,CAAQ,CACvD,CAGA,KAAM,CAACE,CAAQ,EAAIC,GAAAA,kBAAkB9G,CAAW,EAG1C+G,EAAiBC,EAAAA,YAAYH,CAAQ,EAErCI,EAAgB,CAAC,GAAG/G,EAAO,GAAGuG,CAAe,EAE7CS,EAAU,CACd,GAAGhJ,EACH,YAAawI,EACb,SAAUzH,EAAU,KAAOiC,CAAA,EAG7B,IAAK6F,GAAkBE,EAAc,SAAW9I,EAC9C,GAAI,CACF,MAAMA,EAAS4I,EAAgBE,EAAeC,CAAO,EAErDjH,EAAe,EAAE,EACjBE,EAAS,CAAA,CAAE,CACb,MAAgB,CAEd,MACF,CAEJ,OAASgH,EAAO,CACd,QAAQ,MAAMA,CAAK,EACnBC,GAAAA,MAAM,MAAM,sBAAsB,CACpC,QAAA,CACE3G,GAAgB,EAAK,CACvB,CACF,EAEM4G,GAAiB,GAAwC,CAC7D,GAAIvG,EAAS,CAEX,GAAI,EAAE,MAAQ,SAAU,CACtBC,EAAW,IAAI,EACfE,EAAwB,CAAC,EACzB,MACF,CAGIH,GAAW,EAAE,IAIjB,MAAMwG,EAAiB,EAAE,MAAQ,UAAY,GAAK,EAAE,MAAQ,YAAc,EAAI,EAE9E,GAAIA,EAAgB,CAElB,EAAE,eAAA,EACF,IAAIC,EAAWvG,EAAuBsG,EAClCC,EAAW,IAAGA,EAAW9E,EAAoB,OAAS,GACtD8E,GAAY9E,EAAoB,SAAQ8E,EAAW,GACvDtG,EAAwBsG,CAAQ,CAClC,CAEI,EAAE,GAGR,CAEI,EAAE,MAAQ,UAAY,EAAE,SAAW,EAAE,UACvCf,GAAA,EAGE,EAAE,MAAQ,UACZlB,GAAA,CAEJ,EAEA,IAAIkC,GAAqCjJ,EAASsB,GAAa,GAAK,GAChEzB,IAAWoJ,GAAiB,QAGhC,MAAMC,GAAUrF,EAAAA,QACd,IACEsF,cAAW,CACT,cAAe,CACb,YAAAhJ,EACA,SAAU6G,EACV,iBAAkBS,EAAA,CACpB,CACD,EACH,CAACtH,EAAayB,EAAUE,CAAiB,CAAA,EAGrCsH,GAAW,CAAC,GAAGjH,EAAa,GAAIR,GAAS,GAAK,GAAGE,CAAc,EAAE,KACrE,CAAC6B,EAAGC,IAAMD,EAAE,MAAQC,EAAE,KAAA,EAElB0F,GAAcD,GAAS,OAAS,EAGtC,IAAIE,GAAgB,KAChBlJ,EAAS,QAAUA,EAAS,CAAC,EAAE,aAAe,UAC5CmC,GAAS,OAAS,OACpB+G,GAAgB,6CAIpB,MAAMC,GAAyBvJ,GACzBF,EACEY,EAAgB,yCACb,mDAGLA,GAAW,CAACV,EAAe,kBAExB,uDAGT,OACEwJ,wBAAAC,EAAAA,kBAAAA,SAAA,CACE,SAAAC,EAAAA,kBAAAA,KAACC,EAAAA,WAAA,CACC,UAAWC,EAAK,oBAAqB,CAAE,OAAA5J,EAAQ,UAAAH,EAAW,EAC1D,WAAYiI,GACZ,YAAa,IAAM9F,EAAc,EAAK,EACtC,OAAQ4F,GACR,QAAS,IAAM5F,EAAc,EAAK,EAClC,UAAY,GAAM,EAAE,gBAAA,EAEpB,SAAA,CAAA0H,EAAAA,kBAAAA,KAACG,EAAAA,QAAA,CACC,UAAWD,EAAK,kBAAmB,CACjC,OAAA5J,EACA,SAAU,CAACA,GAAUF,EACrB,UAAAD,EACA,WAAAkC,GACA,SAAAjC,EACA,UAAAC,EACA,aAAAkC,GACA,SAAU,CAAC,CAACU,GAAY,CAACjC,CAAA,CAC1B,EACD,UAAWoI,GACX,QAAShC,GACT,iBAAkB/D,IAAc,MAChC,kBAAmBC,GAAqB,QACxC,mBAAoBA,GAAqB,UAEzC,SAAA,CAAAwG,EAAAA,kBAAAA,IAACM,EAAAA,SAAA,CAAgB,IAAKzG,GAEpB,iCAAC0G,GAAA,CAAqB,YAAazK,EAAoB,UAAAE,CAAA,CAAsB,CAAA,CAC/E,EAGCQ,GACCwJ,EAAAA,kBAAAA,IAACQ,GAAA,CACC,MAAOZ,GACP,UAAWC,IAAexJ,EAC1B,SAAUwH,GACV,YAAAlH,EACA,kBAAmBkC,GACnB,MAAO,CACL,aAAc,gDACd,OAAQ,MAAA,EAEV,UAAS,GACT,GAAI,CACF,KAAM,CACJ,MAAO,CACL,OAAQxC,EAAY,GAAK,MAAA,CAC3B,CACF,CACF,CAAA,EAGHG,GAAU,CAACF,EACV4J,EAAAA,kBAAAA,KAACO,GAAAA,gBAAA,CAAgB,IAAK7G,GACnB,SAAA,CAAA,CAAC1C,GACA8I,EAAAA,kBAAAA,IAACU,GAAAA,uBAAA,CACC,MAAOvH,EACP,WAAYE,GACZ,SAAWsH,GAAMvH,GAAYuH,CAAC,EAC9B,UAAWtK,EACX,aAAce,GACd,eAAAC,GACA,SAAUuJ,GAAAA,iBAAiBvH,GAAiB,CAAE,QAAAnC,EAAS,QAAAM,GAAS,EAChE,MAAO,CACL,SAAUnB,EAAY,WAAa,WACnC,KAAM,EACN,IAAKA,EAAY,EAAI,CAAA,CACvB,CAAA,EAIJ2J,EAAAA,kBAAAA,IAACa,GAAA,CACC,MAAM,OACN,MAAO,CAAE,UAAWpB,GAAgB,UAAW,GAAA,EAC/C,IAAK/F,EACL,MAAOzB,EACP,SAAUuD,GACV,SAAU,CAAChF,EACX,YAAauJ,GAAsB,EAAI,EACvC,QAAAL,GACA,QAASoB,GAAAA,YAAA,CAAA,CACX,CAAA,CACF,EAEAd,EAAAA,kBAAAA,IAACe,EAAAA,YAAA,CAAoB,cAAwB,EAG/Cb,yBAACc,EAAAA,OAAA,CACE,SAAA,CAAA,CAAC9J,GACAgJ,EAAAA,kBAAAA,KAACe,EAAAA,QAAA,CAEC,SAAA,CAAAjB,EAAAA,kBAAAA,IAACkB,EAAAA,OAAA,CACC,KAAK,SACL,QAAQ,OACR,QAAS,IAAM/D,EAAoB,GAAG,EACtC,eAAc,eACd,gBAAe,GAAA,CAAA,EAGjB6C,EAAAA,kBAAAA,IAACkB,EAAAA,OAAA,CACC,KAAK,SACL,QAAQ,OACR,QAAS,IAAM/D,EAAoB,IAAI,EACvC,eAAc,kBACd,gBAAe,IAAA,CAAA,EAGjB6C,EAAAA,kBAAAA,IAACkB,EAAAA,OAAA,CACC,KAAK,eACL,QAAQ,OACR,QAAS,IAAM/D,EAAoB,KAAK,EACxC,eAAc,eACd,gBAAe,KAAA,CAAA,CACjB,EACF,EAEF+C,EAAAA,kBAAAA,KAACe,EAAAA,QAAA,CAAe,MAAO,CAAE,WAAY,QAClC,SAAA,CAAA5K,2BACE6K,EAAAA,OAAA,CAAO,QAAQ,OAAO,QAAS3D,GAAa,SAAA,SAE7C,EAEFyC,EAAAA,kBAAAA,IAACmB,EAAAA,WAAA,CACC,MAAO9K,EAAY,OAAS,UAC5B,UAAU,UACV,OAAQ,CAAC,CAAC4B,GAAe,CAAC,CAACE,EAAM,OACjC,QAASsG,GACT,SAAUlI,CAAA,CAAA,CACZ,CAAA,CACF,CAAA,EACF,0BAEC6K,EAAAA,SAAA,CAAgB,UAAWhB,EAAK,CAAE,KAAM7H,IAAc/B,CAAA,CAAQ,EAC7D,SAAAwJ,EAAAA,kBAAAA,IAACqB,EAAAA,KAAA,CAAK,KAAK,eAAe,CAAA,CAC5B,CAAA,CAAA,CAAA,EAEFrB,EAAAA,kBAAAA,IAACsB,GAAA,CACC,QAAAvI,EACA,QAAS2B,EACT,SAAUY,GACV,MAAOzF,EAEP,OAAQC,EAAmBiD,GAAS,IAAI,EACxC,UAAW,CAAC2B,EAAoB,QAAU3B,GAAS,OACnD,eAAgB,CAAC2B,EAAoB,QAAU,CAAC3B,GAAS,OACzD,cAAeE,EAEf,MAAO6G,GACP,QAAA5I,CAAA,CAAA,CACF,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, isCategoryHidden, SavedAnnotationMetadata } from '../../index'\nimport { useDetailsPanelContext } from '@shared/context'\nimport { useProjectContext } from '@shared/context'\n\nvar Delta = Quill.import('delta')\n\nconst mentionTypes = ['@', '@@', '@@@']\nexport const mentionTypeOptions = {\n '@@@': {\n id: 'task',\n },\n '@@': {\n id: 'version',\n },\n '@': {\n id: 'user',\n isCircle: true,\n },\n}\n\ninterface CommentInputProps {\n initValue: string | null\n initFiles?: any[]\n initCategory?: string | null\n data?: 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 initCategory = null,\n data = {},\n onSubmit,\n isEditing,\n disabled,\n isLoading,\n isOpen,\n onOpen,\n onClose,\n}) => {\n const {\n projectName,\n entities,\n projectInfo,\n scope,\n currentTab,\n mentionSuggestionsData,\n categories,\n isGuest,\n } = useFeedContext()\n\n const { hasLicense, onPowerFeature, user } = useDetailsPanelContext()\n const isAdmin = user?.data?.isAdmin\n\n const project = useProjectContext()\n\n const {\n users: mentionUsers,\n versions: mentionVersions,\n tasks: mentionTasks,\n } = mentionSuggestionsData || {}\n\n const [initHeight, setInitHeight] = useState(88)\n const [editorValue, setEditorValue] = useState('')\n // file uploads\n const [files, setFiles] = useState(initFiles)\n const [filesUploading, setFilesUploading] = useState([])\n const [isDropping, setIsDropping] = useState(false)\n const [isSubmitting, setIsSubmitting] = useState(false)\n\n const { annotations, removeAnnotation, goToAnnotation } = useAnnotationsSync({\n entityId: entities[0]?.id,\n filesUploading,\n })\n\n // MENTION STATES\n const [mention, setMention] = useState<null | any>(null)\n const [mentionSelectedIndex, setMentionSelectedIndex] = useState(0)\n // CATEGORY STATE\n const [category, setCategory] = useState<null | string>(initCategory)\n const categoryOptions = categories.filter((cat) => cat.accessLevel >= 20)\n const categoryData = categories.find((cat) => cat.name === category)\n // Compute blended background color for category\n const blendedCategoryColor = useBlendedCategoryColor(categoryData?.color)\n // REFS\n const editorRef = useRef<any>(null)\n const editorContainerRef = useRef<HTMLDivElement>(null)\n\n const markdownRef = useRef<HTMLDivElement>(null)\n\n // if there is an initial value, set it so the editor is prefilled\n useInitialValue({\n markdownRef,\n initValue,\n setEditorValue,\n setInitHeight,\n isOpen: isOpen,\n filter: currentTab,\n })\n\n // When editing, set selection to the end of the editor\n useSetCursorEnd({ initHeight, editorRef, isEditing })\n // create a new quill format for mentions and registers it\n useMentionLink({ projectName })\n\n // focus on editor when opened\n useEffect(() => {\n if (isOpen) {\n editorRef.current?.getEditor()?.enable()\n // block autofocus if opened from an annotation\n if (annotations.length > 0 && files.length === 0) {\n return\n }\n\n editorRef.current?.focus()\n }\n // We don't set annotations or files as useEffect dependencies, because we don't want to focus\n // the input if it's already open but annotations change (e.g. are removed).\n }, [isOpen, editorRef])\n\n mentionTypes.sort((a, b) => b.length - a.length)\n\n const mentionOptions = useMemo(\n () =>\n getMentionOptions(\n mention?.type,\n {\n '@': () => getMentionUsers(mentionUsers),\n '@@': () => getMentionVersions(mentionVersions, project),\n '@@@': () => getMentionTasks(mentionTasks, projectInfo.taskTypes),\n },\n mention?.search,\n ),\n [mentionTasks, mentionVersions, mentionUsers, mention?.type, mention?.search],\n )\n\n // show first 5 and filter itself out\n const shownMentionOptions = mentionOptions.slice(0, 5)\n\n // triggered when a mention is selected\n const [newSelection, setNewSelection] = useState<null | number>()\n\n useEffect(() => {\n if (newSelection) {\n setNewSelection(null)\n // now we set selection to the end of the mention\n const quill = editorRef.current.getEditor()\n quill.setSelection(newSelection)\n }\n }, [newSelection])\n\n const handleSelectMention = (selectedOption: any) => {\n // get option text\n const quill = editorRef.current.getEditor()\n\n const typePrefix = mention.type // the type of mention: @, @@, @@@\n const search = typePrefix + (mention.search || '') // the full search string: @Tim\n const mentionLabel = typePrefix + selectedOption.label // the label of the mention: @Tim Bailey\n // @ts-expect-error\n const type = mentionTypeOptions[typePrefix] // the type of mention: user, version, task\n const href = `${type?.id}:${selectedOption.id}` // the href of the mention: user:user.123\n\n // get selection delta\n const selection = quill.getSelection(true)\n const selectionIndex = selection?.index || 0\n const startIndex = selectionIndex - search.length // the start index of the search\n\n // first delete the search string\n quill.deleteText(startIndex, search.length)\n\n // insert embed link\n quill.insertText(startIndex, mentionLabel, 'mention', href)\n\n const endIndex = startIndex + mentionLabel.length\n\n // insert a space after the mention\n quill.updateContents(new Delta().retain(endIndex).insert(' '))\n\n // remove single \\n after mention\n quill.updateContents(new Delta().retain(endIndex + 1).delete(1))\n\n // set selection to the end of the mention + 1\n setNewSelection(endIndex + 1)\n\n // reset mention state\n setMention(null)\n setMentionSelectedIndex(0)\n }\n\n const handleSelectChange = (option: any) => {\n handleSelectMention(option)\n }\n\n const handleChange = (content: string, delta: any, _: any, editor: any) => {\n let currentCharacter =\n (delta.ops[0] && delta.ops[0].insert) || (delta.ops[1] && delta.ops[1].insert)\n\n const tabOrEnter = currentCharacter === '\\n' || currentCharacter === '\\t'\n // find the first option\n const selectedOption = mentionOptions[mentionSelectedIndex]\n\n if (mention && tabOrEnter && selectedOption && !isGuest) {\n // get option text\n const retain = (delta.ops[0] && delta.ops[0].retain) || 0\n // prevent default\n\n // @ts-ignore\n handleSelectMention(selectedOption, retain)\n\n return\n }\n\n setEditorValue(content)\n\n const isDelete = delta.ops.length === 2 && !!delta.ops[1].delete\n\n if (!currentCharacter && isDelete) {\n currentCharacter = editor.getText(delta.ops[0].retain - 1, 1)\n }\n\n const isMention = mentionTypes.includes(currentCharacter)\n\n if (isMention) {\n const mentionIndex = delta.ops.findIndex((op: any) => 'insert' in op || 'delete' in op)\n const mention = currentCharacter\n let retain = mentionIndex === 0 ? 0 : delta.ops[mentionIndex - 1].retain\n if (isDelete) retain = retain - 1\n\n // for each mention denotation char, check if it is a mention\n // sort by length of mention denotation char\n let mentionMatch = null\n\n // loop through each mention denotation char, with longest first. First one to match is the one we want\n for (const chars of mentionTypes) {\n let isMatch = true\n // start with the last character\n if (chars.endsWith(mention)) {\n // loop through the chars backwards\n for (let i = chars.length - 1; i >= 0; i--) {\n // skip first character as that's already been checked\n if (i === 0) continue\n const char = chars[i - 1]\n const indexInDelta = retain - (chars.length - i)\n const valueCharAtIndex = editor.getText(indexInDelta, 1)\n if (valueCharAtIndex !== char) {\n isMatch = false\n break\n }\n }\n } else {\n isMatch = false\n }\n\n if (isMatch) {\n // console.log('match!!!', chars)\n mentionMatch = chars\n break\n }\n }\n\n if (mentionMatch) {\n setMention({\n type: mentionMatch,\n retain: retain,\n })\n } else {\n setMention(null)\n setMentionSelectedIndex(0)\n }\n } else {\n // get full string between mention and new delta\n // This is where SEARCH is handled\n if (mention) {\n const retain = delta.ops[0].retain\n // if space is pressed, remove mention\n if (currentCharacter === ' ' || !retain) {\n setMention(null)\n setMentionSelectedIndex(0)\n return\n }\n\n let distanceMentionToRetain = retain - mention.retain\n if (!isDelete) distanceMentionToRetain++\n const mentionFull = editor.getText(mention.retain, distanceMentionToRetain)\n const mentionSearch = mentionFull.replace(mention.type.slice(-1), '')\n // check for space in mentionFull\n if (mentionFull.includes(' ')) {\n setMention(null)\n setMentionSelectedIndex(0)\n } else {\n setMention({\n ...mention,\n search: mentionSearch?.toLowerCase(),\n })\n }\n } else {\n // just deleting any text\n const quill = editorRef.current.getEditor()\n const currentSelection = quill.getSelection(false)\n const currentFormat = quill.getFormat(currentSelection?.index, currentSelection?.length)\n if (currentFormat.mention) {\n // if format is mention, delete the whole mention\n const [lineBlock] = quill.getLine(currentSelection.index - 1) || []\n const ops = lineBlock?.cache?.delta?.ops || []\n // get last op with attributes mention: true\n const lastMentionOp = ops.reverse().find((op: any) => op.attributes?.mention)\n if (lastMentionOp) {\n const mentionLength = lastMentionOp.insert.length\n quill.deleteText(currentSelection.index - mentionLength, mentionLength)\n }\n }\n }\n }\n }\n\n const addTextToEditor = (type: string) => {\n // get editor retain\n const quill = editorRef.current.getEditor()\n\n let retain = quill.getSelection(true)?.index || 0\n\n // get character at retain\n const currentCharacter = quill.getText(retain - 1, 1)\n\n // if the current character is a character, increment retain\n const addSpace = currentCharacter !== ' ' && currentCharacter\n if (addSpace) {\n quill.insertText(retain, ' ')\n retain++\n }\n\n // This is hack AF, but it works\n typeWithDelay(quill, retain, type)\n }\n\n const handleMentionButton = (type: string) => {\n // first check if mention is already open\n if (mention) {\n const { type, retain, search = '' } = mention\n\n const quill = editorRef.current.getEditor()\n const length = type.length + search.length\n const start = retain - type.length + 1\n // delete the mention\n quill.deleteText(start, length)\n }\n\n addTextToEditor(type)\n }\n\n const handleOpenClick = () => {\n if (isOpen || disabled) return\n\n onOpen && onOpen()\n }\n\n const handleClose = () => {\n // get editor value\n const editor = editorRef.current.getEditor()\n const text = editor.getText()\n if (text.length < 2 || isEditing) {\n setEditorValue('')\n }\n\n // always close editor\n onClose && onClose()\n }\n\n const handleFileUploaded = ({ file, data }: any) => {\n const newFile = {\n id: data.id,\n name: file.name,\n mime: file.type,\n size: file.size,\n order: files.length,\n }\n\n setFiles((prev) => [...prev, newFile])\n // remove from uploading\n setFilesUploading((prev) => prev.filter((uploading: any) => uploading.name !== file.name))\n\n return newFile\n }\n\n const handleFileRemove = (id: string, name: string, isUnsavedAnnotation: boolean) => {\n if (isUnsavedAnnotation) {\n // remove from annotations (if it's an unsaved annotation)\n removeAnnotation?.(id)\n } else {\n // remove file from files\n setFiles((prev) => prev.filter((file) => file.id !== id))\n // remove from uploading\n setFilesUploading((prev) => {\n return prev.filter((file: any) => file.name !== name)\n })\n }\n }\n\n const handleFileProgress = (e: any, file: any) => {\n const progress = Math.round((e.loaded * 100) / e.total)\n if (progress !== 100) {\n const uploadProgress = {\n name: file.name,\n progress,\n type: file.type,\n order: files.length + filesUploading.length,\n }\n\n // @ts-ignore\n setFilesUploading((prev) => {\n // replace or add new progress\n const newProgress = prev.filter((name: any) => name.name !== file.name)\n return [...newProgress, uploadProgress]\n })\n }\n }\n\n // when a file is not dropped onto the comment input\n const handleDrop = (e: React.DragEvent<HTMLDivElement>) => {\n setIsDropping(false)\n // upload file\n handleFileDrop(e, projectName, handleFileProgress, handleFileUploaded)\n }\n\n const handleDragOver = (e: React.DragEvent<HTMLDivElement>) => {\n e.preventDefault()\n e.stopPropagation()\n setIsDropping(true)\n }\n\n const uploadAnnotations = useAnnotationsUpload({\n projectName,\n onSuccess: handleFileUploaded,\n })\n\n const handleSubmit = async () => {\n try {\n setIsSubmitting(true)\n\n // upload any annotations first\n let annotationFiles = []\n let annotationMetadata: SavedAnnotationMetadata[] | undefined = undefined\n if (annotations.length) {\n const { files, metadata } = await uploadAnnotations(annotations)\n annotationFiles = files\n // get current files data\n const { annotations: annotationsData = [] } = data || {}\n // merge existing annotations data with new metadata\n annotationMetadata = [...annotationsData, ...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 const newData = {\n ...data,\n annotations: annotationMetadata, // could be undefined\n category: isGuest ? null : category, // guests cannot set category (it is done by default on backend)\n }\n\n if ((markdownParsed || uploadedFiles.length) && onSubmit) {\n try {\n await onSubmit(markdownParsed, uploadedFiles, newData)\n // only clear if onSubmit is successful\n setEditorValue('')\n setFiles([])\n } catch (error) {\n // error is handled in rtk query mutation\n return\n }\n }\n } catch (error) {\n console.error(error)\n toast.error('Something went wrong')\n } finally {\n setIsSubmitting(false)\n }\n }\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (mention) {\n // close mention on escape\n if (e.key === 'Escape') {\n setMention(null)\n setMentionSelectedIndex(0)\n return\n }\n\n // add top search of mention\n if (mention && e.key === 'Tab') {\n // we handle this in the onChange\n }\n\n const arrowDirection = e.key === 'ArrowUp' ? -1 : e.key === 'ArrowDown' ? 1 : 0\n\n if (arrowDirection) {\n // navigate through mentions\n e.preventDefault()\n let newIndex = mentionSelectedIndex + arrowDirection\n if (newIndex < 0) newIndex = shownMentionOptions.length - 1\n if (newIndex >= shownMentionOptions.length) newIndex = 0\n setMentionSelectedIndex(newIndex)\n }\n\n if (e.key === 'Enter') {\n // we handle this in the onChange\n }\n }\n\n if (e.key === 'Enter' && (e.ctrlKey || e.metaKey)) {\n handleSubmit()\n }\n\n if (e.key === 'Escape') {\n handleClose()\n }\n }\n\n let quillMinHeight: number | undefined = isOpen ? initHeight + 41 : 44\n if (isEditing) quillMinHeight = undefined\n\n // QUILL CONFIG\n const modules = useMemo(\n () =>\n getModules({\n imageUploader: {\n projectName,\n onUpload: handleFileUploaded,\n onUploadProgress: handleFileProgress,\n },\n }),\n [projectName, setFiles, setFilesUploading],\n )\n\n const allFiles = [...annotations, ...(files || []), ...filesUploading].sort(\n (a, b) => a.order - b.order,\n )\n const compactGrid = allFiles.length > 3\n\n // disable version mentions for folders\n let mentionsError = null\n if (entities.length && entities[0].entityType === 'folder') {\n if (mention?.type === '@@') {\n mentionsError = 'Version mentions are disabled for folders'\n }\n }\n\n const getCommentPlaceholder = (isOpen?: boolean) => {\n if (disabled) {\n if (isGuest) return 'You do not have permission to comment.'\n return 'Commenting is disabled across multiple projects.'\n }\n\n if (isGuest || !isOpen) return 'Leave a comment'\n\n return 'Comment or mention with @user, @@version, @@@task...'\n }\n\n return (\n <>\n <Styled.AutoHeight\n className={clsx('comment-container', { isOpen, isEditing })}\n onDragOver={handleDragOver}\n onDragLeave={() => setIsDropping(false)}\n onDrop={handleDrop}\n onClick={() => setIsDropping(false)}\n onKeyDown={(e) => e.stopPropagation()}\n >\n <Styled.Comment\n className={clsx('block-shortcuts', {\n isOpen,\n isClosed: !isOpen || disabled,\n isEditing,\n isDropping,\n disabled,\n isLoading,\n isSubmitting,\n category: !!category && !isGuest,\n })}\n onKeyDown={handleKeyDown}\n onClick={handleOpenClick}\n $categoryPrimary={categoryData?.color}\n $categoryTertiary={blendedCategoryColor.primary}\n $categorySecondary={blendedCategoryColor.secondary}\n >\n <Styled.Markdown ref={markdownRef}>\n {/* this is purely used to translate the markdown into html for Editor */}\n <InputMarkdownConvert typeOptions={mentionTypeOptions} initValue={initValue} />\n </Styled.Markdown>\n\n {/* file uploads */}\n {isOpen && (\n <FilesGrid\n files={allFiles}\n isCompact={compactGrid || isEditing}\n onRemove={handleFileRemove}\n projectName={projectName}\n onAnnotationClick={goToAnnotation}\n style={{\n borderBottom: '1px solid var(--md-sys-color-outline-variant)',\n height: '100%',\n }}\n isEditing\n pt={{\n file: {\n style: {\n height: isEditing ? 70 : undefined,\n },\n },\n }}\n />\n )}\n {isOpen && !disabled ? (\n <QuillListStyles ref={editorContainerRef}>\n {!isGuest && (\n <ActivityCategorySelect\n value={category}\n categories={categoryOptions}\n onChange={(c) => setCategory(c)}\n isCompact={isEditing}\n hasPowerpack={hasLicense}\n onPowerFeature={onPowerFeature}\n isHidden={isCategoryHidden(categoryOptions, { isGuest, isAdmin })}\n style={{\n position: isEditing ? 'relative' : 'absolute',\n left: 4,\n top: isEditing ? 0 : 4,\n }}\n />\n )}\n\n <ReactQuill\n theme=\"snow\"\n style={{ minHeight: quillMinHeight, maxHeight: 300 }}\n ref={editorRef}\n value={editorValue}\n onChange={handleChange}\n readOnly={!isOpen}\n placeholder={getCommentPlaceholder(true)}\n modules={modules}\n formats={quillFormats}\n />\n </QuillListStyles>\n ) : (\n <Styled.Placeholder>{getCommentPlaceholder()}</Styled.Placeholder>\n )}\n\n <Styled.Footer>\n {!isGuest && (\n <Styled.Buttons>\n {/* mention a user */}\n <Button\n icon=\"person\"\n variant=\"text\"\n onClick={() => handleMentionButton('@')}\n data-tooltip={'Mention user'}\n data-shortcut={'@'}\n />\n {/* mention a version */}\n <Button\n icon=\"layers\"\n variant=\"text\"\n onClick={() => handleMentionButton('@@')}\n data-tooltip={'Mention version'}\n data-shortcut={'@@'}\n />\n {/* mention a task */}\n <Button\n icon=\"check_circle\"\n variant=\"text\"\n onClick={() => handleMentionButton('@@@')}\n data-tooltip={'Mention task'}\n data-shortcut={'@@@'}\n />\n </Styled.Buttons>\n )}\n <Styled.Buttons style={{ marginLeft: 'auto' }}>\n {isEditing && (\n <Button variant=\"text\" onClick={handleClose}>\n Cancel\n </Button>\n )}\n <SaveButton\n label={isEditing ? 'Save' : 'Comment'}\n className=\"comment\"\n active={!!editorValue || !!files.length}\n onClick={handleSubmit}\n disabled={isLoading}\n />\n </Styled.Buttons>\n </Styled.Footer>\n\n <Styled.Dropzone className={clsx({ show: isDropping && isOpen })}>\n <Icon icon=\"cloud_upload\" />\n </Styled.Dropzone>\n </Styled.Comment>\n <CommentMentionSelect\n mention={mention}\n options={shownMentionOptions}\n onChange={handleSelectChange}\n types={mentionTypes}\n // @ts-ignore\n config={mentionTypeOptions[mention?.type]}\n noneFound={!shownMentionOptions.length && mention?.search}\n noneFoundAtAll={!shownMentionOptions.length && !mention?.search}\n selectedIndex={mentionSelectedIndex}\n // @ts-ignore\n error={mentionsError}\n isGuest={isGuest}\n />\n </Styled.AutoHeight>\n </>\n )\n}\n\nexport default CommentInput\n"],"names":["Delta","Quill","mentionTypes","mentionTypeOptions","CommentInput","initValue","initFiles","initCategory","data","onSubmit","isEditing","disabled","isLoading","isOpen","onOpen","onClose","projectName","entities","projectInfo","scope","currentTab","mentionSuggestionsData","categories","isGuest","useFeedContext","hasLicense","onPowerFeature","user","useDetailsPanelContext","isAdmin","project","useProjectContext","mentionUsers","mentionVersions","mentionTasks","initHeight","setInitHeight","useState","editorValue","setEditorValue","files","setFiles","filesUploading","setFilesUploading","isDropping","setIsDropping","isSubmitting","setIsSubmitting","annotations","removeAnnotation","goToAnnotation","useAnnotationsSync","mention","setMention","mentionSelectedIndex","setMentionSelectedIndex","category","setCategory","categoryOptions","cat","categoryData","blendedCategoryColor","useBlendedCategoryColor","editorRef","useRef","editorContainerRef","markdownRef","useInitialValue","useSetCursorEnd","useMentionLink","useEffect","a","b","mentionOptions","useMemo","getMentionOptions","getMentionUsers","getMentionVersions","getMentionTasks","shownMentionOptions","newSelection","setNewSelection","handleSelectMention","selectedOption","quill","typePrefix","search","mentionLabel","href","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","type","typeWithDelay","handleMentionButton","length","start","handleOpenClick","handleClose","handleFileUploaded","file","newFile","prev","uploading","handleFileRemove","id","name","isUnsavedAnnotation","handleFileProgress","progress","uploadProgress","handleDrop","handleFileDrop","handleDragOver","uploadAnnotations","useAnnotationsUpload","handleSubmit","annotationFiles","annotationMetadata","metadata","annotationsData","markdown","convertToMarkdown","markdownParsed","parseImages","uploadedFiles","newData","error","toast","handleKeyDown","arrowDirection","newIndex","quillMinHeight","modules","getModules","allFiles","compactGrid","mentionsError","getCommentPlaceholder","jsx","Fragment","jsxs","Styled.AutoHeight","clsx","Styled.Comment","Styled.Markdown","InputMarkdownConvert","FilesGrid","QuillListStyles","ActivityCategorySelect","c","isCategoryHidden","ReactQuill","quillFormats","Styled.Placeholder","Styled.Footer","Styled.Buttons","Button","SaveButton","Styled.Dropzone","Icon","CommentMentionSelect"],"mappings":"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"}