@ynput/ayon-frontend-shared 0.2.45 → 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 (385) 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.cjs10.js +1 -1
  12. package/dist/_virtual/index.cjs11.js +1 -1
  13. package/dist/_virtual/index.cjs12.js +1 -1
  14. package/dist/_virtual/index.es10.js +3 -3
  15. package/dist/_virtual/index.es11.js +5 -5
  16. package/dist/_virtual/index.es12.js +5 -5
  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/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  28. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  29. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  30. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  31. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  32. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  33. package/dist/shared/src/api/queries/views/updateViews.cjs.js +1 -1
  34. package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -1
  35. package/dist/shared/src/api/queries/views/updateViews.es.js +1 -1
  36. package/dist/shared/src/api/queries/views/updateViews.es.js.map +1 -1
  37. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  38. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  39. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +57 -50
  40. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  41. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  42. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  43. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +45 -38
  44. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  45. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  46. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  47. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +47 -40
  48. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  49. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  50. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  51. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +49 -42
  52. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  53. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  54. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  55. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +44 -37
  56. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  57. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  58. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  59. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +48 -41
  60. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  61. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +2 -0
  62. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -0
  63. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +279 -0
  64. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -0
  65. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  66. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  67. package/dist/shared/src/components/RenameForm/RenameForm.es.js +48 -41
  68. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  69. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  70. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  71. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +64 -57
  72. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  73. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  74. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  75. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +54 -47
  76. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  77. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  78. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  79. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +53 -46
  80. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  81. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  82. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  83. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +52 -45
  84. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  85. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +2 -2
  86. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  87. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +56 -49
  88. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  89. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  90. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  91. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +53 -46
  92. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  93. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  94. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  95. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +54 -47
  96. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  97. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  98. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  99. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +70 -63
  100. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  101. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  102. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  103. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +49 -42
  104. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  105. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  106. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  107. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +68 -61
  108. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  109. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  110. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  111. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +93 -86
  112. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  113. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
  114. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
  115. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +47 -40
  116. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
  117. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  118. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  119. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +46 -43
  120. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  121. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  122. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  123. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +49 -46
  124. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  125. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  126. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  127. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +49 -46
  128. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  129. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  130. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  131. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +49 -46
  132. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  133. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  134. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  135. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +50 -42
  136. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  137. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  138. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  139. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +55 -48
  140. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  141. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  142. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  143. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +70 -63
  144. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  145. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  146. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  147. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +47 -40
  148. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  149. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  150. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  151. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +468 -448
  152. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  153. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  154. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  155. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +96 -89
  156. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  157. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  158. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  159. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +47 -40
  160. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  161. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  162. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  163. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +57 -50
  164. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  165. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  166. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  167. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +54 -47
  168. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  169. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  170. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  171. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
  172. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
  173. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +63 -68
  174. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
  175. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  176. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  177. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +49 -41
  178. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  179. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  180. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  181. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +51 -44
  182. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  183. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  184. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  185. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +48 -41
  186. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  187. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  188. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  189. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +55 -48
  190. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  191. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  192. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  193. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +54 -47
  194. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  195. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  196. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  197. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +51 -44
  198. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  199. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  200. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  201. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +51 -44
  202. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  203. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  204. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  205. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +51 -44
  206. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  207. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  208. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  209. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +54 -47
  210. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  211. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  212. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  213. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +46 -39
  214. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  215. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  216. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  217. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +46 -39
  218. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  219. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  220. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  221. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +48 -41
  222. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  223. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  224. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  225. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +62 -55
  226. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  227. package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.cjs.js +1 -1
  228. package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.cjs.js.map +1 -1
  229. package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.es.js +11 -6
  230. package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.es.js.map +1 -1
  231. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +2 -2
  232. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  233. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +16 -13
  234. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  235. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
  236. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  237. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +342 -116
  238. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  239. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.cjs.js +2 -2
  240. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.cjs.js.map +1 -1
  241. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.es.js +47 -40
  242. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.es.js.map +1 -1
  243. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +2 -2
  244. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
  245. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +7 -7
  246. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
  247. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  248. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  249. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +69 -62
  250. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  251. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  252. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  253. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +51 -44
  254. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  255. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js +2 -2
  256. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js.map +1 -1
  257. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js +29 -33
  258. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js.map +1 -1
  259. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  260. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  261. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +118 -111
  262. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  263. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  264. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  265. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +49 -46
  266. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  267. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +2 -0
  268. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -0
  269. package/dist/shared/src/containers/Slicer/components/Slicer.es.js +82 -0
  270. package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -0
  271. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +27 -0
  272. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -0
  273. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +71 -0
  274. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -0
  275. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +10 -0
  276. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -0
  277. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +294 -0
  278. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -0
  279. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +2 -0
  280. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -0
  281. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +215 -0
  282. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -0
  283. package/dist/shared/src/containers/Slicer/hooks/useFiltersWithHierarchy.cjs.js.map +1 -0
  284. package/dist/shared/src/containers/Slicer/hooks/useFiltersWithHierarchy.es.js.map +1 -0
  285. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +2 -0
  286. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -0
  287. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +25 -0
  288. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -0
  289. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +2 -0
  290. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -0
  291. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +28 -0
  292. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -0
  293. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +2 -0
  294. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -0
  295. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +304 -0
  296. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -0
  297. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js +2 -0
  298. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -0
  299. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js +99 -0
  300. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -0
  301. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.cjs.js.map +1 -0
  302. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.es.js.map +1 -0
  303. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  304. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  305. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +95 -88
  306. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  307. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +2 -2
  308. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  309. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +32 -31
  310. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  311. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  312. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  313. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +125 -121
  314. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  315. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -1
  316. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
  317. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +47 -49
  318. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
  319. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  320. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  321. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +6 -5
  322. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  323. package/dist/shared/src/context/AddonContext.cjs.js.map +1 -1
  324. package/dist/shared/src/context/AddonContext.es.js.map +1 -1
  325. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  326. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  327. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  328. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  329. package/dist/shared/src/context/WebsocketContext.es.js +51 -44
  330. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  331. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  332. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  333. package/dist/shared/src/hooks/useLoadModules.cjs.js +1 -1
  334. package/dist/shared/src/hooks/useLoadModules.cjs.js.map +1 -1
  335. package/dist/shared/src/hooks/useLoadModules.es.js +7 -7
  336. package/dist/shared/src/hooks/useLoadModules.es.js.map +1 -1
  337. package/dist/shared/src/util/columnConfigConverter.cjs.js +1 -1
  338. package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
  339. package/dist/shared/src/util/columnConfigConverter.es.js +69 -46
  340. package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
  341. package/dist/shared/src/util/getGroupByDataType.cjs.js +1 -1
  342. package/dist/shared/src/util/getGroupByDataType.cjs.js.map +1 -1
  343. package/dist/shared/src/util/getGroupByDataType.es.js +4 -4
  344. package/dist/shared/src/util/getGroupByDataType.es.js.map +1 -1
  345. package/dist/types/api/queries/activities/getActivities.d.ts +1 -1
  346. package/dist/types/api/queries/entityLists/getLists.d.ts +183 -183
  347. package/dist/types/api/queries/links/getLinks.d.ts +1 -1
  348. package/dist/types/api/queries/overview/getOverview.d.ts +1 -1
  349. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +2 -2
  350. package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +28 -0
  351. package/dist/types/components/RemotePage/index.d.ts +1 -0
  352. package/dist/types/components/index.d.ts +31 -30
  353. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +0 -2
  354. package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +1 -4
  355. package/dist/types/containers/ProjectTreeTable/utils/restrictedEntity.d.ts +3 -3
  356. package/dist/types/containers/Slicer/components/Slicer.d.ts +9 -0
  357. package/dist/types/containers/Slicer/components/SlicerDropdownFallback.d.ts +7 -0
  358. package/dist/types/containers/Slicer/components/SlicerSearch.d.ts +6 -0
  359. package/dist/types/containers/Slicer/context/SlicerContext.d.ts +48 -0
  360. package/dist/types/containers/Slicer/hooks/index.d.ts +5 -0
  361. package/dist/types/containers/Slicer/{useFiltersWithHierarchy.d.ts → hooks/useFiltersWithHierarchy.d.ts} +1 -1
  362. package/dist/types/containers/Slicer/hooks/useProjectAnatomySlices.d.ts +51 -0
  363. package/dist/types/containers/Slicer/hooks/useSlicerAttributesData.d.ts +7 -0
  364. package/dist/types/containers/Slicer/hooks/useTableDataBySlice.d.ts +8 -0
  365. package/dist/types/containers/Slicer/hooks/useUsersTable.d.ts +10 -0
  366. package/dist/types/containers/Slicer/index.d.ts +4 -2
  367. package/dist/types/containers/Slicer/types.d.ts +35 -0
  368. package/dist/types/containers/Slicer/{createFilterFromSlicer.d.ts → util/createFilterFromSlicer.d.ts} +2 -2
  369. package/dist/types/containers/Slicer/util/index.d.ts +1 -0
  370. package/dist/types/containers/Views/ViewsMenuContainer/BaseViewsTags.d.ts +4 -1
  371. package/dist/types/containers/Views/hooks/pages/useOverviewViewSettings.d.ts +7 -1
  372. package/dist/types/containers/Views/index.d.ts +1 -1
  373. package/dist/types/containers/Views/utils/viewUpdateHelper.d.ts +1 -1
  374. package/dist/types/context/AddonContext.d.ts +10 -2
  375. package/dist/types/context/AddonProjectContext.d.ts +7 -12
  376. package/dist/types/hooks/useGroupByRemoteModules.d.ts +2 -1
  377. package/package.json +1 -1
  378. package/dist/shared/src/containers/Slicer/createFilterFromSlicer.cjs.js.map +0 -1
  379. package/dist/shared/src/containers/Slicer/createFilterFromSlicer.es.js.map +0 -1
  380. package/dist/shared/src/containers/Slicer/useFiltersWithHierarchy.cjs.js.map +0 -1
  381. package/dist/shared/src/containers/Slicer/useFiltersWithHierarchy.es.js.map +0 -1
  382. /package/dist/shared/src/containers/Slicer/{useFiltersWithHierarchy.cjs.js → hooks/useFiltersWithHierarchy.cjs.js} +0 -0
  383. /package/dist/shared/src/containers/Slicer/{useFiltersWithHierarchy.es.js → hooks/useFiltersWithHierarchy.es.js} +0 -0
  384. /package/dist/shared/src/containers/Slicer/{createFilterFromSlicer.cjs.js → util/createFilterFromSlicer.cjs.js} +0 -0
  385. /package/dist/shared/src/containers/Slicer/{createFilterFromSlicer.es.js → util/createFilterFromSlicer.es.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"DetailsPanelFloating.cjs.js","sources":["../../../../../../src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.tsx"],"sourcesContent":["import { FC, useMemo, useState } from 'react'\nimport * as Styled from './DetailsPanelFloating.styled'\nimport getThumbnails from '../helpers/getThumbnails'\nimport { StackedThumbnails } from '@shared/components'\nimport { upperFirst } from 'lodash'\nimport { AssigneeField, getTextColor, Icon } from '@ynput/ayon-react-components'\nimport {\n PiPWrapper,\n DetailsPanelTab,\n useScopedDetailsPanel,\n ProjectContextProvider,\n} from '@shared/context'\nimport { useGetEntitiesDetailsPanelQuery } from '@shared/api'\nimport { useGetKanbanProjectUsersQuery, useGetProjectsInfoQuery } from '@shared/api'\nimport getAllProjectStatuses from '../helpers/getAllProjectsStatuses'\nimport FeedWrapper from '../FeedWrapper'\nimport mergeProjectInfo from '../helpers/mergeProjectInfo'\nimport { buildDetailsPanelTitles } from '../helpers/buildDetailsPanelTitles'\nimport { useDetailsPanelContext } from '@shared/context'\n\nexport interface DetailsPanelFloatingProps {}\n\nexport const DetailsPanelFloating: FC<DetailsPanelFloatingProps> = () => {\n const { pip } = useDetailsPanelContext()\n const entityType = pip?.entityType\n const entities = pip?.entities || []\n const scope = pip?.scope || ''\n const isOpen = entities.length > 0 && !!entityType\n const { currentTab: parentTab } = useScopedDetailsPanel(scope)\n const [currentTab, setCurrentTab] = useState<DetailsPanelTab>(parentTab)\n\n const projects: string[] = entities.map((e: any) => e.projectName)\n\n const { data: allUsers = [] } = useGetKanbanProjectUsersQuery({ projects }, { skip: !isOpen })\n\n const { data: projectsInfo = {}, isFetching: isFetchingInfo } = useGetProjectsInfoQuery(\n {\n projects: projects,\n },\n { skip: !isOpen },\n )\n\n // get all statuses from projects info, removing duplicate names\n const statuses = useMemo(\n () => getAllProjectStatuses(projectsInfo, projects),\n [projectsInfo, projects],\n )\n\n const { data: entitiesData = [], isFetching: isFetchingEntitiesDetails } =\n useGetEntitiesDetailsPanelQuery(\n // @ts-expect-error\n { entityType: entityType, entities: entities },\n {\n skip: !isOpen || isFetchingInfo,\n },\n )\n\n // reduce projectsInfo to selected projects and into one\n const projectInfo = useMemo(\n () => mergeProjectInfo(projectsInfo, projects),\n [projectsInfo, projects],\n )\n\n // build icons for entity types\n const entityTypeIcons = useMemo(\n () => ({\n task: projectInfo.taskTypes\n .filter((task) => !!task.icon)\n .reduce((acc, task) => ({ ...acc, [task.name]: task.icon }), {}),\n folder: projectInfo.folderTypes\n .filter((folder) => !!folder.icon)\n .reduce((acc, folder) => ({ ...acc, [folder.name]: folder.icon }), {}),\n product: projectInfo.productTypes\n .filter((product) => !!product.icon)\n .reduce((acc, product) => ({ ...acc, [product.name]: product.icon }), {}),\n }),\n [projectInfo],\n )\n\n const thumbnails = useMemo(\n () => (entityType ? getThumbnails(entitiesData, entityType, entityTypeIcons) : []),\n [entitiesData, entityType],\n )\n\n // users for assignee field, find in all users\n const users = useMemo(() => {\n return allUsers\n .filter((u) => entitiesData.some((e) => e?.task?.assignees?.includes(u.name)))\n .map((u) => ({ ...u, avatarUrl: `/api/users/${u.name}/avatar` }))\n }, [allUsers, entities])\n\n const firstEntity = entitiesData[0]\n if (!entitiesData.length || !firstEntity) return null\n\n if (isFetchingEntitiesDetails) return <div>Loading...</div>\n\n const projectName = firstEntity?.projectName\n\n // are there multiple statuses of different names?\n const mixedStatuses = entitiesData.some((e) => e?.status !== firstEntity?.status)\n const mixedStatus = {\n icon: 'question_mark',\n color: 'var(--md-sys-color-surface-container-highest)',\n name: 'Mixed statuses',\n }\n\n const statusAnatomy = mixedStatuses\n ? mixedStatus\n : statuses.find((s) => s.name === firstEntity?.status) || {\n icon: '',\n color: '',\n name: 'None',\n }\n\n if (!entityType) return null\n\n // Get title and subtitle from the imported function\n const { title, subTitle } = buildDetailsPanelTitles(entitiesData, entityType)\n\n return (\n <PiPWrapper>\n <ProjectContextProvider projectName={projectName}>\n <Styled.Container>\n <Styled.Header>\n <StackedThumbnails thumbnails={thumbnails} />\n <Styled.Content>\n <h2>{title}</h2>\n <div className=\"sub-title\">\n <span>{upperFirst(entityType)} - </span>\n <h3>{subTitle}</h3>\n </div>\n </Styled.Content>\n </Styled.Header>\n <Styled.Row>\n <Styled.Status\n style={{\n backgroundColor: statusAnatomy?.color,\n color: getTextColor(statusAnatomy?.color),\n }}\n >\n <Icon icon={statusAnatomy.icon || 'question_mark'} style={{ color: 'inherit' }} />\n <span className=\"label\">{statusAnatomy?.name}</span>\n </Styled.Status>\n <AssigneeField users={users} style={{ pointerEvents: 'none' }} />\n </Styled.Row>\n <Styled.FeedContainer>\n <FeedWrapper\n entityType={entityType}\n // @ts-ignore\n entities={entitiesData}\n activeUsers={[]}\n // selectedTasksProjects={{}}\n projectInfo={projectsInfo[projectName]}\n projectName={projectName}\n disabled={false}\n scope={scope}\n readOnly\n // @ts-ignore\n statuses={statuses}\n currentTab={currentTab}\n setCurrentTab={setCurrentTab}\n />\n </Styled.FeedContainer>\n </Styled.Container>\n </ProjectContextProvider>\n </PiPWrapper>\n )\n}\n\nexport default DetailsPanelFloating\n"],"names":["DetailsPanelFloating","pip","useDetailsPanelContext","entityType","entities","scope","isOpen","parentTab","useScopedDetailsPanel","currentTab","setCurrentTab","useState","projects","allUsers","useGetKanbanProjectUsersQuery","projectsInfo","isFetchingInfo","useGetProjectsInfoQuery","statuses","useMemo","getAllProjectStatuses","entitiesData","isFetchingEntitiesDetails","useGetEntitiesDetailsPanelQuery","projectInfo","mergeProjectInfo","entityTypeIcons","task","acc","folder","product","thumbnails","getThumbnails","users","u","e","firstEntity","jsx","projectName","statusAnatomy","s","title","subTitle","buildDetailsPanelTitles","PiPWrapper","ProjectContextProvider","jsxs","Styled.Container","Styled.Header","StackedThumbnails","Styled.Content","upperFirst","Styled.Row","Styled.Status","getTextColor","Icon","AssigneeField","Styled.FeedContainer","FeedWrapper"],"mappings":"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"}
