@ynput/ayon-frontend-shared 0.2.44 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (396) 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 +5 -2
  14. package/dist/_virtual/index.es4.js.map +1 -1
  15. package/dist/_virtual/index.es5.js +2 -5
  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/userDashboard/getUserDashboard.cjs.js +1 -1
  36. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  37. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +73 -68
  38. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.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/Menu/MenuItem.cjs.js +1 -1
  56. package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -1
  57. package/dist/shared/src/components/Menu/MenuItem.es.js +21 -21
  58. package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -1
  59. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  60. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  61. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +49 -42
  62. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  63. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  64. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  65. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +44 -37
  66. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  67. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  68. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  69. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +48 -41
  70. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  71. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +2 -0
  72. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -0
  73. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +279 -0
  74. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -0
  75. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  76. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  77. package/dist/shared/src/components/RenameForm/RenameForm.es.js +48 -41
  78. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  79. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  80. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  81. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +64 -57
  82. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  83. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  84. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  85. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +54 -47
  86. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  87. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  88. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  89. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +53 -46
  90. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.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 +70 -63
  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 +468 -448
  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 +96 -89
  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/ProjectTableContext.cjs.js.map +1 -1
  180. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  181. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
  182. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
  183. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +63 -68
  184. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
  185. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  186. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  187. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +49 -41
  188. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  189. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  190. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  191. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +51 -44
  192. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  193. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  194. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  195. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +48 -41
  196. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  197. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  198. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  199. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +55 -48
  200. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  201. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  202. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  203. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +54 -47
  204. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  205. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  206. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  207. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +51 -44
  208. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  209. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  210. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  211. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +51 -44
  212. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  213. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  214. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  215. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +51 -44
  216. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  217. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  218. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  219. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +54 -47
  220. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  221. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  222. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  223. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +46 -39
  224. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  225. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  226. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  227. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +46 -39
  228. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  229. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  230. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  231. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +48 -41
  232. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  233. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  234. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  235. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +62 -55
  236. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  237. package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.cjs.js +1 -1
  238. package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.cjs.js.map +1 -1
  239. package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.es.js +11 -6
  240. package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.es.js.map +1 -1
  241. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +2 -2
  242. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  243. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +16 -13
  244. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  245. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
  246. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  247. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +342 -116
  248. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  249. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.cjs.js +2 -2
  250. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.cjs.js.map +1 -1
  251. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.es.js +47 -40
  252. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.es.js.map +1 -1
  253. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +2 -2
  254. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
  255. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +7 -7
  256. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
  257. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  258. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  259. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +69 -62
  260. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  261. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  262. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  263. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +51 -44
  264. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  265. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js +2 -2
  266. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js.map +1 -1
  267. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js +29 -33
  268. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js.map +1 -1
  269. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  270. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  271. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +118 -111
  272. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  273. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  274. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  275. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +49 -46
  276. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  277. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +2 -0
  278. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -0
  279. package/dist/shared/src/containers/Slicer/components/Slicer.es.js +82 -0
  280. package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -0
  281. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +27 -0
  282. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -0
  283. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +71 -0
  284. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -0
  285. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +10 -0
  286. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -0
  287. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +294 -0
  288. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -0
  289. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +2 -0
  290. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -0
  291. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +215 -0
  292. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -0
  293. package/dist/shared/src/containers/Slicer/hooks/useFiltersWithHierarchy.cjs.js.map +1 -0
  294. package/dist/shared/src/containers/Slicer/hooks/useFiltersWithHierarchy.es.js.map +1 -0
  295. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +2 -0
  296. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -0
  297. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +25 -0
  298. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -0
  299. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +2 -0
  300. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -0
  301. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +28 -0
  302. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -0
  303. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +2 -0
  304. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -0
  305. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +304 -0
  306. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -0
  307. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js +2 -0
  308. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -0
  309. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js +99 -0
  310. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -0
  311. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.cjs.js.map +1 -0
  312. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.es.js.map +1 -0
  313. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  314. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  315. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +95 -88
  316. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  317. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +2 -2
  318. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  319. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +32 -31
  320. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  321. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  322. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  323. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +125 -121
  324. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  325. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -1
  326. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
  327. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +47 -49
  328. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
  329. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  330. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  331. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +6 -5
  332. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  333. package/dist/shared/src/context/AddonContext.cjs.js.map +1 -1
  334. package/dist/shared/src/context/AddonContext.es.js.map +1 -1
  335. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  336. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  337. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  338. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  339. package/dist/shared/src/context/WebsocketContext.es.js +51 -44
  340. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  341. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  342. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  343. package/dist/shared/src/hooks/useLoadModules.cjs.js +1 -1
  344. package/dist/shared/src/hooks/useLoadModules.cjs.js.map +1 -1
  345. package/dist/shared/src/hooks/useLoadModules.es.js +7 -7
  346. package/dist/shared/src/hooks/useLoadModules.es.js.map +1 -1
  347. package/dist/shared/src/util/columnConfigConverter.cjs.js +1 -1
  348. package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
  349. package/dist/shared/src/util/columnConfigConverter.es.js +69 -46
  350. package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
  351. package/dist/shared/src/util/getGroupByDataType.cjs.js +1 -1
  352. package/dist/shared/src/util/getGroupByDataType.cjs.js.map +1 -1
  353. package/dist/shared/src/util/getGroupByDataType.es.js +4 -4
  354. package/dist/shared/src/util/getGroupByDataType.es.js.map +1 -1
  355. package/dist/types/api/queries/activities/getActivities.d.ts +1 -1
  356. package/dist/types/api/queries/entityLists/getLists.d.ts +183 -183
  357. package/dist/types/api/queries/links/getLinks.d.ts +1 -1
  358. package/dist/types/api/queries/overview/getOverview.d.ts +1 -1
  359. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +1 -0
  360. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +2 -2
  361. package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +28 -0
  362. package/dist/types/components/RemotePage/index.d.ts +1 -0
  363. package/dist/types/components/index.d.ts +31 -30
  364. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +0 -2
  365. package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +1 -4
  366. package/dist/types/containers/ProjectTreeTable/utils/restrictedEntity.d.ts +3 -3
  367. package/dist/types/containers/Slicer/components/Slicer.d.ts +9 -0
  368. package/dist/types/containers/Slicer/components/SlicerDropdownFallback.d.ts +7 -0
  369. package/dist/types/containers/Slicer/components/SlicerSearch.d.ts +6 -0
  370. package/dist/types/containers/Slicer/context/SlicerContext.d.ts +48 -0
  371. package/dist/types/containers/Slicer/hooks/index.d.ts +5 -0
  372. package/dist/types/containers/Slicer/{useFiltersWithHierarchy.d.ts → hooks/useFiltersWithHierarchy.d.ts} +1 -1
  373. package/dist/types/containers/Slicer/hooks/useProjectAnatomySlices.d.ts +51 -0
  374. package/dist/types/containers/Slicer/hooks/useSlicerAttributesData.d.ts +7 -0
  375. package/dist/types/containers/Slicer/hooks/useTableDataBySlice.d.ts +8 -0
  376. package/dist/types/containers/Slicer/hooks/useUsersTable.d.ts +10 -0
  377. package/dist/types/containers/Slicer/index.d.ts +4 -2
  378. package/dist/types/containers/Slicer/types.d.ts +35 -0
  379. package/dist/types/containers/Slicer/{createFilterFromSlicer.d.ts → util/createFilterFromSlicer.d.ts} +2 -2
  380. package/dist/types/containers/Slicer/util/index.d.ts +1 -0
  381. package/dist/types/containers/Views/ViewsMenuContainer/BaseViewsTags.d.ts +4 -1
  382. package/dist/types/containers/Views/hooks/pages/useOverviewViewSettings.d.ts +7 -1
  383. package/dist/types/containers/Views/index.d.ts +1 -1
  384. package/dist/types/containers/Views/utils/viewUpdateHelper.d.ts +1 -1
  385. package/dist/types/context/AddonContext.d.ts +10 -2
  386. package/dist/types/context/AddonProjectContext.d.ts +7 -12
  387. package/dist/types/hooks/useGroupByRemoteModules.d.ts +2 -1
  388. package/package.json +1 -1
  389. package/dist/shared/src/containers/Slicer/createFilterFromSlicer.cjs.js.map +0 -1
  390. package/dist/shared/src/containers/Slicer/createFilterFromSlicer.es.js.map +0 -1
  391. package/dist/shared/src/containers/Slicer/useFiltersWithHierarchy.cjs.js.map +0 -1
  392. package/dist/shared/src/containers/Slicer/useFiltersWithHierarchy.es.js.map +0 -1
  393. /package/dist/shared/src/containers/Slicer/{useFiltersWithHierarchy.cjs.js → hooks/useFiltersWithHierarchy.cjs.js} +0 -0
  394. /package/dist/shared/src/containers/Slicer/{useFiltersWithHierarchy.es.js → hooks/useFiltersWithHierarchy.es.js} +0 -0
  395. /package/dist/shared/src/containers/Slicer/{createFilterFromSlicer.cjs.js → util/createFilterFromSlicer.cjs.js} +0 -0
  396. /package/dist/shared/src/containers/Slicer/{createFilterFromSlicer.es.js → util/createFilterFromSlicer.es.js} +0 -0
