@ynput/ayon-frontend-shared 0.3.9 → 0.3.11

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 (817) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +24 -22
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +182 -171
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Slicer.cjs.js +1 -1
  8. package/dist/Slicer.es.js +13 -11
  9. package/dist/Slicer.es.js.map +1 -1
  10. package/dist/_virtual/index.cjs10.js +1 -1
  11. package/dist/_virtual/index.cjs11.js +1 -1
  12. package/dist/_virtual/index.cjs12.js +1 -1
  13. package/dist/_virtual/index.es10.js +3 -3
  14. package/dist/_virtual/index.es11.js +5 -5
  15. package/dist/_virtual/index.es12.js +5 -5
  16. package/dist/api.cjs.js +1 -1
  17. package/dist/api.es.js +352 -342
  18. package/dist/api.es.js.map +1 -1
  19. package/dist/context.cjs.js +1 -1
  20. package/dist/context.es.js +39 -36
  21. package/dist/context.es.js.map +1 -1
  22. package/dist/index.cjs.js +1 -1
  23. package/dist/index.es.js +11 -9
  24. package/dist/index.es.js.map +1 -1
  25. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  26. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  27. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  28. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  29. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  30. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  31. package/dist/shared/src/api/generated/actions.cjs.js.map +1 -1
  32. package/dist/shared/src/api/generated/actions.es.js.map +1 -1
  33. package/dist/shared/src/api/generated/folders.cjs.js.map +1 -1
  34. package/dist/shared/src/api/generated/folders.es.js.map +1 -1
  35. package/dist/shared/src/api/generated/projectFolders.cjs.js +2 -0
  36. package/dist/shared/src/api/generated/projectFolders.cjs.js.map +1 -0
  37. package/dist/shared/src/api/generated/projectFolders.es.js +44 -0
  38. package/dist/shared/src/api/generated/projectFolders.es.js.map +1 -0
  39. package/dist/shared/src/api/generated/projects.cjs.js +1 -1
  40. package/dist/shared/src/api/generated/projects.cjs.js.map +1 -1
  41. package/dist/shared/src/api/generated/projects.es.js +20 -0
  42. package/dist/shared/src/api/generated/projects.es.js.map +1 -1
  43. package/dist/shared/src/api/generated/system.cjs.js.map +1 -1
  44. package/dist/shared/src/api/generated/system.es.js.map +1 -1
  45. package/dist/shared/src/api/queries/actions/getActions.cjs.js +1 -1
  46. package/dist/shared/src/api/queries/actions/getActions.cjs.js.map +1 -1
  47. package/dist/shared/src/api/queries/actions/getActions.es.js +11 -10
  48. package/dist/shared/src/api/queries/actions/getActions.es.js.map +1 -1
  49. package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -1
  50. package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
  51. package/dist/shared/src/api/queries/activities/getActivities.es.js +11 -10
  52. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  53. package/dist/shared/src/api/queries/activities/getCategories.cjs.js +1 -1
  54. package/dist/shared/src/api/queries/activities/getCategories.cjs.js.map +1 -1
  55. package/dist/shared/src/api/queries/activities/getCategories.es.js +3 -2
  56. package/dist/shared/src/api/queries/activities/getCategories.es.js.map +1 -1
  57. package/dist/shared/src/api/queries/activities/getMentions.cjs.js +1 -1
  58. package/dist/shared/src/api/queries/activities/getMentions.cjs.js.map +1 -1
  59. package/dist/shared/src/api/queries/activities/getMentions.es.js +3 -2
  60. package/dist/shared/src/api/queries/activities/getMentions.es.js.map +1 -1
  61. package/dist/shared/src/api/queries/activities/updateReaction.cjs.js +1 -1
  62. package/dist/shared/src/api/queries/activities/updateReaction.cjs.js.map +1 -1
  63. package/dist/shared/src/api/queries/activities/updateReaction.es.js +4 -3
  64. package/dist/shared/src/api/queries/activities/updateReaction.es.js.map +1 -1
  65. package/dist/shared/src/api/queries/addons/getAddons.cjs.js +1 -1
  66. package/dist/shared/src/api/queries/addons/getAddons.cjs.js.map +1 -1
  67. package/dist/shared/src/api/queries/addons/getAddons.es.js +7 -6
  68. package/dist/shared/src/api/queries/addons/getAddons.es.js.map +1 -1
  69. package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js +1 -1
  70. package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js.map +1 -1
  71. package/dist/shared/src/api/queries/attributes/getAttributes.es.js +4 -3
  72. package/dist/shared/src/api/queries/attributes/getAttributes.es.js.map +1 -1
  73. package/dist/shared/src/api/queries/authentication/getAuthentication.cjs.js +1 -1
  74. package/dist/shared/src/api/queries/authentication/getAuthentication.cjs.js.map +1 -1
  75. package/dist/shared/src/api/queries/authentication/getAuthentication.es.js +4 -3
  76. package/dist/shared/src/api/queries/authentication/getAuthentication.es.js.map +1 -1
  77. package/dist/shared/src/api/queries/cloud/cloud.cjs.js +1 -1
  78. package/dist/shared/src/api/queries/cloud/cloud.cjs.js.map +1 -1
  79. package/dist/shared/src/api/queries/cloud/cloud.es.js +9 -8
  80. package/dist/shared/src/api/queries/cloud/cloud.es.js.map +1 -1
  81. package/dist/shared/src/api/queries/config/getConfig.cjs.js +1 -1
  82. package/dist/shared/src/api/queries/config/getConfig.cjs.js.map +1 -1
  83. package/dist/shared/src/api/queries/config/getConfig.es.js +9 -8
  84. package/dist/shared/src/api/queries/config/getConfig.es.js.map +1 -1
  85. package/dist/shared/src/api/queries/entities/getEntity.cjs.js +1 -1
  86. package/dist/shared/src/api/queries/entities/getEntity.cjs.js.map +1 -1
  87. package/dist/shared/src/api/queries/entities/getEntity.es.js +13 -12
  88. package/dist/shared/src/api/queries/entities/getEntity.es.js.map +1 -1
  89. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
  90. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
  91. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +4 -3
  92. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  93. package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js +1 -1
  94. package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js.map +1 -1
  95. package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js +4 -2
  96. package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js.map +1 -1
  97. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  98. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  99. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +5 -3
  100. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  101. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  102. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  103. package/dist/shared/src/api/queries/entityLists/getLists.es.js +15 -14
  104. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  105. package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js +1 -1
  106. package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js.map +1 -1
  107. package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js +3 -2
  108. package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js.map +1 -1
  109. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js +1 -1
  110. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js.map +1 -1
  111. package/dist/shared/src/api/queries/entityLists/listFolders.es.js +22 -20
  112. package/dist/shared/src/api/queries/entityLists/listFolders.es.js.map +1 -1
  113. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -1
  114. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
  115. package/dist/shared/src/api/queries/entityLists/updateLists.es.js +17 -16
  116. package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
  117. package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -1
  118. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  119. package/dist/shared/src/api/queries/folders/getFolders.es.js +4 -3
  120. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  121. package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js +1 -1
  122. package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js.map +1 -1
  123. package/dist/shared/src/api/queries/grouping/getGrouping.es.js +22 -6
  124. package/dist/shared/src/api/queries/grouping/getGrouping.es.js.map +1 -1
  125. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
  126. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
  127. package/dist/shared/src/api/queries/links/getEntityLinks.es.js +3 -2
  128. package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
  129. package/dist/shared/src/api/queries/links/getLinks.cjs.js +1 -1
  130. package/dist/shared/src/api/queries/links/getLinks.cjs.js.map +1 -1
  131. package/dist/shared/src/api/queries/links/getLinks.es.js +14 -13
  132. package/dist/shared/src/api/queries/links/getLinks.es.js.map +1 -1
  133. package/dist/shared/src/api/queries/links/updateLinks.cjs.js +1 -1
  134. package/dist/shared/src/api/queries/links/updateLinks.cjs.js.map +1 -1
  135. package/dist/shared/src/api/queries/links/updateLinks.es.js +17 -16
  136. package/dist/shared/src/api/queries/links/updateLinks.es.js.map +1 -1
  137. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  138. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  139. package/dist/shared/src/api/queries/overview/getOverview.es.js +37 -36
  140. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  141. package/dist/shared/src/api/queries/overview/patchVersions.cjs.js +1 -1
  142. package/dist/shared/src/api/queries/overview/patchVersions.cjs.js.map +1 -1
  143. package/dist/shared/src/api/queries/overview/patchVersions.es.js +88 -53
  144. package/dist/shared/src/api/queries/overview/patchVersions.es.js.map +1 -1
  145. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  146. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  147. package/dist/shared/src/api/queries/overview/updateOverview.es.js +8 -6
  148. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  149. package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js +1 -1
  150. package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js.map +1 -1
  151. package/dist/shared/src/api/queries/permissions/getPermissions.es.js +4 -3
  152. package/dist/shared/src/api/queries/permissions/getPermissions.es.js.map +1 -1
  153. package/dist/shared/src/api/queries/products/createProduct.cjs.js +1 -1
  154. package/dist/shared/src/api/queries/products/createProduct.cjs.js.map +1 -1
  155. package/dist/shared/src/api/queries/products/createProduct.es.js +3 -2
  156. package/dist/shared/src/api/queries/products/createProduct.es.js.map +1 -1
  157. package/dist/shared/src/api/queries/project/getProject.cjs.js +1 -1
  158. package/dist/shared/src/api/queries/project/getProject.cjs.js.map +1 -1
  159. package/dist/shared/src/api/queries/project/getProject.es.js +9 -8
  160. package/dist/shared/src/api/queries/project/getProject.es.js.map +1 -1
  161. package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js +2 -0
  162. package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js.map +1 -0
  163. package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js +178 -0
  164. package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js.map +1 -0
  165. package/dist/shared/src/api/queries/review/getReview.cjs.js +1 -1
  166. package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
  167. package/dist/shared/src/api/queries/review/getReview.es.js +15 -14
  168. package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
  169. package/dist/shared/src/api/queries/review/updateReview.cjs.js +1 -1
  170. package/dist/shared/src/api/queries/review/updateReview.cjs.js.map +1 -1
  171. package/dist/shared/src/api/queries/review/updateReview.es.js +7 -6
  172. package/dist/shared/src/api/queries/review/updateReview.es.js.map +1 -1
  173. package/dist/shared/src/api/queries/share/share.cjs.js +1 -1
  174. package/dist/shared/src/api/queries/share/share.cjs.js.map +1 -1
  175. package/dist/shared/src/api/queries/share/share.es.js +3 -2
  176. package/dist/shared/src/api/queries/share/share.es.js.map +1 -1
  177. package/dist/shared/src/api/queries/system/getSystem.cjs.js +1 -1
  178. package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
  179. package/dist/shared/src/api/queries/system/getSystem.es.js +5 -4
  180. package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
  181. package/dist/shared/src/api/queries/tasks/updateTasks.cjs.js +1 -1
  182. package/dist/shared/src/api/queries/tasks/updateTasks.cjs.js.map +1 -1
  183. package/dist/shared/src/api/queries/tasks/updateTasks.es.js +40 -22
  184. package/dist/shared/src/api/queries/tasks/updateTasks.es.js.map +1 -1
  185. package/dist/shared/src/api/queries/uris/getUris.cjs.js +1 -1
  186. package/dist/shared/src/api/queries/uris/getUris.cjs.js.map +1 -1
  187. package/dist/shared/src/api/queries/uris/getUris.es.js +3 -2
  188. package/dist/shared/src/api/queries/uris/getUris.es.js.map +1 -1
  189. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
  190. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  191. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +6 -5
  192. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  193. package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -1
  194. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  195. package/dist/shared/src/api/queries/users/getUsers.es.js +20 -18
  196. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  197. package/dist/shared/src/api/queries/users/guests.cjs.js +1 -1
  198. package/dist/shared/src/api/queries/users/guests.cjs.js.map +1 -1
  199. package/dist/shared/src/api/queries/users/guests.es.js +5 -4
  200. package/dist/shared/src/api/queries/users/guests.es.js.map +1 -1
  201. package/dist/shared/src/api/queries/users/updateUsers.cjs.js +1 -1
  202. package/dist/shared/src/api/queries/users/updateUsers.cjs.js.map +1 -1
  203. package/dist/shared/src/api/queries/users/updateUsers.es.js +21 -20
  204. package/dist/shared/src/api/queries/users/updateUsers.es.js.map +1 -1
  205. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
  206. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
  207. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +348 -136
  208. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
  209. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.cjs.js +1 -1
  210. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.cjs.js.map +1 -1
  211. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.es.js +57 -59
  212. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.es.js.map +1 -1
  213. package/dist/shared/src/api/queries/versions/updateVersions.cjs.js +1 -1
  214. package/dist/shared/src/api/queries/versions/updateVersions.cjs.js.map +1 -1
  215. package/dist/shared/src/api/queries/versions/updateVersions.es.js +6 -5
  216. package/dist/shared/src/api/queries/versions/updateVersions.es.js.map +1 -1
  217. package/dist/shared/src/api/queries/views/getViews.cjs.js +1 -1
  218. package/dist/shared/src/api/queries/views/getViews.cjs.js.map +1 -1
  219. package/dist/shared/src/api/queries/views/getViews.es.js +11 -10
  220. package/dist/shared/src/api/queries/views/getViews.es.js.map +1 -1
  221. package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js +1 -1
  222. package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js.map +1 -1
  223. package/dist/shared/src/api/queries/watchers/getWatchers.es.js +4 -3
  224. package/dist/shared/src/api/queries/watchers/getWatchers.es.js.map +1 -1
  225. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  226. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  227. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +4 -2
  228. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  229. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +3 -3
  230. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
  231. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +13 -13
  232. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
  233. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +3 -3
  234. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  235. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +24 -22
  236. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  237. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  238. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  239. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +4 -2
  240. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  241. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  242. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  243. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +4 -2
  244. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  245. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  246. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  247. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +4 -2
  248. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  249. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  250. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  251. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +4 -2
  252. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  253. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  254. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  255. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +16 -14
  256. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  257. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  258. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  259. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +4 -2
  260. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  261. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  262. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  263. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +4 -2
  264. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  265. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  266. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  267. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +4 -2
  268. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  269. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  270. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  271. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +4 -2
  272. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  273. package/dist/shared/src/components/Menu/Menu.styled.cjs.js +0 -1
  274. package/dist/shared/src/components/Menu/Menu.styled.cjs.js.map +1 -1
  275. package/dist/shared/src/components/Menu/Menu.styled.es.js +0 -1
  276. package/dist/shared/src/components/Menu/Menu.styled.es.js.map +1 -1
  277. package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
  278. package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
  279. package/dist/shared/src/components/Menu/MenuList.es.js +21 -21
  280. package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
  281. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  282. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  283. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +58 -38
  284. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  285. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
  286. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  287. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +113 -107
  288. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  289. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  290. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  291. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +4 -2
  292. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  293. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  294. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  295. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +4 -2
  296. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  297. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  298. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  299. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +4 -2
  300. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  301. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  302. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  303. package/dist/shared/src/components/RenameForm/RenameForm.es.js +4 -2
  304. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  305. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  306. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  307. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +4 -2
  308. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  309. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  310. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  311. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +32 -30
  312. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  313. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  314. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  315. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +5 -3
  316. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  317. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  318. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  319. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +4 -2
  320. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  321. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  322. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  323. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +4 -2
  324. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  325. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  326. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  327. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +8 -6
  328. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  329. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +31 -0
  330. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -0
  331. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +107 -0
  332. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -0
  333. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +2 -2
  334. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  335. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +33 -28
  336. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  337. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js +1 -1
  338. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js.map +1 -1
  339. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js +17 -7
  340. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js.map +1 -1
  341. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  342. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  343. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +4 -2
  344. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  345. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  346. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  347. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +6 -4
  348. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  349. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  350. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  351. package/dist/shared/src/components/Watchers/Watchers.es.js +4 -2
  352. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  353. package/dist/shared/src/config/plannerFeatures.cjs.js +2 -0
  354. package/dist/shared/src/config/plannerFeatures.cjs.js.map +1 -0
  355. package/dist/shared/src/config/plannerFeatures.es.js +50 -0
  356. package/dist/shared/src/config/plannerFeatures.es.js.map +1 -0
  357. package/dist/shared/src/config/powerpackFeatures.cjs.js +2 -0
  358. package/dist/shared/src/config/powerpackFeatures.cjs.js.map +1 -0
  359. package/dist/shared/src/config/powerpackFeatures.es.js +74 -0
  360. package/dist/shared/src/config/powerpackFeatures.es.js.map +1 -0
  361. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  362. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  363. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +4 -2
  364. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  365. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  366. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  367. package/dist/shared/src/containers/Actions/Actions.es.js +18 -15
  368. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  369. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js +2 -2
  370. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js.map +1 -1
  371. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js +33 -32
  372. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js.map +1 -1
  373. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  374. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  375. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +4 -2
  376. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  377. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  378. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  379. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +14 -11
  380. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  381. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  382. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  383. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +4 -2
  384. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  385. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  386. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  387. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +5 -3
  388. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  389. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  390. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  391. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +4 -2
  392. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  393. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  394. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  395. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +4 -2
  396. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  397. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  398. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  399. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +18 -16
  400. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  401. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  402. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  403. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +4 -2
  404. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  405. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  406. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  407. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +4 -2
  408. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  409. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  410. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +4 -2
  412. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  413. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  414. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +4 -2
  416. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  417. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  418. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +4 -2
  420. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  421. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  422. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +4 -2
  424. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  425. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  426. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +4 -2
  428. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  429. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  430. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  431. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +4 -2
  432. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  433. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  434. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +4 -2
  436. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  437. package/dist/shared/src/containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.cjs.js +1 -1
  438. package/dist/shared/src/containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.es.js +8 -8
  440. package/dist/shared/src/containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.es.js.map +1 -1
  441. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  442. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  443. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +4 -2
  444. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  445. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  446. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  447. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +4 -2
  448. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  449. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  450. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  451. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +4 -2
  452. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  453. package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js.map +1 -1
  454. package/dist/shared/src/containers/Feed/components/ActivityItem.es.js.map +1 -1
  455. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.cjs.js +1 -1
  456. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.cjs.js.map +1 -1
  457. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.es.js +18 -18
  458. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.es.js.map +1 -1
  459. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  460. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  461. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +4 -2
  462. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  463. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  464. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  465. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +4 -2
  466. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  467. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  468. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  469. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +7 -5
  470. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  471. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  472. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  473. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +4 -2
  474. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  475. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  476. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  477. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +686 -616
  478. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  479. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +26 -11
  480. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
  481. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +40 -25
  482. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
  483. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  484. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  485. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +95 -93
  486. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  487. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +2 -0
  488. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -0
  489. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +381 -0
  490. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -0
  491. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  492. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  493. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +4 -2
  494. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  495. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  496. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  497. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +4 -2
  498. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  499. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js +6 -2
  500. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js.map +1 -1
  501. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js +13 -9
  502. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js.map +1 -1
  503. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  504. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  505. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +147 -119
  506. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  507. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +4 -3
  508. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  509. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +487 -262
  510. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  511. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  512. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  513. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +149 -145
  514. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  515. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  516. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  517. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +6 -4
  518. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  519. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js +1 -1
  520. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js.map +1 -1
  521. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js +30 -30
  522. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js.map +1 -1
  523. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  524. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  525. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +94 -91
  526. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  527. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.cjs.js +5 -0
  528. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.cjs.js.map +1 -0
  529. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.es.js +67 -0
  530. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.es.js.map +1 -0
  531. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  532. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  533. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +57 -54
  534. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  535. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  536. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  537. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +30 -28
  538. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  539. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  540. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  541. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +4 -2
  542. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  543. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  544. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  545. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +4 -2
  546. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  547. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnDragRestriction.cjs.js +2 -0
  548. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnDragRestriction.cjs.js.map +1 -0
  549. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnDragRestriction.es.js +56 -0
  550. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnDragRestriction.es.js.map +1 -0
  551. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  552. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  553. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +4 -2
  554. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  555. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.cjs.js +1 -1
  556. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.cjs.js.map +1 -1
  557. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.es.js +57 -40
  558. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.es.js.map +1 -1
  559. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  560. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  561. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +4 -2
  562. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  563. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  564. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  565. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +4 -2
  566. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  567. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  568. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  569. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +4 -2
  570. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  571. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  572. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  573. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +4 -2
  574. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  575. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  576. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  577. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +4 -2
  578. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  579. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  580. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  581. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +4 -2
  582. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  583. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  584. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  585. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +30 -28
  586. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  587. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +2 -0
  588. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -0
  589. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +303 -0
  590. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -0
  591. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  592. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  593. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +175 -156
  594. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  595. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  596. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  597. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +15 -13
  598. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  599. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  600. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  601. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +21 -19
  602. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  603. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  604. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  605. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +6 -4
  606. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  607. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  608. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  609. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +4 -2
  610. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  611. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  612. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  613. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +9 -7
  614. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  615. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +1 -1
  616. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
  617. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +1 -1
  618. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
  619. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js +1 -1
  620. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js.map +1 -1
  621. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js +29 -29
  622. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js.map +1 -1
  623. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  624. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  625. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +7 -5
  626. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  627. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  628. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  629. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +90 -85
  630. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  631. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js +9 -5
  632. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js.map +1 -1
  633. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js +11 -7
  634. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js.map +1 -1
  635. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  636. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  637. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +4 -2
  638. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  639. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  640. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  641. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +6 -4
  642. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  643. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  644. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  645. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +14 -12
  646. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  647. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js +1 -1
  648. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -1
  649. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js +4 -2
  650. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -1
  651. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  652. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  653. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +4 -2
  654. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  655. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  656. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  657. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +4 -2
  658. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  659. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  660. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  661. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +40 -38
  662. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  663. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js +1 -1
  664. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js.map +1 -1
  665. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js +10 -8
  666. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js.map +1 -1
  667. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  668. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  669. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +5 -3
  670. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  671. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
  672. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  673. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +4 -2
  674. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  675. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  676. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  677. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +4 -2
  678. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  679. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  680. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  681. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +12 -10
  682. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  683. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  684. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  685. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +4 -2
  686. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  687. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  688. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  689. package/dist/shared/src/context/AddonProjectContext.es.js +6 -4
  690. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  691. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  692. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  693. package/dist/shared/src/context/DetailsPanelContext.es.js +6 -4
  694. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  695. package/dist/shared/src/context/GlobalContext.cjs.js +1 -1
  696. package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -1
  697. package/dist/shared/src/context/GlobalContext.es.js +6 -4
  698. package/dist/shared/src/context/GlobalContext.es.js.map +1 -1
  699. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  700. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  701. package/dist/shared/src/context/PowerpackContext.es.js +46 -94
  702. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  703. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  704. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  705. package/dist/shared/src/context/ProjectContext.es.js +6 -4
  706. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  707. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  708. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  709. package/dist/shared/src/context/ProjectFoldersContext.es.js +6 -4
  710. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  711. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  712. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  713. package/dist/shared/src/context/RemoteModulesContext.es.js +6 -4
  714. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  715. package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
  716. package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
  717. package/dist/shared/src/context/SubtasksModulesContext.es.js +21 -14
  718. package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
  719. package/dist/shared/src/context/UriContext.cjs.js +1 -1
  720. package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
  721. package/dist/shared/src/context/UriContext.es.js +7 -5
  722. package/dist/shared/src/context/UriContext.es.js.map +1 -1
  723. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  724. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  725. package/dist/shared/src/context/WebsocketContext.es.js +6 -4
  726. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  727. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  728. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  729. package/dist/shared/src/hooks/useActionTriggers.es.js +4 -2
  730. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  731. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  732. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  733. package/dist/shared/src/hooks/useEntityUpdate.es.js +4 -2
  734. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  735. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
  736. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
  737. package/dist/shared/src/hooks/useGetEntityGroups.es.js +4 -2
  738. package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
  739. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  740. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  741. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +4 -2
  742. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  743. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  744. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  745. package/dist/shared/src/hooks/useScopedStatuses.es.js +6 -4
  746. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  747. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  748. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  749. package/dist/shared/src/hooks/useUserProjectConfig.es.js +4 -2
  750. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  751. package/dist/shared/src/util/buildHierarchicalTableRows.cjs.js +2 -0
  752. package/dist/shared/src/util/buildHierarchicalTableRows.cjs.js.map +1 -0
  753. package/dist/shared/src/util/buildHierarchicalTableRows.es.js +69 -0
  754. package/dist/shared/src/util/buildHierarchicalTableRows.es.js.map +1 -0
  755. package/dist/shared/src/util/errorHandling.cjs.js +2 -0
  756. package/dist/shared/src/util/errorHandling.cjs.js.map +1 -0
  757. package/dist/shared/src/util/errorHandling.es.js +9 -0
  758. package/dist/shared/src/util/errorHandling.es.js.map +1 -0
  759. package/dist/shared/src/util/folderHierarchy.cjs.js +2 -0
  760. package/dist/shared/src/util/folderHierarchy.cjs.js.map +1 -0
  761. package/dist/shared/src/util/folderHierarchy.es.js +14 -0
  762. package/dist/shared/src/util/folderHierarchy.es.js.map +1 -0
  763. package/dist/shared/src/util/folderOperations.cjs.js +2 -0
  764. package/dist/shared/src/util/folderOperations.cjs.js.map +1 -0
  765. package/dist/shared/src/util/folderOperations.es.js +27 -0
  766. package/dist/shared/src/util/folderOperations.es.js.map +1 -0
  767. package/dist/shared/src/util/keyboardShortcuts.cjs.js +2 -0
  768. package/dist/shared/src/util/keyboardShortcuts.cjs.js.map +1 -0
  769. package/dist/shared/src/util/keyboardShortcuts.es.js +8 -0
  770. package/dist/shared/src/util/keyboardShortcuts.es.js.map +1 -0
  771. package/dist/types/api/generated/actions.d.ts +2 -1
  772. package/dist/types/api/generated/folders.d.ts +3 -3
  773. package/dist/types/api/generated/index.d.ts +2 -0
  774. package/dist/types/api/generated/projectFolders.d.ts +79 -0
  775. package/dist/types/api/generated/projects.d.ts +55 -1
  776. package/dist/types/api/generated/system.d.ts +2 -1
  777. package/dist/types/api/queries/entityLists/types.d.ts +1 -0
  778. package/dist/types/api/queries/index.d.ts +1 -0
  779. package/dist/types/api/queries/project/getProject.d.ts +4 -0
  780. package/dist/types/api/queries/projectFolders/index.d.ts +1 -0
  781. package/dist/types/api/queries/projectFolders/projectFolders.d.ts +985 -0
  782. package/dist/types/api/queries/tasks/updateTasks.d.ts +7 -0
  783. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +1 -1
  784. package/dist/types/components/FolderForm/FolderForm.d.ts +24 -0
  785. package/dist/types/components/FolderForm/index.d.ts +3 -0
  786. package/dist/types/components/ProjectTableSettings/ProjectTableSettings.d.ts +1 -1
  787. package/dist/types/components/SimpleFormDialog/FormFile.d.ts +16 -0
  788. package/dist/types/components/SimpleFormDialog/SimpleFormDialog.d.ts +2 -1
  789. package/dist/types/components/SubtasksManager/SubtasksManagerWrapper.d.ts +1 -0
  790. package/dist/types/config/index.d.ts +2 -0
  791. package/dist/types/config/plannerFeatures.d.ts +13 -0
  792. package/dist/types/config/powerpackFeatures.d.ts +6 -0
  793. package/dist/types/containers/Actions/ActionsDropdown/ActionsDropdown.d.ts +2 -1
  794. package/dist/types/containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.d.ts +1 -0
  795. package/dist/types/containers/Feed/components/ActivityItem.d.ts +1 -0
  796. package/dist/types/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.d.ts +1 -0
  797. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +1 -0
  798. package/dist/types/containers/ProjectTreeTable/components/ColumnDndProvider.d.ts +6 -0
  799. package/dist/types/containers/ProjectTreeTable/components/index.d.ts +1 -0
  800. package/dist/types/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.d.ts +26 -0
  801. package/dist/types/containers/ProjectTreeTable/context/clipboard/index.d.ts +1 -0
  802. package/dist/types/containers/ProjectTreeTable/hooks/index.d.ts +1 -0
  803. package/dist/types/containers/ProjectTreeTable/hooks/useColumnDragRestriction.d.ts +19 -0
  804. package/dist/types/containers/ProjectTreeTable/hooks/useSortBySettings.d.ts +4 -0
  805. package/dist/types/containers/SimpleTable/SimpleTable.d.ts +2 -1
  806. package/dist/types/containers/Views/hooks/useBaseViewMutations.d.ts +2 -2
  807. package/dist/types/context/PowerpackContext.d.ts +17 -6
  808. package/dist/types/util/buildHierarchicalTableRows.d.ts +43 -0
  809. package/dist/types/util/errorHandling.d.ts +7 -0
  810. package/dist/types/util/folderHierarchy.d.ts +37 -0
  811. package/dist/types/util/folderOperations.d.ts +34 -0
  812. package/dist/types/util/index.d.ts +5 -0
  813. package/dist/types/util/keyboardShortcuts.d.ts +6 -0
  814. package/dist/util.cjs.js +1 -1
  815. package/dist/util.es.js +51 -41
  816. package/dist/util.es.js.map +1 -1
  817. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../../../_virtual/jsx-runtime.cjs.js"),Y=require("@ynput/ayon-react-components"),n=require("react"),Te=require("./hooks/useDetailsPanelURLSync.cjs.js"),k=require("./DetailsPanel.styled.cjs.js");require("../../api/base/client.cjs.js");require("../../api/generated/graphql.cjs.js");require("../../api/generated/graphqlLinks.cjs.js");require("../../api/generated/access.cjs.js");require("../../api/generated/actions.cjs.js");require("../../api/generated/activityFeed.cjs.js");require("../../api/generated/addons.cjs.js");require("../../api/generated/anatomy.cjs.js");require("../../api/generated/attributes.cjs.js");require("../../api/generated/authentication.cjs.js");require("../../api/generated/bundles.cjs.js");require("../../api/generated/configuration.cjs.js");require("../../api/generated/desktop.cjs.js");require("../../api/generated/entityLists.cjs.js");require("../../api/generated/events.cjs.js");require("../../api/generated/files.cjs.js");require("../../api/generated/folders.cjs.js");require("../../api/generated/inbox.cjs.js");require("../../api/generated/links.cjs.js");require("../../api/generated/market.cjs.js");require("../../api/generated/onboarding.cjs.js");require("../../api/generated/operations.cjs.js");require("../../api/generated/products.cjs.js");require("../../api/generated/projectDashboard.cjs.js");require("../../api/generated/projects.cjs.js");require("../../api/generated/reviewables.cjs.js");require("../../api/generated/services.cjs.js");require("../../api/generated/system.cjs.js");require("../../api/generated/tasks.cjs.js");require("../../api/generated/teams.cjs.js");require("../../api/generated/thumbnails.cjs.js");require("../../api/generated/uRIs.cjs.js");require("../../api/generated/users.cjs.js");require("../../api/generated/versions.cjs.js");require("../../api/generated/workfiles.cjs.js");require("../../api/generated/ynputCloud.cjs.js");require("../../api/generated/grouping.cjs.js");require("../../api/generated/views.cjs.js");require("../../api/queries/actions/getActions.cjs.js");require("../../api/queries/activities/getActivities.cjs.js");require("../../api/queries/activities/updateActivities.cjs.js");require("../../api/queries/activities/updateReaction.cjs.js");require("../../api/queries/activities/getMentions.cjs.js");require("../../api/queries/activities/getCategories.cjs.js");require("../../api/queries/addons/getAddons.cjs.js");require("../../api/queries/addons/updateAddons.cjs.js");require("../../api/queries/attributes/getAttributes.cjs.js");require("../../api/queries/attributes/updateAttributes.cjs.js");require("../../api/queries/authentication/getAuthentication.cjs.js");require("../../api/queries/cloud/cloud.cjs.js");require("../../api/queries/config/getConfig.cjs.js");require("../../api/queries/config/updateConfig.cjs.js");require("../../api/queries/entities/getEntity.cjs.js");const De=require("../../api/queries/entities/getEntityPanel.cjs.js"),Re=require("../../api/queries/entities/transformDetailsPanelData.cjs.js");require("../../api/queries/entities/updateEntity.cjs.js");require("../../api/queries/entityLists/getLists.cjs.js");require("../../api/queries/entityLists/updateLists.cjs.js");require("../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../api/queries/entityLists/listFolders.cjs.js");require("../../api/queries/folders/getFolders.cjs.js");require("../../api/queries/grouping/getGrouping.cjs.js");require("../../api/queries/links/updateLinks.cjs.js");require("../../api/queries/links/getLinks.cjs.js");require("../../api/queries/links/getEntityLinks.cjs.js");require("../../api/queries/overview/getOverview.cjs.js");require("../../api/queries/overview/updateOverview.cjs.js");require("../../api/queries/versions/getVersionsProducts.cjs.js");require("../../api/queries/permissions/getPermissions.cjs.js");require("../../api/queries/products/createProduct.cjs.js");require("../../api/queries/project/getProject.cjs.js");require("../../api/queries/project/updateProject.cjs.js");require("../../api/queries/review/getReview.cjs.js");require("../../api/queries/review/updateReview.cjs.js");require("../../api/queries/share/share.cjs.js");require("../../api/queries/system/getSystem.cjs.js");require("../../api/queries/tasks/updateTasks.cjs.js");require("../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../api/queries/users/getUsers.cjs.js");require("../../api/queries/users/updateUsers.cjs.js");require("../../api/queries/users/guests.cjs.js");require("../../api/queries/versions/updateVersions.cjs.js");require("../../api/queries/views/getViews.cjs.js");require("../../api/queries/views/updateViews.cjs.js");require("../../api/queries/watchers/getWatchers.cjs.js");require("../../api/queries/uris/getUris.cjs.js");require("../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../components/AccessUser/AccessUser.cjs.js");require("clsx");require("lodash");require("../../components/AttributeEditor/components/MinMaxField.cjs.js");require("react-dom");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../components/Badge/Badge.cjs.js");require("../../components/Chips/Chips.cjs.js");require("date-fns");require("../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../components/LinksManager/CellEditingDialog.cjs.js");require("react-toastify");require("../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");const Ne=require("../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../Feed/context/FeedContext.cjs.js");require("../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../context/RemoteModulesContext.cjs.js");const v=require("../../context/DetailsPanelContext.cjs.js");require("../../context/SubtasksModulesContext.cjs.js");require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");const be=require("../../context/pip/PiPProvider.cjs.js");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");require("../../context/PowerpackContext.cjs.js");require("../../context/MoveEntityContext.cjs.js");require("../../context/MenuContext.cjs.js");require("../../context/WebsocketContext.cjs.js");require("../../context/GlobalContext.cjs.js");const ke=require("../../context/ProjectContext.cjs.js");require("../../context/ProjectFoldersContext.cjs.js");const ve=require("../../context/UriContext.cjs.js");require("../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../Feed/components/CommentInput/CommentInput.cjs.js");require("../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("uuid");const Ce=require("../../util/extractEntityHierarchyFromParents.cjs.js");require("../../util/pubsub.cjs.js");require("react-router-dom");require("../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../Feed/components/ActivityDate.cjs.js");require("../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../Feed/Feed.styled.cjs.js");require("./components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../ProjectTreeTable/widgets/DateWidget.cjs.js");require("../ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../ProjectTreeTable/widgets/TextWidget.cjs.js");require("../ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../ProjectTreeTable/widgets/CellWidget.cjs.js");require("../ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../components/LinksManager/LinksManager.styled.cjs.js");require("../ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../ProjectTreeTable/context/CellEditingContext.cjs.js");require("short-uuid");require("../ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../ProjectTreeTable/context/ClipboardContext.cjs.js");require("../ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../ProjectTreeTable/context/ProjectDataContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../ProjectTreeTable/components/SelectionCell.cjs.js");require("../ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../ProjectTreeTable/components/ColumnHeaderMenu.cjs.js");require("../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../SimpleTable/SimpleTable.styled.cjs.js");require("@tanstack/match-sorter-utils");require("../SimpleTable/context/SimpleTableContext.cjs.js");require("../SimpleTable/SimpleTableRowTemplate.cjs.js");require("../Slicer/hooks/useTableDataBySlice.cjs.js");require("../Slicer/components/SlicerSearch.cjs.js");require("../Slicer/context/SlicerContext.cjs.js");const we=require("./components/DetailsPanelHeader/DetailsPanelHeader.cjs.js"),Se=require("./components/DetailsPanelFiles/DetailsPanelFiles.cjs.js"),Fe=require("./hooks/useGetEntityPath.cjs.js"),Ie=require("./helpers/getAllProjectsStatuses.cjs.js"),Le=require("./containers/FeedWrapper.cjs.js"),We=require("./containers/FeedContextWrapper.cjs.js"),Ue=require("./helpers/mergeProjectInfo.cjs.js"),He=require("./containers/DetailsPanelSubtasks.cjs.js");require("./components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("./components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("./components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../Actions/Actions.styled.cjs.js");require("../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../Actions/ActionIcon.cjs.js");require("../Views/context/ViewsContext.cjs.js");require("../Views/Views.styled.cjs.js");require("../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");const Me=require("../../components/EntityPath/EntityPath.cjs.js");require("../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../components/Feedback/FeedbackContext.cjs.js");require("../../components/Feedback/SupportBubble.cjs.js");require("../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../components/Powerpack/PowerpackButton.cjs.js");require("../../components/Powerpack/PricingLink.cjs.js");require("../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../components/Powerpack/CTAButton.cjs.js");require("../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../components/SizeSlider/SizeSlider.cjs.js");require("../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../components/SearchFilter/filterDates.cjs.js");require("../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../components/StyledLink/StyledLink.cjs.js");require("../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../components/VersionUploader/context/VersionUploadContext.cjs.js");const Oe=require("../../components/Watchers/Watchers.cjs.js");require("../../components/Menu/Menu.styled.cjs.js");require("../../components/Menu/MenuItem.cjs.js");const Z=["product","representation"],_e=({entityType:g,entitySubTypes:x=[],entitiesData:T=[],entities:a=[],tagsOptions:$=[],disabledStatuses:ee,projectUsers:C,disabledProjectUsers:re,activeProjectUsers:w,projectsInfo:j={},projectNames:ie=[],isSlideOut:y=!1,style:Ge={},scope:o,isCompact:te=!1,onClose:D,onWatchersUpdate:S,onOpenViewer:ue,onEntityFocus:se,onOpen:F,onUriOpen:I,annotations:L,removeAnnotation:W,exportAnnotationComposite:U,entityListId:H,guestCategories:ne={}})=>{const{closeSlideOut:M,openPip:qe,user:O,isGuest:ae,entities:u,setEntities:R,slideOut:_,useSearchParams:oe,SubtasksManager:A,useNavigate:ce}=v.useDetailsPanelContext(),{currentTab:q,setTab:m,isFeed:le}=v.useScopedDetailsPanel(o),[Ve,de]=oe(),G=n.useRef(!1),i=u?.entityType??g,V=u?.entities??a,pe=u?.entitySubTypes??x,ye=u?.entities?[]:T,c=u?.entities?u.entities.map(e=>e.projectName):ie;n.useEffect(()=>{F&&!G.current&&(G.current=!0,F())},[]),n.useEffect(()=>{Z.includes(i)&&q!=="details"&&m("details")},[i,q,m]),n.useEffect(()=>{a.length&&u&&R(null)},[a,u,R]);const E=n.useMemo(()=>Ue(j,c),[j,c]),B=n.useMemo(()=>({task:E.taskTypes.filter(e=>!!e.icon).reduce((e,r)=>({...e,[r.name]:r.icon}),{}),folder:E.folderTypes.filter(e=>!!e.icon).reduce((e,r)=>({...e,[r.name]:r.icon}),{}),product:E.productTypes.filter(e=>!!e.icon).reduce((e,r)=>({...e,[r.name]:r.icon}),{})}),[E]);n.useEffect(()=>{q==="files"&&i!=="version"&&m("feed"),q==="subtasks"&&i!=="task"&&m("feed")},[i,q,o]);let l=V.length?V.map(e=>({id:e.id,projectName:e.projectName})):ye.map(e=>({id:e.id,projectName:e.projectName}));l=l.filter(e=>e.id);const{data:s=[],isFetching:d,isError:me,originalArgs:fe}=De.useGetEntitiesDetailsPanelQuery({entityType:i,entities:l},{skip:!l.length||!Re.detailsPanelEntityTypes.includes(i)});n.useEffect(()=>{y||M()},[fe,y]),n.useEffect(()=>{if(!d&&u?.source&&["uri","url"].includes(u.source)&&u?.entities?.length&&I){const e=s.find(r=>r.id===u.entities[0].id);if(!e)return;I(e)}},[s,d]);const Q=Ie(j),p=c[0],K=j[p]||{},P=s[0]||{},h=s[s.length-1],N=c[c.length-1],[X,xe]=Fe({entity:P,entityType:i,projectName:p,isLoading:d}),{setEntityUri:je,setUri:Ee}=ve.useURIContext();n.useEffect(()=>{if(!h?.parents||!N)return;const{folderPath:e,taskName:r,versionName:f,productName:J}=Ce.extractEntityHierarchyFromParents(h.parents,i,h.name);return je({projectName:N,folderPath:e,taskName:r,productName:J,versionName:f}),()=>{Ee("")}},[s,c,i]),Te({entityData:h,project:N,activeEntityType:i,entitiesToQuery:l});const Pe=()=>{de(e=>{const r=new URLSearchParams(e);return r.delete("project"),r.delete("type"),r.delete("id"),r},{replace:!0})},b=()=>{D?.(),R(null),Pe(),M()};n.useEffect(()=>{const e=r=>{if(r.key==="Escape"&&D){const f=r.target;if(["INPUT","TEXTAREA","SELECT"].includes(f.tagName)||f.isContentEditable||y===!1&&(f.closest("#viewer-dialog")||_))return;b()}};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[b,y,_]);const{requestPipWindow:he}=be.usePiPWindow(),ge=()=>{qe({entityType:i,entities:l,scope:o}),he(500,500)},z=()=>!(c.length>1||ae&&(!H||!Object.prototype.hasOwnProperty.call(ne,O.attrib?.email||"")));return t.jsxRuntimeExports.jsx(t.jsxRuntimeExports.Fragment,{children:t.jsxRuntimeExports.jsxs(k.Panel,{className:"details-panel",children:[t.jsxRuntimeExports.jsxs(k.Toolbar,{children:[t.jsxRuntimeExports.jsx(Me.EntityPath,{segments:X,versions:xe,projectName:p,hideProjectName:y,isLoading:d||!X.length,entityType:i,scope:o,entityTypeIcons:B}),t.jsxRuntimeExports.jsxs(k.RightTools,{className:"right-tools",children:[t.jsxRuntimeExports.jsx(Oe.Watchers,{entities:l,entityType:i,options:C||[],onWatchersUpdate:S&&S,userName:O.name}),t.jsxRuntimeExports.jsx(Y.Button,{icon:"picture_in_picture",variant:"text","data-tooltip":"Picture in Picture",onClick:ge}),D&&t.jsxRuntimeExports.jsx(Y.Button,{icon:"close",variant:"text",onClick:b,"data-shortcut":"Escape"})]})]}),t.jsxRuntimeExports.jsx(we,{entityType:i,entitySubTypes:pe,entities:s,users:C,disabledAssignees:re,disabledStatuses:ee,tagsOptions:$,isFetching:d,isCompact:te,currentTab:q,onTabChange:m,entityTypeIcons:B,onOpenViewer:e=>ue?.(e),onEntityFocus:se}),t.jsxRuntimeExports.jsxs(ke.ProjectContextProvider,{projectName:p,children:[le&&!me&&t.jsxRuntimeExports.jsx(Le,{entityType:i,entities:s,activeUsers:w||[],projectInfo:K,projectName:p,disabled:!z(),scope:o,statuses:Q,readOnly:!1,entityListId:H,annotations:L,removeAnnotation:W,exportAnnotationComposite:U,isSlideOut:y}),q==="subtasks"&&i==="task"&&P?.id&&A&&t.jsxRuntimeExports.jsx(He,{projectName:p,taskId:P.id,subtasks:P.task?.subtasks||[],SubtasksManager:A,useNavigate:ce}),q==="files"&&t.jsxRuntimeExports.jsx(Se,{entities:s,scope:o,isLoadingVersion:d}),q==="details"&&t.jsxRuntimeExports.jsx(We,{entityType:i,entities:s,activeUsers:w||[],projectInfo:K,projectName:p,disabled:!z(),scope:o,statuses:Q,readOnly:!1,annotations:L,removeAnnotation:W,exportAnnotationComposite:U,children:t.jsxRuntimeExports.jsx(Ne.DetailsPanelDetails,{entities:s,isLoading:d})})]})]})})},Ae=({isOpen:g,entityType:x,...T})=>{const{entities:a}=v.useDetailsPanelContext();return!g&&!a||!x&&!a?null:t.jsxRuntimeExports.jsx(_e,{...T,entityType:x||a?.entityType})};exports.DetailsPanel=Ae;exports.entitiesWithoutFeed=Z;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../../../_virtual/jsx-runtime.cjs.js"),Y=require("@ynput/ayon-react-components"),n=require("react"),Te=require("./hooks/useDetailsPanelURLSync.cjs.js"),k=require("./DetailsPanel.styled.cjs.js");require("../../api/base/client.cjs.js");require("../../api/generated/graphql.cjs.js");require("../../api/generated/graphqlLinks.cjs.js");require("../../api/generated/access.cjs.js");require("../../api/generated/actions.cjs.js");require("../../api/generated/activityFeed.cjs.js");require("../../api/generated/addons.cjs.js");require("../../api/generated/anatomy.cjs.js");require("../../api/generated/attributes.cjs.js");require("../../api/generated/authentication.cjs.js");require("../../api/generated/bundles.cjs.js");require("../../api/generated/configuration.cjs.js");require("../../api/generated/desktop.cjs.js");require("../../api/generated/entityLists.cjs.js");require("../../api/generated/events.cjs.js");require("../../api/generated/files.cjs.js");require("../../api/generated/folders.cjs.js");require("../../api/generated/inbox.cjs.js");require("../../api/generated/links.cjs.js");require("../../api/generated/market.cjs.js");require("../../api/generated/onboarding.cjs.js");require("../../api/generated/operations.cjs.js");require("../../api/generated/products.cjs.js");require("../../api/generated/projectDashboard.cjs.js");require("../../api/generated/projects.cjs.js");require("../../api/generated/projectFolders.cjs.js");require("../../api/generated/reviewables.cjs.js");require("../../api/generated/services.cjs.js");require("../../api/generated/system.cjs.js");require("../../api/generated/tasks.cjs.js");require("../../api/generated/teams.cjs.js");require("../../api/generated/thumbnails.cjs.js");require("../../api/generated/uRIs.cjs.js");require("../../api/generated/users.cjs.js");require("../../api/generated/versions.cjs.js");require("../../api/generated/workfiles.cjs.js");require("../../api/generated/ynputCloud.cjs.js");require("../../api/generated/grouping.cjs.js");require("../../api/generated/views.cjs.js");require("../../api/queries/actions/getActions.cjs.js");require("../../api/queries/activities/getActivities.cjs.js");require("../../api/queries/activities/updateActivities.cjs.js");require("../../api/queries/activities/updateReaction.cjs.js");require("../../api/queries/activities/getMentions.cjs.js");require("../../api/queries/activities/getCategories.cjs.js");require("../../api/queries/addons/getAddons.cjs.js");require("../../api/queries/addons/updateAddons.cjs.js");require("../../api/queries/attributes/getAttributes.cjs.js");require("../../api/queries/attributes/updateAttributes.cjs.js");require("../../api/queries/authentication/getAuthentication.cjs.js");require("../../api/queries/cloud/cloud.cjs.js");require("../../api/queries/config/getConfig.cjs.js");require("../../api/queries/config/updateConfig.cjs.js");require("../../api/queries/entities/getEntity.cjs.js");const De=require("../../api/queries/entities/getEntityPanel.cjs.js"),Re=require("../../api/queries/entities/transformDetailsPanelData.cjs.js");require("../../api/queries/entities/updateEntity.cjs.js");require("../../api/queries/entityLists/getLists.cjs.js");require("../../api/queries/entityLists/updateLists.cjs.js");require("../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../api/queries/entityLists/listFolders.cjs.js");require("../../api/queries/folders/getFolders.cjs.js");require("../../api/queries/grouping/getGrouping.cjs.js");require("../../api/queries/links/updateLinks.cjs.js");require("../../api/queries/links/getLinks.cjs.js");require("../../api/queries/links/getEntityLinks.cjs.js");require("../../api/queries/overview/getOverview.cjs.js");require("../../api/queries/overview/updateOverview.cjs.js");require("../../api/queries/versions/getVersionsProducts.cjs.js");require("../../api/queries/permissions/getPermissions.cjs.js");require("../../api/queries/products/createProduct.cjs.js");require("../../api/queries/project/getProject.cjs.js");require("../../api/queries/project/updateProject.cjs.js");require("../../api/queries/projectFolders/projectFolders.cjs.js");require("../../api/queries/review/getReview.cjs.js");require("../../api/queries/review/updateReview.cjs.js");require("../../api/queries/share/share.cjs.js");require("../../api/queries/system/getSystem.cjs.js");require("../../api/queries/tasks/updateTasks.cjs.js");require("../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../api/queries/users/getUsers.cjs.js");require("../../api/queries/users/updateUsers.cjs.js");require("../../api/queries/users/guests.cjs.js");require("../../api/queries/versions/updateVersions.cjs.js");require("../../api/queries/views/getViews.cjs.js");require("../../api/queries/views/updateViews.cjs.js");require("../../api/queries/watchers/getWatchers.cjs.js");require("../../api/queries/uris/getUris.cjs.js");require("../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../components/AccessUser/AccessUser.cjs.js");require("clsx");require("lodash");require("../../components/AttributeEditor/components/MinMaxField.cjs.js");require("react-dom");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../components/Badge/Badge.cjs.js");require("../../components/Chips/Chips.cjs.js");require("date-fns");require("../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../components/LinksManager/CellEditingDialog.cjs.js");require("react-toastify");require("../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");const Ne=require("../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../Feed/context/FeedContext.cjs.js");require("../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../context/RemoteModulesContext.cjs.js");const v=require("../../context/DetailsPanelContext.cjs.js");require("../../context/SubtasksModulesContext.cjs.js");require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");const be=require("../../context/pip/PiPProvider.cjs.js");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");require("../../context/PowerpackContext.cjs.js");require("../../context/MoveEntityContext.cjs.js");require("../../context/MenuContext.cjs.js");require("../../context/WebsocketContext.cjs.js");require("../../context/GlobalContext.cjs.js");const ke=require("../../context/ProjectContext.cjs.js");require("../../context/ProjectFoldersContext.cjs.js");const ve=require("../../context/UriContext.cjs.js");require("../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../Feed/components/CommentInput/CommentInput.cjs.js");require("../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("uuid");const Ce=require("../../util/extractEntityHierarchyFromParents.cjs.js");require("../../util/pubsub.cjs.js");require("react-router-dom");require("../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../Feed/components/ActivityDate.cjs.js");require("../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../Feed/Feed.styled.cjs.js");require("./components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../ProjectTreeTable/widgets/DateWidget.cjs.js");require("../ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../ProjectTreeTable/widgets/TextWidget.cjs.js");require("../ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../ProjectTreeTable/widgets/CellWidget.cjs.js");require("../ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../components/LinksManager/LinksManager.styled.cjs.js");require("../ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../ProjectTreeTable/context/CellEditingContext.cjs.js");require("short-uuid");require("../ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../ProjectTreeTable/context/ClipboardContext.cjs.js");require("../ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../ProjectTreeTable/context/ProjectDataContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../ProjectTreeTable/components/SelectionCell.cjs.js");require("../ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../ProjectTreeTable/components/ColumnHeaderMenu.cjs.js");require("../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../SimpleTable/SimpleTable.styled.cjs.js");require("@tanstack/match-sorter-utils");require("../SimpleTable/context/SimpleTableContext.cjs.js");require("../SimpleTable/SimpleTableRowTemplate.cjs.js");require("../Slicer/hooks/useTableDataBySlice.cjs.js");require("../Slicer/components/SlicerSearch.cjs.js");require("../Slicer/context/SlicerContext.cjs.js");const we=require("./components/DetailsPanelHeader/DetailsPanelHeader.cjs.js"),Fe=require("./components/DetailsPanelFiles/DetailsPanelFiles.cjs.js"),Se=require("./hooks/useGetEntityPath.cjs.js"),Ie=require("./helpers/getAllProjectsStatuses.cjs.js"),Le=require("./containers/FeedWrapper.cjs.js"),We=require("./containers/FeedContextWrapper.cjs.js"),Ue=require("./helpers/mergeProjectInfo.cjs.js"),He=require("./containers/DetailsPanelSubtasks.cjs.js");require("./components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("./components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("./components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../Actions/Actions.styled.cjs.js");require("../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../Actions/ActionIcon.cjs.js");require("../Views/context/ViewsContext.cjs.js");require("../Views/Views.styled.cjs.js");require("../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");const Me=require("../../components/EntityPath/EntityPath.cjs.js");require("../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../components/Feedback/FeedbackContext.cjs.js");require("../../components/Feedback/SupportBubble.cjs.js");require("../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../components/Powerpack/PowerpackButton.cjs.js");require("../../components/Powerpack/PricingLink.cjs.js");require("../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../components/Powerpack/CTAButton.cjs.js");require("../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../components/SizeSlider/SizeSlider.cjs.js");require("../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../components/SearchFilter/filterDates.cjs.js");require("../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../components/StyledLink/StyledLink.cjs.js");require("../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../components/VersionUploader/context/VersionUploadContext.cjs.js");const Oe=require("../../components/Watchers/Watchers.cjs.js");require("../../components/Menu/Menu.styled.cjs.js");require("../../components/Menu/MenuItem.cjs.js");const Z=["product","representation"],_e=({entityType:g,entitySubTypes:x=[],entitiesData:T=[],entities:a=[],tagsOptions:$=[],disabledStatuses:ee,projectUsers:C,disabledProjectUsers:re,activeProjectUsers:w,projectsInfo:j={},projectNames:ie=[],isSlideOut:y=!1,style:Ge={},scope:o,isCompact:te=!1,onClose:D,onWatchersUpdate:F,onOpenViewer:ue,onEntityFocus:se,onOpen:S,onUriOpen:I,annotations:L,removeAnnotation:W,exportAnnotationComposite:U,entityListId:H,guestCategories:ne={}})=>{const{closeSlideOut:M,openPip:qe,user:O,isGuest:ae,entities:u,setEntities:R,slideOut:_,useSearchParams:oe,SubtasksManager:A,useNavigate:ce}=v.useDetailsPanelContext(),{currentTab:q,setTab:m,isFeed:le}=v.useScopedDetailsPanel(o),[Ve,de]=oe(),G=n.useRef(!1),i=u?.entityType??g,V=u?.entities??a,pe=u?.entitySubTypes??x,ye=u?.entities?[]:T,c=u?.entities?u.entities.map(e=>e.projectName):ie;n.useEffect(()=>{S&&!G.current&&(G.current=!0,S())},[]),n.useEffect(()=>{Z.includes(i)&&q!=="details"&&m("details")},[i,q,m]),n.useEffect(()=>{a.length&&u&&R(null)},[a,u,R]);const E=n.useMemo(()=>Ue(j,c),[j,c]),B=n.useMemo(()=>({task:E.taskTypes.filter(e=>!!e.icon).reduce((e,r)=>({...e,[r.name]:r.icon}),{}),folder:E.folderTypes.filter(e=>!!e.icon).reduce((e,r)=>({...e,[r.name]:r.icon}),{}),product:E.productTypes.filter(e=>!!e.icon).reduce((e,r)=>({...e,[r.name]:r.icon}),{})}),[E]);n.useEffect(()=>{q==="files"&&i!=="version"&&m("feed"),q==="subtasks"&&i!=="task"&&m("feed")},[i,q,o]);let l=V.length?V.map(e=>({id:e.id,projectName:e.projectName})):ye.map(e=>({id:e.id,projectName:e.projectName}));l=l.filter(e=>e.id);const{data:s=[],isFetching:d,isError:me,originalArgs:fe}=De.useGetEntitiesDetailsPanelQuery({entityType:i,entities:l},{skip:!l.length||!Re.detailsPanelEntityTypes.includes(i)});n.useEffect(()=>{y||M()},[fe,y]),n.useEffect(()=>{if(!d&&u?.source&&["uri","url"].includes(u.source)&&u?.entities?.length&&I){const e=s.find(r=>r.id===u.entities[0].id);if(!e)return;I(e)}},[s,d]);const Q=Ie(j),p=c[0],K=j[p]||{},P=s[0]||{},h=s[s.length-1],N=c[c.length-1],[X,xe]=Se({entity:P,entityType:i,projectName:p,isLoading:d}),{setEntityUri:je,setUri:Ee}=ve.useURIContext();n.useEffect(()=>{if(!h?.parents||!N)return;const{folderPath:e,taskName:r,versionName:f,productName:J}=Ce.extractEntityHierarchyFromParents(h.parents,i,h.name);return je({projectName:N,folderPath:e,taskName:r,productName:J,versionName:f}),()=>{Ee("")}},[s,c,i]),Te({entityData:h,project:N,activeEntityType:i,entitiesToQuery:l});const Pe=()=>{de(e=>{const r=new URLSearchParams(e);return r.delete("project"),r.delete("type"),r.delete("id"),r},{replace:!0})},b=()=>{D?.(),R(null),Pe(),M()};n.useEffect(()=>{const e=r=>{if(r.key==="Escape"&&D){const f=r.target;if(["INPUT","TEXTAREA","SELECT"].includes(f.tagName)||f.isContentEditable||y===!1&&(f.closest("#viewer-dialog")||_))return;b()}};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[b,y,_]);const{requestPipWindow:he}=be.usePiPWindow(),ge=()=>{qe({entityType:i,entities:l,scope:o}),he(500,500)},z=()=>!(c.length>1||ae&&(!H||!Object.prototype.hasOwnProperty.call(ne,O.attrib?.email||"")));return t.jsxRuntimeExports.jsx(t.jsxRuntimeExports.Fragment,{children:t.jsxRuntimeExports.jsxs(k.Panel,{className:"details-panel",children:[t.jsxRuntimeExports.jsxs(k.Toolbar,{children:[t.jsxRuntimeExports.jsx(Me.EntityPath,{segments:X,versions:xe,projectName:p,hideProjectName:y,isLoading:d||!X.length,entityType:i,scope:o,entityTypeIcons:B}),t.jsxRuntimeExports.jsxs(k.RightTools,{className:"right-tools",children:[t.jsxRuntimeExports.jsx(Oe.Watchers,{entities:l,entityType:i,options:C||[],onWatchersUpdate:F&&F,userName:O.name}),t.jsxRuntimeExports.jsx(Y.Button,{icon:"picture_in_picture",variant:"text","data-tooltip":"Picture in Picture",onClick:ge}),D&&t.jsxRuntimeExports.jsx(Y.Button,{icon:"close",variant:"text",onClick:b,"data-shortcut":"Escape"})]})]}),t.jsxRuntimeExports.jsx(we,{entityType:i,entitySubTypes:pe,entities:s,users:C,disabledAssignees:re,disabledStatuses:ee,tagsOptions:$,isFetching:d,isCompact:te,currentTab:q,onTabChange:m,entityTypeIcons:B,onOpenViewer:e=>ue?.(e),onEntityFocus:se}),t.jsxRuntimeExports.jsxs(ke.ProjectContextProvider,{projectName:p,children:[le&&!me&&t.jsxRuntimeExports.jsx(Le,{entityType:i,entities:s,activeUsers:w||[],projectInfo:K,projectName:p,disabled:!z(),scope:o,statuses:Q,readOnly:!1,entityListId:H,annotations:L,removeAnnotation:W,exportAnnotationComposite:U,isSlideOut:y}),q==="subtasks"&&i==="task"&&P?.id&&A&&t.jsxRuntimeExports.jsx(He,{projectName:p,taskId:P.id,subtasks:P.task?.subtasks||[],SubtasksManager:A,useNavigate:ce,onNotFound:()=>m("feed")}),q==="files"&&t.jsxRuntimeExports.jsx(Fe,{entities:s,scope:o,isLoadingVersion:d}),q==="details"&&t.jsxRuntimeExports.jsx(We,{entityType:i,entities:s,activeUsers:w||[],projectInfo:K,projectName:p,disabled:!z(),scope:o,statuses:Q,readOnly:!1,annotations:L,removeAnnotation:W,exportAnnotationComposite:U,children:t.jsxRuntimeExports.jsx(Ne.DetailsPanelDetails,{entities:s,isLoading:d})})]})]})})},Ae=({isOpen:g,entityType:x,...T})=>{const{entities:a}=v.useDetailsPanelContext();return!g&&!a||!x&&!a?null:t.jsxRuntimeExports.jsx(_e,{...T,entityType:x||a?.entityType})};exports.DetailsPanel=Ae;exports.entitiesWithoutFeed=Z;
2
2
  //# sourceMappingURL=DetailsPanel.cjs.js.map
@@ -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 useDetailsPanelContext,\n useScopedDetailsPanel,\n useURIContext,\n FeedFilter,\n} from '@shared/context'\n\nimport DetailsPanelHeader from './components/DetailsPanelHeader/DetailsPanelHeader'\nimport DetailsPanelFiles from './components/DetailsPanelFiles'\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) => 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 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}: // 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 // check if tab needs to be updated when entity type changes\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 &&\n ['uri', 'url'].includes(contextEntities.source) &&\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)\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 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 <>\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 <Watchers\n entities={entitiesToQuery}\n entityType={activeEntityType}\n options={projectUsers || []}\n onWatchersUpdate={onWatchersUpdate && onWatchersUpdate}\n userName={user.name}\n />\n <Button\n icon=\"picture_in_picture\"\n variant={'text'}\n data-tooltip=\"Picture in Picture\"\n onClick={handleOpenPip}\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 />\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 />\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 </>\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","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","handleOpenPip","isCommentingEnabled","jsxs","Styled.Panel","Styled.Toolbar","jsx","EntityPath","Styled.RightTools","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 useDetailsPanelContext,\n useScopedDetailsPanel,\n useURIContext,\n FeedFilter,\n} from '@shared/context'\n\nimport DetailsPanelHeader from './components/DetailsPanelHeader/DetailsPanelHeader'\nimport DetailsPanelFiles from './components/DetailsPanelFiles'\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) => 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 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}: // 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 // check if tab needs to be updated when entity type changes\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 &&\n ['uri', 'url'].includes(contextEntities.source) &&\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)\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 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 <>\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 <Watchers\n entities={entitiesToQuery}\n entityType={activeEntityType}\n options={projectUsers || []}\n onWatchersUpdate={onWatchersUpdate && onWatchersUpdate}\n userName={user.name}\n />\n <Button\n icon=\"picture_in_picture\"\n variant={'text'}\n data-tooltip=\"Picture in Picture\"\n onClick={handleOpenPip}\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 />\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 </>\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","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","handleOpenPip","isCommentingEnabled","jsxs","Styled.Panel","Styled.Toolbar","jsx","EntityPath","Styled.RightTools","Watchers","Button","DetailsPanelHeader","args","ProjectContextProvider","FeedWrapper","DetailsPanelSubtasks","DetailsPanelFiles","FeedContextWrapper","DetailsPanelDetails","DetailsPanel","isOpen","props"],"mappings":"24dA6BO,MAAMA,EAAsB,CAAC,UAAW,gBAAgB,EAmCzDC,GAAoB,CAAC,CACzB,WAAAC,EACA,eAAAC,EAAiB,CAAA,EAEjB,aAAAC,EAAe,CAAA,EAEf,SAAAC,EAAW,CAAA,EACX,YAAAC,EAAc,CAAA,EACd,iBAAAC,GACA,aAAAC,EACA,qBAAAC,GACA,mBAAAC,EACA,aAAAC,EAAe,CAAA,EACf,aAAAC,GAAe,CAAA,EACf,WAAAC,EAAa,GACb,MAAAC,GAAQ,CAAA,EACR,MAAAC,EACA,UAAAC,GAAY,GACZ,QAAAC,EACA,iBAAAC,EACA,aAAAC,GACA,cAAAC,GACA,OAAAC,EACA,UAAAC,EAEA,YAAAC,EACA,iBAAAC,EACA,0BAAAC,EACA,aAAAC,EACA,gBAAAC,GAAkB,CAAA,CACpB,IACsB,CACpB,KAAM,CACJ,cAAAC,EACA,QAAAC,GACA,KAAAC,EACA,QAAAC,GACA,SAAUC,EACV,YAAAC,EACA,SAAAC,EACA,gBAAAC,GACA,gBAAAC,EACA,YAAAC,EAAA,EACEC,yBAAA,EACE,CAAE,WAAAC,EAAY,OAAAC,EAAQ,OAAAC,EAAA,EAAWC,EAAAA,sBAAsB3B,CAAK,EAC5D,CAAC4B,GAAeC,EAAe,EAAIT,GAAA,EACnCU,EAAkBC,EAAAA,OAAO,EAAK,EAG9BC,EAAmBf,GAAiB,YAAc9B,EAClD8C,EAAiBhB,GAAiB,UAAY3B,EAC9C4C,GAAuBjB,GAAiB,gBAAkB7B,EAC1D+C,GAAqBlB,GAAiB,SAAW,CAAA,EAAK5B,EACtD+C,EAAqBnB,GAAiB,SACxCA,EAAgB,SAAS,IAAK,GAAM,EAAE,WAAW,EACjDpB,GAGJwC,EAAAA,UAAU,IAAM,CACV/B,GAAU,CAACwB,EAAgB,UAC7BA,EAAgB,QAAU,GAC1BxB,EAAA,EAEJ,EAAG,CAAA,CAAE,EAGL+B,EAAAA,UAAU,IAAM,CACVpD,EAAoB,SAAS+C,CAAgB,GAAKR,IAAe,WACnEC,EAAO,SAAS,CAEpB,EAAG,CAACO,EAAkBR,EAAYC,CAAM,CAAC,EAGzCY,EAAAA,UAAU,IAAM,CACV/C,EAAS,QAAU2B,GACrBC,EAAY,IAAI,CAEpB,EAAG,CAAC5B,EAAU2B,EAAiBC,CAAW,CAAC,EAG3C,MAAMoB,EAAcC,EAAAA,QAClB,IAAMC,GAAiB5C,EAAcwC,CAAkB,EACvD,CAACxC,EAAcwC,CAAkB,CAAA,EAI7BK,EAAkBF,EAAAA,QACtB,KAAO,CACL,KAAMD,EAAY,UACf,OAAQI,GAAS,CAAC,CAACA,EAAK,IAAI,EAC5B,OAAO,CAACC,EAAKD,KAAU,CAAE,GAAGC,EAAK,CAACD,EAAK,IAAI,EAAGA,EAAK,OAAS,EAAE,EACjE,OAAQJ,EAAY,YACjB,OAAQM,GAAW,CAAC,CAACA,EAAO,IAAI,EAChC,OAAO,CAACD,EAAKC,KAAY,CAAE,GAAGD,EAAK,CAACC,EAAO,IAAI,EAAGA,EAAO,OAAS,EAAE,EACvE,QAASN,EAAY,aAClB,OAAQO,GAAY,CAAC,CAACA,EAAQ,IAAI,EAClC,OAAO,CAACF,EAAKE,KAAa,CAAE,GAAGF,EAAK,CAACE,EAAQ,IAAI,EAAGA,EAAQ,IAAA,GAAS,CAAA,CAAE,CAAA,GAE5E,CAACP,CAAW,CAAA,EAMdD,EAAAA,UAAU,IAAM,CACVb,IAAe,SAEbQ,IAAqB,WACvBP,EAAO,MAAM,EAIbD,IAAe,YAAcQ,IAAqB,QACpDP,EAAO,MAAM,CAEjB,EAAG,CAACO,EAAkBR,EAAYxB,CAAK,CAAC,EAGxC,IAAI8C,EAAkBb,EAAe,OACjCA,EAAe,IAAKc,IAAY,CAAE,GAAIA,EAAO,GAAI,YAAaA,EAAO,aAAc,EAEnFZ,GAAmB,IAAKY,IAAY,CAAE,GAAIA,EAAO,GAAI,YAAaA,EAAO,aAAc,EAE3FD,EAAkBA,EAAgB,OAAQC,GAAWA,EAAO,EAAE,EAE9D,KAAM,CACJ,KAAMC,EAAoB,CAAA,EAC1B,WAAYC,EACZ,QAAAC,GACA,aAAAC,EAAA,EACEC,GAAAA,gCACF,CAAE,WAAYpB,EAAkB,SAAUc,CAAA,EAC1C,CACE,KAAM,CAACA,EAAgB,QAAU,CAACO,GAAAA,wBAAwB,SAASrB,CAAgB,CAAA,CACrF,EAIFK,EAAAA,UAAU,IAAM,CACTvC,GACHe,EAAA,CAEJ,EAAG,CAACsC,GAAcrD,CAAU,CAAC,EAG7BuC,EAAAA,UAAU,IAAM,CACd,GAAI,CAAAY,GAGFhC,GAAiB,QACjB,CAAC,MAAO,KAAK,EAAE,SAASA,EAAgB,MAAM,GAC9CA,GAAiB,UAAU,QACzBV,EACF,CACA,MAAM+C,EAAYN,EAAkB,KACjCD,GAAWA,EAAO,KAAO9B,EAAgB,SAAS,CAAC,EAAE,EAAA,EAExD,GAAI,CAACqC,EAAW,OAEhB/C,EAAU+C,CAAS,CACrB,CACF,EAAG,CAACN,EAAmBC,CAAyB,CAAC,EAIjD,MAAMM,EAAcC,GAAsB5D,CAAY,EAGhD6D,EAAerB,EAAmB,CAAC,EACnCsB,EAAmB9D,EAAa6D,CAAY,GAAK,CAAA,EACjDE,EAAkBX,EAAkB,CAAC,GAAK,CAAA,EAE1CY,EAAiBZ,EAAkBA,EAAkB,OAAS,CAAC,EAC/Da,EAAczB,EAAmBA,EAAmB,OAAS,CAAC,EAG9D,CAAC0B,EAAoBC,EAAkB,EAAIC,GAAiB,CAChE,OAAQL,EACR,WAAY3B,EACZ,YAAayB,EACb,UAAWR,CAAA,CACZ,EAEK,CAAE,aAAAgB,GAAc,OAAAC,EAAA,EAAWC,iBAAA,EAEjC9B,EAAAA,UAAU,IAAM,CAEd,GADI,CAACuB,GAAgB,SACjB,CAACC,EAAa,OAClB,KAAM,CAAE,WAAAO,EAAY,SAAAC,EAAU,YAAAC,EAAa,YAAAC,GAAgBC,GAAAA,kCACzDZ,EAAe,QACf5B,EACA4B,EAAe,IAAA,EAGjB,OAAAK,GAAa,CACX,YAAaJ,EACb,WAAAO,EACA,SAAAC,EACA,YAAAE,EACA,YAAAD,CAAA,CACD,EAGM,IAAM,CACXJ,GAAO,EAAE,CACX,CACF,EAAG,CAAClB,EAAmBZ,EAAoBJ,CAAgB,CAAC,EAG5DyC,GAAuB,CACrB,WAAYb,EACZ,QAASC,EACT,iBAAA7B,EACA,gBAAAc,CAAA,CACD,EAED,MAAM4B,GAAiB,IAAM,CAE3B7C,GACG8C,GAAS,CACR,MAAMC,EAAY,IAAI,gBAAgBD,CAAI,EAC1C,OAAAC,EAAU,OAAO,SAAS,EAC1BA,EAAU,OAAO,MAAM,EACvBA,EAAU,OAAO,IAAI,EACdA,CACT,EACA,CAAE,QAAS,EAAA,CAAK,CAEpB,EAEMC,EAAc,IAAM,CACxB3E,IAAA,EAEAgB,EAAY,IAAI,EAChBwD,GAAA,EACA7D,EAAA,CACF,EAEAwB,EAAAA,UAAU,IAAM,CACd,MAAMyC,EAAiBC,GAAqB,CAC1C,GAAIA,EAAE,MAAQ,UAAY7E,EAAS,CAEjC,MAAM8E,EAASD,EAAE,OAOjB,GALE,CAAC,QAAS,WAAY,QAAQ,EAAE,SAASC,EAAO,OAAO,GAAKA,EAAO,mBAKjElF,IAAe,KAAUkF,EAAO,QAAQ,gBAAgB,GAAO7D,GAAW,OAE9E0D,EAAA,CACF,CACF,EAEA,cAAO,iBAAiB,UAAWC,CAAa,EACzC,IAAM,OAAO,oBAAoB,UAAWA,CAAa,CAClE,EAAG,CAACD,EAAa/E,EAAYqB,CAAQ,CAAC,EAEtC,KAAM,CAAE,iBAAA8D,EAAA,EAAqBC,gBAAA,EAEvBC,GAAgB,IAAM,CAC1BrE,GAAQ,CACN,WAAYkB,EACZ,SAAUc,EACV,MAAA9C,CAAA,CACD,EACDiF,GAAiB,IAAK,GAAG,CAC3B,EAEMG,EAAsB,IAEtB,EAAAhD,EAAmB,OAAS,GAC5BpB,KAEE,CAACL,GAMD,CAJqB,OAAO,UAAU,eAAe,KACvDC,GACAG,EAAK,QAAQ,OAAS,EAAA,IAO5B,6DAEI,SAAAsE,EAAAA,kBAAAA,KAACC,EAAAA,MAAA,CAAa,UAAU,gBACtB,SAAA,CAAAD,yBAACE,EAAAA,QAAA,CAEC,SAAA,CAAAC,EAAAA,kBAAAA,IAACC,GAAAA,WAAA,CACC,SAAU3B,EACV,SAAUC,GACV,YAAaN,EACb,gBAAiB3D,EACjB,UAAWmD,GAA6B,CAACa,EAAmB,OAC5D,WAAY9B,EACZ,MAAAhC,EAEA,gBAAAyC,CAAA,CAAA,EAEF4C,EAAAA,kBAAAA,KAACK,EAAAA,WAAA,CAAkB,UAAU,cAC3B,SAAA,CAAAF,EAAAA,kBAAAA,IAACG,GAAAA,SAAA,CACC,SAAU7C,EACV,WAAYd,EACZ,QAASvC,GAAgB,CAAA,EACzB,iBAAkBU,GAAoBA,EACtC,SAAUY,EAAK,IAAA,CAAA,EAEjByE,EAAAA,kBAAAA,IAACI,EAAAA,OAAA,CACC,KAAK,qBACL,QAAS,OACT,eAAa,qBACb,QAAST,EAAA,CAAA,EAGVjF,GACCsF,EAAAA,kBAAAA,IAACI,EAAAA,OAAA,CACC,KAAK,QACL,QAAS,OACT,QAASf,EACT,gBAAe,QAAA,CAAA,CACjB,CAAA,CAEJ,CAAA,EACF,EAEAW,EAAAA,kBAAAA,IAACK,GAAA,CACC,WAAY7D,EACZ,eAAgBE,GAChB,SAAUc,EACV,MAAOvD,EACP,kBAAmBC,GACnB,iBAAAF,GACA,YAAAD,EACA,WAAY0D,EACZ,UAAAhD,GACA,WAAAuB,EACA,YAAaC,EACb,gBAAAgB,EACA,aAAeqD,GAAS1F,KAAe0F,CAAI,EAC3C,cAAAzF,EAAA,CAAA,EAGFgF,EAAAA,kBAAAA,KAACU,GAAAA,uBAAA,CAAuB,YAAatC,EAClC,SAAA,CAAA/B,IAAU,CAACwB,IACVsC,EAAAA,kBAAAA,IAACQ,GAAA,CACC,WAAYhE,EACZ,SAAUgB,EACV,YAAarD,GAAsB,CAAA,EACnC,YAAa+D,EACb,YAAaD,EACb,SAAU,CAAC2B,EAAA,EACX,MAAApF,EACA,SAAUuD,EACV,SAAU,GACV,aAAA5C,EACA,YAAAH,EACA,iBAAAC,EACA,0BAAAC,EACA,WAAAZ,CAAA,CAAA,EAGH0B,IAAe,YACdQ,IAAqB,QACrB2B,GAAiB,IACjBtC,GACEmE,EAAAA,kBAAAA,IAACS,GAAA,CACC,YAAaxC,EACb,OAAQE,EAAgB,GACxB,SAAUA,EAAgB,MAAM,UAAY,CAAA,EAC5C,gBAAAtC,EACA,YAAAC,GACA,WAAY,IAAMG,EAAO,MAAM,CAAA,CAAA,EAGpCD,IAAe,SACdgE,EAAAA,kBAAAA,IAACU,GAAA,CACC,SAAUlD,EACV,MAAAhD,EACA,iBAAkBiD,CAAA,CAAA,EAGrBzB,IAAe,WACdgE,EAAAA,kBAAAA,IAACW,GAAA,CACC,WAAYnE,EACZ,SAAUgB,EACV,YAAarD,GAAsB,CAAA,EACnC,YAAa+D,EACb,YAAaD,EACb,SAAU,CAAC2B,EAAA,EACX,MAAApF,EACA,SAAUuD,EACV,SAAU,GACV,YAAA/C,EACA,iBAAAC,EACA,0BAAAC,EAEA,SAAA8E,EAAAA,kBAAAA,IAACY,GAAAA,oBAAA,CACC,SAAUpD,EACV,UAAWC,CAAA,CAAA,CACb,CAAA,CACF,CAAA,CAEJ,CAAA,CAAA,CACF,CAAA,CACF,CAEJ,EAGaoD,GAAe,CAAC,CAC3B,OAAAC,EACA,WAAAnH,EACA,GAAGoH,CACL,IAGM,CACJ,KAAM,CAAE,SAAAjH,CAAA,EAAaiC,yBAAA,EAGrB,MADI,CAAC+E,GAAU,CAAChH,GACZ,CAACH,GAAc,CAACG,EAAiB,6BAG7BJ,GAAA,CAAmB,GAAGqH,EAAO,WAAYpH,GAAcG,GAAU,WAAY,CACvF"}
@@ -28,6 +28,7 @@ import "../../api/generated/operations.es.js";
28
28
  import "../../api/generated/products.es.js";