1
+ {"version":3,"file":"DetailsPanelFloating.cjs.js","sources":["../../../../../../src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.tsx"],"sourcesContent":["import { FC, useMemo, useState } from 'react'\nimport * as Styled from './DetailsPanelFloating.styled'\nimport getThumbnails from '../helpers/getThumbnails'\nimport { StackedThumbnails } from '@shared/components'\nimport { upperFirst } from 'lodash'\nimport { AssigneeField, getTextColor, Icon } from '@ynput/ayon-react-components'\nimport {\n PiPWrapper,\n DetailsPanelTab,\n useScopedDetailsPanel,\n ProjectContextProvider,\n} from '@shared/context'\nimport { useGetEntitiesDetailsPanelQuery } from '@shared/api'\nimport { useGetKanbanProjectUsersQuery, useGetProjectsInfoQuery } from '@shared/api'\nimport getAllProjectStatuses from '../helpers/getAllProjectsStatuses'\nimport FeedWrapper from '../FeedWrapper'\nimport mergeProjectInfo from '../helpers/mergeProjectInfo'\nimport { buildDetailsPanelTitles } from '../helpers/buildDetailsPanelTitles'\nimport { useDetailsPanelContext } from '@shared/context'\n\nexport interface DetailsPanelFloatingProps {}\n\nexport const DetailsPanelFloating: FC<DetailsPanelFloatingProps> = () => {\n const { pip } = useDetailsPanelContext()\n const entityType = pip?.entityType\n const entities = pip?.entities || []\n const scope = pip?.scope || ''\n const isOpen = entities.length > 0 && !!entityType\n const { currentTab: parentTab } = useScopedDetailsPanel(scope)\n const [currentTab, setCurrentTab] = useState<DetailsPanelTab>(parentTab)\n\n const projects: string[] = entities.map((e: any) => e.projectName)\n\n const { data: allUsers = [] } = useGetKanbanProjectUsersQuery({ projects }, { skip: !isOpen })\n\n const { data: projectsInfo = {}, isFetching: isFetchingInfo } = useGetProjectsInfoQuery(\n {\n projects: projects,\n },\n { skip: !isOpen },\n )\n\n // get all statuses from projects info, removing duplicate names\n const statuses = useMemo(\n () => getAllProjectStatuses(projectsInfo, projects),\n [projectsInfo, projects],\n )\n\n const { data: entitiesData = [], isFetching: isFetchingEntitiesDetails } =\n useGetEntitiesDetailsPanelQuery(\n // @ts-expect-error\n { entityType: entityType, entities: entities },\n {\n skip: !isOpen || isFetchingInfo,\n },\n )\n\n // reduce projectsInfo to selected projects and into one\n const projectInfo = useMemo(\n () => mergeProjectInfo(projectsInfo, projects),\n [projectsInfo, projects],\n )\n\n // build icons for entity types\n const entityTypeIcons = useMemo(\n () => ({\n task: projectInfo.taskTypes\n .filter((task) => !!task.icon)\n .reduce((acc, task) => ({ ...acc, [task.name]: task.icon }), {}),\n folder: projectInfo.folderTypes\n .filter((folder) => !!folder.icon)\n .reduce((acc, folder) => ({ ...acc, [folder.name]: folder.icon }), {}),\n product: projectInfo.productTypes\n .filter((product) => !!product.icon)\n .reduce((acc, product) => ({ ...acc, [product.name]: product.icon }), {}),\n }),\n [projectInfo],\n )\n\n const thumbnails = useMemo(\n () => (entityType ? getThumbnails(entitiesData, entityType, entityTypeIcons) : []),\n [entitiesData, entityType],\n )\n\n // users for assignee field, find in all users\n const users = useMemo(() => {\n return allUsers\n .filter((u) => entitiesData.some((e) => e?.task?.assignees?.includes(u.name)))\n .map((u) => ({ ...u, avatarUrl: `/api/users/${u.name}/avatar` }))\n }, [allUsers, entities])\n\n const firstEntity = entitiesData[0]\n if (!entitiesData.length || !firstEntity) return null\n\n if (isFetchingEntitiesDetails) return <div>Loading...</div>\n\n const projectName = firstEntity?.projectName\n\n // are there multiple statuses of different names?\n const mixedStatuses = entitiesData.some((e) => e?.status !== firstEntity?.status)\n const mixedStatus = {\n icon: 'question_mark',\n color: 'var(--md-sys-color-surface-container-highest)',\n name: 'Mixed statuses',\n }\n\n const statusAnatomy = mixedStatuses\n ? mixedStatus\n : statuses.find((s) => s.name === firstEntity?.status) || {\n icon: '',\n color: '',\n name: 'None',\n }\n\n if (!entityType) return null\n\n // Get title and subtitle from the imported function\n const { title, subTitle } = buildDetailsPanelTitles(entitiesData, entityType)\n\n return (\n <PiPWrapper>\n <ProjectContextProvider projectName={projectName}>\n <Styled.Container>\n <Styled.Header>\n <StackedThumbnails thumbnails={thumbnails} />\n <Styled.Content>\n <h2>{title}</h2>\n <div className=\"sub-title\">\n <span>{upperFirst(entityType)} - </span>\n <h3>{subTitle}</h3>\n </div>\n </Styled.Content>\n </Styled.Header>\n <Styled.Row>\n <Styled.Status\n style={{\n backgroundColor: statusAnatomy?.color,\n color: getTextColor(statusAnatomy?.color),\n }}\n >\n <Icon icon={statusAnatomy.icon || 'question_mark'} style={{ color: 'inherit' }} />\n <span className=\"label\">{statusAnatomy?.name}</span>\n </Styled.Status>\n <AssigneeField users={users} style={{ pointerEvents: 'none' }} />\n </Styled.Row>\n <Styled.FeedContainer>\n <FeedWrapper\n entityType={entityType}\n // @ts-ignore\n entities={entitiesData}\n activeUsers={[]}\n // selectedTasksProjects={{}}\n projectInfo={projectsInfo[projectName]}\n projectName={projectName}\n disabled={false}\n scope={scope}\n readOnly\n // @ts-ignore\n statuses={statuses}\n currentTab={currentTab}\n setCurrentTab={setCurrentTab}\n />\n </Styled.FeedContainer>\n </Styled.Container>\n </ProjectContextProvider>\n </PiPWrapper>\n )\n}\n\nexport default DetailsPanelFloating\n"],"names":["DetailsPanelFloating","pip","useDetailsPanelContext","entityType","entities","scope","isOpen","parentTab","useScopedDetailsPanel","currentTab","setCurrentTab","useState","projects","allUsers","useGetKanbanProjectUsersQuery","projectsInfo","isFetchingInfo","useGetProjectsInfoQuery","statuses","useMemo","getAllProjectStatuses","entitiesData","isFetchingEntitiesDetails","useGetEntitiesDetailsPanelQuery","projectInfo","mergeProjectInfo","entityTypeIcons","task","acc","folder","product","thumbnails","getThumbnails","users","u","e","firstEntity","jsx","projectName","statusAnatomy","s","title","subTitle","buildDetailsPanelTitles","PiPWrapper","ProjectContextProvider","jsxs","Styled.Container","Styled.Header","StackedThumbnails","Styled.Content","upperFirst","Styled.Row","Styled.Status","getTextColor","Icon","AssigneeField","Styled.FeedContainer","FeedWrapper"],"mappings":"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"}
@@ -3,11 +3,19 @@ import { useState as I, useMemo as s } from "react";
3
3
  import { Container as D, Header as N, Content as E, Row as U, Status as A, FeedContainer as G } from "./DetailsPanelFloating.styled.es.js";