@@ -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":"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"}
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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"}
@@ -7,7 +7,7 @@ import { Button as U, SaveButton as eo, Icon as ro } from "@ynput/ayon-react-com
7
7
  import io from "../CommentMentionSelect/CommentMentionSelect.es.js";
8
8
  import no from "./InputMarkdownConvert.es.js";
9
9
  import mo from "../FilesGrid/FilesGrid.es.js";
10
- import { AutoHeight as so, Comment as po, Markdown as ao, Placeholder as lo, Footer as co, Buttons as wt, Dropzone as uo } from "./CommentInput.styled.es.js";
10
+ import { AutoHeight as po, Comment as so, Markdown as ao, Placeholder as lo, Footer as co, Buttons as wt, Dropzone as uo } from "./CommentInput.styled.es.js";
11
11
  import { QuillListStyles as fo } from "../../../../components/QuillListStyles/QuillListStyles.es.js";
12
12
  import ho from "../../mentionHelpers/getMentionOptions.es.js";
13
13
  import go from "../../mentionHelpers/getMentionUsers.es.js";
@@ -61,9 +61,15 @@ import "../ActivityStatus/ActivityStatus.es.js";
61
61
  import "../ActivityHeader/ActivityHeader.styled.es.js";
62
62
  import "../ActivityDate.es.js";