29
29
  import "../../api/generated/projectDashboard.es.js";
30
30
  import "../../api/generated/projects.es.js";
31
+ import "../../api/generated/projectFolders.es.js";
31
32
  import "../../api/generated/reviewables.es.js";
32
33
  import "../../api/generated/services.es.js";
33
34
  import "../../api/generated/system.es.js";
@@ -76,6 +77,7 @@ import "../../api/queries/permissions/getPermissions.es.js";
76
77
  import "../../api/queries/products/createProduct.es.js";
77
78
  import "../../api/queries/project/getProject.es.js";
78
79
  import "../../api/queries/project/updateProject.es.js";
80
+ import "../../api/queries/projectFolders/projectFolders.es.js";
79
81
  import "../../api/queries/review/getReview.es.js";
80
82
  import "../../api/queries/review/updateReview.es.js";
81
83
  import "../../api/queries/share/share.es.js";
@@ -121,11 +123,11 @@ import "../Feed/context/FeedContext.es.js";
121
123
  import "../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.es.js";
122
124
  import "../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.es.js";
123
125
  import "../../context/RemoteModulesContext.es.js";
124
- import { useDetailsPanelContext as Y, useScopedDetailsPanel as St } from "../../context/DetailsPanelContext.es.js";
126
+ import { useDetailsPanelContext as Y, useScopedDetailsPanel as Ft } from "../../context/DetailsPanelContext.es.js";
125
127
  import "../../context/SubtasksModulesContext.es.js";
