@ynput/ayon-frontend-shared 0.3.40 → 0.3.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (419) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +23 -22
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +219 -218
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/_virtual/index.cjs15.js +1 -1
  8. package/dist/_virtual/index.cjs19.js +1 -1
  9. package/dist/_virtual/index.cjs4.js +1 -1
  10. package/dist/_virtual/index.cjs5.js +1 -1
  11. package/dist/_virtual/index.es15.js +2 -2
  12. package/dist/_virtual/index.es16.js +2 -2
  13. package/dist/_virtual/index.es17.js +2 -2
  14. package/dist/_virtual/index.es18.js +2 -2
  15. package/dist/_virtual/index.es19.js +2 -2
  16. package/dist/_virtual/index.es4.js +5 -2
  17. package/dist/_virtual/index.es4.js.map +1 -1
  18. package/dist/_virtual/index.es5.js +2 -5
  19. package/dist/_virtual/index.es5.js.map +1 -1
  20. package/dist/api.cjs.js +1 -1
  21. package/dist/api.es.js +219 -220
  22. package/dist/index.cjs.js +1 -1
  23. package/dist/index.es.js +10 -9
  24. package/dist/index.es.js.map +1 -1
  25. package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
  26. package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
  27. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  28. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  29. package/dist/shared/node_modules/@module-federation/runtime/dist/index.cjs.js +1 -1
  30. package/dist/shared/node_modules/@module-federation/runtime/dist/index.es.js +1 -1
  31. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs.js +1 -1
  32. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.es.js +1 -1
  33. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.cjs.js +1 -1
  34. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.es.js +1 -1
  35. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.cjs.js +1 -1
  36. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.es.js +1 -1
  37. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs.js +1 -1
  38. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.es.js +1 -1
  39. package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
  40. package/dist/shared/node_modules/prop-types/index.es.js +1 -1
  41. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  42. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  43. package/dist/shared/src/api/generated/graphql.cjs.js +20 -58
  44. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  45. package/dist/shared/src/api/generated/graphql.es.js +37 -75
  46. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  47. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  48. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  49. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  50. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  51. package/dist/shared/src/api/queries/entityLists/getLists.es.js +14 -16
  52. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  53. package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js +1 -1
  54. package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js.map +1 -1
  55. package/dist/shared/src/api/queries/grouping/getGrouping.es.js +6 -21
  56. package/dist/shared/src/api/queries/grouping/getGrouping.es.js.map +1 -1
  57. package/dist/shared/src/api/queries/products/createProduct.cjs.js +1 -1
  58. package/dist/shared/src/api/queries/products/createProduct.cjs.js.map +1 -1
  59. package/dist/shared/src/api/queries/products/createProduct.es.js +7 -46
  60. package/dist/shared/src/api/queries/products/createProduct.es.js.map +1 -1
  61. package/dist/shared/src/api/queries/products/getProduct.cjs.js +2 -0
  62. package/dist/shared/src/api/queries/products/getProduct.cjs.js.map +1 -0
  63. package/dist/shared/src/api/queries/products/getProduct.es.js +52 -0
  64. package/dist/shared/src/api/queries/products/getProduct.es.js.map +1 -0
  65. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  66. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  67. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +3 -2
  68. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  69. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  70. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  71. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +3 -2
  72. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  73. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  74. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  75. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +3 -2
  76. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  77. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  78. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  79. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +3 -2
  80. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  81. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
  82. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  83. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +3 -2
  84. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  85. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  86. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  87. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +5 -4
  88. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  89. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  90. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  91. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +3 -2
  92. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  93. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  94. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  95. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +3 -2
  96. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  97. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  98. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  99. package/dist/shared/src/components/RenameForm/RenameForm.es.js +3 -2
  100. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  101. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  102. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  103. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +3 -2
  104. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  105. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  106. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  107. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +4 -3
  108. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  109. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  110. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  111. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +3 -2
  112. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  113. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  114. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  115. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +3 -2
  116. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  117. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  118. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  119. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +339 -353
  120. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  121. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
  122. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  123. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +5 -4
  124. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  125. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  126. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  127. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +3 -2
  128. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  129. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  130. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  131. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +3 -2
  132. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  133. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  134. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  135. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +7 -6
  136. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  137. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  138. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  139. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +3 -2
  140. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  141. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  142. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  143. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +3 -2
  144. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  145. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  146. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  147. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +113 -119
  148. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  149. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  150. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  151. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +3 -2
  152. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  153. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  154. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  155. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +3 -2
  156. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  157. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  158. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  159. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +132 -122
  160. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  161. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js +6 -6
  162. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js.map +1 -1
  163. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.es.js +1 -1
  164. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.es.js.map +1 -1
  165. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js +2 -0
  166. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js.map +1 -0
  167. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js +148 -0
  168. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js.map +1 -0
  169. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.cjs.js +29 -0
  170. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.cjs.js.map +1 -0
  171. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.es.js +34 -0
  172. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.es.js.map +1 -0
  173. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  174. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
  175. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +3 -2
  176. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
  177. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  178. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
  179. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +3 -2
  180. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
  181. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  182. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  183. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +17 -16
  184. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  185. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  186. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  187. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +3 -2
  188. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  189. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  190. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  191. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +3 -2
  192. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  193. package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.cjs.js +2 -0
  194. package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.cjs.js.map +1 -0
  195. package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.es.js +9 -0
  196. package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.es.js.map +1 -0
  197. package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.cjs.js +1 -1
  198. package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.cjs.js.map +1 -1
  199. package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.es.js +12 -12
  200. package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.es.js.map +1 -1
  201. package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.cjs.js.map +1 -1
  202. package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.es.js.map +1 -1
  203. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  204. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  205. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +3 -2
  206. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  207. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  208. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  209. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +3 -2
  210. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  211. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  212. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  213. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +3 -2
  214. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  215. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  216. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  217. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +3 -2
  218. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  219. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  220. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  221. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +3 -2
  222. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  223. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  224. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  225. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +3 -2
  226. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  227. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  228. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  229. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +3 -2
  230. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  231. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +1 -1
  232. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js.map +1 -1
  233. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +5 -4
  234. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js.map +1 -1
  235. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  236. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  237. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +3 -2
  238. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  239. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  240. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  241. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +7 -6
  242. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  243. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  244. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  245. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +3 -2
  246. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  247. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  248. package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
  249. package/dist/shared/src/containers/ListTable/ListTable.es.js +3 -2
  250. package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
  251. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  252. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  253. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +3 -2
  254. package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
  255. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  256. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
  257. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +3 -2
  258. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
  259. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  260. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  261. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +365 -363
  262. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  263. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  264. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  265. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +3 -2
  266. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  267. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  268. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  269. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +3 -2
  270. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  271. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  272. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  273. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +3 -2
  274. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  275. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  276. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  277. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +3 -2
  278. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  279. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  280. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  281. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +3 -2
  282. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  283. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  284. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  285. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +3 -2
  286. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  287. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  288. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  289. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +3 -2
  290. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  291. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  292. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  293. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +6 -5
  294. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  295. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  296. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  297. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +3 -2
  298. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  299. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  300. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  301. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +3 -2
  302. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  303. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  304. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  305. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +3 -2
  306. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  307. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  308. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  309. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +3 -2
  310. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  311. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  312. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  313. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +3 -2
  314. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  315. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  316. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  317. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +3 -2
  318. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  319. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  320. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  321. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +3 -2
  322. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  323. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  324. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  325. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +3 -2
  326. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  327. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  328. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  329. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +3 -2
  330. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  331. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  332. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  333. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +3 -2
  334. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  335. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  336. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  337. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +3 -2
  338. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  339. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  340. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  341. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +3 -2
  342. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  343. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  344. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  345. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +14 -13
  346. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  347. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  348. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  349. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +3 -2
  350. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  351. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  352. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  353. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +4 -3
  354. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  355. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +1 -1
  356. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
  357. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +3 -2
  358. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
  359. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  360. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  361. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +5 -4
  362. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  363. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  364. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  365. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +3 -2
  366. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  367. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  368. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  369. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +3 -2
  370. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  371. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  372. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  373. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +3 -2
  374. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  375. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  376. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  377. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +3 -2
  378. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  379. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  380. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  381. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +3 -2
  382. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  383. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
  384. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
  385. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +3 -2
  386. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
  387. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  388. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  389. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +3 -2
  390. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  391. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -1
  392. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
  393. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +61 -82
  394. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
  395. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  396. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  397. package/dist/shared/src/context/ProjectContext.es.js +83 -66
  398. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  399. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  400. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  401. package/dist/shared/src/context/WebsocketContext.es.js +5 -4
  402. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  403. package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
  404. package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
  405. package/dist/types/api/generated/graphql.d.ts +1 -34
  406. package/dist/types/api/queries/entities/transformDetailsPanelData.d.ts +3 -1
  407. package/dist/types/api/queries/entityLists/getLists.d.ts +2 -315
  408. package/dist/types/api/queries/products/createProduct.d.ts +2 -2
  409. package/dist/types/api/queries/products/getProduct.d.ts +259 -0
  410. package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +1 -1
  411. package/dist/types/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.d.ts +3 -2
  412. package/dist/types/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.d.ts +7 -0
  413. package/dist/types/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.d.ts +2 -0
  414. package/dist/types/containers/DetailsPanel/helpers/buildEntityTypeIcons.d.ts +4 -0
  415. package/dist/types/containers/DetailsPanel/helpers/mergeProjectInfo.d.ts +1 -1
  416. package/dist/types/containers/ProjectTreeTable/types/index.d.ts +1 -0
  417. package/dist/types/containers/Slicer/hooks/useProjectAnatomySlices.d.ts +1 -0
  418. package/dist/types/context/ProjectContext.d.ts +2 -1
  419. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DetailsPanel.cjs.js","sources":["../../../../../src/containers/DetailsPanel/DetailsPanel.tsx"],"sourcesContent":["import { Button } from '@ynput/ayon-react-components'\nimport React, { useEffect, useMemo, useRef, useState } from 'react'\nimport useDetailsPanelURLSync from './hooks/useDetailsPanelURLSync'\nimport * as Styled from './DetailsPanel.styled'\n\n// shared\nimport { useGetEntitiesDetailsPanelQuery, detailsPanelEntityTypes } from '@shared/api'\nimport type { Tag, DetailsPanelEntityType, DetailsPanelEntityData } from '@shared/api'\nimport { DetailsPanelDetails, EntityPath, Watchers } from '@shared/components'\nimport { usePiPWindow } from '@shared/context/pip/PiPProvider'\nimport { extractEntityHierarchyFromParents } from '@shared/util'\nimport {\n ProjectContextProvider,\n ProjectModelWithProducts,\n ThumbnailUploadProvider,\n useDetailsPanelContext,\n useScopedDetailsPanel,\n useURIContext,\n FeedFilter,\n} from '@shared/context'\n\nimport DetailsPanelHeader from './components/DetailsPanelHeader/DetailsPanelHeader'\nimport DetailsPanelFiles from './components/DetailsPanelFiles'\nimport {\n DetailsPanelMoreMenu,\n type DetailsPanelEntityListsContext,\n} from './components/DetailsPanelMoreMenu'\nimport useGetEntityPath from './hooks/useGetEntityPath'\nimport getAllProjectStatuses from './helpers/getAllProjectsStatuses'\nimport FeedWrapper from './containers/FeedWrapper'\nimport FeedContextWrapper from './containers/FeedContextWrapper'\nimport mergeProjectInfo from './helpers/mergeProjectInfo'\nimport DetailsPanelSubtasks from './containers/DetailsPanelSubtasks'\n\nexport const entitiesWithoutFeed = ['product', 'representation']\n\ntype User = { avatarUrl: string; name: string; fullName?: string }\n\nexport type DetailsPanelProps = {\n entityType: DetailsPanelEntityType\n entitySubTypes?: string[] // used to get actions before the entity has loaded\n entitiesData?: { id: string; label: string; type: DetailsPanelEntityType }[]\n entities?: { id: string; projectName: string }[]\n tagsOptions?: Tag[]\n disabledStatuses?: string[]\n projectUsers?: User[]\n disabledProjectUsers?: string[]\n activeProjectUsers?: string[]\n projectsInfo?: Record<string, ProjectModelWithProducts>\n projectNames?: string[]\n isSlideOut?: boolean\n style?: React.CSSProperties\n scope: string\n isCompact?: boolean\n onClose?: () => void\n onWatchersUpdate?: (added: any[], removed: any[]) => void\n onOpenViewer?: (entity: any) => void\n onEntityFocus?: (id: string, entityType: DetailsPanelEntityType) => void\n onOpen?: () => void\n onUriOpen?: (entity: DetailsPanelEntityData, source: 'uri' | 'url') => void\n // annotations\n annotations?: any\n removeAnnotation?: (id: string) => void\n exportAnnotationComposite?: (id: string) => Promise<Blob | null>\n entityListId?: string\n guestCategories?: Record<string, string> // only used for guests to find if they have access to any categories\n /** Optional EntityListsContext for the \"Add to list\" sub-menu in the more-menu.\n * Hosts that already mount EntityListsProvider can pass the resolved context here;\n * otherwise wrap the panel with EntityListsContextBoundary. The shape mirrors\n * `EntityListsContextType` from `src/pages/ProjectListsPage/context` — it lives as a\n * structural type in shared/ so the layering rule (shared cannot import src/pages)\n * is preserved. */\n entityListsContext?: DetailsPanelEntityListsContext\n // optional tab state for independent tab management\n}\n\nconst DetailsPanelInner = ({\n entityType,\n entitySubTypes = [],\n // entities is data we already have from kanban\n entitiesData = [],\n // entityIds are used to get the full details data for the entities\n entities = [],\n tagsOptions = [],\n disabledStatuses,\n projectUsers,\n disabledProjectUsers,\n activeProjectUsers,\n projectsInfo = {},\n projectNames = [],\n isSlideOut = false,\n style = {},\n scope,\n isCompact = false,\n onClose,\n onWatchersUpdate,\n onOpenViewer,\n onEntityFocus,\n onOpen,\n onUriOpen, // when the details panel is opened from uri\n // annotations\n annotations,\n removeAnnotation,\n exportAnnotationComposite,\n entityListId,\n guestCategories = {},\n entityListsContext,\n}: // optional tab state for independent tab management\nDetailsPanelProps) => {\n const {\n closeSlideOut,\n openPip,\n user,\n isGuest,\n entities: contextEntities,\n setEntities,\n slideOut,\n useSearchParams,\n SubtasksManager,\n useNavigate,\n } = useDetailsPanelContext()\n const { currentTab, setTab, isFeed } = useScopedDetailsPanel(scope)\n const [_searchParams, setSearchParams] = useSearchParams()\n const hasCalledOnOpen = useRef(false)\n\n // Use context entities if available, otherwise use props\n const activeEntityType = contextEntities?.entityType ?? entityType\n const activeEntities = contextEntities?.entities ?? entities\n const activeEntitySubTypes = contextEntities?.entitySubTypes ?? entitySubTypes\n const activeEntitiesData = contextEntities?.entities ? [] : entitiesData\n const activeProjectNames = contextEntities?.entities\n ? contextEntities.entities.map((e) => e.projectName)\n : projectNames\n\n // Fire onOpen callback once when component mounts and renders\n useEffect(() => {\n if (onOpen && !hasCalledOnOpen.current) {\n hasCalledOnOpen.current = true\n onOpen()\n }\n }, [])\n\n // Force details tab for specific entity types\n useEffect(() => {\n if (entitiesWithoutFeed.includes(activeEntityType) && currentTab !== 'details') {\n setTab('details')\n }\n }, [activeEntityType, currentTab, setTab])\n\n // once component is provided with specific entities, remove context entities to avoid conflicts\n useEffect(() => {\n if (entities.length && contextEntities) {\n setEntities(null)\n }\n }, [entities, contextEntities, setEntities])\n\n // reduce projectsInfo to selected projects and into one\n const projectInfo = useMemo(\n () => mergeProjectInfo(projectsInfo, activeProjectNames),\n [projectsInfo, activeProjectNames],\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 // for example when switching from version to task, task doesn't have reps tab\n // if reps tab was selected, set default to feed\n useEffect(() => {\n if (currentTab === 'files') {\n // check entity type is still version\n if (activeEntityType !== 'version') {\n setTab('feed')\n }\n }\n // Reset to feed if subtasks tab is selected but entity is not a task\n if (currentTab === 'subtasks' && activeEntityType !== 'task') {\n setTab('feed')\n }\n }, [activeEntityType, currentTab, scope])\n\n // now we get the full details data for selected entities\n let entitiesToQuery = activeEntities.length\n ? activeEntities.map((entity) => ({ id: entity.id, projectName: entity.projectName }))\n : // @ts-expect-error = not sure what's going on with activeEntitiesData, we should try and remove it\n activeEntitiesData.map((entity) => ({ id: entity.id, projectName: entity.projectName }))\n\n entitiesToQuery = entitiesToQuery.filter((entity) => entity.id)\n\n const {\n data: entityDetailsData = [],\n isFetching: isFetchingEntitiesDetails,\n isError,\n originalArgs,\n } = useGetEntitiesDetailsPanelQuery(\n { entityType: activeEntityType, entities: entitiesToQuery },\n {\n skip: !entitiesToQuery.length || !detailsPanelEntityTypes.includes(activeEntityType),\n },\n )\n\n // the entity changes then we close the slide out\n useEffect(() => {\n if (!isSlideOut) {\n closeSlideOut()\n }\n }, [originalArgs, isSlideOut])\n\n // if the details panel is opened vair the uri, run callback\n useEffect(() => {\n if (isFetchingEntitiesDetails) return\n\n if (\n (contextEntities?.source === 'uri' || contextEntities?.source === 'url') &&\n contextEntities?.entities?.length &&\n !!onUriOpen\n ) {\n const uriEntity = entityDetailsData.find(\n (entity) => entity.id === contextEntities.entities[0].id,\n )\n if (!uriEntity) return\n\n onUriOpen(uriEntity, contextEntities.source)\n }\n }, [entityDetailsData, isFetchingEntitiesDetails])\n\n // TODO: merge current entities data with fresh details data\n\n const allStatuses = getAllProjectStatuses(projectsInfo)\n\n // get the first project name and info to be used in the feed.\n const firstProject = activeProjectNames[0]\n const firstProjectInfo = projectsInfo[firstProject] || {}\n const firstEntityData = entityDetailsData[0] || {}\n // Use the last entity for URI sync\n const lastEntityData = entityDetailsData[entityDetailsData.length - 1]\n const lastProject = activeProjectNames[activeProjectNames.length - 1]\n\n // build the full entity path for the first entity\n const [entityPathSegments, entityPathVersions] = useGetEntityPath({\n entity: firstEntityData,\n entityType: activeEntityType,\n projectName: firstProject,\n isLoading: isFetchingEntitiesDetails,\n })\n\n const { setEntityUri, setUri } = useURIContext()\n // sync the uri when entity changes\n useEffect(() => {\n if (!lastEntityData?.parents) return\n if (!lastProject) return\n const { folderPath, taskName, versionName, productName } = extractEntityHierarchyFromParents(\n lastEntityData.parents,\n activeEntityType,\n lastEntityData.name,\n )\n\n setEntityUri({\n projectName: lastProject,\n folderPath: folderPath,\n taskName: taskName,\n productName: productName,\n versionName: versionName,\n })\n\n // unmount cleanup: clear uri\n return () => {\n setUri('')\n }\n }, [entityDetailsData, activeProjectNames, activeEntityType])\n\n // sync the details panel url (panel) with entity\n useDetailsPanelURLSync({\n entityData: lastEntityData,\n project: lastProject,\n activeEntityType,\n entitiesToQuery,\n })\n\n const clearSearchUrl = () => {\n // remove URL params when closing\n setSearchParams(\n (prev) => {\n const newParams = new URLSearchParams(prev)\n newParams.delete('project')\n newParams.delete('type')\n newParams.delete('id')\n return newParams\n },\n { replace: true },\n )\n }\n\n const handleClose = () => {\n onClose?.()\n // also remove any entities in context\n setEntities(null)\n clearSearchUrl()\n closeSlideOut()\n }\n\n useEffect(() => {\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape' && onClose) {\n // Don't trigger if we're in an input element\n const target = e.target as HTMLElement\n const isInputElement =\n ['INPUT', 'TEXTAREA', 'SELECT'].includes(target.tagName) || target.isContentEditable\n\n if (isInputElement) return\n\n // don't trigger if the viewer is open and panel not in slideout mode\n if (isSlideOut === false && (target.closest('#viewer-dialog') || !!slideOut)) return\n\n handleClose()\n }\n }\n\n window.addEventListener('keydown', handleKeyDown)\n return () => window.removeEventListener('keydown', handleKeyDown)\n }, [handleClose, isSlideOut, slideOut])\n\n const { requestPipWindow } = usePiPWindow()\n\n // Hoisted so ThumbnailUploadProvider (wrapping the toolbar) and EntityPanelUploader\n // (inside DetailsPanelHeader) share the same ref identity — otherwise the toolbar's\n // more-menu, which sits as a sibling above the header, can't reach the inputs.\n const thumbnailInputRef = useRef<HTMLInputElement>(null)\n const versionsInputRef = useRef<HTMLInputElement>(null)\n const canUploadVersion = entityDetailsData.length === 1 && activeEntityType !== 'representation'\n\n const shareEntityLabel = useMemo(() => {\n const name = firstEntityData?.label || firstEntityData?.name || ''\n const parents: string[] = firstEntityData?.parents || []\n const parts: (string | undefined)[] = [firstProject]\n switch (activeEntityType) {\n case 'folder':\n case 'task':\n case 'product':\n parts.push(parents.at(-1), name)\n break\n case 'version':\n parts.push(parents.at(-2), parents.at(-1), name)\n break\n case 'representation':\n parts.push(parents.at(-3), parents.at(-2), parents.at(-1), name)\n break\n default:\n parts.push(name)\n }\n return parts.filter(Boolean).join(' - ')\n }, [firstEntityData, activeEntityType, firstProject])\n\n const handleOpenPip = () => {\n openPip({\n entityType: activeEntityType,\n entities: entitiesToQuery,\n scope: scope,\n })\n requestPipWindow(500, 500)\n }\n\n const isCommentingEnabled = () => {\n // cannot comment on multiple projects\n if (activeProjectNames.length > 1) return false\n if (isGuest) {\n // Guest can only comment in review sessions (for now)\n if (!entityListId) return false\n // Guest must have at least one category set for list\n const guestHasCategory = Object.prototype.hasOwnProperty.call(\n guestCategories,\n user.attrib?.email || '',\n )\n if (!guestHasCategory) return false\n }\n return true\n }\n\n return (\n <ThumbnailUploadProvider\n thumbnailInputRef={thumbnailInputRef}\n versionsInputRef={versionsInputRef}\n canUploadVersion={canUploadVersion}\n >\n <Styled.Panel className=\"details-panel\">\n <Styled.Toolbar>\n {/* TODO FIX PATH */}\n <EntityPath\n segments={entityPathSegments}\n versions={entityPathVersions}\n projectName={firstProject}\n hideProjectName={isSlideOut}\n isLoading={isFetchingEntitiesDetails || !entityPathSegments.length}\n entityType={activeEntityType}\n scope={scope}\n // @ts-ignore\n entityTypeIcons={entityTypeIcons}\n />\n <Styled.RightTools className=\"right-tools\">\n <DetailsPanelMoreMenu\n entityType={activeEntityType}\n entityId={firstEntityData?.id}\n entityIds={entitiesToQuery.map((e) => e.id).filter(Boolean)}\n entityLabel={shareEntityLabel}\n projectName={firstProject}\n selectedEntities={entityDetailsData\n .filter((e) => !!e?.id)\n .map((e) => ({\n entityId: e.id,\n entityType: e.entityType || activeEntityType,\n hasReviewables: !!e.hasReviewables,\n }))}\n entityListsContext={entityListsContext}\n onOpenPip={handleOpenPip}\n onOpenViewer={onOpenViewer}\n productId={firstEntityData?.product?.id}\n taskId={firstEntityData?.task?.id}\n folderId={firstEntityData?.folder?.id}\n />\n <Watchers\n entities={entitiesToQuery}\n entityType={activeEntityType}\n options={projectUsers || []}\n onWatchersUpdate={onWatchersUpdate && onWatchersUpdate}\n userName={user.name}\n />\n\n {onClose && (\n <Button\n icon=\"close\"\n variant={'text'}\n onClick={handleClose}\n data-shortcut={'Escape'}\n />\n )}\n </Styled.RightTools>\n </Styled.Toolbar>\n\n <DetailsPanelHeader\n entityType={activeEntityType}\n entitySubTypes={activeEntitySubTypes}\n entities={entityDetailsData}\n users={projectUsers}\n disabledAssignees={disabledProjectUsers}\n disabledStatuses={disabledStatuses}\n tagsOptions={tagsOptions}\n isFetching={isFetchingEntitiesDetails}\n isCompact={isCompact}\n currentTab={currentTab}\n onTabChange={setTab}\n entityTypeIcons={entityTypeIcons}\n onOpenViewer={(args) => onOpenViewer?.(args)}\n onEntityFocus={onEntityFocus}\n thumbnailInputRef={thumbnailInputRef}\n versionsInputRef={versionsInputRef}\n />\n\n <ProjectContextProvider projectName={firstProject}>\n {isFeed && !isError && (\n <FeedWrapper\n entityType={activeEntityType}\n entities={entityDetailsData}\n activeUsers={activeProjectUsers || []}\n projectInfo={firstProjectInfo}\n projectName={firstProject}\n disabled={!isCommentingEnabled()}\n scope={scope}\n statuses={allStatuses}\n readOnly={false}\n entityListId={entityListId}\n annotations={annotations}\n removeAnnotation={removeAnnotation}\n exportAnnotationComposite={exportAnnotationComposite}\n isSlideOut={isSlideOut}\n />\n )}\n {currentTab === 'subtasks' &&\n activeEntityType === 'task' &&\n firstEntityData?.id &&\n SubtasksManager && (\n <DetailsPanelSubtasks\n projectName={firstProject}\n taskId={firstEntityData.id}\n subtasks={firstEntityData.task?.subtasks || []}\n SubtasksManager={SubtasksManager}\n useNavigate={useNavigate!}\n onNotFound={() => setTab('feed')} // if subtasks module is not found, switch to feed tab\n />\n )}\n {currentTab === 'files' && (\n <DetailsPanelFiles\n entities={entityDetailsData}\n scope={scope}\n isLoadingVersion={isFetchingEntitiesDetails}\n />\n )}\n {currentTab === 'details' && (\n <FeedContextWrapper\n entityType={activeEntityType}\n entities={entityDetailsData}\n activeUsers={activeProjectUsers || []}\n projectInfo={firstProjectInfo}\n projectName={firstProject}\n disabled={!isCommentingEnabled()}\n scope={scope}\n statuses={allStatuses}\n readOnly={false}\n annotations={annotations}\n removeAnnotation={removeAnnotation}\n exportAnnotationComposite={exportAnnotationComposite}\n >\n <DetailsPanelDetails\n entities={entityDetailsData}\n isLoading={isFetchingEntitiesDetails}\n />\n </FeedContextWrapper>\n )}\n </ProjectContextProvider>\n </Styled.Panel>\n </ThumbnailUploadProvider>\n )\n}\n\n// create a wrapper that checks if the details panel should be open or not based on isOpen prop and entities state\nexport const DetailsPanel = ({\n isOpen,\n entityType,\n ...props\n}: Omit<DetailsPanelProps, 'entityType'> & {\n entityType?: DetailsPanelEntityType\n isOpen: boolean\n}) => {\n const { entities } = useDetailsPanelContext()\n\n if (!isOpen && !entities) return null\n if (!entityType && !entities) return null\n\n // @ts-expect-error - entityType could be undefined but we check for entities above\n return <DetailsPanelInner {...props} entityType={entityType || entities?.entityType} />\n}\n"],"names":["entitiesWithoutFeed","DetailsPanelInner","entityType","entitySubTypes","entitiesData","entities","tagsOptions","disabledStatuses","projectUsers","disabledProjectUsers","activeProjectUsers","projectsInfo","projectNames","isSlideOut","style","scope","isCompact","onClose","onWatchersUpdate","onOpenViewer","onEntityFocus","onOpen","onUriOpen","annotations","removeAnnotation","exportAnnotationComposite","entityListId","guestCategories","entityListsContext","closeSlideOut","openPip","user","isGuest","contextEntities","setEntities","slideOut","useSearchParams","SubtasksManager","useNavigate","useDetailsPanelContext","currentTab","setTab","isFeed","useScopedDetailsPanel","_searchParams","setSearchParams","hasCalledOnOpen","useRef","activeEntityType","activeEntities","activeEntitySubTypes","activeEntitiesData","activeProjectNames","useEffect","projectInfo","useMemo","mergeProjectInfo","entityTypeIcons","task","acc","folder","product","entitiesToQuery","entity","entityDetailsData","isFetchingEntitiesDetails","isError","originalArgs","useGetEntitiesDetailsPanelQuery","detailsPanelEntityTypes","uriEntity","allStatuses","getAllProjectStatuses","firstProject","firstProjectInfo","firstEntityData","lastEntityData","lastProject","entityPathSegments","entityPathVersions","useGetEntityPath","setEntityUri","setUri","useURIContext","folderPath","taskName","versionName","productName","extractEntityHierarchyFromParents","useDetailsPanelURLSync","clearSearchUrl","prev","newParams","handleClose","handleKeyDown","e","target","requestPipWindow","usePiPWindow","thumbnailInputRef","versionsInputRef","canUploadVersion","shareEntityLabel","name","parents","parts","handleOpenPip","isCommentingEnabled","jsx","ThumbnailUploadProvider","jsxs","Styled.Panel","Styled.Toolbar","EntityPath","Styled.RightTools","DetailsPanelMoreMenu","Watchers","Button","DetailsPanelHeader","args","ProjectContextProvider","FeedWrapper","DetailsPanelSubtasks","DetailsPanelFiles","FeedContextWrapper","DetailsPanelDetails","DetailsPanel","isOpen","props"],"mappings":"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"}