4
4
  import Q from "../helpers/getThumbnails.es.js";
5
5
  import "../../../components/AddonLoadingScreen/AddonLoadingScreen.es.js";
6
+ import "../../../../../node_modules/match-sorter/dist/match-sorter.esm.es.js";
6
7
  import { getTextColor as q, Icon as M, AssigneeField as O } from "@ynput/ayon-react-components";
8
+ import "../../../components/AccessSearchInput/AccessSearchInput.styled.es.js";
9
+ import "../../../components/AccessUser/AccessUser.es.js";
7
10
  import "clsx";
8
- import "../../../components/ThumbnailSimple/ThumbnailSimple.es.js";
9
- import "../../../components/EmptyPlaceholder/EmptyPlaceholder.es.js";
10
- import "../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.es.js";
11
+ import { upperFirst as R } from "lodash";
12
+ import "../../../components/AttributeEditor/components/MinMaxField.es.js";
13
+ import "react-dom";
14
+ import "@dnd-kit/core";
15
+ import "@dnd-kit/sortable";
16
+ import "../../../components/EnumEditor/EnumEditor.styled.es.js";
17
+ import "../../../components/Badge/Badge.es.js";
18
+ import "../../../components/Chips/Chips.es.js";
11
19
  import "react-toastify";
12
20
  import "../../../api/base/client.es.js";
13
21
  import "../../../api/generated/graphql.es.js";
@@ -62,7 +70,7 @@ import "../../../api/queries/cloud/cloud.es.js";
62
70
  import "../../../api/queries/config/getConfig.es.js";
63
71
  import "../../../api/queries/config/updateConfig.es.js";
64
72
  import "../../../api/queries/entities/getEntity.es.js";
65
- import { useGetEntitiesDetailsPanelQuery as R } from "../../../api/queries/entities/getEntityPanel.es.js";
73
+ import { useGetEntitiesDetailsPanelQuery as W } from "../../../api/queries/entities/getEntityPanel.es.js";
66
74
  import "../../../api/queries/entities/updateEntity.es.js";
67
75
  import "../../../api/queries/entityLists/getLists.es.js";
68
76
  import "../../../api/queries/entityLists/updateLists.es.js";
@@ -85,7 +93,7 @@ import "../../../api/queries/review/getReview.es.js";
85
93
  import "../../../api/queries/review/updateReview.es.js";
86
94
  import "../../../api/queries/share/share.es.js";
87
95
  import "../../../api/queries/system/getSystem.es.js";
88
- import { useGetKanbanProjectUsersQuery as W, useGetProjectsInfoQuery as _ } from "../../../api/queries/userDashboard/getUserDashboard.es.js";
96
+ import { useGetKanbanProjectUsersQuery as _, useGetProjectsInfoQuery as w } from "../../../api/queries/userDashboard/getUserDashboard.es.js";
89
97
  import "../../../api/queries/users/getUsers.es.js";
90
98
  import "../../../api/queries/users/updateUsers.es.js";
91
99
  import "../../../api/queries/users/guests.es.js";
@@ -94,22 +102,23 @@ import "../../../api/queries/views/getViews.es.js";
94
102
  import "../../../api/queries/views/updateViews.es.js";
95
103
  import "../../../api/queries/watchers/getWatchers.es.js";
96
104
  import "../../../api/queries/uris/getUris.es.js";
97
- import "@dnd-kit/core";
98
- import "@dnd-kit/sortable";
99
- import "../../../components/ReviewablesList/ReviewablesList.styled.es.js";
105
+ import "../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js";
106
+ import "../../../components/DetailsPanelDetails/DetailsPanelDetails.es.js";
107
+ import "../../../components/DetailsPanelDetails/DetailsSection.es.js";
108
+ import "../../../components/DetailsPanelDetails/FieldLabel.es.js";
109
+ import "../../../components/EarlyPreview/EarlyPreview.es.js";
110
+ import "../../../components/EmptyPlaceholder/EmptyPlaceholder.es.js";
111
+ import "../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.es.js";
100
112
  import "../../ContextMenu/ContextMenuContext.es.js";
101
113
  /* empty css */
102
- import { upperFirst as w } from "lodash";
103
- import "uuid";
104
- import "../../../util/pubsub.es.js";
105
- import "../../../components/ReviewablesList/ReviewablesUpload.styled.es.js";
106
- import "axios";
114
+ import "../../Feed/context/FeedContext.es.js";
115
+ import "../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.es.js";
116
+ import "../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.es.js";
107
117
  import "../../../context/RemoteModulesContext.es.js";
108
118
  import { useDetailsPanelContext as H, useScopedDetailsPanel as K } from "../../../context/DetailsPanelContext.es.js";
109
119
  import "../../../context/ThumbnailUploaderContext.es.js";
110
120
  import "../../../context/SettingsPanelContext.es.js";
111
121
  import "../../../context/pip/PiPProvider.es.js";
112
- import "react-dom";
113
122
  import { PiPWrapper as L } from "../../../context/pip/PiPWrapper.es.js";
114
123
  import "../../../context/AddonProjectContext.es.js";
115
124
  import "../../../context/AddonContext.es.js";
@@ -121,14 +130,6 @@ import "../../../context/GlobalContext.es.js";
121
130
  import { ProjectContextProvider as $ } from "../../../context/ProjectContext.es.js";
122
131
  import "../../../context/ProjectFoldersContext.es.js";
123
132
  import "../../../context/UriContext.es.js";
124
- import "../../../components/ReviewableCard/ReviewableCard.es.js";
125
- import "../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
126
- import "../../../components/FileThumbnail/FileThumbnail.es.js";
127
- import "../../../components/Thumbnail/Thumbnail.styled.es.js";
128
- import { StackedThumbnails as z } from "../../../components/Thumbnail/StackedThumbnails.es.js";
129
- import "../../Feed/context/FeedContext.es.js";
130
- import "../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.es.js";
131
- import "../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.es.js";
132
133
  import "../../Feed/components/FileUploadPreview/FileUploadPreview.styled.es.js";
133
134
  import "../../Feed/components/FileUploadPreview/Mimes/TextMime.es.js";
134
135
  import "react-markdown";
@@ -144,6 +145,8 @@ import "../../Feed/components/CommentInput/quillToMarkdown.es.js";
144
145
  import "../../Feed/components/ActivityComment/ActivityComment.styled.es.js";
145
146
  import "../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.es.js";
146
147
  import "../../Feed/components/ActivityReference/ActivityReference.styled.es.js";
148
+ import "uuid";
149
+ import "../../../util/pubsub.es.js";
147
150
  import "react-router-dom";
148
151
  import "../../Feed/components/ActivityStatus/ActivityStatus.es.js";
149
152
  import "../../Feed/components/ActivityHeader/ActivityHeader.styled.es.js";
@@ -194,15 +197,22 @@ import "../../ProjectTreeTable/widgets/LoadMoreWidget.es.js";
194
197
  import "../../ProjectTreeTable/components/HeaderActionButton.es.js";
195
198
  import "../../ProjectTreeTable/components/ColumnHeaderMenu.es.js";
196
199
  import "../../EntityPickerDialog/EntityPickerDialog.es.js";
200
+ import "../../SimpleTable/SimpleTable.styled.es.js";
201
+ import "@tanstack/match-sorter-utils";
202
+ import "../../SimpleTable/context/SimpleTableContext.es.js";
203
+ import "../../SimpleTable/SimpleTableRowTemplate.es.js";
204
+ import "../../Slicer/hooks/useTableDataBySlice.es.js";
205
+ import "../../Slicer/components/SlicerSearch.es.js";
206
+ import "../../Slicer/context/SlicerContext.es.js";
197
207
  import "../DetailsPanel.styled.es.js";
198
208
  import "../FeedFilters/FeedFilters.styled.es.js";
199
209
  import "../DetailsPanelHeader/DetailsPanelHeader.styled.es.js";
200
- import { buildDetailsPanelTitles as B } from "../helpers/buildDetailsPanelTitles.es.js";
210
+ import { buildDetailsPanelTitles as z } from "../helpers/buildDetailsPanelTitles.es.js";
201
211
  import "../../../components/PlayableIcon/PlayableIcon.es.js";
202
212
  import "../DetailsPanelFiles/DetailsPanelFiles.es.js";
203
- import J from "../helpers/getAllProjectsStatuses.es.js";
204
- import V from "../FeedWrapper.es.js";
205
- import X from "../helpers/mergeProjectInfo.es.js";
213
+ import B from "../helpers/getAllProjectsStatuses.es.js";
214
+ import J from "../FeedWrapper.es.js";
215
+ import V from "../helpers/mergeProjectInfo.es.js";
206
216
  import "../DetailsPanelSlideOut/DetailsPanelSlideOut.styled.es.js";
207
217
  import "../../Actions/Actions.styled.es.js";
208
218
  import "../../Actions/ActionsDropdown/ActionsDropdown.es.js";
@@ -212,61 +222,58 @@ import "../../Views/Views.styled.es.js";
212
222
  import "../../Views/ViewsMenuContainer/ViewsMenuContainer.es.js";
213
223
  import "../../Views/ViewsMenu/ViewsMenu.es.js";
214
224
  import "../../../components/EntityPanelUploader/EntityPanelUploader.styled.es.js";
215
- import "../../../components/SimpleFormDialog/SimpleFormDialog.es.js";
225
+ import "axios";
226
+ import "../../../components/ReviewablesList/ReviewablesList.styled.es.js";
227
+ import "../../../components/ReviewablesList/ReviewablesUpload.styled.es.js";
216
228
  import "../../../components/EntityPath/EntityPath.styled.es.js";
217
229
  import "../../../components/EntityPath/SegmentProvider.es.js";
218
- import "../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js";
219
- import "../../../components/DetailsPanelDetails/DetailsPanelDetails.es.js";
220
- import "../../../components/DetailsPanelDetails/DetailsSection.es.js";
221
- import "../../../components/DetailsPanelDetails/FieldLabel.es.js";
222
- import "../../../components/Watchers/Watchers.es.js";
223
- import "../../../components/ProjectTableSettings/ProjectTableSettings.es.js";
230
+ import "../../../components/FeaturedVersionOrder/FeaturedVersionOrder.es.js";
231
+ import "../../../components/Feedback/FeedbackContext.es.js";
232
+ import "../../../components/Feedback/SupportBubble.es.js";
233
+ import "../../../components/FileThumbnail/FileThumbnail.es.js";
234
+ import "../../../components/LegacyBadge/LegacyBadge.es.js";
224
235
  import "../../../components/Powerpack/PowerpackButton.es.js";
225
236
  import "../../../components/Powerpack/PricingLink.es.js";
226
237
  import "../../../components/Powerpack/PowerpackDialog.styled.es.js";
227
238
  import "../../../components/Powerpack/CTAButton.es.js";
228
239
  import "../../../components/Powerpack/RequiredAddonVersion.es.js";
240
+ import "../../../components/ProjectTableSettings/ProjectTableSettings.es.js";
229
241
  import "../../../components/SizeSlider/SizeSlider.es.js";
242
+ import "../../../components/ReviewableCard/ReviewableCard.es.js";
243
+ import "../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
244
+ import "../../../components/SearchFilter/filterDates.es.js";
230
245
  import "../../../components/SettingsPanel/SettingsPanel.es.js";