63
63
  import "../../../../components/AddonLoadingScreen/AddonLoadingScreen.es.js";
64
- import "../../../../components/ThumbnailSimple/ThumbnailSimple.es.js";
65
- import "../../../../components/EmptyPlaceholder/EmptyPlaceholder.es.js";
66
- import "../../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.es.js";
64
+ import "../../../../../../node_modules/match-sorter/dist/match-sorter.esm.es.js";
65
+ import "../../../../components/AccessSearchInput/AccessSearchInput.styled.es.js";
66
+ import "../../../../components/AccessUser/AccessUser.es.js";
67
+ import "../../../../components/AttributeEditor/components/MinMaxField.es.js";
68
+ import "@dnd-kit/core";
69
+ import "@dnd-kit/sortable";
70
+ import "../../../../components/EnumEditor/EnumEditor.styled.es.js";
71
+ import "../../../../components/Badge/Badge.es.js";
72
+ import "../../../../components/Chips/Chips.es.js";
67
73
  import "../../../../api/base/client.es.js";
68
74
  import "../../../../api/generated/graphql.es.js";
69
75
  import "../../../../api/generated/graphqlLinks.es.js";
@@ -149,18 +155,15 @@ import "../../../../api/queries/views/getViews.es.js";
149
155
  import "../../../../api/queries/views/updateViews.es.js";