1
+ {"version":3,"file":"DetailsPanel.cjs.js","sources":["../../../../../src/containers/DetailsPanel/DetailsPanel.tsx"],"sourcesContent":["import { Button } from '@ynput/ayon-react-components'\nimport React, { useEffect, useMemo, useRef, useState } from 'react'\nimport useDetailsPanelURLSync from './hooks/useDetailsPanelURLSync'\nimport * as Styled from './DetailsPanel.styled'\n\n// shared\nimport { useGetEntitiesDetailsPanelQuery, detailsPanelEntityTypes } from '@shared/api'\nimport type { Tag, DetailsPanelEntityType, DetailsPanelEntityData } from '@shared/api'\nimport { DetailsPanelDetails, EntityPath, Watchers } from '@shared/components'\nimport { usePiPWindow } from '@shared/context/pip/PiPProvider'\nimport { extractEntityHierarchyFromParents } from '@shared/util'\nimport {\n ProjectContextProvider,\n ProjectModelWithProducts,\n ThumbnailUploadProvider,\n useDetailsPanelContext,\n useScopedDetailsPanel,\n useURIContext,\n FeedFilter,\n} from '@shared/context'\n\nimport DetailsPanelHeader from './components/DetailsPanelHeader/DetailsPanelHeader'\nimport DetailsPanelFiles from './components/DetailsPanelFiles'\nimport {\n DetailsPanelMoreMenu,\n type DetailsPanelEntityListsContext,\n} from './components/DetailsPanelMoreMenu'\nimport useGetEntityPath from './hooks/useGetEntityPath'\nimport getAllProjectStatuses from './helpers/getAllProjectsStatuses'\nimport FeedWrapper from './containers/FeedWrapper'\nimport FeedContextWrapper from './containers/FeedContextWrapper'\nimport mergeProjectInfo from './helpers/mergeProjectInfo'\nimport buildEntityTypeIcons from './helpers/buildEntityTypeIcons'\nimport DetailsPanelSubtasks from './containers/DetailsPanelSubtasks'\n\nexport const entitiesWithoutFeed = ['product', 'representation']\n\ntype User = { avatarUrl: string; name: string; fullName?: string }\n\nexport type DetailsPanelProps = {\n entityType: DetailsPanelEntityType\n entitySubTypes?: string[] // used to get actions before the entity has loaded\n entitiesData?: { id: string; label: string; type: DetailsPanelEntityType }[]\n entities?: { id: string; projectName: string }[]\n tagsOptions?: Tag[]\n disabledStatuses?: string[]\n projectUsers?: User[]\n disabledProjectUsers?: string[]\n activeProjectUsers?: string[]\n projectsInfo?: Record<string, ProjectModelWithProducts>\n projectNames?: string[]\n isSlideOut?: boolean\n style?: React.CSSProperties\n scope: string\n isCompact?: boolean\n onClose?: () => void\n onWatchersUpdate?: (added: any[], removed: any[]) => void\n onOpenViewer?: (entity: any) => void\n onEntityFocus?: (id: string, entityType: DetailsPanelEntityType) => void\n onOpen?: () => void\n onUriOpen?: (entity: DetailsPanelEntityData, source: 'uri' | 'url') => void\n // annotations\n annotations?: any\n removeAnnotation?: (id: string) => void\n exportAnnotationComposite?: (id: string) => Promise<Blob | null>\n entityListId?: string\n guestCategories?: Record<string, string> // only used for guests to find if they have access to any categories\n /** Optional EntityListsContext for the \"Add to list\" sub-menu in the more-menu.\n * Hosts that already mount EntityListsProvider can pass the resolved context here;\n * otherwise wrap the panel with EntityListsContextBoundary. The shape mirrors\n * `EntityListsContextType` from `src/pages/ProjectListsPage/context` — it lives as a\n * structural type in shared/ so the layering rule (shared cannot import src/pages)\n * is preserved. */\n entityListsContext?: DetailsPanelEntityListsContext\n // optional tab state for independent tab management\n}\n\nconst DetailsPanelInner = ({\n entityType,\n entitySubTypes = [],\n // entities is data we already have from kanban\n entitiesData = [],\n // entityIds are used to get the full details data for the entities\n entities = [],\n tagsOptions = [],\n disabledStatuses,\n projectUsers,\n disabledProjectUsers,\n activeProjectUsers,\n projectsInfo = {},\n projectNames = [],\n isSlideOut = false,\n style = {},\n scope,\n isCompact = false,\n onClose,\n onWatchersUpdate,\n onOpenViewer,\n onEntityFocus,\n onOpen,\n onUriOpen, // when the details panel is opened from uri\n // annotations\n annotations,\n removeAnnotation,\n exportAnnotationComposite,\n entityListId,\n guestCategories = {},\n entityListsContext,\n}: // optional tab state for independent tab management\nDetailsPanelProps) => {\n const {\n closeSlideOut,\n openPip,\n user,\n isGuest,\n entities: contextEntities,\n setEntities,\n slideOut,\n useSearchParams,\n SubtasksManager,\n useNavigate,\n } = useDetailsPanelContext()\n const { currentTab, setTab, isFeed } = useScopedDetailsPanel(scope)\n const [_searchParams, setSearchParams] = useSearchParams()\n const hasCalledOnOpen = useRef(false)\n\n // Use context entities if available, otherwise use props\n const activeEntityType = contextEntities?.entityType ?? entityType\n const activeEntities = contextEntities?.entities ?? entities\n const activeEntitySubTypes = contextEntities?.entitySubTypes ?? entitySubTypes\n const activeEntitiesData = contextEntities?.entities ? [] : entitiesData\n const activeProjectNames = contextEntities?.entities\n ? contextEntities.entities.map((e) => e.projectName)\n : projectNames\n\n // Fire onOpen callback once when component mounts and renders\n useEffect(() => {\n if (onOpen && !hasCalledOnOpen.current) {\n hasCalledOnOpen.current = true\n onOpen()\n }\n }, [])\n\n // Force details tab for specific entity types\n useEffect(() => {\n if (entitiesWithoutFeed.includes(activeEntityType) && currentTab !== 'details') {\n setTab('details')\n }\n }, [activeEntityType, currentTab, setTab])\n\n // once component is provided with specific entities, remove context entities to avoid conflicts\n useEffect(() => {\n if (entities.length && contextEntities) {\n setEntities(null)\n }\n }, [entities, contextEntities, setEntities])\n\n // reduce projectsInfo to selected projects and into one\n const projectInfo = useMemo(\n () => mergeProjectInfo(projectsInfo, activeProjectNames),\n [projectsInfo, activeProjectNames],\n )\n\n // build icons for entity types (used by the entity path breadcrumb)\n const entityTypeIcons = useMemo(() => buildEntityTypeIcons(projectInfo), [projectInfo])\n\n // for example when switching from version to task, task doesn't have reps tab\n // if reps tab was selected, set default to feed\n useEffect(() => {\n if (currentTab === 'files') {\n // check entity type is still version\n if (activeEntityType !== 'version') {\n setTab('feed')\n }\n }\n // Reset to feed if subtasks tab is selected but entity is not a task\n if (currentTab === 'subtasks' && activeEntityType !== 'task') {\n setTab('feed')\n }\n }, [activeEntityType, currentTab, scope])\n\n // now we get the full details data for selected entities\n let entitiesToQuery = activeEntities.length\n ? activeEntities.map((entity) => ({ id: entity.id, projectName: entity.projectName }))\n : // @ts-expect-error = not sure what's going on with activeEntitiesData, we should try and remove it\n activeEntitiesData.map((entity) => ({ id: entity.id, projectName: entity.projectName }))\n\n entitiesToQuery = entitiesToQuery.filter((entity) => entity.id)\n\n const {\n data: entityDetailsData = [],\n isFetching: isFetchingEntitiesDetails,\n isError,\n originalArgs,\n } = useGetEntitiesDetailsPanelQuery(\n { entityType: activeEntityType, entities: entitiesToQuery },\n {\n skip: !entitiesToQuery.length || !detailsPanelEntityTypes.includes(activeEntityType),\n },\n )\n\n // the entity changes then we close the slide out\n useEffect(() => {\n if (!isSlideOut) {\n closeSlideOut()\n }\n }, [originalArgs, isSlideOut])\n\n // if the details panel is opened vair the uri, run callback\n useEffect(() => {\n if (isFetchingEntitiesDetails) return\n\n if (\n (contextEntities?.source === 'uri' || contextEntities?.source === 'url') &&\n contextEntities?.entities?.length &&\n !!onUriOpen\n ) {\n const uriEntity = entityDetailsData.find(\n (entity) => entity.id === contextEntities.entities[0].id,\n )\n if (!uriEntity) return\n\n onUriOpen(uriEntity, contextEntities.source)\n }\n }, [entityDetailsData, isFetchingEntitiesDetails])\n\n // TODO: merge current entities data with fresh details data\n\n const allStatuses = getAllProjectStatuses(projectsInfo)\n\n // get the first project name and info to be used in the feed.\n const firstProject = activeProjectNames[0]\n const firstProjectInfo = projectsInfo[firstProject] || {}\n const firstEntityData = entityDetailsData[0] || {}\n // Use the last entity for URI sync\n const lastEntityData = entityDetailsData[entityDetailsData.length - 1]\n const lastProject = activeProjectNames[activeProjectNames.length - 1]\n\n // build the full entity path for the first entity\n const [entityPathSegments, entityPathVersions] = useGetEntityPath({\n entity: firstEntityData,\n entityType: activeEntityType,\n projectName: firstProject,\n isLoading: isFetchingEntitiesDetails,\n })\n\n const { setEntityUri, setUri } = useURIContext()\n // sync the uri when entity changes\n useEffect(() => {\n if (!lastEntityData?.parents) return\n if (!lastProject) return\n const { folderPath, taskName, versionName, productName } = extractEntityHierarchyFromParents(\n lastEntityData.parents,\n activeEntityType,\n lastEntityData.name,\n )\n\n setEntityUri({\n projectName: lastProject,\n folderPath: folderPath,\n taskName: taskName,\n productName: productName,\n versionName: versionName,\n })\n\n // unmount cleanup: clear uri\n return () => {\n setUri('')\n }\n }, [entityDetailsData, activeProjectNames, activeEntityType])\n\n // sync the details panel url (panel) with entity\n useDetailsPanelURLSync({\n entityData: lastEntityData,\n project: lastProject,\n activeEntityType,\n entitiesToQuery,\n })\n\n const clearSearchUrl = () => {\n // remove URL params when closing\n setSearchParams(\n (prev) => {\n const newParams = new URLSearchParams(prev)\n newParams.delete('project')\n newParams.delete('type')\n newParams.delete('id')\n return newParams\n },\n { replace: true },\n )\n }\n\n const handleClose = () => {\n onClose?.()\n // also remove any entities in context\n setEntities(null)\n clearSearchUrl()\n closeSlideOut()\n }\n\n useEffect(() => {\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape' && onClose) {\n // Don't trigger if we're in an input element\n const target = e.target as HTMLElement\n const isInputElement =\n ['INPUT', 'TEXTAREA', 'SELECT'].includes(target.tagName) || target.isContentEditable\n\n if (isInputElement) return\n\n // don't trigger if the viewer is open and panel not in slideout mode\n if (isSlideOut === false && (target.closest('#viewer-dialog') || !!slideOut)) return\n\n handleClose()\n }\n }\n\n window.addEventListener('keydown', handleKeyDown)\n return () => window.removeEventListener('keydown', handleKeyDown)\n }, [handleClose, isSlideOut, slideOut])\n\n const { requestPipWindow } = usePiPWindow()\n\n // Hoisted so ThumbnailUploadProvider (wrapping the toolbar) and EntityPanelUploader\n // (inside DetailsPanelHeader) share the same ref identity — otherwise the toolbar's\n // more-menu, which sits as a sibling above the header, can't reach the inputs.\n const thumbnailInputRef = useRef<HTMLInputElement>(null)\n const versionsInputRef = useRef<HTMLInputElement>(null)\n const canUploadVersion = entityDetailsData.length === 1 && activeEntityType !== 'representation'\n\n const shareEntityLabel = useMemo(() => {\n const name = firstEntityData?.label || firstEntityData?.name || ''\n const parents: string[] = firstEntityData?.parents || []\n const parts: (string | undefined)[] = [firstProject]\n switch (activeEntityType) {\n case 'folder':\n case 'task':\n case 'product':\n parts.push(parents.at(-1), name)\n break\n case 'version':\n parts.push(parents.at(-2), parents.at(-1), name)\n break\n case 'representation':\n parts.push(parents.at(-3), parents.at(-2), parents.at(-1), name)\n break\n default:\n parts.push(name)\n }\n return parts.filter(Boolean).join(' - ')\n }, [firstEntityData, activeEntityType, firstProject])\n\n const handleOpenPip = () => {\n openPip({\n entityType: activeEntityType,\n entities: entitiesToQuery,\n scope: scope,\n })\n requestPipWindow(500, 500)\n }\n\n const isCommentingEnabled = () => {\n // cannot comment on multiple projects\n if (activeProjectNames.length > 1) return false\n if (isGuest) {\n // Guest can only comment in review sessions (for now)\n if (!entityListId) return false\n // Guest must have at least one category set for list\n const guestHasCategory = Object.prototype.hasOwnProperty.call(\n guestCategories,\n user.attrib?.email || '',\n )\n if (!guestHasCategory) return false\n }\n return true\n }\n\n return (\n <ThumbnailUploadProvider\n thumbnailInputRef={thumbnailInputRef}\n versionsInputRef={versionsInputRef}\n canUploadVersion={canUploadVersion}\n >\n <Styled.Panel className=\"details-panel\">\n <Styled.Toolbar>\n {/* TODO FIX PATH */}\n <EntityPath\n segments={entityPathSegments}\n versions={entityPathVersions}\n projectName={firstProject}\n hideProjectName={isSlideOut}\n isLoading={isFetchingEntitiesDetails || !entityPathSegments.length}\n entityType={activeEntityType}\n scope={scope}\n // @ts-ignore\n entityTypeIcons={entityTypeIcons}\n />\n <Styled.RightTools className=\"right-tools\">\n <DetailsPanelMoreMenu\n entityType={activeEntityType}\n entityId={firstEntityData?.id}\n entityIds={entitiesToQuery.map((e) => e.id).filter(Boolean)}\n entityLabel={shareEntityLabel}\n projectName={firstProject}\n selectedEntities={entityDetailsData\n .filter((e) => !!e?.id)\n .map((e) => ({\n entityId: e.id,\n entityType: e.entityType || activeEntityType,\n hasReviewables: !!e.hasReviewables,\n }))}\n entityListsContext={entityListsContext}\n onOpenPip={handleOpenPip}\n onOpenViewer={onOpenViewer}\n productId={firstEntityData?.product?.id}\n taskId={firstEntityData?.task?.id}\n folderId={firstEntityData?.folder?.id}\n />\n <Watchers\n entities={entitiesToQuery}\n entityType={activeEntityType}\n options={projectUsers || []}\n onWatchersUpdate={onWatchersUpdate && onWatchersUpdate}\n userName={user.name}\n />\n\n {onClose && (\n <Button\n icon=\"close\"\n variant={'text'}\n onClick={handleClose}\n data-shortcut={'Escape'}\n />\n )}\n </Styled.RightTools>\n </Styled.Toolbar>\n\n <DetailsPanelHeader\n entityType={activeEntityType}\n entitySubTypes={activeEntitySubTypes}\n entities={entityDetailsData}\n users={projectUsers}\n disabledAssignees={disabledProjectUsers}\n disabledStatuses={disabledStatuses}\n tagsOptions={tagsOptions}\n isFetching={isFetchingEntitiesDetails}\n isCompact={isCompact}\n currentTab={currentTab}\n onTabChange={setTab}\n projectInfo={projectInfo}\n onOpenViewer={(args) => onOpenViewer?.(args)}\n onEntityFocus={onEntityFocus}\n thumbnailInputRef={thumbnailInputRef}\n versionsInputRef={versionsInputRef}\n />\n\n <ProjectContextProvider projectName={firstProject}>\n {isFeed && !isError && (\n <FeedWrapper\n entityType={activeEntityType}\n entities={entityDetailsData}\n activeUsers={activeProjectUsers || []}\n projectInfo={firstProjectInfo}\n projectName={firstProject}\n disabled={!isCommentingEnabled()}\n scope={scope}\n statuses={allStatuses}\n readOnly={false}\n entityListId={entityListId}\n annotations={annotations}\n removeAnnotation={removeAnnotation}\n exportAnnotationComposite={exportAnnotationComposite}\n isSlideOut={isSlideOut}\n />\n )}\n {currentTab === 'subtasks' &&\n activeEntityType === 'task' &&\n firstEntityData?.id &&\n SubtasksManager && (\n <DetailsPanelSubtasks\n projectName={firstProject}\n taskId={firstEntityData.id}\n subtasks={firstEntityData.task?.subtasks || []}\n SubtasksManager={SubtasksManager}\n useNavigate={useNavigate!}\n onNotFound={() => setTab('feed')} // if subtasks module is not found, switch to feed tab\n />\n )}\n {currentTab === 'files' && (\n <DetailsPanelFiles\n entities={entityDetailsData}\n scope={scope}\n isLoadingVersion={isFetchingEntitiesDetails}\n />\n )}\n {currentTab === 'details' && (\n <FeedContextWrapper\n entityType={activeEntityType}\n entities={entityDetailsData}\n activeUsers={activeProjectUsers || []}\n projectInfo={firstProjectInfo}\n projectName={firstProject}\n disabled={!isCommentingEnabled()}\n scope={scope}\n statuses={allStatuses}\n readOnly={false}\n annotations={annotations}\n removeAnnotation={removeAnnotation}\n exportAnnotationComposite={exportAnnotationComposite}\n >\n <DetailsPanelDetails\n entities={entityDetailsData}\n isLoading={isFetchingEntitiesDetails}\n />\n </FeedContextWrapper>\n )}\n </ProjectContextProvider>\n </Styled.Panel>\n </ThumbnailUploadProvider>\n )\n}\n\n// create a wrapper that checks if the details panel should be open or not based on isOpen prop and entities state\nexport const DetailsPanel = ({\n isOpen,\n entityType,\n ...props\n}: Omit<DetailsPanelProps, 'entityType'> & {\n entityType?: DetailsPanelEntityType\n isOpen: boolean\n}) => {\n const { entities } = useDetailsPanelContext()\n\n if (!isOpen && !entities) return null\n if (!entityType && !entities) return null\n\n // @ts-expect-error - entityType could be undefined but we check for entities above\n return <DetailsPanelInner {...props} entityType={entityType || entities?.entityType} />\n}\n"],"names":["entitiesWithoutFeed","DetailsPanelInner","entityType","entitySubTypes","entitiesData","entities","tagsOptions","disabledStatuses","projectUsers","disabledProjectUsers","activeProjectUsers","projectsInfo","projectNames","isSlideOut","style","scope","isCompact","onClose","onWatchersUpdate","onOpenViewer","onEntityFocus","onOpen","onUriOpen","annotations","removeAnnotation","exportAnnotationComposite","entityListId","guestCategories","entityListsContext","closeSlideOut","openPip","user","isGuest","contextEntities","setEntities","slideOut","useSearchParams","SubtasksManager","useNavigate","useDetailsPanelContext","currentTab","setTab","isFeed","useScopedDetailsPanel","_searchParams","setSearchParams","hasCalledOnOpen","useRef","activeEntityType","activeEntities","activeEntitySubTypes","activeEntitiesData","activeProjectNames","useEffect","projectInfo","useMemo","mergeProjectInfo","entityTypeIcons","buildEntityTypeIcons","entitiesToQuery","entity","entityDetailsData","isFetchingEntitiesDetails","isError","originalArgs","useGetEntitiesDetailsPanelQuery","detailsPanelEntityTypes","uriEntity","allStatuses","getAllProjectStatuses","firstProject","firstProjectInfo","firstEntityData","lastEntityData","lastProject","entityPathSegments","entityPathVersions","useGetEntityPath","setEntityUri","setUri","useURIContext","folderPath","taskName","versionName","productName","extractEntityHierarchyFromParents","useDetailsPanelURLSync","clearSearchUrl","prev","newParams","handleClose","handleKeyDown","e","target","requestPipWindow","usePiPWindow","thumbnailInputRef","versionsInputRef","canUploadVersion","shareEntityLabel","name","parents","parts","handleOpenPip","isCommentingEnabled","jsx","ThumbnailUploadProvider","jsxs","Styled.Panel","Styled.Toolbar","EntityPath","Styled.RightTools","DetailsPanelMoreMenu","Watchers","Button","DetailsPanelHeader","args","ProjectContextProvider","FeedWrapper","DetailsPanelSubtasks","DetailsPanelFiles","FeedContextWrapper","DetailsPanelDetails","DetailsPanel","isOpen","props"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { j as o } from "../../../../_virtual/jsx-runtime.es.js";
2
2
  import { Button as Dt } from "@ynput/ayon-react-components";
3
- import { useRef as w, useEffect as c, useMemo as I } from "react";
4
- import wt from "./hooks/useDetailsPanelURLSync.es.js";
5
- import { Panel as It, Toolbar as Rt, RightTools as St } from "./DetailsPanel.styled.es.js";
3
+ import { useRef as I, useEffect as c, useMemo as w } from "react";
4
+ import It from "./hooks/useDetailsPanelURLSync.es.js";
5
+ import { Panel as wt, Toolbar as Rt, RightTools as St } from "./DetailsPanel.styled.es.js";
6
6
  import "../../api/base/client.es.js";
7
7
  import "../../api/generated/graphql.es.js";
8
8
  import "../../api/generated/graphqlLinks.es.js";
@@ -136,7 +136,7 @@ import "../Feed/components/CommentInput/modules/index.es.js";
136
136
  import "../../context/RemoteModulesContext.es.js";
137
137
  import "../../../../_virtual/runtime.es.js";
138
138
  import "../../../../_virtual/semver.es.js";
139
- import { useDetailsPanelContext as tt, useScopedDetailsPanel as Wt } from "../../context/DetailsPanelContext.es.js";
139
+ import { useDetailsPanelContext as $, useScopedDetailsPanel as Wt } from "../../context/DetailsPanelContext.es.js";
140
140
  import "../../context/PowerpackContextInstance.es.js";
141
141
  import "../../context/SubtasksModulesContextInstance.es.js";
142
142
  import { ThumbnailUploadProvider as Ht } from "../../context/ThumbnailUploaderContext.es.js";
@@ -244,7 +244,8 @@ import qt from "./helpers/getAllProjectsStatuses.es.js";
244
244
  import Kt from "./containers/FeedWrapper.es.js";
245
245
  import Xt from "./containers/FeedContextWrapper.es.js";
246
246
  import _t from "./helpers/mergeProjectInfo.es.js";
247
- import zt from "./containers/DetailsPanelSubtasks.es.js";
247
+ import zt from "./helpers/buildEntityTypeIcons.es.js";
248
+ import Jt from "./containers/DetailsPanelSubtasks.es.js";
248
249
  import "./components/DetailsPanelHeader/DetailsPanelHeader.styled.es.js";
249
250
  import "./components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.es.js";
250
251
  import "./components/DetailsPanelFloating/DetailsPanelFloating.styled.es.js";
@@ -261,7 +262,7 @@ import "../../components/EntityPanelUploader/EntityPanelUploader.styled.es.js";
261
262
  import "axios";
262
263
  import "../../components/ReviewablesList/ReviewablesList.styled.es.js";
263
264
  import "../../components/ReviewablesList/ReviewablesUpload.styled.es.js";
264
- import { EntityPath as Jt } from "../../components/EntityPath/EntityPath.es.js";
265
+ import { EntityPath as Yt } from "../../components/EntityPath/EntityPath.es.js";
265
266
  import "../../components/FeaturedVersionOrder/FeaturedVersionOrder.es.js";
266
267
  import "../../components/Feedback/FeedbackContextInstance.es.js";
267
268
  import "../../components/Feedback/SupportBubble.es.js";
@@ -288,33 +289,33 @@ import "../../components/Thumbnail/StackedThumbnails.es.js";
288
289
  import "../../components/ThumbnailSimple/ThumbnailSimple.es.js";
289
290
  import "../../components/VersionUploader/components/UploadVersionDialog.es.js";
290
291
  import "../../components/VersionUploader/context/VersionUploadContext.es.js";
291
- import { Watchers as Yt } from "../../components/Watchers/Watchers.es.js";
292
+ import { Watchers as Zt } from "../../components/Watchers/Watchers.es.js";
292
293
  import "../../components/Menu/Menu.styled.es.js";
293
294
  import "../../components/Menu/MenuItem.es.js";
294
295
  import "../../components/ReviewablesSelector/ReviewablesSelector.es.js";
295
296
  import "../../components/ColumnHeaderMenuUI.es.js";
296
- const Zt = ["product", "representation"], $t = ({
297
+ const $t = ["product", "representation"], ti = ({
297
298
  entityType: b,
298
299
  entitySubTypes: P = [],
299
300
  // entities is data we already have from kanban
300
- entitiesData: x = [],
301
+ entitiesData: T = [],
301
302
  // entityIds are used to get the full details data for the entities
302
303
  entities: d = [],
303
- tagsOptions: it = [],
304
- disabledStatuses: rt,
304
+ tagsOptions: tt = [],
305
+ disabledStatuses: it,
305
306
  projectUsers: R,
306
- disabledProjectUsers: ot,
307
+ disabledProjectUsers: rt,
307
308
  activeProjectUsers: S,
308
309
  projectsInfo: g = {},
309
- projectNames: et = [],
310
+ projectNames: ot = [],
310
311
  isSlideOut: h = !1,
311
- style: ti = {},
312
+ style: ii = {},
312
313
  scope: u,
313
- isCompact: pt = !1,
314
- onClose: N,
314
+ isCompact: et = !1,
315
+ onClose: x,
315
316
  onWatchersUpdate: C,
316
317
  onOpenViewer: F,
317
- onEntityFocus: mt,
318
+ onEntityFocus: pt,
318
319
  onOpen: L,
319
320
  onUriOpen: U,
320
321
  // when the details panel is opened from uri
@@ -323,45 +324,38 @@ const Zt = ["product", "representation"], $t = ({
323
324
  removeAnnotation: H,
324
325
  exportAnnotationComposite: M,
325
326
  entityListId: A,
326
- guestCategories: st = {},
327
- entityListsContext: nt
327
+ guestCategories: mt = {},
328
+ entityListsContext: st
328
329
  }) => {
329
330
  const {
330
331
  closeSlideOut: B,
331
- openPip: at,
332
+ openPip: nt,
332
333
  user: G,
333
- isGuest: lt,
334
+ isGuest: at,
334
335
  entities: e,
335
- setEntities: k,
336
+ setEntities: N,
336
337
  slideOut: O,
337
- useSearchParams: ct,
338
+ useSearchParams: lt,
338
339
  SubtasksManager: V,
339
- useNavigate: dt
340
- } = tt(), { currentTab: a, setTab: j, isFeed: ut } = Wt(u), [ii, ft] = ct(), Q = w(!1), r = e?.entityType ?? b, q = e?.entities ?? d, yt = e?.entitySubTypes ?? P, ht = e?.entities ? [] : x, f = e?.entities ? e.entities.map((t) => t.projectName) : et;
340
+ useNavigate: ct
341
+ } = $(), { currentTab: a, setTab: j, isFeed: dt } = Wt(u), [ri, ut] = lt(), Q = I(!1), i = e?.entityType ?? b, q = e?.entities ?? d, ft = e?.entitySubTypes ?? P, yt = e?.entities ? [] : T, f = e?.entities ? e.entities.map((t) => t.projectName) : ot;
341
342
  c(() => {
342
343
  L && !Q.current && (Q.current = !0, L());
343
344
  }, []), c(() => {
344
- Zt.includes(r) && a !== "details" && j("details");
345
- }, [r, a, j]), c(() => {
346
- d.length && e && k(null);
347
- }, [d, e, k]);
348
- const E = I(
345
+ $t.includes(i) && a !== "details" && j("details");
346
+ }, [i, a, j]), c(() => {
347
+ d.length && e && N(null);
348
+ }, [d, e, N]);
349
+ const k = w(
349
350
  () => _t(g, f),
350
351
  [g, f]
351
- ), K = I(
352
- () => ({
353
- task: E.taskTypes.filter((t) => !!t.icon).reduce((t, i) => ({ ...t, [i.name]: i.icon }), {}),
354
- folder: E.folderTypes.filter((t) => !!t.icon).reduce((t, i) => ({ ...t, [i.name]: i.icon }), {}),
355
- product: E.productTypes.filter((t) => !!t.icon).reduce((t, i) => ({ ...t, [i.name]: i.icon }), {})
356
- }),
357
- [E]
358
- );
352
+ ), ht = w(() => zt(k), [k]);
359
353
  c(() => {
360
- a === "files" && r !== "version" && j("feed"), a === "subtasks" && r !== "task" && j("feed");
361
- }, [r, a, u]);
354
+ a === "files" && i !== "version" && j("feed"), a === "subtasks" && i !== "task" && j("feed");
355
+ }, [i, a, u]);
362
356
  let l = q.length ? q.map((t) => ({ id: t.id, projectName: t.projectName })) : (
363
357
  // @ts-expect-error = not sure what's going on with activeEntitiesData, we should try and remove it
364
- ht.map((t) => ({ id: t.id, projectName: t.projectName }))
358
+ yt.map((t) => ({ id: t.id, projectName: t.projectName }))
365
359
  );
366
360
  l = l.filter((t) => t.id);
367
361
  const {
@@ -370,9 +364,9 @@ const Zt = ["product", "representation"], $t = ({
370
364
  isError: jt,
371
365
  originalArgs: Pt
372
366
  } = Ct(
373
- { entityType: r, entities: l },
367
+ { entityType: i, entities: l },
374
368
  {
375
- skip: !l.length || !Ft.includes(r)
369
+ skip: !l.length || !Ft.includes(i)
376
370
  }
377
371
  );
378
372
  c(() => {
@@ -380,125 +374,125 @@ const Zt = ["product", "representation"], $t = ({
380
374
  }, [Pt, h]), c(() => {
381
375
  if (!y && (e?.source === "uri" || e?.source === "url") && e?.entities?.length && U) {
382
376
  const t = p.find(
383
- (i) => i.id === e.entities[0].id
377
+ (r) => r.id === e.entities[0].id
384
378
  );
385
379
  if (!t) return;
386
380
  U(t, e.source);
387
381
  }
388
382
  }, [p, y]);
389
- const X = qt(g), n = f[0], _ = g[n] || {}, m = p[0] || {}, T = p[p.length - 1], v = f[f.length - 1], [z, gt] = Qt({
383
+ const K = qt(g), n = f[0], X = g[n] || {}, m = p[0] || {}, E = p[p.length - 1], v = f[f.length - 1], [_, gt] = Qt({
390
384
  entity: m,
391
- entityType: r,
385
+ entityType: i,
392
386
  projectName: n,
393
387
  isLoading: y
394
- }), { setEntityUri: Et, setUri: Tt } = Bt();
388
+ }), { setEntityUri: Et, setUri: bt } = Bt();
395
389
  c(() => {
396
- if (!T?.parents || !v) return;
397
- const { folderPath: t, taskName: i, versionName: s, productName: $ } = Lt(
398
- T.parents,
399
- r,
400
- T.name
390
+ if (!E?.parents || !v) return;
391
+ const { folderPath: t, taskName: r, versionName: s, productName: Z } = Lt(
392
+ E.parents,
393
+ i,
394
+ E.name
401
395
  );
402
396
  return Et({
403
397
  projectName: v,
404
398
  folderPath: t,
405
- taskName: i,
406
- productName: $,
399
+ taskName: r,
400
+ productName: Z,
407
401
  versionName: s
408
402
  }), () => {
409
- Tt("");
403
+ bt("");
410
404
  };
411
- }, [p, f, r]), wt({
412
- entityData: T,
405
+ }, [p, f, i]), It({
406
+ entityData: E,
413
407
  project: v,
414
- activeEntityType: r,
408
+ activeEntityType: i,
415
409
  entitiesToQuery: l
416
410
  });
417
- const bt = () => {
418
- ft(
411
+ const Tt = () => {
412
+ ut(
419
413
  (t) => {
420
- const i = new URLSearchParams(t);
421
- return i.delete("project"), i.delete("type"), i.delete("id"), i;
414
+ const r = new URLSearchParams(t);
415
+ return r.delete("project"), r.delete("type"), r.delete("id"), r;
422
416
  },
423
417
  { replace: !0 }
424
418
  );
425
419
  }, D = () => {
426
- N?.(), k(null), bt(), B();
420
+ x?.(), N(null), Tt(), B();
427
421
  };
428
422
  c(() => {
429
- const t = (i) => {
430
- if (i.key === "Escape" && N) {
431
- const s = i.target;
423
+ const t = (r) => {
424
+ if (r.key === "Escape" && x) {
425
+ const s = r.target;
432
426
  if (["INPUT", "TEXTAREA", "SELECT"].includes(s.tagName) || s.isContentEditable || h === !1 && (s.closest("#viewer-dialog") || O)) return;
433
427
  D();
434
428
  }
435
429
  };
436
430
  return window.addEventListener("keydown", t), () => window.removeEventListener("keydown", t);
437
431
  }, [D, h, O]);
438
- const { requestPipWindow: xt } = Mt(), J = w(null), Y = w(null), Nt = p.length === 1 && r !== "representation", kt = I(() => {
439
- const t = m?.label || m?.name || "", i = m?.parents || [], s = [n];
440
- switch (r) {
432
+ const { requestPipWindow: xt } = Mt(), z = I(null), J = I(null), Nt = p.length === 1 && i !== "representation", kt = w(() => {
433
+ const t = m?.label || m?.name || "", r = m?.parents || [], s = [n];
434
+ switch (i) {
441
435
  case "folder":
442
436
  case "task":
443
437
  case "product":
444
- s.push(i.at(-1), t);
438
+ s.push(r.at(-1), t);
445
439
  break;
446
440
  case "version":
447
- s.push(i.at(-2), i.at(-1), t);
441
+ s.push(r.at(-2), r.at(-1), t);
448
442
  break;
449
443
  case "representation":
450
- s.push(i.at(-3), i.at(-2), i.at(-1), t);
444
+ s.push(r.at(-3), r.at(-2), r.at(-1), t);
451
445
  break;
452
446
  default:
453
447
  s.push(t);
454
448
  }
455
449
  return s.filter(Boolean).join(" - ");
456
- }, [m, r, n]), vt = () => {
457
- at({
458
- entityType: r,
450
+ }, [m, i, n]), vt = () => {
451
+ nt({
452
+ entityType: i,
459
453
  entities: l,
460
454
  scope: u
461
455
  }), xt(500, 500);
462
- }, Z = () => !(f.length > 1 || lt && (!A || !Object.prototype.hasOwnProperty.call(
463
- st,
456
+ }, Y = () => !(f.length > 1 || at && (!A || !Object.prototype.hasOwnProperty.call(
457
+ mt,
464
458
  G.attrib?.email || ""
465
459
  )));
466
460
  return /* @__PURE__ */ o.jsx(
467
461
  Ht,
468
462
  {
469
- thumbnailInputRef: J,
470
- versionsInputRef: Y,
463
+ thumbnailInputRef: z,
464
+ versionsInputRef: J,
471
465
  canUploadVersion: Nt,
472
- children: /* @__PURE__ */ o.jsxs(It, { className: "details-panel", children: [
466
+ children: /* @__PURE__ */ o.jsxs(wt, { className: "details-panel", children: [
473
467
  /* @__PURE__ */ o.jsxs(Rt, { children: [
474
468
  /* @__PURE__ */ o.jsx(
475
- Jt,
469
+ Yt,
476
470
  {
477
- segments: z,
471
+ segments: _,
478
472
  versions: gt,
479
473
  projectName: n,
480
474
  hideProjectName: h,
481
- isLoading: y || !z.length,
482
- entityType: r,
475
+ isLoading: y || !_.length,
476
+ entityType: i,
483
477
  scope: u,
484
- entityTypeIcons: K
478
+ entityTypeIcons: ht
485
479
  }
486
480
  ),
487
481
  /* @__PURE__ */ o.jsxs(St, { className: "right-tools", children: [
488
482
  /* @__PURE__ */ o.jsx(
489
483
  Vt,
490
484
  {
491
- entityType: r,
485
+ entityType: i,
492
486
  entityId: m?.id,
493
487
  entityIds: l.map((t) => t.id).filter(Boolean),
494
488
  entityLabel: kt,
495
489
  projectName: n,
496
490
  selectedEntities: p.filter((t) => !!t?.id).map((t) => ({
497
491
  entityId: t.id,
498
- entityType: t.entityType || r,
492
+ entityType: t.entityType || i,
499
493
  hasReviewables: !!t.hasReviewables
500
494
  })),
501
- entityListsContext: nt,
495
+ entityListsContext: st,
502
496
  onOpenPip: vt,
503
497
  onOpenViewer: F,
504
498
  productId: m?.product?.id,
@@ -507,16 +501,16 @@ const Zt = ["product", "representation"], $t = ({
507
501
  }
508
502
  ),
509
503
  /* @__PURE__ */ o.jsx(
510
- Yt,
504
+ Zt,
511
505
  {
512
506
  entities: l,
513
- entityType: r,
507
+ entityType: i,
514
508
  options: R || [],
515
509
  onWatchersUpdate: C && C,
516
510
  userName: G.name
517
511
  }
518
512
  ),
519
- N && /* @__PURE__ */ o.jsx(
513
+ x && /* @__PURE__ */ o.jsx(
520
514
  Dt,
521
515
  {
522
516
  icon: "close",
@@ -530,36 +524,36 @@ const Zt = ["product", "representation"], $t = ({
530
524
  /* @__PURE__ */ o.jsx(
531
525
  Gt,
532
526
  {
533
- entityType: r,
534
- entitySubTypes: yt,
527
+ entityType: i,
528
+ entitySubTypes: ft,
535
529
  entities: p,
536
530
  users: R,
537
- disabledAssignees: ot,
538
- disabledStatuses: rt,
539
- tagsOptions: it,
531
+ disabledAssignees: rt,
532
+ disabledStatuses: it,
533
+ tagsOptions: tt,
540
534
  isFetching: y,
541
- isCompact: pt,
535
+ isCompact: et,
542
536
  currentTab: a,
543
537
  onTabChange: j,
544
- entityTypeIcons: K,
538
+ projectInfo: k,
545
539
  onOpenViewer: (t) => F?.(t),
546
- onEntityFocus: mt,
547
- thumbnailInputRef: J,
548
- versionsInputRef: Y
540
+ onEntityFocus: pt,
541
+ thumbnailInputRef: z,
542
+ versionsInputRef: J
549
543
  }
550
544
  ),
551
545
  /* @__PURE__ */ o.jsxs(At, { projectName: n, children: [
552
- ut && !jt && /* @__PURE__ */ o.jsx(
546
+ dt && !jt && /* @__PURE__ */ o.jsx(
553
547
  Kt,
554
548
  {
555
- entityType: r,
549
+ entityType: i,
556
550
  entities: p,
557
551
  activeUsers: S || [],
558
- projectInfo: _,
552
+ projectInfo: X,
559
553
  projectName: n,
560
- disabled: !Z(),
554
+ disabled: !Y(),
561
555
  scope: u,
562
- statuses: X,
556
+ statuses: K,
563
557
  readOnly: !1,
564
558
  entityListId: A,
565
559
  annotations: W,
@@ -568,14 +562,14 @@ const Zt = ["product", "representation"], $t = ({
568
562
  isSlideOut: h
569
563
  }
570
564
  ),
571
- a === "subtasks" && r === "task" && m?.id && V && /* @__PURE__ */ o.jsx(
572
- zt,
565
+ a === "subtasks" && i === "task" && m?.id && V && /* @__PURE__ */ o.jsx(
566
+ Jt,
573
567
  {
574
568
  projectName: n,
575
569
  taskId: m.id,
576
570
  subtasks: m.task?.subtasks || [],
577
571
  SubtasksManager: V,
578
- useNavigate: dt,
572
+ useNavigate: ct,
579
573
  onNotFound: () => j("feed")
580
574
  }
581
575
  ),
@@ -590,14 +584,14 @@ const Zt = ["product", "representation"], $t = ({
590
584
  a === "details" && /* @__PURE__ */ o.jsx(
591
585
  Xt,
592
586
  {
593
- entityType: r,
587
+ entityType: i,
594
588
  entities: p,
595
589
  activeUsers: S || [],
596
- projectInfo: _,
590
+ projectInfo: X,
597
591
  projectName: n,
598
- disabled: !Z(),
592
+ disabled: !Y(),
599
593
  scope: u,
600
- statuses: X,
594
+ statuses: K,
601
595
  readOnly: !1,
602
596
  annotations: W,
603
597
  removeAnnotation: H,
@@ -615,16 +609,16 @@ const Zt = ["product", "representation"], $t = ({
615
609
  ] })
616
610
  }
617
611
  );
618
- }, wm = ({
612
+ }, Rm = ({
619
613
  isOpen: b,
620
614
  entityType: P,
621
- ...x
615
+ ...T
622
616
  }) => {
623
- const { entities: d } = tt();
624
- return !b && !d || !P && !d ? null : /* @__PURE__ */ o.jsx($t, { ...x, entityType: P || d?.entityType });
617
+ const { entities: d } = $();
618
+ return !b && !d || !P && !d ? null : /* @__PURE__ */ o.jsx(ti, { ...T, entityType: P || d?.entityType });
625
619
  };
626
620
  export {
627
- wm as DetailsPanel,
628
- Zt as entitiesWithoutFeed
621
+ Rm as DetailsPanel,
622
+ $t as entitiesWithoutFeed
629
623
  };
630
624
  //# sourceMappingURL=DetailsPanel.es.js.map