231
246
  import "../../../components/SettingsPanel/SettingsPanelItemTemplate.es.js";
232
- import "../../../components/AttributeEditor/components/MinMaxField.es.js";
233
- import "../../../components/EnumEditor/EnumEditor.styled.es.js";
234
- import "../../../components/SearchFilter/filterDates.es.js";
235
- import "../../../components/FeaturedVersionOrder/FeaturedVersionOrder.es.js";
236
- import "../../../components/Badge/Badge.es.js";
237
- import "../../../components/VersionUploader/components/UploadVersionDialog.es.js";
238
- import "../../../components/VersionUploader/context/VersionUploadContext.es.js";
239
- import "../../../components/Feedback/FeedbackContext.es.js";
240
- import "../../../components/Feedback/SupportBubble.es.js";
241
- import "../../../components/Chips/Chips.es.js";
242
- import "../../../components/StyledLink/StyledLink.es.js";
243
247
  import "../../../components/ShareOptionIcon/ShareOptionIcon.es.js";
244
- import "../../../components/AccessUser/AccessUser.es.js";
245
- import "../../../../../node_modules/match-sorter/dist/match-sorter.esm.es.js";
246
- import "../../../components/AccessSearchInput/AccessSearchInput.styled.es.js";
247
- import "../../../components/TableGridSwitch/TableGridSwitch.es.js";
248
+ import "../../../components/SimpleFormDialog/SimpleFormDialog.es.js";
248
249
  import "../../../components/SortingSetting/SortingSetting.styled.es.js";
249
- import "../../../components/EarlyPreview/EarlyPreview.es.js";
250
- import "../../../components/LegacyBadge/LegacyBadge.es.js";
250
+ import "../../../components/StyledLink/StyledLink.es.js";
251
+ import "../../../components/TableGridSwitch/TableGridSwitch.es.js";
252
+ import "../../../components/Thumbnail/Thumbnail.styled.es.js";
253
+ import { StackedThumbnails as X } from "../../../components/Thumbnail/StackedThumbnails.es.js";
254
+ import "../../../components/ThumbnailSimple/ThumbnailSimple.es.js";
255
+ import "../../../components/VersionUploader/components/UploadVersionDialog.es.js";
256
+ import "../../../components/VersionUploader/context/VersionUploadContext.es.js";
257
+ import "../../../components/Watchers/Watchers.es.js";
251
258
  import "../../../components/Menu/Menu.styled.es.js";
252
259
  import "../../../components/Menu/MenuItem.es.js";