150
156
  import "../../../../api/queries/watchers/getWatchers.es.js";
151
157
  import "../../../../api/queries/uris/getUris.es.js";
152
- import "@dnd-kit/core";
153
- import "@dnd-kit/sortable";
154
- import "../../../../components/ReviewablesList/ReviewablesList.styled.es.js";
158
+ import "../../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js";
159
+ import "../../../../components/DetailsPanelDetails/DetailsPanelDetails.es.js";
160
+ import "../../../../components/DetailsPanelDetails/DetailsSection.es.js";
161
+ import "../../../../components/DetailsPanelDetails/FieldLabel.es.js";
162
+ import "../../../../components/EarlyPreview/EarlyPreview.es.js";
163
+ import "../../../../components/EmptyPlaceholder/EmptyPlaceholder.es.js";
164
+ import "../../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.es.js";
155
165
  import "../../../ContextMenu/ContextMenuContext.es.js";
156
166
  /* empty css */
157
- import "../../../../components/ReviewablesList/ReviewablesUpload.styled.es.js";
158
- import "axios";
159
- import "../../../../components/ReviewableCard/ReviewableCard.es.js";
160
- import "../../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
161
- import "../../../../components/FileThumbnail/FileThumbnail.es.js";
162
- import "../../../../components/Thumbnail/Thumbnail.styled.es.js";
163
- import "../../../../components/Thumbnail/StackedThumbnails.es.js";
164
167
  import "@tanstack/react-virtual";
165
168
  import "@tanstack/react-table";
166
169
  import "../../../ProjectTreeTable/widgets/CollapsedWidget.es.js";
@@ -198,6 +201,13 @@ import "../../../ProjectTreeTable/widgets/LoadMoreWidget.es.js";
198
201
  import "../../../ProjectTreeTable/components/HeaderActionButton.es.js";
199
202
  import "../../../ProjectTreeTable/components/ColumnHeaderMenu.es.js";
200
203
  import "../../../EntityPickerDialog/EntityPickerDialog.es.js";
204
+ import "../../../SimpleTable/SimpleTable.styled.es.js";
205
+ import "@tanstack/match-sorter-utils";
206
+ import "../../../SimpleTable/context/SimpleTableContext.es.js";
207
+ import "../../../SimpleTable/SimpleTableRowTemplate.es.js";
208
+ import "../../../Slicer/hooks/useTableDataBySlice.es.js";
209
+ import "../../../Slicer/components/SlicerSearch.es.js";
210
+ import "../../../Slicer/context/SlicerContext.es.js";
201
211
  import "../../../DetailsPanel/DetailsPanel.styled.es.js";
202
212
  import "../../../DetailsPanel/FeedFilters/FeedFilters.styled.es.js";
203
213
  import "../../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.es.js";
@@ -213,43 +223,40 @@ import "../../../Views/Views.styled.es.js";
213
223
  import "../../../Views/ViewsMenuContainer/ViewsMenuContainer.es.js";
214
224
  import "../../../Views/ViewsMenu/ViewsMenu.es.js";
215
225
  import "../../../../components/EntityPanelUploader/EntityPanelUploader.styled.es.js";
216
- import "../../../../components/SimpleFormDialog/SimpleFormDialog.es.js";
226
+ import "axios";
227
+ import "../../../../components/ReviewablesList/ReviewablesList.styled.es.js";
228
+ import "../../../../components/ReviewablesList/ReviewablesUpload.styled.es.js";
217
229
  import "../../../../components/EntityPath/EntityPath.styled.es.js";
218
230
  import "../../../../components/EntityPath/SegmentProvider.es.js";