126
128
  import "../../context/ThumbnailUploaderContext.es.js";
127
129
  import "../../context/SettingsPanelContext.es.js";
128
- import { usePiPWindow as Ft } from "../../context/pip/PiPProvider.es.js";
130
+ import { usePiPWindow as St } from "../../context/pip/PiPProvider.es.js";
129
131
  import "../../context/pip/PiPWrapper.es.js";
130
132
  import "../../context/AddonProjectContext.es.js";
131
133
  import "../../context/AddonContext.es.js";
@@ -283,10 +285,10 @@ const qt = ["product", "representation"], Bt = ({
283
285
  scope: a,
284
286
  isCompact: rt = !1,
285
287
  onClose: b,
286
- onWatchersUpdate: S,
288
+ onWatchersUpdate: F,
287
289
  onOpenViewer: ot,
288
290
  onEntityFocus: et,
289
- onOpen: F,
291
+ onOpen: S,
290
292
  onUriOpen: I,
291
293
  // when the details panel is opened from uri
292
294
  // annotations
@@ -307,9 +309,9 @@ const qt = ["product", "representation"], Bt = ({
307
309
  useSearchParams: nt,
308
310
  SubtasksManager: O,
309
311
  useNavigate: at
310
- } = Y(), { currentTab: p, setTab: y, isFeed: ct } = St(a), [Xt, lt] = nt(), V = xt(!1), r = e?.entityType ?? x, _ = e?.entities ?? n, ut = e?.entitySubTypes ?? P, dt = e?.entities ? [] : N, c = e?.entities ? e.entities.map((t) => t.projectName) : it;
312
+ } = Y(), { currentTab: p, setTab: y, isFeed: ct } = Ft(a), [Xt, lt] = nt(), V = xt(!1), r = e?.entityType ?? x, _ = e?.entities ?? n, ut = e?.entitySubTypes ?? P, dt = e?.entities ? [] : N, c = e?.entities ? e.entities.map((t) => t.projectName) : it;
311
313
  s(() => {
312
- F && !V.current && (V.current = !0, F());
314
+ S && !V.current && (V.current = !0, S());
313
315
  }, []), s(() => {
314
316
  qt.includes(r) && p !== "details" && y("details");
315
317
  }, [r, p, y]), s(() => {
@@ -405,7 +407,7 @@ const qt = ["product", "representation"], Bt = ({
405
407
  };
406
408
  return window.addEventListener("keydown", t), () => window.removeEventListener("keydown", t);
407
409
  }, [v, f, G]);
408
- const { requestPipWindow: Et } = Ft(), Tt = () => {
410
+ const { requestPipWindow: Et } = St(), Tt = () => {
409
411
  pt({
410
412
  entityType: r,
411
413
  entities: l,
@@ -437,7 +439,7 @@ const qt = ["product", "representation"], Bt = ({
437
439
  entities: l,
438
440
  entityType: r,
439
441
  options: w || [],
440
- onWatchersUpdate: S && S,
442
+ onWatchersUpdate: F && F,
441
443
  userName: A.name
442
444
  }
443
445
  ),
@@ -507,7 +509,8 @@ const qt = ["product", "representation"], Bt = ({
507
509
  taskId: E.id,
508
510
  subtasks: E.task?.subtasks || [],
509
511
  SubtasksManager: O,
510
- useNavigate: at
512
+ useNavigate: at,
513
+ onNotFound: () => y("feed")
511
514
  }
512
515
  ),
513
516
  p === "files" && /* @__PURE__ */ o.jsx(
@@ -544,7 +547,7 @@ const qt = ["product", "representation"], Bt = ({
544
547
  )
545
548
  ] })
546
549
  ] }) });
547
- }, Bm = ({
550
+ }, Xm = ({
548
551
  isOpen: x,
549
552
  entityType: P,
550
553
  ...N
@@ -553,7 +556,7 @@ const qt = ["product", "representation"], Bt = ({
553
556
  return !x && !n || !P && !n ? null : /* @__PURE__ */ o.jsx(Bt, { ...N, entityType: P || n?.entityType });
554
557
  };
555
558
  export {
556
- Bm as DetailsPanel,
559
+ Xm as DetailsPanel,
557
560
  qt as entitiesWithoutFeed
558
561
  };
559
562
  //# sourceMappingURL=DetailsPanel.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DetailsPanel.es.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 useDetailsPanelContext,\n useScopedDetailsPanel,\n useURIContext,\n FeedFilter,\n} from '@shared/context'\n\nimport DetailsPanelHeader from './components/DetailsPanelHeader/DetailsPanelHeader'\nimport DetailsPanelFiles from './components/DetailsPanelFiles'\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) => 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 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}: // 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 // check if tab needs to be updated when entity type changes\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 &&\n ['uri', 'url'].includes(contextEntities.source) &&\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)\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 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 <>\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 <Watchers\n entities={entitiesToQuery}\n entityType={activeEntityType}\n options={projectUsers || []}\n onWatchersUpdate={onWatchersUpdate && onWatchersUpdate}\n userName={user.name}\n />\n <Button\n icon=\"picture_in_picture\"\n variant={'text'}\n data-tooltip=\"Picture in Picture\"\n onClick={handleOpenPip}\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 />\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 />\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 </>\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","closeSlideOut","openPip","user","isGuest","contextEntities","setEntities","slideOut","useSearchParams","SubtasksManager","useNavigate","useDetailsPanelContext","currentTab","setTab","isFeed","useScopedDetailsPanel","_searchParams","setSearchParams","hasCalledOnOpen","useRef","activeEntityType","activeEntities","activeEntitySubTypes","activeEntitiesData","activeProjectNames","e","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","target","requestPipWindow","usePiPWindow","handleOpenPip","isCommentingEnabled","jsxs","Styled.Panel","Styled.Toolbar","jsx","EntityPath","Styled.RightTools","Watchers","Button","DetailsPanelHeader","args","ProjectContextProvider","FeedWrapper","DetailsPanelSubtasks","DetailsPanelFiles","FeedContextWrapper","DetailsPanelDetails","DetailsPanel","isOpen","props"],"mappings":"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"}
1
+ {"version":3,"file":"DetailsPanel.es.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 useDetailsPanelContext,\n useScopedDetailsPanel,\n useURIContext,\n FeedFilter,\n} from '@shared/context'\n\nimport DetailsPanelHeader from './components/DetailsPanelHeader/DetailsPanelHeader'\nimport DetailsPanelFiles from './components/DetailsPanelFiles'\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) => 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 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}: // 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 // check if tab needs to be updated when entity type changes\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 &&\n ['uri', 'url'].includes(contextEntities.source) &&\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)\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 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 <>\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 <Watchers\n entities={entitiesToQuery}\n entityType={activeEntityType}\n options={projectUsers || []}\n onWatchersUpdate={onWatchersUpdate && onWatchersUpdate}\n userName={user.name}\n />\n <Button\n icon=\"picture_in_picture\"\n variant={'text'}\n data-tooltip=\"Picture in Picture\"\n onClick={handleOpenPip}\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 />\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 </>\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","closeSlideOut","openPip","user","isGuest","contextEntities","setEntities","slideOut","useSearchParams","SubtasksManager","useNavigate","useDetailsPanelContext","currentTab","setTab","isFeed","useScopedDetailsPanel","_searchParams","setSearchParams","hasCalledOnOpen","useRef","activeEntityType","activeEntities","activeEntitySubTypes","activeEntitiesData","activeProjectNames","e","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","target","requestPipWindow","usePiPWindow","handleOpenPip","isCommentingEnabled","jsxs","Styled.Panel","Styled.Toolbar","jsx","EntityPath","Styled.RightTools","Watchers","Button","DetailsPanelHeader","args","ProjectContextProvider","FeedWrapper","DetailsPanelSubtasks","DetailsPanelFiles","FeedContextWrapper","DetailsPanelDetails","DetailsPanel","isOpen","props"],"mappings":"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"}