253
- const Mm = () => {
254
- const { pip: u } = H(), i = u?.entityType, n = u?.entities || [], j = u?.scope || "", d = n.length > 0 && !!i, { currentTab: y } = K(j), [g, T] = I(y), p = n.map((t) => t.projectName), { data: x = [] } = W({ projects: p }, { skip: !d }), { data: e = {}, isFetching: b } = _(
260
+ const Km = () => {
261
+ const { pip: u } = H(), i = u?.entityType, n = u?.entities || [], j = u?.scope || "", d = n.length > 0 && !!i, { currentTab: y } = K(j), [g, T] = I(y), p = n.map((t) => t.projectName), { data: x = [] } = _({ projects: p }, { skip: !d }), { data: e = {}, isFetching: b } = w(
255
262
  {
256
263
  projects: p
257
264
  },
258
265
  { skip: !d }
259
266
  ), h = s(
260
- () => J(e, p),
267
+ () => B(e, p),
261
268
  [e, p]
262
- ), { data: m = [], isFetching: P } = R(
269
+ ), { data: m = [], isFetching: P } = W(
263
270
  // @ts-expect-error
264
271
  { entityType: i, entities: n },
265
272
  {
266
273
  skip: !d || b
267
274
  }
268
275
  ), a = s(
269
- () => X(e, p),
276
+ () => V(e, p),
270
277
  [e, p]
271
278
  ), k = s(
272
279
  () => ({
@@ -291,15 +298,15 @@ const Mm = () => {
291
298
  name: "None"
292
299
  };
293
300
  if (!i) return null;
294
- const { title: v, subTitle: C } = B(m, i);
301
+ const { title: v, subTitle: C } = z(m, i);
295
302
  return /* @__PURE__ */ o.jsx(L, { children: /* @__PURE__ */ o.jsx($, { projectName: f, children: /* @__PURE__ */ o.jsxs(D, { children: [
296
303
  /* @__PURE__ */ o.jsxs(N, { children: [
297
- /* @__PURE__ */ o.jsx(z, { thumbnails: F }),
304
+ /* @__PURE__ */ o.jsx(X, { thumbnails: F }),
298
305
  /* @__PURE__ */ o.jsxs(E, { children: [
299
306
  /* @__PURE__ */ o.jsx("h2", { children: v }),
300
307
  /* @__PURE__ */ o.jsxs("div", { className: "sub-title", children: [
301
308
  /* @__PURE__ */ o.jsxs("span", { children: [
302
- w(i),
309
+ R(i),
303
310
  " - "
304
311
  ] }),
305
312
  /* @__PURE__ */ o.jsx("h3", { children: C })
@@ -323,7 +330,7 @@ const Mm = () => {
323
330
  /* @__PURE__ */ o.jsx(O, { users: S, style: { pointerEvents: "none" } })
324
331
  ] }),
325
332
  /* @__PURE__ */ o.jsx(G, { children: /* @__PURE__ */ o.jsx(
326
- V,
333
+ J,
327
334
  {
328
335
  entityType: i,
329
336
  entities: m,
@@ -341,7 +348,7 @@ const Mm = () => {
341
348
  ] }) }) });
342
349
  };
343
350
  export {
344
- Mm as DetailsPanelFloating,
345
- Mm as default
351
+ Km as DetailsPanelFloating,
352
+ Km as default
346
353
  };
347
354
  //# sourceMappingURL=DetailsPanelFloating.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DetailsPanelFloating.es.js","sources":["../../../../../../src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.tsx"],"sourcesContent":["import { FC, useMemo, useState } from 'react'\nimport * as Styled from './DetailsPanelFloating.styled'\nimport getThumbnails from '../helpers/getThumbnails'\nimport { StackedThumbnails } from '@shared/components'\nimport { upperFirst } from 'lodash'\nimport { AssigneeField, getTextColor, Icon } from '@ynput/ayon-react-components'\nimport {\n PiPWrapper,\n DetailsPanelTab,\n useScopedDetailsPanel,\n ProjectContextProvider,\n} from '@shared/context'\nimport { useGetEntitiesDetailsPanelQuery } from '@shared/api'\nimport { useGetKanbanProjectUsersQuery, useGetProjectsInfoQuery } from '@shared/api'\nimport getAllProjectStatuses from '../helpers/getAllProjectsStatuses'\nimport FeedWrapper from '../FeedWrapper'\nimport mergeProjectInfo from '../helpers/mergeProjectInfo'\nimport { buildDetailsPanelTitles } from '../helpers/buildDetailsPanelTitles'\nimport { useDetailsPanelContext } from '@shared/context'\n\nexport interface DetailsPanelFloatingProps {}\n\nexport const DetailsPanelFloating: FC<DetailsPanelFloatingProps> = () => {\n const { pip } = useDetailsPanelContext()\n const entityType = pip?.entityType\n const entities = pip?.entities || []\n const scope = pip?.scope || ''\n const isOpen = entities.length > 0 && !!entityType\n const { currentTab: parentTab } = useScopedDetailsPanel(scope)\n const [currentTab, setCurrentTab] = useState<DetailsPanelTab>(parentTab)\n\n const projects: string[] = entities.map((e: any) => e.projectName)\n\n const { data: allUsers = [] } = useGetKanbanProjectUsersQuery({ projects }, { skip: !isOpen })\n\n const { data: projectsInfo = {}, isFetching: isFetchingInfo } = useGetProjectsInfoQuery(\n {\n projects: projects,\n },\n { skip: !isOpen },\n )\n\n // get all statuses from projects info, removing duplicate names\n const statuses = useMemo(\n () => getAllProjectStatuses(projectsInfo, projects),\n [projectsInfo, projects],\n )\n\n const { data: entitiesData = [], isFetching: isFetchingEntitiesDetails } =\n useGetEntitiesDetailsPanelQuery(\n // @ts-expect-error\n { entityType: entityType, entities: entities },\n {\n skip: !isOpen || isFetchingInfo,\n },\n )\n\n // reduce projectsInfo to selected projects and into one\n const projectInfo = useMemo(\n () => mergeProjectInfo(projectsInfo, projects),\n [projectsInfo, projects],\n )\n\n // build icons for entity types\n const entityTypeIcons = useMemo(\n () => ({\n task: projectInfo.taskTypes\n .filter((task) => !!task.icon)\n .reduce((acc, task) => ({ ...acc, [task.name]: task.icon }), {}),\n folder: projectInfo.folderTypes\n .filter((folder) => !!folder.icon)\n .reduce((acc, folder) => ({ ...acc, [folder.name]: folder.icon }), {}),\n product: projectInfo.productTypes\n .filter((product) => !!product.icon)\n .reduce((acc, product) => ({ ...acc, [product.name]: product.icon }), {}),\n }),\n [projectInfo],\n )\n\n const thumbnails = useMemo(\n () => (entityType ? getThumbnails(entitiesData, entityType, entityTypeIcons) : []),\n [entitiesData, entityType],\n )\n\n // users for assignee field, find in all users\n const users = useMemo(() => {\n return allUsers\n .filter((u) => entitiesData.some((e) => e?.task?.assignees?.includes(u.name)))\n .map((u) => ({ ...u, avatarUrl: `/api/users/${u.name}/avatar` }))\n }, [allUsers, entities])\n\n const firstEntity = entitiesData[0]\n if (!entitiesData.length || !firstEntity) return null\n\n if (isFetchingEntitiesDetails) return <div>Loading...</div>\n\n const projectName = firstEntity?.projectName\n\n // are there multiple statuses of different names?\n const mixedStatuses = entitiesData.some((e) => e?.status !== firstEntity?.status)\n const mixedStatus = {\n icon: 'question_mark',\n color: 'var(--md-sys-color-surface-container-highest)',\n name: 'Mixed statuses',\n }\n\n const statusAnatomy = mixedStatuses\n ? mixedStatus\n : statuses.find((s) => s.name === firstEntity?.status) || {\n icon: '',\n color: '',\n name: 'None',\n }\n\n if (!entityType) return null\n\n // Get title and subtitle from the imported function\n const { title, subTitle } = buildDetailsPanelTitles(entitiesData, entityType)\n\n return (\n <PiPWrapper>\n <ProjectContextProvider projectName={projectName}>\n <Styled.Container>\n <Styled.Header>\n <StackedThumbnails thumbnails={thumbnails} />\n <Styled.Content>\n <h2>{title}</h2>\n <div className=\"sub-title\">\n <span>{upperFirst(entityType)} - </span>\n <h3>{subTitle}</h3>\n </div>\n </Styled.Content>\n </Styled.Header>\n <Styled.Row>\n <Styled.Status\n style={{\n backgroundColor: statusAnatomy?.color,\n color: getTextColor(statusAnatomy?.color),\n }}\n >\n <Icon icon={statusAnatomy.icon || 'question_mark'} style={{ color: 'inherit' }} />\n <span className=\"label\">{statusAnatomy?.name}</span>\n </Styled.Status>\n <AssigneeField users={users} style={{ pointerEvents: 'none' }} />\n </Styled.Row>\n <Styled.FeedContainer>\n <FeedWrapper\n entityType={entityType}\n // @ts-ignore\n entities={entitiesData}\n activeUsers={[]}\n // selectedTasksProjects={{}}\n projectInfo={projectsInfo[projectName]}\n projectName={projectName}\n disabled={false}\n scope={scope}\n readOnly\n // @ts-ignore\n statuses={statuses}\n currentTab={currentTab}\n setCurrentTab={setCurrentTab}\n />\n </Styled.FeedContainer>\n </Styled.Container>\n </ProjectContextProvider>\n </PiPWrapper>\n )\n}\n\nexport default DetailsPanelFloating\n"],"names":["DetailsPanelFloating","pip","useDetailsPanelContext","entityType","entities","scope","isOpen","parentTab","useScopedDetailsPanel","currentTab","setCurrentTab","useState","projects","e","allUsers","useGetKanbanProjectUsersQuery","projectsInfo","isFetchingInfo","useGetProjectsInfoQuery","statuses","useMemo","getAllProjectStatuses","entitiesData","isFetchingEntitiesDetails","useGetEntitiesDetailsPanelQuery","projectInfo","mergeProjectInfo","entityTypeIcons","task","acc","folder","product","thumbnails","getThumbnails","users","u","firstEntity","jsx","projectName","statusAnatomy","s","title","subTitle","buildDetailsPanelTitles","PiPWrapper","ProjectContextProvider","jsxs","Styled.Container","Styled.Header","StackedThumbnails","Styled.Content","upperFirst","Styled.Row","Styled.Status","getTextColor","Icon","AssigneeField","Styled.FeedContainer","FeedWrapper"],"mappings":"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"}
1
+ {"version":3,"file":"DetailsPanelFloating.es.js","sources":["../../../../../../src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.tsx"],"sourcesContent":["import { FC, useMemo, useState } from 'react'\nimport * as Styled from './DetailsPanelFloating.styled'\nimport getThumbnails from '../helpers/getThumbnails'\nimport { StackedThumbnails } from '@shared/components'\nimport { upperFirst } from 'lodash'\nimport { AssigneeField, getTextColor, Icon } from '@ynput/ayon-react-components'\nimport {\n PiPWrapper,\n DetailsPanelTab,\n useScopedDetailsPanel,\n ProjectContextProvider,\n} from '@shared/context'\nimport { useGetEntitiesDetailsPanelQuery } from '@shared/api'\nimport { useGetKanbanProjectUsersQuery, useGetProjectsInfoQuery } from '@shared/api'\nimport getAllProjectStatuses from '../helpers/getAllProjectsStatuses'\nimport FeedWrapper from '../FeedWrapper'\nimport mergeProjectInfo from '../helpers/mergeProjectInfo'\nimport { buildDetailsPanelTitles } from '../helpers/buildDetailsPanelTitles'\nimport { useDetailsPanelContext } from '@shared/context'\n\nexport interface DetailsPanelFloatingProps {}\n\nexport const DetailsPanelFloating: FC<DetailsPanelFloatingProps> = () => {\n const { pip } = useDetailsPanelContext()\n const entityType = pip?.entityType\n const entities = pip?.entities || []\n const scope = pip?.scope || ''\n const isOpen = entities.length > 0 && !!entityType\n const { currentTab: parentTab } = useScopedDetailsPanel(scope)\n const [currentTab, setCurrentTab] = useState<DetailsPanelTab>(parentTab)\n\n const projects: string[] = entities.map((e: any) => e.projectName)\n\n const { data: allUsers = [] } = useGetKanbanProjectUsersQuery({ projects }, { skip: !isOpen })\n\n const { data: projectsInfo = {}, isFetching: isFetchingInfo } = useGetProjectsInfoQuery(\n {\n projects: projects,\n },\n { skip: !isOpen },\n )\n\n // get all statuses from projects info, removing duplicate names\n const statuses = useMemo(\n () => getAllProjectStatuses(projectsInfo, projects),\n [projectsInfo, projects],\n )\n\n const { data: entitiesData = [], isFetching: isFetchingEntitiesDetails } =\n useGetEntitiesDetailsPanelQuery(\n // @ts-expect-error\n { entityType: entityType, entities: entities },\n {\n skip: !isOpen || isFetchingInfo,\n },\n )\n\n // reduce projectsInfo to selected projects and into one\n const projectInfo = useMemo(\n () => mergeProjectInfo(projectsInfo, projects),\n [projectsInfo, projects],\n )\n\n // build icons for entity types\n const entityTypeIcons = useMemo(\n () => ({\n task: projectInfo.taskTypes\n .filter((task) => !!task.icon)\n .reduce((acc, task) => ({ ...acc, [task.name]: task.icon }), {}),\n folder: projectInfo.folderTypes\n .filter((folder) => !!folder.icon)\n .reduce((acc, folder) => ({ ...acc, [folder.name]: folder.icon }), {}),\n product: projectInfo.productTypes\n .filter((product) => !!product.icon)\n .reduce((acc, product) => ({ ...acc, [product.name]: product.icon }), {}),\n }),\n [projectInfo],\n )\n\n const thumbnails = useMemo(\n () => (entityType ? getThumbnails(entitiesData, entityType, entityTypeIcons) : []),\n [entitiesData, entityType],\n )\n\n // users for assignee field, find in all users\n const users = useMemo(() => {\n return allUsers\n .filter((u) => entitiesData.some((e) => e?.task?.assignees?.includes(u.name)))\n .map((u) => ({ ...u, avatarUrl: `/api/users/${u.name}/avatar` }))\n }, [allUsers, entities])\n\n const firstEntity = entitiesData[0]\n if (!entitiesData.length || !firstEntity) return null\n\n if (isFetchingEntitiesDetails) return <div>Loading...</div>\n\n const projectName = firstEntity?.projectName\n\n // are there multiple statuses of different names?\n const mixedStatuses = entitiesData.some((e) => e?.status !== firstEntity?.status)\n const mixedStatus = {\n icon: 'question_mark',\n color: 'var(--md-sys-color-surface-container-highest)',\n name: 'Mixed statuses',\n }\n\n const statusAnatomy = mixedStatuses\n ? mixedStatus\n : statuses.find((s) => s.name === firstEntity?.status) || {\n icon: '',\n color: '',\n name: 'None',\n }\n\n if (!entityType) return null\n\n // Get title and subtitle from the imported function\n const { title, subTitle } = buildDetailsPanelTitles(entitiesData, entityType)\n\n return (\n <PiPWrapper>\n <ProjectContextProvider projectName={projectName}>\n <Styled.Container>\n <Styled.Header>\n <StackedThumbnails thumbnails={thumbnails} />\n <Styled.Content>\n <h2>{title}</h2>\n <div className=\"sub-title\">\n <span>{upperFirst(entityType)} - </span>\n <h3>{subTitle}</h3>\n </div>\n </Styled.Content>\n </Styled.Header>\n <Styled.Row>\n <Styled.Status\n style={{\n backgroundColor: statusAnatomy?.color,\n color: getTextColor(statusAnatomy?.color),\n }}\n >\n <Icon icon={statusAnatomy.icon || 'question_mark'} style={{ color: 'inherit' }} />\n <span className=\"label\">{statusAnatomy?.name}</span>\n </Styled.Status>\n <AssigneeField users={users} style={{ pointerEvents: 'none' }} />\n </Styled.Row>\n <Styled.FeedContainer>\n <FeedWrapper\n entityType={entityType}\n // @ts-ignore\n entities={entitiesData}\n activeUsers={[]}\n // selectedTasksProjects={{}}\n projectInfo={projectsInfo[projectName]}\n projectName={projectName}\n disabled={false}\n scope={scope}\n readOnly\n // @ts-ignore\n statuses={statuses}\n currentTab={currentTab}\n setCurrentTab={setCurrentTab}\n />\n </Styled.FeedContainer>\n </Styled.Container>\n </ProjectContextProvider>\n </PiPWrapper>\n )\n}\n\nexport default DetailsPanelFloating\n"],"names":["DetailsPanelFloating","pip","useDetailsPanelContext","entityType","entities","scope","isOpen","parentTab","useScopedDetailsPanel","currentTab","setCurrentTab","useState","projects","e","allUsers","useGetKanbanProjectUsersQuery","projectsInfo","isFetchingInfo","useGetProjectsInfoQuery","statuses","useMemo","getAllProjectStatuses","entitiesData","isFetchingEntitiesDetails","useGetEntitiesDetailsPanelQuery","projectInfo","mergeProjectInfo","entityTypeIcons","task","acc","folder","product","thumbnails","getThumbnails","users","u","firstEntity","jsx","projectName","statusAnatomy","s","title","subTitle","buildDetailsPanelTitles","PiPWrapper","ProjectContextProvider","jsxs","Styled.Container","Styled.Header","StackedThumbnails","Styled.Content","upperFirst","Styled.Row","Styled.Status","getTextColor","Icon","AssigneeField","Styled.FeedContainer","FeedWrapper"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const r=require("../../../../../_virtual/jsx-runtime.cjs.js"),n=require("react"),h=require("lodash"),p=require("clsx"),T=require("@ynput/ayon-react-components");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("react-toastify");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");const ee=require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");const re=require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */const ie=require("../../../util/getPriorityOptions.cjs.js");require("uuid");require("../../../util/pubsub.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../../context/RemoteModulesContext.cjs.js");const ue=require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");const se=require("../../../components/Thumbnail/StackedThumbnails.cjs.js"),te=require("../../../components/EntityPanelUploader/EntityPanelUploader.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/PricingLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("date-fns");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../../ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../../ProjectTreeTable/widgets/DateWidget.cjs.js");require("../../ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../../ProjectTreeTable/widgets/TextWidget.cjs.js");require("../../ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../../ProjectTreeTable/widgets/CellWidget.cjs.js");require("../../ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../../ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../../ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../../ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../../ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../../ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../../ProjectTreeTable/context/CellEditingContext.cjs.js");require("short-uuid");require("../../ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../../ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../../ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../../ProjectTreeTable/context/ClipboardContext.cjs.js");require("../../ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../../ProjectTreeTable/context/ProjectDataContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");const qe=require("../../../hooks/useScopedStatuses.cjs.js"),ae=require("../../../hooks/useEntityUpdate.cjs.js");require("react-redux");require("custom-protocol-check");require("../../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../../ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../../ProjectTreeTable/components/SelectionCell.cjs.js");require("../../ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../../ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../../ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../../ProjectTreeTable/components/ColumnHeaderMenu.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../DetailsPanel.styled.cjs.js");const oe=require("../FeedFilters/FeedFilters.cjs.js"),o=require("./DetailsPanelHeader.styled.cjs.js"),ne=require("../helpers/getThumbnails.cjs.js"),le=require("../helpers/buildDetailsPanelTitles.cjs.js"),ce=require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");const de=require("../../Actions/Actions.cjs.js");require("../../Views/context/ViewsContext.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");const me=({entityType:u,entitySubTypes:M,entities:i=[],disabledAssignees:I=[],users:g=[],disabledStatuses:O,tagsOptions:j=[],isFetching:E,isCompact:c=!1,currentTab:U,onTabChange:w,entityTypeIcons:R,onOpenViewer:V,onEntityFocus:H})=>{const{useSearchParams:G,useNavigate:L,isDeveloperMode:$}=ue.useDetailsPanelContext(),F=L(),[Q,_]=G(),K=n.useRef(null),x=qe.useScopedStatuses(i.map(e=>e.projectName),[u]),l=n.useMemo(()=>h.union(...i.flatMap(e=>[e.task?.assignees||[],e.version?.author||[]])),[i]);let t=i[0];const q=i.length===0||!t||E;t||(t={id:"placeholder",name:"loading...",label:"loading...",entityType:u,status:"loading",projectName:"loading...",tags:[],hasReviewables:!1,attrib:{},createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),path:""});const b=i.length>1?void 0:t?.projectName,v=i.filter(e=>e.projectName===t?.projectName&&e.id).map(e=>e.id),{data:d}=ee.useGetEntitiesChecklistsQuery({projectName:t?.projectName,entityIds:v},{skip:!t?.projectName||!v.length});let N;d?.total&&d.total>0&&(N=`${d.checked}/${d.total}`);const{data:W}=re.useGetAttributeConfigQuery({attributeName:"priority"}),f=ie.getPriorityOptions(W,u),S=n.useMemo(()=>ne(i,u,R),[i,u,R]),k=n.useMemo(()=>i.map(e=>e.status),[i]),z=n.useMemo(()=>i.map(e=>e.attrib?.priority),[i]),B=n.useMemo(()=>i.map(e=>e.tags),[i]),J=n.useMemo(()=>j.reduce((e,s)=>(e[s.name]=s,e),{}),[j]),P=i.length>1,{updateEntity:X}=ae.useEntityUpdate({entities:i.map(e=>({id:e.id,projectName:e.projectName,users:e.task?.assignees||[],folderId:e.folder?.id,productId:e.product?.id})),entityType:u}),m=(e,s)=>s==null?console.error("value is null or undefined"):X(e,s),Y=()=>{let e,s=t.id,a=u+"Id";u==="version"&&t.product?.id&&(e=[t.id],s=t.product?.id,a="productId"),s&&V({[a]:s,projectName:b,versionIds:e})},C=["task","version","representation"].includes(u)&&(l.length>0||u==="task"),A=g.map(e=>e);if(C){const e=g.map(a=>a.name),s=l.filter(a=>!e.includes(a));s.length&&A.push(...s.map(a=>({name:a,fullName:a})))}const{title:Z,subTitle:y}=le.buildDetailsPanelTitles(i,u),D=x?.length!==0&&x?.find(e=>e.name===k[0]);return r.jsxRuntimeExports.jsx(o.HeaderContainer,{children:r.jsxRuntimeExports.jsx(te.EntityPanelUploader,{entities:i,entityType:u,projectName:b,onVersionCreated:e=>H?.(e,"version"),children:r.jsxRuntimeExports.jsxs(o.Grid,{className:p("details-panel-header",{isCompact:c}),children:[r.jsxRuntimeExports.jsxs(o.Header,{className:p("titles",{isCompact:c,loading:q},"no-shimmer"),children:[r.jsxRuntimeExports.jsxs("div",{style:{position:"relative"},children:[r.jsxRuntimeExports.jsx(se.StackedThumbnails,{isLoading:q,shimmer:q,thumbnails:S,onClick:S.length===1?Y:void 0,hoverIcon:"play_circle"}),!P&&t?.hasReviewables&&r.jsxRuntimeExports.jsx(ce.PlayableIcon,{})]}),r.jsxRuntimeExports.jsxs(o.Content,{className:p({loading:q}),children:[r.jsxRuntimeExports.jsxs(o.Title,{children:[r.jsxRuntimeExports.jsx("h2",{children:Z}),r.jsxRuntimeExports.jsx(o.TagsSelect,{ref:K,value:h.union(...B),tags:J,options:[],editable:!0,editor:!0,onChange:e=>m("tags",e),align:"right",styleDropdown:{display:q?"none":"unset"},className:"tags-select",itemClassName:"details-tag"})]}),r.jsxRuntimeExports.jsxs("div",{className:"sub-title",children:[r.jsxRuntimeExports.jsxs("span",{className:"entity-type",children:[h.upperFirst(u)," - "]}),r.jsxRuntimeExports.jsx("h3",{children:y})]})]})]}),r.jsxRuntimeExports.jsx(o.StatusSelect,{value:k,options:x||[],disabledValues:O,invert:!0,style:{maxWidth:"unset"},onChange:e=>m("status",e),className:p("status-select",{loading:q}),align:c?"right":"left",$textColor:T.getTextColor(D!==void 0?D.color:"#OOO")}),!c&&(!C||q?r.jsxRuntimeExports.jsx("div",{}):r.jsxRuntimeExports.jsx(o.AssigneeSelect,{value:l,options:A,disabledValues:I.map(e=>e.name),isMultiple:P&&l.length>1&&u==="task",readOnly:u!=="task",emptyMessage:u==="task"?"Assign user":"",align:"right",onChange:e=>m("assignees",e),className:"assignee-select","data-tooltip":l.length?u==="task"?"Assigned users":"Author":""})),r.jsxRuntimeExports.jsx(de.Actions,{entities:i,entityType:u,entitySubTypes:M,isLoadingEntity:!!E||!!q,searchParams:Q,isDeveloperMode:$,onSetSearchParams:_,onNavigate:F}),f?r.jsxRuntimeExports.jsx(o.PriorityEnumDropdown,{options:f,placeholder:"No priority",value:z,onChange:e=>m("attrib",{priority:e[0]}),align:"right"}):r.jsxRuntimeExports.jsx("div",{style:{height:32}}),r.jsxRuntimeExports.jsx(oe,{isLoading:q,entityType:u,className:"filters",overrides:{checklists:{label:N}},currentTab:U,onTabChange:w})]})})})};module.exports=me;
1
+ "use strict";const r=require("../../../../../_virtual/jsx-runtime.cjs.js"),n=require("react"),h=require("lodash"),p=require("clsx"),T=require("@ynput/ayon-react-components");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("react-dom");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("react-toastify");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");const ee=require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");const re=require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");const ie=require("../../../components/EntityPanelUploader/EntityPanelUploader.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");const ue=require("../../../util/getPriorityOptions.cjs.js");require("uuid");require("../../../util/pubsub.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");const se=require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("date-fns");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../../ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../../ProjectTreeTable/widgets/DateWidget.cjs.js");require("../../ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../../ProjectTreeTable/widgets/TextWidget.cjs.js");require("../../ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../../ProjectTreeTable/widgets/CellWidget.cjs.js");require("../../ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../../ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../../ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../../ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../../ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../../ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../../ProjectTreeTable/context/CellEditingContext.cjs.js");require("short-uuid");require("../../ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../../ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../../ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../../ProjectTreeTable/context/ClipboardContext.cjs.js");require("../../ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../../ProjectTreeTable/context/ProjectDataContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");const te=require("../../../hooks/useScopedStatuses.cjs.js"),qe=require("../../../hooks/useEntityUpdate.cjs.js");require("react-redux");require("custom-protocol-check");require("../../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../../ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../../ProjectTreeTable/components/SelectionCell.cjs.js");require("../../ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../../ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../../ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../../ProjectTreeTable/components/ColumnHeaderMenu.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../SimpleTable/SimpleTable.styled.cjs.js");require("@tanstack/match-sorter-utils");require("../../SimpleTable/context/SimpleTableContext.cjs.js");require("../../SimpleTable/SimpleTableRowTemplate.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("../../Slicer/components/SlicerSearch.cjs.js");require("../../Slicer/context/SlicerContext.cjs.js");require("../DetailsPanel.styled.cjs.js");const ae=require("../FeedFilters/FeedFilters.cjs.js"),o=require("./DetailsPanelHeader.styled.cjs.js"),oe=require("../helpers/getThumbnails.cjs.js"),ne=require("../helpers/buildDetailsPanelTitles.cjs.js"),le=require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");const ce=require("../../Actions/Actions.cjs.js");require("../../Views/context/ViewsContext.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/PricingLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");const de=require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");const me=({entityType:u,entitySubTypes:M,entities:i=[],disabledAssignees:I=[],users:g=[],disabledStatuses:O,tagsOptions:j=[],isFetching:E,isCompact:c=!1,currentTab:U,onTabChange:w,entityTypeIcons:R,onOpenViewer:V,onEntityFocus:H})=>{const{useSearchParams:G,useNavigate:L,isDeveloperMode:$}=se.useDetailsPanelContext(),F=L(),[Q,_]=G(),K=n.useRef(null),x=te.useScopedStatuses(i.map(e=>e.projectName),[u]),l=n.useMemo(()=>h.union(...i.flatMap(e=>[e.task?.assignees||[],e.version?.author||[]])),[i]);let t=i[0];const q=i.length===0||!t||E;t||(t={id:"placeholder",name:"loading...",label:"loading...",entityType:u,status:"loading",projectName:"loading...",tags:[],hasReviewables:!1,attrib:{},createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),path:""});const b=i.length>1?void 0:t?.projectName,v=i.filter(e=>e.projectName===t?.projectName&&e.id).map(e=>e.id),{data:d}=ee.useGetEntitiesChecklistsQuery({projectName:t?.projectName,entityIds:v},{skip:!t?.projectName||!v.length});let N;d?.total&&d.total>0&&(N=`${d.checked}/${d.total}`);const{data:W}=re.useGetAttributeConfigQuery({attributeName:"priority"}),f=ue.getPriorityOptions(W,u),S=n.useMemo(()=>oe(i,u,R),[i,u,R]),k=n.useMemo(()=>i.map(e=>e.status),[i]),z=n.useMemo(()=>i.map(e=>e.attrib?.priority),[i]),B=n.useMemo(()=>i.map(e=>e.tags),[i]),J=n.useMemo(()=>j.reduce((e,s)=>(e[s.name]=s,e),{}),[j]),P=i.length>1,{updateEntity:X}=qe.useEntityUpdate({entities:i.map(e=>({id:e.id,projectName:e.projectName,users:e.task?.assignees||[],folderId:e.folder?.id,productId:e.product?.id})),entityType:u}),m=(e,s)=>s==null?console.error("value is null or undefined"):X(e,s),Y=()=>{let e,s=t.id,a=u+"Id";u==="version"&&t.product?.id&&(e=[t.id],s=t.product?.id,a="productId"),s&&V({[a]:s,projectName:b,versionIds:e})},C=["task","version","representation"].includes(u)&&(l.length>0||u==="task"),A=g.map(e=>e);if(C){const e=g.map(a=>a.name),s=l.filter(a=>!e.includes(a));s.length&&A.push(...s.map(a=>({name:a,fullName:a})))}const{title:Z,subTitle:y}=ne.buildDetailsPanelTitles(i,u),D=x?.length!==0&&x?.find(e=>e.name===k[0]);return r.jsxRuntimeExports.jsx(o.HeaderContainer,{children:r.jsxRuntimeExports.jsx(ie.EntityPanelUploader,{entities:i,entityType:u,projectName:b,onVersionCreated:e=>H?.(e,"version"),children:r.jsxRuntimeExports.jsxs(o.Grid,{className:p("details-panel-header",{isCompact:c}),children:[r.jsxRuntimeExports.jsxs(o.Header,{className:p("titles",{isCompact:c,loading:q},"no-shimmer"),children:[r.jsxRuntimeExports.jsxs("div",{style:{position:"relative"},children:[r.jsxRuntimeExports.jsx(de.StackedThumbnails,{isLoading:q,shimmer:q,thumbnails:S,onClick:S.length===1?Y:void 0,hoverIcon:"play_circle"}),!P&&t?.hasReviewables&&r.jsxRuntimeExports.jsx(le.PlayableIcon,{})]}),r.jsxRuntimeExports.jsxs(o.Content,{className:p({loading:q}),children:[r.jsxRuntimeExports.jsxs(o.Title,{children:[r.jsxRuntimeExports.jsx("h2",{children:Z}),r.jsxRuntimeExports.jsx(o.TagsSelect,{ref:K,value:h.union(...B),tags:J,options:[],editable:!0,editor:!0,onChange:e=>m("tags",e),align:"right",styleDropdown:{display:q?"none":"unset"},className:"tags-select",itemClassName:"details-tag"})]}),r.jsxRuntimeExports.jsxs("div",{className:"sub-title",children:[r.jsxRuntimeExports.jsxs("span",{className:"entity-type",children:[h.upperFirst(u)," - "]}),r.jsxRuntimeExports.jsx("h3",{children:y})]})]})]}),r.jsxRuntimeExports.jsx(o.StatusSelect,{value:k,options:x||[],disabledValues:O,invert:!0,style:{maxWidth:"unset"},onChange:e=>m("status",e),className:p("status-select",{loading:q}),align:c?"right":"left",$textColor:T.getTextColor(D!==void 0?D.color:"#OOO")}),!c&&(!C||q?r.jsxRuntimeExports.jsx("div",{}):r.jsxRuntimeExports.jsx(o.AssigneeSelect,{value:l,options:A,disabledValues:I.map(e=>e.name),isMultiple:P&&l.length>1&&u==="task",readOnly:u!=="task",emptyMessage:u==="task"?"Assign user":"",align:"right",onChange:e=>m("assignees",e),className:"assignee-select","data-tooltip":l.length?u==="task"?"Assigned users":"Author":""})),r.jsxRuntimeExports.jsx(ce.Actions,{entities:i,entityType:u,entitySubTypes:M,isLoadingEntity:!!E||!!q,searchParams:Q,isDeveloperMode:$,onSetSearchParams:_,onNavigate:F}),f?r.jsxRuntimeExports.jsx(o.PriorityEnumDropdown,{options:f,placeholder:"No priority",value:z,onChange:e=>m("attrib",{priority:e[0]}),align:"right"}):r.jsxRuntimeExports.jsx("div",{style:{height:32}}),r.jsxRuntimeExports.jsx(ae,{isLoading:q,entityType:u,className:"filters",overrides:{checklists:{label:N}},currentTab:U,onTabChange:w})]})})})};module.exports=me;
2
2
  //# sourceMappingURL=DetailsPanelHeader.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DetailsPanelHeader.cjs.js","sources":["../../../../../../src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.tsx"],"sourcesContent":["import { useMemo, useRef } from 'react'\nimport { union, upperFirst } from 'lodash'\nimport clsx from 'clsx'\nimport { DropdownRef, getTextColor } from '@ynput/ayon-react-components'\n\nimport { EntityPanelUploader, StackedThumbnails } from '@shared/components'\nimport { Actions, DetailsPanelProps } from '@shared/containers'\n// shared\nimport { useGetEntitiesChecklistsQuery, useGetAttributeConfigQuery, Status } from '@shared/api'\nimport type { DetailsPanelEntityData } from '@shared/api'\nimport { getPriorityOptions } from '@shared/util'\nimport { useScopedStatuses, useEntityUpdate } from '@shared/hooks'\nimport { DetailsPanelTab, useDetailsPanelContext } from '@shared/context'\n\nimport FeedFilters from '../FeedFilters/FeedFilters'\nimport * as Styled from './DetailsPanelHeader.styled'\nimport getThumbnails from '../helpers/getThumbnails'\nimport { buildDetailsPanelTitles } from '../helpers/buildDetailsPanelTitles'\nimport { PlayableIcon } from '@shared/components/PlayableIcon/PlayableIcon'\n\nexport type EntityTypeIcons = {\n folder: Record<string, string>\n task: Record<string, string>\n product: Record<string, string>\n}\n\ntype DetailsPanelHeaderProps = {\n entityType: 'folder' | 'task' | 'version' | 'representation'\n entitySubTypes: string[]\n entities: DetailsPanelEntityData[]\n disabledAssignees?: any[]\n users?: any[]\n disabledStatuses?: string[]\n tagsOptions?: any[]\n isFetching?: boolean\n isCompact?: boolean\n currentTab: DetailsPanelTab\n onTabChange: (tab: DetailsPanelTab) => void\n onOpenViewer: (args: any) => void\n onEntityFocus: DetailsPanelProps['onEntityFocus']\n entityTypeIcons: EntityTypeIcons\n}\n\nconst DetailsPanelHeader = ({\n entityType,\n entitySubTypes,\n entities = [],\n disabledAssignees = [],\n users = [],\n disabledStatuses,\n tagsOptions = [],\n isFetching,\n isCompact = false,\n currentTab,\n onTabChange,\n entityTypeIcons,\n onOpenViewer,\n onEntityFocus,\n}: DetailsPanelHeaderProps) => {\n const { useSearchParams, useNavigate, isDeveloperMode } = useDetailsPanelContext()\n const navigate = useNavigate()\n const [searchParams, setSearchParams] = useSearchParams()\n const tagsSelectRef = useRef<DropdownRef>(null)\n\n const statuses = useScopedStatuses(\n entities.map((entity) => entity.projectName),\n [entityType],\n )\n\n // for selected entities, get flat list of assignees\n const entityUsers: string[] = useMemo(\n () =>\n union(\n ...entities.flatMap((entity) => [\n entity.task?.assignees || [],\n entity.version?.author || [],\n ]),\n ),\n [entities],\n )\n\n let firstEntity = entities[0]\n // If there's no data return null\n const isLoading = entities.length === 0 || !firstEntity || isFetching\n // placeholder entity\n if (!firstEntity) {\n firstEntity = {\n id: 'placeholder',\n name: 'loading...',\n label: 'loading...',\n entityType,\n status: 'loading',\n projectName: 'loading...',\n tags: [],\n hasReviewables: false,\n attrib: {},\n createdAt: new Date().toISOString(),\n updatedAt: new Date().toISOString(),\n path: '',\n }\n }\n\n const projectName = entities.length > 1 ? undefined : firstEntity?.projectName\n\n const entityIds = entities\n .filter((e) => e.projectName === firstEntity?.projectName && e.id)\n .map((entity) => entity.id)\n\n // get checklists count\n const { data: checklistCount } = useGetEntitiesChecklistsQuery(\n {\n projectName: firstEntity?.projectName,\n entityIds,\n },\n { skip: !firstEntity?.projectName || !entityIds.length },\n )\n let checklistsLabel\n if (checklistCount?.total && checklistCount.total > 0) {\n checklistsLabel = `${checklistCount.checked}/${checklistCount.total}`\n }\n\n // get priorities\n // get priority attribute so we know the colors and icons for each priority\n const { data: priorityAttrib } = useGetAttributeConfigQuery({ attributeName: 'priority' })\n const priorities = getPriorityOptions(priorityAttrib, entityType)\n\n const thumbnails = useMemo(\n () => getThumbnails(entities, entityType, entityTypeIcons),\n [entities, entityType, entityTypeIcons],\n )\n\n // we need to get the intersection of all the statuses of the projects for the selected entities\n // this means that if we have 2 entities from 2 different projects, we need to get the intersection of the statuses of those 2 projects\n // and it prevents us from showing statuses that are not available for the selected entities\n const statusesValue = useMemo(() => entities.map((t) => t.status), [entities])\n const priorityValues = useMemo(() => entities.map((t) => t.attrib?.priority), [entities])\n const tagsValues: string[][] = useMemo(() => entities.map((t) => t.tags), [entities])\n const tagsOptionsObject = useMemo(\n () =>\n tagsOptions.reduce((acc, tag) => {\n acc[tag.name] = tag\n return acc\n }, {}),\n [tagsOptions],\n )\n\n const isMultiple = entities.length > 1\n\n const { updateEntity } = useEntityUpdate({\n entities: entities.map((e) => ({\n id: e.id,\n projectName: e.projectName,\n users: e.task?.assignees || [],\n folderId: e.folder?.id,\n productId: e.product?.id,\n })),\n entityType,\n })\n\n const handleUpdate = (field: string, value: any) => {\n if (value === null || value === undefined) return console.error('value is null or undefined')\n return updateEntity(field, value)\n }\n\n const handleThumbnailClick = () => {\n let versionIds,\n id = firstEntity.id,\n entityTypeKey = entityType + 'Id'\n\n if (entityType === 'version' && firstEntity.product?.id) {\n versionIds = [firstEntity.id]\n id = firstEntity.product?.id\n entityTypeKey = 'productId'\n }\n\n if (id) {\n onOpenViewer({\n [entityTypeKey]: id,\n projectName,\n versionIds,\n })\n }\n }\n\n const hasUser =\n ['task', 'version', 'representation'].includes(entityType) &&\n (entityUsers.length > 0 || entityType === 'task')\n\n const usersOptions = users.map((u) => u)\n if (hasUser) {\n // check if all users are in options, otherwise add them\n const allUsers = users.map((u) => u.name)\n const usersToAdd = entityUsers.filter((u) => !allUsers.includes(u))\n if (usersToAdd.length) {\n usersOptions.push(...usersToAdd.map((u) => ({ name: u, fullName: u })))\n }\n }\n\n // Get title and subtitle from the imported function\n const { title, subTitle } = buildDetailsPanelTitles(entities, entityType)\n const status = statuses?.length!==0 && statuses?.find((status)=> status.name=== statusesValue[0])\n return (\n <Styled.HeaderContainer>\n <EntityPanelUploader\n entities={entities}\n entityType={entityType}\n projectName={projectName}\n onVersionCreated={(id) => onEntityFocus?.(id, 'version')}\n >\n <Styled.Grid className={clsx('details-panel-header', { isCompact })}>\n <Styled.Header\n className={clsx('titles', { isCompact, loading: isLoading }, 'no-shimmer')}\n >\n <div style={{ position: 'relative' }}>\n <StackedThumbnails\n isLoading={isLoading}\n shimmer={isLoading}\n thumbnails={thumbnails}\n onClick={thumbnails.length === 1 ? handleThumbnailClick : undefined}\n hoverIcon={'play_circle'}\n />\n {!isMultiple && firstEntity?.hasReviewables && <PlayableIcon />}\n </div>\n <Styled.Content className={clsx({ loading: isLoading })}>\n <Styled.Title>\n <h2>{title}</h2>\n <Styled.TagsSelect\n ref={tagsSelectRef}\n value={union(...tagsValues)}\n tags={tagsOptionsObject}\n options={[]}\n editable\n editor\n onChange={(value) => handleUpdate('tags', value)}\n align=\"right\"\n styleDropdown={{ display: isLoading ? 'none' : 'unset' }}\n className=\"tags-select\"\n itemClassName=\"details-tag\"\n />\n </Styled.Title>\n <div className=\"sub-title\">\n <span className=\"entity-type\">{upperFirst(entityType)} - </span>\n <h3>{subTitle}</h3>\n </div>\n </Styled.Content>\n </Styled.Header>\n <Styled.StatusSelect\n value={statusesValue}\n options={statuses || []}\n disabledValues={disabledStatuses}\n invert\n style={{ maxWidth: 'unset' }}\n onChange={(value) => handleUpdate('status', value)}\n className={clsx('status-select', { loading: isLoading })}\n align={isCompact ? 'right' : 'left'}\n $textColor={getTextColor(status!==undefined? (status as Status).color: \"#OOO\")}\n />\n {!isCompact &&\n (!hasUser || isLoading ? (\n <div></div>\n ) : (\n <Styled.AssigneeSelect\n value={entityUsers}\n options={usersOptions}\n disabledValues={disabledAssignees.map((u) => u.name)}\n isMultiple={isMultiple && entityUsers.length > 1 && entityType === 'task'}\n readOnly={entityType !== 'task'}\n emptyMessage={entityType === 'task' ? 'Assign user' : ''}\n align=\"right\"\n onChange={(value) => handleUpdate('assignees', value)}\n className=\"assignee-select\"\n data-tooltip={\n entityUsers.length ? (entityType === 'task' ? 'Assigned users' : 'Author') : ''\n }\n />\n ))}\n <Actions\n entities={entities}\n entityType={entityType}\n entitySubTypes={entitySubTypes}\n isLoadingEntity={!!isFetching || !!isLoading}\n searchParams={searchParams}\n isDeveloperMode={isDeveloperMode}\n onSetSearchParams={setSearchParams}\n onNavigate={navigate}\n />\n {priorities ? (\n <Styled.PriorityEnumDropdown\n options={priorities}\n placeholder=\"No priority\"\n value={priorityValues}\n onChange={(value) => handleUpdate('attrib', { priority: value[0] })}\n align=\"right\"\n />\n ) : (\n <div style={{ height: 32 }}></div>\n )}\n <FeedFilters\n isLoading={isLoading}\n entityType={entityType}\n className=\"filters\"\n overrides={{\n checklists: {\n label: checklistsLabel,\n },\n }}\n currentTab={currentTab}\n onTabChange={onTabChange}\n />\n </Styled.Grid>\n </EntityPanelUploader>\n </Styled.HeaderContainer>\n )\n}\n\nexport default DetailsPanelHeader\n"],"names":["DetailsPanelHeader","entityType","entitySubTypes","entities","disabledAssignees","users","disabledStatuses","tagsOptions","isFetching","isCompact","currentTab","onTabChange","entityTypeIcons","onOpenViewer","onEntityFocus","useSearchParams","useNavigate","isDeveloperMode","useDetailsPanelContext","navigate","searchParams","setSearchParams","tagsSelectRef","useRef","statuses","useScopedStatuses","entity","entityUsers","useMemo","union","firstEntity","isLoading","projectName","entityIds","checklistCount","useGetEntitiesChecklistsQuery","checklistsLabel","priorityAttrib","useGetAttributeConfigQuery","priorities","getPriorityOptions","thumbnails","getThumbnails","statusesValue","t","priorityValues","tagsValues","tagsOptionsObject","acc","tag","isMultiple","updateEntity","useEntityUpdate","handleUpdate","field","value","handleThumbnailClick","versionIds","id","entityTypeKey","hasUser","usersOptions","u","allUsers","usersToAdd","title","subTitle","buildDetailsPanelTitles","status","jsx","Styled.HeaderContainer","EntityPanelUploader","jsxs","Styled.Grid","clsx","Styled.Header","StackedThumbnails","PlayableIcon","Styled.Content","Styled.Title","Styled.TagsSelect","upperFirst","Styled.StatusSelect","getTextColor","Styled.AssigneeSelect","Actions","Styled.PriorityEnumDropdown","FeedFilters"],"mappings":"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"}
1
+ {"version":3,"file":"DetailsPanelHeader.cjs.js","sources":["../../../../../../src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.tsx"],"sourcesContent":["import { useMemo, useRef } from 'react'\nimport { union, upperFirst } from 'lodash'\nimport clsx from 'clsx'\nimport { DropdownRef, getTextColor } from '@ynput/ayon-react-components'\n\nimport { EntityPanelUploader, StackedThumbnails } from '@shared/components'\nimport { Actions, DetailsPanelProps } from '@shared/containers'\n// shared\nimport { useGetEntitiesChecklistsQuery, useGetAttributeConfigQuery, Status } from '@shared/api'\nimport type { DetailsPanelEntityData } from '@shared/api'\nimport { getPriorityOptions } from '@shared/util'\nimport { useScopedStatuses, useEntityUpdate } from '@shared/hooks'\nimport { DetailsPanelTab, useDetailsPanelContext } from '@shared/context'\n\nimport FeedFilters from '../FeedFilters/FeedFilters'\nimport * as Styled from './DetailsPanelHeader.styled'\nimport getThumbnails from '../helpers/getThumbnails'\nimport { buildDetailsPanelTitles } from '../helpers/buildDetailsPanelTitles'\nimport { PlayableIcon } from '@shared/components/PlayableIcon/PlayableIcon'\n\nexport type EntityTypeIcons = {\n folder: Record<string, string>\n task: Record<string, string>\n product: Record<string, string>\n}\n\ntype DetailsPanelHeaderProps = {\n entityType: 'folder' | 'task' | 'version' | 'representation'\n entitySubTypes: string[]\n entities: DetailsPanelEntityData[]\n disabledAssignees?: any[]\n users?: any[]\n disabledStatuses?: string[]\n tagsOptions?: any[]\n isFetching?: boolean\n isCompact?: boolean\n currentTab: DetailsPanelTab\n onTabChange: (tab: DetailsPanelTab) => void\n onOpenViewer: (args: any) => void\n onEntityFocus: DetailsPanelProps['onEntityFocus']\n entityTypeIcons: EntityTypeIcons\n}\n\nconst DetailsPanelHeader = ({\n entityType,\n entitySubTypes,\n entities = [],\n disabledAssignees = [],\n users = [],\n disabledStatuses,\n tagsOptions = [],\n isFetching,\n isCompact = false,\n currentTab,\n onTabChange,\n entityTypeIcons,\n onOpenViewer,\n onEntityFocus,\n}: DetailsPanelHeaderProps) => {\n const { useSearchParams, useNavigate, isDeveloperMode } = useDetailsPanelContext()\n const navigate = useNavigate()\n const [searchParams, setSearchParams] = useSearchParams()\n const tagsSelectRef = useRef<DropdownRef>(null)\n\n const statuses = useScopedStatuses(\n entities.map((entity) => entity.projectName),\n [entityType],\n )\n\n // for selected entities, get flat list of assignees\n const entityUsers: string[] = useMemo(\n () =>\n union(\n ...entities.flatMap((entity) => [\n entity.task?.assignees || [],\n entity.version?.author || [],\n ]),\n ),\n [entities],\n )\n\n let firstEntity = entities[0]\n // If there's no data return null\n const isLoading = entities.length === 0 || !firstEntity || isFetching\n // placeholder entity\n if (!firstEntity) {\n firstEntity = {\n id: 'placeholder',\n name: 'loading...',\n label: 'loading...',\n entityType,\n status: 'loading',\n projectName: 'loading...',\n tags: [],\n hasReviewables: false,\n attrib: {},\n createdAt: new Date().toISOString(),\n updatedAt: new Date().toISOString(),\n path: '',\n }\n }\n\n const projectName = entities.length > 1 ? undefined : firstEntity?.projectName\n\n const entityIds = entities\n .filter((e) => e.projectName === firstEntity?.projectName && e.id)\n .map((entity) => entity.id)\n\n // get checklists count\n const { data: checklistCount } = useGetEntitiesChecklistsQuery(\n {\n projectName: firstEntity?.projectName,\n entityIds,\n },\n { skip: !firstEntity?.projectName || !entityIds.length },\n )\n let checklistsLabel\n if (checklistCount?.total && checklistCount.total > 0) {\n checklistsLabel = `${checklistCount.checked}/${checklistCount.total}`\n }\n\n // get priorities\n // get priority attribute so we know the colors and icons for each priority\n const { data: priorityAttrib } = useGetAttributeConfigQuery({ attributeName: 'priority' })\n const priorities = getPriorityOptions(priorityAttrib, entityType)\n\n const thumbnails = useMemo(\n () => getThumbnails(entities, entityType, entityTypeIcons),\n [entities, entityType, entityTypeIcons],\n )\n\n // we need to get the intersection of all the statuses of the projects for the selected entities\n // this means that if we have 2 entities from 2 different projects, we need to get the intersection of the statuses of those 2 projects\n // and it prevents us from showing statuses that are not available for the selected entities\n const statusesValue = useMemo(() => entities.map((t) => t.status), [entities])\n const priorityValues = useMemo(() => entities.map((t) => t.attrib?.priority), [entities])\n const tagsValues: string[][] = useMemo(() => entities.map((t) => t.tags), [entities])\n const tagsOptionsObject = useMemo(\n () =>\n tagsOptions.reduce((acc, tag) => {\n acc[tag.name] = tag\n return acc\n }, {}),\n [tagsOptions],\n )\n\n const isMultiple = entities.length > 1\n\n const { updateEntity } = useEntityUpdate({\n entities: entities.map((e) => ({\n id: e.id,\n projectName: e.projectName,\n users: e.task?.assignees || [],\n folderId: e.folder?.id,\n productId: e.product?.id,\n })),\n entityType,\n })\n\n const handleUpdate = (field: string, value: any) => {\n if (value === null || value === undefined) return console.error('value is null or undefined')\n return updateEntity(field, value)\n }\n\n const handleThumbnailClick = () => {\n let versionIds,\n id = firstEntity.id,\n entityTypeKey = entityType + 'Id'\n\n if (entityType === 'version' && firstEntity.product?.id) {\n versionIds = [firstEntity.id]\n id = firstEntity.product?.id\n entityTypeKey = 'productId'\n }\n\n if (id) {\n onOpenViewer({\n [entityTypeKey]: id,\n projectName,\n versionIds,\n })\n }\n }\n\n const hasUser =\n ['task', 'version', 'representation'].includes(entityType) &&\n (entityUsers.length > 0 || entityType === 'task')\n\n const usersOptions = users.map((u) => u)\n if (hasUser) {\n // check if all users are in options, otherwise add them\n const allUsers = users.map((u) => u.name)\n const usersToAdd = entityUsers.filter((u) => !allUsers.includes(u))\n if (usersToAdd.length) {\n usersOptions.push(...usersToAdd.map((u) => ({ name: u, fullName: u })))\n }\n }\n\n // Get title and subtitle from the imported function\n const { title, subTitle } = buildDetailsPanelTitles(entities, entityType)\n const status = statuses?.length!==0 && statuses?.find((status)=> status.name=== statusesValue[0])\n return (\n <Styled.HeaderContainer>\n <EntityPanelUploader\n entities={entities}\n entityType={entityType}\n projectName={projectName}\n onVersionCreated={(id) => onEntityFocus?.(id, 'version')}\n >\n <Styled.Grid className={clsx('details-panel-header', { isCompact })}>\n <Styled.Header\n className={clsx('titles', { isCompact, loading: isLoading }, 'no-shimmer')}\n >\n <div style={{ position: 'relative' }}>\n <StackedThumbnails\n isLoading={isLoading}\n shimmer={isLoading}\n thumbnails={thumbnails}\n onClick={thumbnails.length === 1 ? handleThumbnailClick : undefined}\n hoverIcon={'play_circle'}\n />\n {!isMultiple && firstEntity?.hasReviewables && <PlayableIcon />}\n </div>\n <Styled.Content className={clsx({ loading: isLoading })}>\n <Styled.Title>\n <h2>{title}</h2>\n <Styled.TagsSelect\n ref={tagsSelectRef}\n value={union(...tagsValues)}\n tags={tagsOptionsObject}\n options={[]}\n editable\n editor\n onChange={(value) => handleUpdate('tags', value)}\n align=\"right\"\n styleDropdown={{ display: isLoading ? 'none' : 'unset' }}\n className=\"tags-select\"\n itemClassName=\"details-tag\"\n />\n </Styled.Title>\n <div className=\"sub-title\">\n <span className=\"entity-type\">{upperFirst(entityType)} - </span>\n <h3>{subTitle}</h3>\n </div>\n </Styled.Content>\n </Styled.Header>\n <Styled.StatusSelect\n value={statusesValue}\n options={statuses || []}\n disabledValues={disabledStatuses}\n invert\n style={{ maxWidth: 'unset' }}\n onChange={(value) => handleUpdate('status', value)}\n className={clsx('status-select', { loading: isLoading })}\n align={isCompact ? 'right' : 'left'}\n $textColor={getTextColor(status!==undefined? (status as Status).color: \"#OOO\")}\n />\n {!isCompact &&\n (!hasUser || isLoading ? (\n <div></div>\n ) : (\n <Styled.AssigneeSelect\n value={entityUsers}\n options={usersOptions}\n disabledValues={disabledAssignees.map((u) => u.name)}\n isMultiple={isMultiple && entityUsers.length > 1 && entityType === 'task'}\n readOnly={entityType !== 'task'}\n emptyMessage={entityType === 'task' ? 'Assign user' : ''}\n align=\"right\"\n onChange={(value) => handleUpdate('assignees', value)}\n className=\"assignee-select\"\n data-tooltip={\n entityUsers.length ? (entityType === 'task' ? 'Assigned users' : 'Author') : ''\n }\n />\n ))}\n <Actions\n entities={entities}\n entityType={entityType}\n entitySubTypes={entitySubTypes}\n isLoadingEntity={!!isFetching || !!isLoading}\n searchParams={searchParams}\n isDeveloperMode={isDeveloperMode}\n onSetSearchParams={setSearchParams}\n onNavigate={navigate}\n />\n {priorities ? (\n <Styled.PriorityEnumDropdown\n options={priorities}\n placeholder=\"No priority\"\n value={priorityValues}\n onChange={(value) => handleUpdate('attrib', { priority: value[0] })}\n align=\"right\"\n />\n ) : (\n <div style={{ height: 32 }}></div>\n )}\n <FeedFilters\n isLoading={isLoading}\n entityType={entityType}\n className=\"filters\"\n overrides={{\n checklists: {\n label: checklistsLabel,\n },\n }}\n currentTab={currentTab}\n onTabChange={onTabChange}\n />\n </Styled.Grid>\n </EntityPanelUploader>\n </Styled.HeaderContainer>\n )\n}\n\nexport default DetailsPanelHeader\n"],"names":["DetailsPanelHeader","entityType","entitySubTypes","entities","disabledAssignees","users","disabledStatuses","tagsOptions","isFetching","isCompact","currentTab","onTabChange","entityTypeIcons","onOpenViewer","onEntityFocus","useSearchParams","useNavigate","isDeveloperMode","useDetailsPanelContext","navigate","searchParams","setSearchParams","tagsSelectRef","useRef","statuses","useScopedStatuses","entity","entityUsers","useMemo","union","firstEntity","isLoading","projectName","entityIds","checklistCount","useGetEntitiesChecklistsQuery","checklistsLabel","priorityAttrib","useGetAttributeConfigQuery","priorities","getPriorityOptions","thumbnails","getThumbnails","statusesValue","t","priorityValues","tagsValues","tagsOptionsObject","acc","tag","isMultiple","updateEntity","useEntityUpdate","handleUpdate","field","value","handleThumbnailClick","versionIds","id","entityTypeKey","hasUser","usersOptions","u","allUsers","usersToAdd","title","subTitle","buildDetailsPanelTitles","status","jsx","Styled.HeaderContainer","EntityPanelUploader","jsxs","Styled.Grid","clsx","Styled.Header","StackedThumbnails","PlayableIcon","Styled.Content","Styled.Title","Styled.TagsSelect","upperFirst","Styled.StatusSelect","getTextColor","Styled.AssigneeSelect","Actions","Styled.PriorityEnumDropdown","FeedFilters"],"mappings":"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"}