219
- import "../../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js";
220
- import "../../../../components/DetailsPanelDetails/DetailsPanelDetails.es.js";
221
- import "../../../../components/DetailsPanelDetails/DetailsSection.es.js";
222
- import "../../../../components/DetailsPanelDetails/FieldLabel.es.js";
223
- import "../../../../components/Watchers/Watchers.es.js";
224
- import "../../../../components/ProjectTableSettings/ProjectTableSettings.es.js";
231
+ import "../../../../components/FeaturedVersionOrder/FeaturedVersionOrder.es.js";
232
+ import "../../../../components/Feedback/FeedbackContext.es.js";
233
+ import "../../../../components/Feedback/SupportBubble.es.js";
234
+ import "../../../../components/FileThumbnail/FileThumbnail.es.js";
235
+ import "../../../../components/LegacyBadge/LegacyBadge.es.js";
236
+ import "date-fns";
225
237
  import "../../../../components/Powerpack/PowerpackButton.es.js";
226
238
  import "../../../../components/Powerpack/PricingLink.es.js";
227
239
  import "../../../../components/Powerpack/PowerpackDialog.styled.es.js";
228
240
  import "../../../../components/Powerpack/CTAButton.es.js";
229
241
  import "../../../../components/Powerpack/RequiredAddonVersion.es.js";
242
+ import "../../../../components/ProjectTableSettings/ProjectTableSettings.es.js";
230
243
  import "../../../../components/SizeSlider/SizeSlider.es.js";
244
+ import "../../../../components/ReviewableCard/ReviewableCard.es.js";
245
+ import "../../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
246
+ import "../../../../components/SearchFilter/filterDates.es.js";
231
247
  import "../../../../components/SettingsPanel/SettingsPanel.es.js";
232
248
  import "../../../../components/SettingsPanel/SettingsPanelItemTemplate.es.js";
233
- import "../../../../components/AttributeEditor/components/MinMaxField.es.js";
234
- import "../../../../components/EnumEditor/EnumEditor.styled.es.js";
235
- import "../../../../components/SearchFilter/filterDates.es.js";
236
- import "../../../../components/FeaturedVersionOrder/FeaturedVersionOrder.es.js";
237
- import "../../../../components/Badge/Badge.es.js";
238
- import "../../../../components/VersionUploader/components/UploadVersionDialog.es.js";
239
- import "../../../../components/VersionUploader/context/VersionUploadContext.es.js";
240
- import "../../../../components/Feedback/FeedbackContext.es.js";
241
- import "../../../../components/Feedback/SupportBubble.es.js";
242
- import "../../../../components/Chips/Chips.es.js";
243
- import "../../../../components/StyledLink/StyledLink.es.js";
244
- import "date-fns";
245
249
  import "../../../../components/ShareOptionIcon/ShareOptionIcon.es.js";
246
- import "../../../../components/AccessUser/AccessUser.es.js";
247
- import "../../../../../../node_modules/match-sorter/dist/match-sorter.esm.es.js";
248
- import "../../../../components/AccessSearchInput/AccessSearchInput.styled.es.js";
249
- import "../../../../components/TableGridSwitch/TableGridSwitch.es.js";
250
+ import "../../../../components/SimpleFormDialog/SimpleFormDialog.es.js";
250
251
  import "../../../../components/SortingSetting/SortingSetting.styled.es.js";
251
- import "../../../../components/EarlyPreview/EarlyPreview.es.js";
252
- import "../../../../components/LegacyBadge/LegacyBadge.es.js";
252
+ import "../../../../components/StyledLink/StyledLink.es.js";
253
+ import "../../../../components/TableGridSwitch/TableGridSwitch.es.js";
254
+ import "../../../../components/Thumbnail/Thumbnail.styled.es.js";
255
+ import "../../../../components/Thumbnail/StackedThumbnails.es.js";
256
+ import "../../../../components/ThumbnailSimple/ThumbnailSimple.es.js";
257
+ import "../../../../components/VersionUploader/components/UploadVersionDialog.es.js";
258
+ import "../../../../components/VersionUploader/context/VersionUploadContext.es.js";
259
+ import "../../../../components/Watchers/Watchers.es.js";
253
260
  import "../../../../components/Menu/Menu.styled.es.js";
254
261
  import "../../../../components/Menu/MenuItem.es.js";
255
262
  import "../ActivityCategorySelect/CategoryTag.es.js";
@@ -272,7 +279,7 @@ const R = ["@", "@@", "@@@"], Q = {
272
279
  id: "user",
273
280
  isCircle: !0
274
281
  }
275
- }, Pm = ({
282
+ }, Hm = ({
276
283
  initValue: _,
277
284
  initFiles: Mt = [],
278
285
  initCategory: St = null,
@@ -301,7 +308,7 @@ const R = ["@", "@@", "@@@"], Q = {
301
308
  } = It || {}, [rt, Ut] = f(88), [E, I] = f(""), [w, F] = f(Mt), [H, A] = f([]), [it, P] = f(!1), [Rt, nt] = f(!1), { annotations: b, removeAnnotation: qt, goToAnnotation: Et } = Io({
302
309
  entityId: q[0]?.id,
303
310
  filesUploading: H
304
- }), [m, x] = f(null), [B, j] = f(0), [L, Ht] = f(St), mt = Z.filter((t) => t.accessLevel >= 20), st = Z.find((t) => t.name === L), pt = Fo(st?.color), c = z(null), Bt = z(null), at = z(null);
311
+ }), [m, x] = f(null), [B, j] = f(0), [L, Ht] = f(St), mt = Z.filter((t) => t.accessLevel >= 20), pt = Z.find((t) => t.name === L), st = Fo(pt?.color), c = z(null), Bt = z(null), at = z(null);
305
312
  So({
306
313
  markdownRef: at,
307
314
  initValue: _,
@@ -332,10 +339,10 @@ const R = ["@", "@@", "@@@"], Q = {
332
339
  N && (ct(null), c.current.getEditor().setSelection(N));
333
340
  }, [N]);
334
341
  const dt = (t) => {
335
- const o = c.current.getEditor(), e = m.type, r = e + (m.search || ""), i = e + t.label, d = `${Q[e]?.id}:${t.id}`, s = (o.getSelection(!0)?.index || 0) - r.length;
336
- o.deleteText(s, r.length), o.insertText(s, i, "mention", d);
337
- const p = s + i.length;
338
- o.updateContents(new jt().retain(p).insert(" ")), o.updateContents(new jt().retain(p + 1).delete(1)), ct(p + 1), x(null), j(0);
342
+ const o = c.current.getEditor(), e = m.type, r = e + (m.search || ""), i = e + t.label, d = `${Q[e]?.id}:${t.id}`, p = (o.getSelection(!0)?.index || 0) - r.length;
343
+ o.deleteText(p, r.length), o.insertText(p, i, "mention", d);
344
+ const s = p + i.length;
345
+ o.updateContents(new jt().retain(s).insert(" ")), o.updateContents(new jt().retain(s + 1).delete(1)), ct(s + 1), x(null), j(0);
339
346
  }, Nt = (t) => {
340
347
  dt(t);
341
348
  }, Kt = (t, o, e, r) => {
@@ -349,13 +356,13 @@ const R = ["@", "@@", "@@@"], Q = {
349
356
  I(t);
350
357
  const M = o.ops.length === 2 && !!o.ops[1].delete;
351
358
  if (!i && M && (i = r.getText(o.ops[0].retain - 1, 1)), R.includes(i)) {
352
- const s = o.ops.findIndex((g) => "insert" in g || "delete" in g), p = i;
353
- let y = s === 0 ? 0 : o.ops[s - 1].retain;
359
+ const p = o.ops.findIndex((g) => "insert" in g || "delete" in g), s = i;
360
+ let y = p === 0 ? 0 : o.ops[p - 1].retain;
354
361
  M && (y = y - 1);
355
362
  let v = null;
356
363
  for (const g of R) {
357
364
  let S = !0;
358
- if (g.endsWith(p))
365
+ if (g.endsWith(s))
359
366
  for (let u = g.length - 1; u >= 0; u--) {
360
367
  if (u === 0) continue;
361
368
  const Ot = g[u - 1], Xt = y - (g.length - u);
@@ -376,25 +383,25 @@ const R = ["@", "@@", "@@@"], Q = {
376
383
  retain: y
377
384
  }) : (x(null), j(0));
378
385
  } else if (m) {
379
- const s = o.ops[0].retain;
380
- if (i === " " || !s) {
386
+ const p = o.ops[0].retain;
387
+ if (i === " " || !p) {
381
388
  x(null), j(0);
382
389
  return;
383
390
  }
384
- let p = s - m.retain;
385
- M || p++;
386
- const y = r.getText(m.retain, p), v = y.replace(m.type.slice(-1), "");
391
+ let s = p - m.retain;
392
+ M || s++;
393
+ const y = r.getText(m.retain, s), v = y.replace(m.type.slice(-1), "");
387
394
  y.includes(" ") ? (x(null), j(0)) : x({
388
395
  ...m,
389
396
  search: v?.toLowerCase()
390
397
  });
391
398
  } else {
392
- const s = c.current.getEditor(), p = s.getSelection(!1);
393
- if (s.getFormat(p?.index, p?.length).mention) {
394
- const [v] = s.getLine(p.index - 1) || [], S = (v?.cache?.delta?.ops || []).reverse().find((u) => u.attributes?.mention);
399
+ const p = c.current.getEditor(), s = p.getSelection(!1);
400
+ if (p.getFormat(s?.index, s?.length).mention) {
401
+ const [v] = p.getLine(s.index - 1) || [], S = (v?.cache?.delta?.ops || []).reverse().find((u) => u.attributes?.mention);
395
402
  if (S) {
396
403
  const u = S.insert.length;
397
- s.deleteText(p.index - u, u);
404
+ p.deleteText(s.index - u, u);
398
405
  }
399
406
  }
400
407
  }
@@ -505,7 +512,7 @@ const R = ["@", "@@", "@@@"], Q = {
505
512
  q.length && q[0].entityType === "folder" && m?.type === "@@" && (xt = "Version mentions are disabled for folders");
506
513
  const Ct = (t) => D ? h ? "You do not have permission to comment." : "Commenting is disabled across multiple projects." : h || !t ? "Leave a comment" : "Comment or mention with @user, @@version, @@@task...";
507
514
  return /* @__PURE__ */ n.jsx(n.Fragment, { children: /* @__PURE__ */ n.jsxs(
508
- so,
515
+ po,
509
516
  {
510
517
  className: G("comment-container", { isOpen: l, isEditing: a }),
511
518
  onDragOver: Qt,
@@ -515,7 +522,7 @@ const R = ["@", "@@", "@@@"], Q = {
515
522
  onKeyDown: (t) => t.stopPropagation(),
516
523
  children: [
517
524
  /* @__PURE__ */ n.jsxs(
518
- po,
525
+ so,
519
526
  {
520
527
  className: G("block-shortcuts", {
521
528
  isOpen: l,
@@ -529,9 +536,9 @@ const R = ["@", "@@", "@@@"], Q = {
529
536
  }),
530
537
  onKeyDown: Wt,
531
538
  onClick: $t,
532
- $categoryPrimary: st?.color,
533
- $categoryTertiary: pt.primary,
534
- $categorySecondary: pt.secondary,
539
+ $categoryPrimary: pt?.color,
540
+ $categoryTertiary: st.primary,
541
+ $categorySecondary: st.secondary,
535
542
  children: [
536
543
  /* @__PURE__ */ n.jsx(ao, { ref: at, children: /* @__PURE__ */ n.jsx(no, { typeOptions: Q, initValue: _ }) }),
537
544
  l && /* @__PURE__ */ n.jsx(
@@ -660,7 +667,7 @@ const R = ["@", "@@", "@@@"], Q = {
660
667
  ) });
661
668
  };
662
669
  export {
663
- Pm as default,
670
+ Hm as default,
664
671
  Q as mentionTypeOptions
665
672
  };
666
673
  //# sourceMappingURL=CommentInput.es.js.map