@ynput/ayon-frontend-shared 0.3.8 → 0.3.10

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 (811) 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/api.cjs.js +1 -1
  11. package/dist/api.es.js +340 -331
  12. package/dist/api.es.js.map +1 -1
  13. package/dist/context.cjs.js +1 -1
  14. package/dist/context.es.js +39 -36
  15. package/dist/context.es.js.map +1 -1
  16. package/dist/index.cjs.js +1 -1
  17. package/dist/index.es.js +11 -9
  18. package/dist/index.es.js.map +1 -1
  19. package/dist/shared/src/api/generated/actions.cjs.js.map +1 -1
  20. package/dist/shared/src/api/generated/actions.es.js.map +1 -1
  21. package/dist/shared/src/api/generated/folders.cjs.js.map +1 -1
  22. package/dist/shared/src/api/generated/folders.es.js.map +1 -1
  23. package/dist/shared/src/api/generated/projectFolders.cjs.js +2 -0
  24. package/dist/shared/src/api/generated/projectFolders.cjs.js.map +1 -0
  25. package/dist/shared/src/api/generated/projectFolders.es.js +44 -0
  26. package/dist/shared/src/api/generated/projectFolders.es.js.map +1 -0
  27. package/dist/shared/src/api/generated/projects.cjs.js +1 -1
  28. package/dist/shared/src/api/generated/projects.cjs.js.map +1 -1
  29. package/dist/shared/src/api/generated/projects.es.js +20 -0
  30. package/dist/shared/src/api/generated/projects.es.js.map +1 -1
  31. package/dist/shared/src/api/generated/system.cjs.js.map +1 -1
  32. package/dist/shared/src/api/generated/system.es.js.map +1 -1
  33. package/dist/shared/src/api/queries/actions/getActions.cjs.js +1 -1
  34. package/dist/shared/src/api/queries/actions/getActions.cjs.js.map +1 -1
  35. package/dist/shared/src/api/queries/actions/getActions.es.js +11 -10
  36. package/dist/shared/src/api/queries/actions/getActions.es.js.map +1 -1
  37. package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -1
  38. package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
  39. package/dist/shared/src/api/queries/activities/getActivities.es.js +11 -10
  40. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  41. package/dist/shared/src/api/queries/activities/getCategories.cjs.js +1 -1
  42. package/dist/shared/src/api/queries/activities/getCategories.cjs.js.map +1 -1
  43. package/dist/shared/src/api/queries/activities/getCategories.es.js +3 -2
  44. package/dist/shared/src/api/queries/activities/getCategories.es.js.map +1 -1
  45. package/dist/shared/src/api/queries/activities/getMentions.cjs.js +1 -1
  46. package/dist/shared/src/api/queries/activities/getMentions.cjs.js.map +1 -1
  47. package/dist/shared/src/api/queries/activities/getMentions.es.js +3 -2
  48. package/dist/shared/src/api/queries/activities/getMentions.es.js.map +1 -1
  49. package/dist/shared/src/api/queries/activities/updateReaction.cjs.js +1 -1
  50. package/dist/shared/src/api/queries/activities/updateReaction.cjs.js.map +1 -1
  51. package/dist/shared/src/api/queries/activities/updateReaction.es.js +4 -3
  52. package/dist/shared/src/api/queries/activities/updateReaction.es.js.map +1 -1
  53. package/dist/shared/src/api/queries/addons/getAddons.cjs.js +1 -1
  54. package/dist/shared/src/api/queries/addons/getAddons.cjs.js.map +1 -1
  55. package/dist/shared/src/api/queries/addons/getAddons.es.js +7 -6
  56. package/dist/shared/src/api/queries/addons/getAddons.es.js.map +1 -1
  57. package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js +1 -1
  58. package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js.map +1 -1
  59. package/dist/shared/src/api/queries/attributes/getAttributes.es.js +4 -3
  60. package/dist/shared/src/api/queries/attributes/getAttributes.es.js.map +1 -1
  61. package/dist/shared/src/api/queries/authentication/getAuthentication.cjs.js +1 -1
  62. package/dist/shared/src/api/queries/authentication/getAuthentication.cjs.js.map +1 -1
  63. package/dist/shared/src/api/queries/authentication/getAuthentication.es.js +4 -3
  64. package/dist/shared/src/api/queries/authentication/getAuthentication.es.js.map +1 -1
  65. package/dist/shared/src/api/queries/cloud/cloud.cjs.js +1 -1
  66. package/dist/shared/src/api/queries/cloud/cloud.cjs.js.map +1 -1
  67. package/dist/shared/src/api/queries/cloud/cloud.es.js +9 -8
  68. package/dist/shared/src/api/queries/cloud/cloud.es.js.map +1 -1
  69. package/dist/shared/src/api/queries/config/getConfig.cjs.js +1 -1
  70. package/dist/shared/src/api/queries/config/getConfig.cjs.js.map +1 -1
  71. package/dist/shared/src/api/queries/config/getConfig.es.js +9 -8
  72. package/dist/shared/src/api/queries/config/getConfig.es.js.map +1 -1
  73. package/dist/shared/src/api/queries/entities/getEntity.cjs.js +1 -1
  74. package/dist/shared/src/api/queries/entities/getEntity.cjs.js.map +1 -1
  75. package/dist/shared/src/api/queries/entities/getEntity.es.js +13 -12
  76. package/dist/shared/src/api/queries/entities/getEntity.es.js.map +1 -1
  77. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
  78. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
  79. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +4 -3
  80. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  81. package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js +1 -1
  82. package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js.map +1 -1
  83. package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js +4 -2
  84. package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js.map +1 -1
  85. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  86. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  87. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +5 -3
  88. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  89. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  90. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  91. package/dist/shared/src/api/queries/entityLists/getLists.es.js +15 -14
  92. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  93. package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js +1 -1
  94. package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js.map +1 -1
  95. package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js +3 -2
  96. package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js.map +1 -1
  97. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js +1 -1
  98. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js.map +1 -1
  99. package/dist/shared/src/api/queries/entityLists/listFolders.es.js +22 -20
  100. package/dist/shared/src/api/queries/entityLists/listFolders.es.js.map +1 -1
  101. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -1
  102. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
  103. package/dist/shared/src/api/queries/entityLists/updateLists.es.js +17 -16
  104. package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
  105. package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -1
  106. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  107. package/dist/shared/src/api/queries/folders/getFolders.es.js +4 -3
  108. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  109. package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js +1 -1
  110. package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js.map +1 -1
  111. package/dist/shared/src/api/queries/grouping/getGrouping.es.js +22 -6
  112. package/dist/shared/src/api/queries/grouping/getGrouping.es.js.map +1 -1
  113. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
  114. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
  115. package/dist/shared/src/api/queries/links/getEntityLinks.es.js +3 -2
  116. package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
  117. package/dist/shared/src/api/queries/links/getLinks.cjs.js +1 -1
  118. package/dist/shared/src/api/queries/links/getLinks.cjs.js.map +1 -1
  119. package/dist/shared/src/api/queries/links/getLinks.es.js +14 -13
  120. package/dist/shared/src/api/queries/links/getLinks.es.js.map +1 -1
  121. package/dist/shared/src/api/queries/links/updateLinks.cjs.js +1 -1
  122. package/dist/shared/src/api/queries/links/updateLinks.cjs.js.map +1 -1
  123. package/dist/shared/src/api/queries/links/updateLinks.es.js +17 -16
  124. package/dist/shared/src/api/queries/links/updateLinks.es.js.map +1 -1
  125. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  126. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  127. package/dist/shared/src/api/queries/overview/getOverview.es.js +37 -36
  128. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  129. package/dist/shared/src/api/queries/overview/patchVersions.cjs.js +1 -1
  130. package/dist/shared/src/api/queries/overview/patchVersions.cjs.js.map +1 -1
  131. package/dist/shared/src/api/queries/overview/patchVersions.es.js +88 -53
  132. package/dist/shared/src/api/queries/overview/patchVersions.es.js.map +1 -1
  133. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  134. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  135. package/dist/shared/src/api/queries/overview/updateOverview.es.js +8 -6
  136. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  137. package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js +1 -1
  138. package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js.map +1 -1
  139. package/dist/shared/src/api/queries/permissions/getPermissions.es.js +4 -3
  140. package/dist/shared/src/api/queries/permissions/getPermissions.es.js.map +1 -1
  141. package/dist/shared/src/api/queries/products/createProduct.cjs.js +1 -1
  142. package/dist/shared/src/api/queries/products/createProduct.cjs.js.map +1 -1
  143. package/dist/shared/src/api/queries/products/createProduct.es.js +3 -2
  144. package/dist/shared/src/api/queries/products/createProduct.es.js.map +1 -1
  145. package/dist/shared/src/api/queries/project/getProject.cjs.js +1 -1
  146. package/dist/shared/src/api/queries/project/getProject.cjs.js.map +1 -1
  147. package/dist/shared/src/api/queries/project/getProject.es.js +9 -8
  148. package/dist/shared/src/api/queries/project/getProject.es.js.map +1 -1
  149. package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js +2 -0
  150. package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js.map +1 -0
  151. package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js +178 -0
  152. package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js.map +1 -0
  153. package/dist/shared/src/api/queries/review/getReview.cjs.js +1 -1
  154. package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
  155. package/dist/shared/src/api/queries/review/getReview.es.js +15 -14
  156. package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
  157. package/dist/shared/src/api/queries/review/updateReview.cjs.js +1 -1
  158. package/dist/shared/src/api/queries/review/updateReview.cjs.js.map +1 -1
  159. package/dist/shared/src/api/queries/review/updateReview.es.js +7 -6
  160. package/dist/shared/src/api/queries/review/updateReview.es.js.map +1 -1
  161. package/dist/shared/src/api/queries/share/share.cjs.js +1 -1
  162. package/dist/shared/src/api/queries/share/share.cjs.js.map +1 -1
  163. package/dist/shared/src/api/queries/share/share.es.js +3 -2
  164. package/dist/shared/src/api/queries/share/share.es.js.map +1 -1
  165. package/dist/shared/src/api/queries/system/getSystem.cjs.js +1 -1
  166. package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
  167. package/dist/shared/src/api/queries/system/getSystem.es.js +5 -4
  168. package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
  169. package/dist/shared/src/api/queries/tasks/updateTasks.cjs.js +1 -1
  170. package/dist/shared/src/api/queries/tasks/updateTasks.cjs.js.map +1 -1
  171. package/dist/shared/src/api/queries/tasks/updateTasks.es.js +6 -6
  172. package/dist/shared/src/api/queries/tasks/updateTasks.es.js.map +1 -1
  173. package/dist/shared/src/api/queries/uris/getUris.cjs.js +1 -1
  174. package/dist/shared/src/api/queries/uris/getUris.cjs.js.map +1 -1
  175. package/dist/shared/src/api/queries/uris/getUris.es.js +3 -2
  176. package/dist/shared/src/api/queries/uris/getUris.es.js.map +1 -1
  177. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
  178. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  179. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +6 -5
  180. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  181. package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -1
  182. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  183. package/dist/shared/src/api/queries/users/getUsers.es.js +20 -18
  184. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  185. package/dist/shared/src/api/queries/users/guests.cjs.js +1 -1
  186. package/dist/shared/src/api/queries/users/guests.cjs.js.map +1 -1
  187. package/dist/shared/src/api/queries/users/guests.es.js +5 -4
  188. package/dist/shared/src/api/queries/users/guests.es.js.map +1 -1
  189. package/dist/shared/src/api/queries/users/updateUsers.cjs.js +1 -1
  190. package/dist/shared/src/api/queries/users/updateUsers.cjs.js.map +1 -1
  191. package/dist/shared/src/api/queries/users/updateUsers.es.js +21 -20
  192. package/dist/shared/src/api/queries/users/updateUsers.es.js.map +1 -1
  193. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
  194. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
  195. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +348 -136
  196. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
  197. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.cjs.js +1 -1
  198. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.cjs.js.map +1 -1
  199. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.es.js +57 -59
  200. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.es.js.map +1 -1
  201. package/dist/shared/src/api/queries/versions/updateVersions.cjs.js +1 -1
  202. package/dist/shared/src/api/queries/versions/updateVersions.cjs.js.map +1 -1
  203. package/dist/shared/src/api/queries/versions/updateVersions.es.js +6 -5
  204. package/dist/shared/src/api/queries/versions/updateVersions.es.js.map +1 -1
  205. package/dist/shared/src/api/queries/views/getViews.cjs.js +1 -1
  206. package/dist/shared/src/api/queries/views/getViews.cjs.js.map +1 -1
  207. package/dist/shared/src/api/queries/views/getViews.es.js +11 -10
  208. package/dist/shared/src/api/queries/views/getViews.es.js.map +1 -1
  209. package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js +1 -1
  210. package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js.map +1 -1
  211. package/dist/shared/src/api/queries/watchers/getWatchers.es.js +4 -3
  212. package/dist/shared/src/api/queries/watchers/getWatchers.es.js.map +1 -1
  213. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  214. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  215. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +4 -2
  216. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  217. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +3 -3
  218. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
  219. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +13 -13
  220. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
  221. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +3 -3
  222. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  223. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +24 -22
  224. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  225. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  226. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  227. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +4 -2
  228. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  229. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  230. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  231. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +4 -2
  232. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  233. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  234. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  235. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +4 -2
  236. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  237. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  238. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  239. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +4 -2
  240. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  241. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  242. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  243. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +16 -14
  244. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  245. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  246. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  247. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +4 -2
  248. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  249. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  250. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  251. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +4 -2
  252. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  253. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  254. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  255. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +4 -2
  256. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  257. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  258. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  259. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +4 -2
  260. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  261. package/dist/shared/src/components/Menu/Menu.styled.cjs.js +0 -1
  262. package/dist/shared/src/components/Menu/Menu.styled.cjs.js.map +1 -1
  263. package/dist/shared/src/components/Menu/Menu.styled.es.js +0 -1
  264. package/dist/shared/src/components/Menu/Menu.styled.es.js.map +1 -1
  265. package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
  266. package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
  267. package/dist/shared/src/components/Menu/MenuList.es.js +21 -21
  268. package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
  269. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  270. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  271. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +58 -38
  272. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  273. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
  274. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  275. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +113 -107
  276. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  277. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  278. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  279. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +4 -2
  280. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  281. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  282. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  283. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +4 -2
  284. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  285. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  286. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  287. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +4 -2
  288. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  289. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  290. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  291. package/dist/shared/src/components/RenameForm/RenameForm.es.js +4 -2
  292. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  293. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  294. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  295. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +4 -2
  296. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  297. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  298. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  299. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +32 -30
  300. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  301. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  302. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  303. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +5 -3
  304. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  305. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  306. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  307. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +4 -2
  308. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  309. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  310. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  311. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +4 -2
  312. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  313. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  314. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  315. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +8 -6
  316. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  317. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +31 -0
  318. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -0
  319. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +107 -0
  320. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -0
  321. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +2 -2
  322. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  323. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +33 -28
  324. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  325. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js +1 -1
  326. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js.map +1 -1
  327. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js +12 -11
  328. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js.map +1 -1
  329. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  330. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  331. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +4 -2
  332. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  333. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  334. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  335. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +6 -4
  336. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  337. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  338. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  339. package/dist/shared/src/components/Watchers/Watchers.es.js +4 -2
  340. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  341. package/dist/shared/src/config/plannerFeatures.cjs.js +2 -0
  342. package/dist/shared/src/config/plannerFeatures.cjs.js.map +1 -0
  343. package/dist/shared/src/config/plannerFeatures.es.js +50 -0
  344. package/dist/shared/src/config/plannerFeatures.es.js.map +1 -0
  345. package/dist/shared/src/config/powerpackFeatures.cjs.js +2 -0
  346. package/dist/shared/src/config/powerpackFeatures.cjs.js.map +1 -0
  347. package/dist/shared/src/config/powerpackFeatures.es.js +74 -0
  348. package/dist/shared/src/config/powerpackFeatures.es.js.map +1 -0
  349. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  350. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  351. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +4 -2
  352. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  353. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  354. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  355. package/dist/shared/src/containers/Actions/Actions.es.js +18 -15
  356. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  357. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js +2 -2
  358. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js.map +1 -1
  359. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js +33 -32
  360. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js.map +1 -1
  361. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  362. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  363. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +4 -2
  364. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  365. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  366. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  367. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +73 -68
  368. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  369. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  370. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  371. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +4 -2
  372. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  373. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  374. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  375. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +5 -3
  376. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  377. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  378. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  379. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +4 -2
  380. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  381. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  382. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  383. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +4 -2
  384. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  385. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  386. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  387. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +18 -16
  388. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  389. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  390. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  391. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +4 -2
  392. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  393. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  394. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  395. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +4 -2
  396. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  397. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  398. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  399. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +4 -2
  400. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  401. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  402. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  403. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +4 -2
  404. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  405. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  406. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  407. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +4 -2
  408. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  409. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  410. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +4 -2
  412. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  413. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  414. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +4 -2
  416. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  417. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  418. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +4 -2
  420. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  421. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  422. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +4 -2
  424. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  425. package/dist/shared/src/containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.cjs.js +1 -1
  426. package/dist/shared/src/containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.es.js +8 -8
  428. package/dist/shared/src/containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.es.js.map +1 -1
  429. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  430. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  431. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +4 -2
  432. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  433. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  434. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +4 -2
  436. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  437. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  438. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +4 -2
  440. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  441. package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js.map +1 -1
  442. package/dist/shared/src/containers/Feed/components/ActivityItem.es.js.map +1 -1
  443. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.cjs.js +1 -1
  444. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.cjs.js.map +1 -1
  445. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.es.js +18 -18
  446. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.es.js.map +1 -1
  447. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  448. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  449. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +4 -2
  450. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  451. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  452. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  453. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +4 -2
  454. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  455. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  456. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  457. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +7 -5
  458. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  459. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  460. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  461. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +4 -2
  462. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  463. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  464. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  465. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +686 -616
  466. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  467. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +26 -11
  468. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
  469. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +40 -25
  470. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
  471. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  472. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  473. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +4 -2
  474. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  475. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +2 -0
  476. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -0
  477. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +381 -0
  478. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -0
  479. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  480. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  481. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +4 -2
  482. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  483. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  484. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  485. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +4 -2
  486. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  487. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js +6 -2
  488. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js.map +1 -1
  489. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js +13 -9
  490. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js.map +1 -1
  491. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  492. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  493. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +147 -119
  494. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  495. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +4 -3
  496. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  497. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +487 -262
  498. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  499. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  500. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  501. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +149 -145
  502. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  503. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  504. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  505. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +6 -4
  506. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  507. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  508. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  509. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
  510. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
  511. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +118 -109
  512. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
  513. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js +1 -1
  514. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js.map +1 -1
  515. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js +30 -30
  516. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js.map +1 -1
  517. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  518. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  519. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +94 -91
  520. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  521. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.cjs.js +5 -0
  522. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.cjs.js.map +1 -0
  523. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.es.js +67 -0
  524. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.es.js.map +1 -0
  525. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  526. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  527. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +33 -31
  528. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  529. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  530. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  531. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +30 -28
  532. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  533. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  534. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  535. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +4 -2
  536. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  537. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  538. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  539. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +4 -2
  540. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  541. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnDragRestriction.cjs.js +2 -0
  542. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnDragRestriction.cjs.js.map +1 -0
  543. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnDragRestriction.es.js +56 -0
  544. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnDragRestriction.es.js.map +1 -0
  545. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  546. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  547. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +4 -2
  548. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  549. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.cjs.js +1 -1
  550. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.cjs.js.map +1 -1
  551. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.es.js +57 -40
  552. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.es.js.map +1 -1
  553. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  554. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  555. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +4 -2
  556. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  557. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  558. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  559. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +4 -2
  560. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  561. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  562. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  563. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +4 -2
  564. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  565. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  566. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  567. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +4 -2
  568. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  569. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  570. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  571. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +4 -2
  572. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  573. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  574. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  575. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +4 -2
  576. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  577. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  578. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  579. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +30 -28
  580. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  581. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +2 -0
  582. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -0
  583. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +303 -0
  584. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -0
  585. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  586. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  587. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +175 -156
  588. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  589. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  590. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  591. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +15 -13
  592. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  593. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  594. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  595. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +21 -19
  596. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  597. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  598. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  599. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +6 -4
  600. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  601. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  602. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  603. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +4 -2
  604. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  605. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  606. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  607. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +21 -18
  608. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  609. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +1 -1
  610. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
  611. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +1 -1
  612. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
  613. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js +1 -1
  614. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js.map +1 -1
  615. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js +29 -29
  616. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js.map +1 -1
  617. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  618. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  619. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +7 -5
  620. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  621. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  622. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  623. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +90 -85
  624. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  625. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js +9 -5
  626. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js.map +1 -1
  627. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js +11 -7
  628. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js.map +1 -1
  629. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  630. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  631. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +4 -2
  632. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  633. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  634. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  635. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +6 -4
  636. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  637. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  638. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  639. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +14 -12
  640. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  641. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js +1 -1
  642. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -1
  643. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js +4 -2
  644. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -1
  645. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  646. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  647. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +4 -2
  648. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  649. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  650. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  651. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +4 -2
  652. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  653. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  654. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  655. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +40 -38
  656. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  657. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js +1 -1
  658. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js.map +1 -1
  659. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js +10 -8
  660. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js.map +1 -1
  661. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  662. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  663. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +5 -3
  664. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  665. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
  666. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  667. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +4 -2
  668. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  669. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  670. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  671. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +4 -2
  672. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  673. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  674. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  675. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +12 -10
  676. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  677. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  678. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  679. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +4 -2
  680. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  681. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  682. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  683. package/dist/shared/src/context/AddonProjectContext.es.js +6 -4
  684. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  685. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  686. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  687. package/dist/shared/src/context/DetailsPanelContext.es.js +6 -4
  688. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  689. package/dist/shared/src/context/GlobalContext.cjs.js +1 -1
  690. package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -1
  691. package/dist/shared/src/context/GlobalContext.es.js +6 -4
  692. package/dist/shared/src/context/GlobalContext.es.js.map +1 -1
  693. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  694. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  695. package/dist/shared/src/context/PowerpackContext.es.js +46 -94
  696. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  697. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  698. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  699. package/dist/shared/src/context/ProjectContext.es.js +6 -4
  700. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  701. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  702. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  703. package/dist/shared/src/context/ProjectFoldersContext.es.js +6 -4
  704. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  705. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  706. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  707. package/dist/shared/src/context/RemoteModulesContext.es.js +6 -4
  708. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  709. package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
  710. package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
  711. package/dist/shared/src/context/SubtasksModulesContext.es.js +21 -14
  712. package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
  713. package/dist/shared/src/context/UriContext.cjs.js +1 -1
  714. package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
  715. package/dist/shared/src/context/UriContext.es.js +7 -5
  716. package/dist/shared/src/context/UriContext.es.js.map +1 -1
  717. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  718. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  719. package/dist/shared/src/context/WebsocketContext.es.js +6 -4
  720. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  721. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  722. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  723. package/dist/shared/src/hooks/useActionTriggers.es.js +4 -2
  724. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  725. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  726. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  727. package/dist/shared/src/hooks/useEntityUpdate.es.js +4 -2
  728. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  729. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
  730. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
  731. package/dist/shared/src/hooks/useGetEntityGroups.es.js +4 -2
  732. package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
  733. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  734. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  735. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +4 -2
  736. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  737. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  738. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  739. package/dist/shared/src/hooks/useScopedStatuses.es.js +6 -4
  740. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  741. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  742. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  743. package/dist/shared/src/hooks/useUserProjectConfig.es.js +4 -2
  744. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  745. package/dist/shared/src/util/buildHierarchicalTableRows.cjs.js +2 -0
  746. package/dist/shared/src/util/buildHierarchicalTableRows.cjs.js.map +1 -0
  747. package/dist/shared/src/util/buildHierarchicalTableRows.es.js +69 -0
  748. package/dist/shared/src/util/buildHierarchicalTableRows.es.js.map +1 -0
  749. package/dist/shared/src/util/errorHandling.cjs.js +2 -0
  750. package/dist/shared/src/util/errorHandling.cjs.js.map +1 -0
  751. package/dist/shared/src/util/errorHandling.es.js +9 -0
  752. package/dist/shared/src/util/errorHandling.es.js.map +1 -0
  753. package/dist/shared/src/util/folderHierarchy.cjs.js +2 -0
  754. package/dist/shared/src/util/folderHierarchy.cjs.js.map +1 -0
  755. package/dist/shared/src/util/folderHierarchy.es.js +14 -0
  756. package/dist/shared/src/util/folderHierarchy.es.js.map +1 -0
  757. package/dist/shared/src/util/folderOperations.cjs.js +2 -0
  758. package/dist/shared/src/util/folderOperations.cjs.js.map +1 -0
  759. package/dist/shared/src/util/folderOperations.es.js +27 -0
  760. package/dist/shared/src/util/folderOperations.es.js.map +1 -0
  761. package/dist/shared/src/util/keyboardShortcuts.cjs.js +2 -0
  762. package/dist/shared/src/util/keyboardShortcuts.cjs.js.map +1 -0
  763. package/dist/shared/src/util/keyboardShortcuts.es.js +8 -0
  764. package/dist/shared/src/util/keyboardShortcuts.es.js.map +1 -0
  765. package/dist/types/api/generated/actions.d.ts +2 -1
  766. package/dist/types/api/generated/folders.d.ts +3 -3
  767. package/dist/types/api/generated/index.d.ts +2 -0
  768. package/dist/types/api/generated/projectFolders.d.ts +79 -0
  769. package/dist/types/api/generated/projects.d.ts +55 -1
  770. package/dist/types/api/generated/system.d.ts +2 -1
  771. package/dist/types/api/queries/index.d.ts +1 -0
  772. package/dist/types/api/queries/project/getProject.d.ts +4 -0
  773. package/dist/types/api/queries/projectFolders/index.d.ts +1 -0
  774. package/dist/types/api/queries/projectFolders/projectFolders.d.ts +985 -0
  775. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +1 -1
  776. package/dist/types/components/FolderForm/FolderForm.d.ts +24 -0
  777. package/dist/types/components/FolderForm/index.d.ts +3 -0
  778. package/dist/types/components/ProjectTableSettings/ProjectTableSettings.d.ts +1 -1
  779. package/dist/types/components/SimpleFormDialog/FormFile.d.ts +16 -0
  780. package/dist/types/components/SimpleFormDialog/SimpleFormDialog.d.ts +2 -1
  781. package/dist/types/components/SubtasksManager/SubtasksManagerWrapper.d.ts +3 -2
  782. package/dist/types/config/index.d.ts +2 -0
  783. package/dist/types/config/plannerFeatures.d.ts +13 -0
  784. package/dist/types/config/powerpackFeatures.d.ts +6 -0
  785. package/dist/types/containers/Actions/ActionsDropdown/ActionsDropdown.d.ts +2 -1
  786. package/dist/types/containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.d.ts +1 -0
  787. package/dist/types/containers/Feed/components/ActivityItem.d.ts +1 -0
  788. package/dist/types/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.d.ts +1 -0
  789. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +1 -0
  790. package/dist/types/containers/ProjectTreeTable/components/ColumnDndProvider.d.ts +6 -0
  791. package/dist/types/containers/ProjectTreeTable/components/index.d.ts +1 -0
  792. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +5 -0
  793. package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +6 -1
  794. package/dist/types/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.d.ts +26 -0
  795. package/dist/types/containers/ProjectTreeTable/context/clipboard/index.d.ts +1 -0
  796. package/dist/types/containers/ProjectTreeTable/hooks/index.d.ts +1 -0
  797. package/dist/types/containers/ProjectTreeTable/hooks/useColumnDragRestriction.d.ts +19 -0
  798. package/dist/types/containers/ProjectTreeTable/hooks/useSortBySettings.d.ts +4 -0
  799. package/dist/types/containers/SimpleTable/SimpleTable.d.ts +2 -1
  800. package/dist/types/containers/Views/hooks/useBaseViewMutations.d.ts +2 -2
  801. package/dist/types/context/PowerpackContext.d.ts +17 -6
  802. package/dist/types/util/buildHierarchicalTableRows.d.ts +43 -0
  803. package/dist/types/util/errorHandling.d.ts +7 -0
  804. package/dist/types/util/folderHierarchy.d.ts +37 -0
  805. package/dist/types/util/folderOperations.d.ts +34 -0
  806. package/dist/types/util/index.d.ts +5 -0
  807. package/dist/types/util/keyboardShortcuts.d.ts +6 -0
  808. package/dist/util.cjs.js +1 -1
  809. package/dist/util.es.js +51 -41
  810. package/dist/util.es.js.map +1 -1
  811. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- "use strict";const R=require("react"),N=require("../context/SelectionCellsContext.cjs.js"),L=require("../context/CellEditingContext.cjs.js"),s=require("../utils/cellUtils.cjs.js"),O=require("../context/ProjectTableContext.cjs.js"),j=require("../context/ProjectDataContext.cjs.js"),S=require("../context/DetailsPanelEntityContext.cjs.js");require("@ynput/ayon-react-components");require("short-uuid");const U=require("../utils/getEntityViewerIds.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("@tanstack/react-table");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.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("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/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/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");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");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/SubtasksModulesContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("uuid");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("../../DetailsPanel/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("../ProjectTreeTable.styled.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");const V=require("../utils/restrictedEntity.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../../SimpleTable/SimpleTable.styled.cjs.js");require("@tanstack/match-sorter-utils");require("../../SimpleTable/context/SimpleTableContext.cjs.js");require("../../SimpleTable/SimpleTableRowTemplate.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("../../Slicer/components/SlicerSearch.cjs.js");require("../../Slicer/context/SlicerContext.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/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");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/PricingLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");function W(){const{attribFields:h,getEntityById:g,onOpenPlayer:k,playerOpen:y}=O.useProjectTableContext(),{canWriteLabelPermission:v,canWriteNamePermission:K}=j.useProjectDataContext(),D=v||K,{focusedCellId:c,gridMap:u,selectCell:q,focusCell:t,clearSelection:x,setFocusedCellId:P}=N.useSelectionCellsContext(),{setEditingCellId:f,editingCellId:p}=L.useCellEditing(),{setSelectedEntity:b}=S.useDetailsPanelEntityContext(),T=R.useCallback(r=>{const d=r.target;if(!d?.closest("table")&&!d.closest("body")||d.tagName==="INPUT"||d.tagName==="TEXTAREA"||d.isContentEditable||d.getAttribute("role")==="textbox"||d.tagName==="LI"||y&&r.key!=="ArrowDown"&&r.key!=="ArrowUp"||p||!c)return;const m=s.parseCellId(c);if(!m)return;const{rowId:o,colId:a}=m,l=u.rowIdToIndex.get(o),I=u.colIdToIndex.get(a);if(l===void 0||I===void 0)return;const A=a.startsWith("attrib_")&&h.find(e=>e.name===a.replace("attrib_",""))?.readOnly,E=e=>{if(k){const i=g(e);if(i){const n=U.getEntityViewierIds(i);k(n,{quickView:!0})}}};switch(r.key){case"ArrowUp":{if(r.preventDefault(),l>0){const e=u.indexToRowId.get(l-1);if(e){const i=s.getCellId(e,a);q(i,r.shiftKey,r.shiftKey),t(i),y&&E(e)}}break}case"ArrowDown":{r.preventDefault();const e=u.indexToRowId.get(l+1);if(e){const i=s.getCellId(e,a);q(i,r.shiftKey,r.shiftKey),t(i),y&&E(e)}break}case"ArrowLeft":{if(r.preventDefault(),I>0){const e=u.indexToColId.get(I-1);if(e){const i=s.getCellId(o,e);q(i,r.shiftKey,r.shiftKey),t(i)}}break}case"ArrowRight":{r.preventDefault();const e=u.indexToColId.get(I+1);if(e){const i=s.getCellId(o,e);q(i,r.shiftKey,r.shiftKey),t(i)}break}case"Enter":{if(r.preventDefault(),a==="name"){const e=g(o),i=e&&V.isEntityRestricted(e.entityType);e&&(e.entityType==="folder"||e.entityType==="task")&&!i&&b({entityId:o,entityType:e.entityType})}else A||f(c);break}case"Escape":{r.preventDefault(),x(),f(null),P(null);break}case"Tab":{r.preventDefault();const e=r.shiftKey?I-1:I+1,i=u.indexToColId.get(e);if(i){const n=s.getCellId(o,i);q(n,!1,!1),t(n)}else if(!r.shiftKey&&l<u.rowIdToIndex.size-1){const n=u.indexToRowId.get(l+1),C=u.indexToColId.get(0);if(n&&C){const w=s.getCellId(n,C);q(w,!1,!1),t(w)}}else if(r.shiftKey&&l>0){const n=u.indexToRowId.get(l-1),C=u.indexToColId.get(u.colIdToIndex.size-1);if(n&&C){const w=s.getCellId(n,C);q(w,!1,!1),t(w)}}break}case" ":{r.preventDefault(),E(o);break}case"r":case"R":{if(r.ctrlKey||r.metaKey)return;if(r.preventDefault(),a==="name"&&D){const e=g(o);if(e&&(e.entityType==="folder"||e.entityType==="task")){const i=s.getCellId(o,"name");f(i)}}break}}},[c,u,q,t,x,f,p,g,y,b,D]);return R.useEffect(()=>(document.addEventListener("keydown",T),()=>{document.removeEventListener("keydown",T)}),[T,c,u,q,t,x,f,p,y,b]),{handleKeyDown:T,focusedCellId:c,gridMap:u,selectCell:q,focusCell:t,clearSelection:x,setEditingCellId:f,editingCellId:p}}module.exports=W;
1
+ "use strict";const R=require("react"),N=require("../context/SelectionCellsContext.cjs.js"),L=require("../context/CellEditingContext.cjs.js"),s=require("../utils/cellUtils.cjs.js"),O=require("../context/ProjectTableContext.cjs.js"),j=require("../context/ProjectDataContext.cjs.js"),S=require("../context/DetailsPanelEntityContext.cjs.js");require("@ynput/ayon-react-components");require("short-uuid");const U=require("../utils/getEntityViewerIds.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("@tanstack/react-table");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.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("../../../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");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/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/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");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");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/SubtasksModulesContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("uuid");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("../../DetailsPanel/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("../ProjectTreeTable.styled.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");const V=require("../utils/restrictedEntity.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../../SimpleTable/SimpleTable.styled.cjs.js");require("@tanstack/match-sorter-utils");require("../../SimpleTable/context/SimpleTableContext.cjs.js");require("../../SimpleTable/SimpleTableRowTemplate.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("../../Slicer/components/SlicerSearch.cjs.js");require("../../Slicer/context/SlicerContext.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/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");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/PricingLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");function W(){const{attribFields:h,getEntityById:g,onOpenPlayer:k,playerOpen:y}=O.useProjectTableContext(),{canWriteLabelPermission:v,canWriteNamePermission:K}=j.useProjectDataContext(),D=v||K,{focusedCellId:c,gridMap:u,selectCell:q,focusCell:t,clearSelection:x,setFocusedCellId:P}=N.useSelectionCellsContext(),{setEditingCellId:f,editingCellId:p}=L.useCellEditing(),{setSelectedEntity:b}=S.useDetailsPanelEntityContext(),T=R.useCallback(r=>{const d=r.target;if(!d?.closest("table")&&!d.closest("body")||d.tagName==="INPUT"||d.tagName==="TEXTAREA"||d.isContentEditable||d.getAttribute("role")==="textbox"||d.tagName==="LI"||y&&r.key!=="ArrowDown"&&r.key!=="ArrowUp"||p||!c)return;const m=s.parseCellId(c);if(!m)return;const{rowId:o,colId:a}=m,l=u.rowIdToIndex.get(o),I=u.colIdToIndex.get(a);if(l===void 0||I===void 0)return;const A=a.startsWith("attrib_")&&h.find(e=>e.name===a.replace("attrib_",""))?.readOnly,E=e=>{if(k){const i=g(e);if(i){const n=U.getEntityViewierIds(i);k(n,{quickView:!0})}}};switch(r.key){case"ArrowUp":{if(r.preventDefault(),l>0){const e=u.indexToRowId.get(l-1);if(e){const i=s.getCellId(e,a);q(i,r.shiftKey,r.shiftKey),t(i),y&&E(e)}}break}case"ArrowDown":{r.preventDefault();const e=u.indexToRowId.get(l+1);if(e){const i=s.getCellId(e,a);q(i,r.shiftKey,r.shiftKey),t(i),y&&E(e)}break}case"ArrowLeft":{if(r.preventDefault(),I>0){const e=u.indexToColId.get(I-1);if(e){const i=s.getCellId(o,e);q(i,r.shiftKey,r.shiftKey),t(i)}}break}case"ArrowRight":{r.preventDefault();const e=u.indexToColId.get(I+1);if(e){const i=s.getCellId(o,e);q(i,r.shiftKey,r.shiftKey),t(i)}break}case"Enter":{if(r.preventDefault(),a==="name"){const e=g(o),i=e&&V.isEntityRestricted(e.entityType);e&&(e.entityType==="folder"||e.entityType==="task")&&!i&&b({entityId:o,entityType:e.entityType})}else A||f(c);break}case"Escape":{r.preventDefault(),x(),f(null),P(null);break}case"Tab":{r.preventDefault();const e=r.shiftKey?I-1:I+1,i=u.indexToColId.get(e);if(i){const n=s.getCellId(o,i);q(n,!1,!1),t(n)}else if(!r.shiftKey&&l<u.rowIdToIndex.size-1){const n=u.indexToRowId.get(l+1),C=u.indexToColId.get(0);if(n&&C){const w=s.getCellId(n,C);q(w,!1,!1),t(w)}}else if(r.shiftKey&&l>0){const n=u.indexToRowId.get(l-1),C=u.indexToColId.get(u.colIdToIndex.size-1);if(n&&C){const w=s.getCellId(n,C);q(w,!1,!1),t(w)}}break}case" ":{r.preventDefault(),E(o);break}case"r":case"R":{if(r.ctrlKey||r.metaKey)return;if(r.preventDefault(),a==="name"&&D){const e=g(o);if(e&&(e.entityType==="folder"||e.entityType==="task")){const i=s.getCellId(o,"name");f(i)}}break}}},[c,u,q,t,x,f,p,g,y,b,D]);return R.useEffect(()=>(document.addEventListener("keydown",T),()=>{document.removeEventListener("keydown",T)}),[T,c,u,q,t,x,f,p,y,b]),{handleKeyDown:T,focusedCellId:c,gridMap:u,selectCell:q,focusCell:t,clearSelection:x,setEditingCellId:f,editingCellId:p}}module.exports=W;
2
2
  //# sourceMappingURL=useKeyboardNavigation.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useKeyboardNavigation.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.ts"],"sourcesContent":["import { useCallback, useEffect } from 'react'\nimport { useSelectionCellsContext } from '../context/SelectionCellsContext'\nimport { useCellEditing } from '../context/CellEditingContext' // keep for editingCellId/setEditingCellId\nimport { parseCellId, getCellId } from '../utils/cellUtils'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { useProjectDataContext } from '../context/ProjectDataContext'\nimport { useDetailsPanelEntityContext } from '../context/DetailsPanelEntityContext'\nimport { getEntityViewierIds } from '../utils'\nimport { isEntityRestricted } from '../utils/restrictedEntity'\n\nexport default function useKeyboardNavigation() {\n const { attribFields, getEntityById, onOpenPlayer, playerOpen } = useProjectTableContext()\n const { canWriteLabelPermission, canWriteNamePermission } = useProjectDataContext()\n const canOpenRenameDialog = canWriteLabelPermission || canWriteNamePermission\n\n const { focusedCellId, gridMap, selectCell, focusCell, clearSelection, setFocusedCellId } =\n useSelectionCellsContext()\n\n const { setEditingCellId, editingCellId } = useCellEditing()\n const { setSelectedEntity } = useDetailsPanelEntityContext()\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent) => {\n const target = e.target as HTMLElement\n // is target inside table or not body?\n // NOTE: we must check for body because there is a bug that means the active element goes to body not the table td\n if (!target?.closest('table') && !target.closest('body')) {\n return\n }\n\n // Skip if event target is an input element or contentEditable\n if (\n target.tagName === 'INPUT' ||\n target.tagName === 'TEXTAREA' ||\n target.isContentEditable ||\n target.getAttribute('role') === 'textbox' ||\n target.tagName === 'LI'\n ) {\n return\n }\n\n // allow keyboard and up and down only if the player is open\n if (playerOpen && e.key !== 'ArrowDown' && e.key !== 'ArrowUp') return\n\n // Don't handle keyboard events if we are currently editing a cell\n if (editingCellId) return\n\n // Don't handle keyboard events if we don't have a focused cell\n if (!focusedCellId) return\n\n const position = parseCellId(focusedCellId)\n if (!position) return\n\n const { rowId, colId } = position\n const rowIndex = gridMap.rowIdToIndex.get(rowId)\n const colIndex = gridMap.colIdToIndex.get(colId)\n\n if (rowIndex === undefined || colIndex === undefined) return\n\n const isReadOnly =\n colId.startsWith('attrib_') &&\n attribFields.find((a) => a.name === colId.replace('attrib_', ''))?.readOnly\n\n const openPlayer = (entityId: string) => {\n // try to open the player if onOpenPlayer is defined\n if (onOpenPlayer) {\n const entity = getEntityById(entityId)\n if (entity) {\n const targetIds = getEntityViewierIds(entity)\n onOpenPlayer(targetIds, { quickView: true })\n }\n }\n }\n\n // Handle different keys\n switch (e.key) {\n case 'ArrowUp': {\n e.preventDefault()\n if (rowIndex > 0) {\n const newRowId = gridMap.indexToRowId.get(rowIndex - 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, colId)\n selectCell(newCellId, e.shiftKey, e.shiftKey)\n focusCell(newCellId)\n\n // if the player is open, update with new selected cell\n if (playerOpen) {\n openPlayer(newRowId)\n }\n }\n }\n break\n }\n case 'ArrowDown': {\n e.preventDefault()\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, colId)\n selectCell(newCellId, e.shiftKey, e.shiftKey)\n focusCell(newCellId)\n\n // if the player is open, update with new selected cell\n if (playerOpen) {\n openPlayer(newRowId)\n }\n }\n break\n }\n case 'ArrowLeft': {\n e.preventDefault()\n if (colIndex > 0) {\n const newColId = gridMap.indexToColId.get(colIndex - 1)\n if (newColId) {\n const newCellId = getCellId(rowId, newColId)\n selectCell(newCellId, e.shiftKey, e.shiftKey)\n focusCell(newCellId)\n }\n }\n break\n }\n case 'ArrowRight': {\n e.preventDefault()\n const newColId = gridMap.indexToColId.get(colIndex + 1)\n if (newColId) {\n const newCellId = getCellId(rowId, newColId)\n selectCell(newCellId, e.shiftKey, e.shiftKey)\n focusCell(newCellId)\n }\n break\n }\n case 'Enter': {\n e.preventDefault()\n // Only open details panel for name column on folders/tasks\n if (colId === 'name') {\n const entity = getEntityById(rowId)\n // Check if entity is restricted - prevent opening details panel\n const isRestricted = entity && isEntityRestricted(entity.entityType)\n if (\n entity &&\n (entity.entityType === 'folder' || entity.entityType === 'task') &&\n !isRestricted\n ) {\n setSelectedEntity({\n entityId: rowId,\n entityType: entity.entityType,\n })\n }\n } else {\n // For all other columns, start editing the cell (if not read-only)\n if (!isReadOnly) {\n setEditingCellId(focusedCellId)\n }\n }\n break\n }\n case 'Escape': {\n e.preventDefault()\n // Clear selection and stop editing\n clearSelection()\n setEditingCellId(null)\n setFocusedCellId(null)\n break\n }\n case 'Tab': {\n e.preventDefault()\n // Move to next cell (right if no shift, left if shift)\n const nextColIndex = e.shiftKey ? colIndex - 1 : colIndex + 1\n const nextColId = gridMap.indexToColId.get(nextColIndex)\n\n if (nextColId) {\n // Move to next/prev column in same row\n const newCellId = getCellId(rowId, nextColId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n } else if (!e.shiftKey && rowIndex < gridMap.rowIdToIndex.size - 1) {\n // Move to first column of next row\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n const firstColId = gridMap.indexToColId.get(0)\n if (newRowId && firstColId) {\n const newCellId = getCellId(newRowId, firstColId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n }\n } else if (e.shiftKey && rowIndex > 0) {\n // Move to last column of previous row\n const newRowId = gridMap.indexToRowId.get(rowIndex - 1)\n const lastColId = gridMap.indexToColId.get(gridMap.colIdToIndex.size - 1)\n if (newRowId && lastColId) {\n const newCellId = getCellId(newRowId, lastColId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n }\n }\n break\n }\n case ' ': {\n e.preventDefault()\n // attempt to open the player\n openPlayer(rowId)\n break\n }\n case 'r':\n case 'R': {\n // Don't prevent default if Ctrl/Cmd is held (allow page reload)\n if (e.ctrlKey || e.metaKey) {\n return\n }\n e.preventDefault()\n // Check if focused cell is name column on folder/task and user has rename permissions\n if (colId === 'name' && canOpenRenameDialog) {\n const entity = getEntityById(rowId)\n if (entity && (entity.entityType === 'folder' || entity.entityType === 'task')) {\n const nameCellId = getCellId(rowId, 'name')\n setEditingCellId(nameCellId)\n }\n }\n break\n }\n }\n },\n [\n focusedCellId,\n gridMap,\n selectCell,\n focusCell,\n clearSelection,\n setEditingCellId,\n editingCellId,\n getEntityById,\n playerOpen,\n setSelectedEntity,\n canOpenRenameDialog,\n ],\n )\n\n // Attach the keydown event handler to the document\n useEffect(() => {\n document.addEventListener('keydown', handleKeyDown)\n\n // Cleanup the event listener on component unmount\n return () => {\n document.removeEventListener('keydown', handleKeyDown)\n }\n }, [\n handleKeyDown,\n focusedCellId,\n gridMap,\n selectCell,\n focusCell,\n clearSelection,\n setEditingCellId,\n editingCellId,\n playerOpen,\n setSelectedEntity,\n ])\n return {\n handleKeyDown,\n focusedCellId,\n gridMap,\n selectCell,\n focusCell,\n clearSelection,\n setEditingCellId,\n editingCellId,\n }\n}\n"],"names":["useKeyboardNavigation","attribFields","getEntityById","onOpenPlayer","playerOpen","useProjectTableContext","canWriteLabelPermission","canWriteNamePermission","useProjectDataContext","canOpenRenameDialog","focusedCellId","gridMap","selectCell","focusCell","clearSelection","setFocusedCellId","useSelectionCellsContext","setEditingCellId","editingCellId","useCellEditing","setSelectedEntity","useDetailsPanelEntityContext","handleKeyDown","useCallback","e","target","position","parseCellId","rowId","colId","rowIndex","colIndex","isReadOnly","a","openPlayer","entityId","entity","targetIds","getEntityViewierIds","newRowId","newCellId","getCellId","newColId","isRestricted","isEntityRestricted","nextColIndex","nextColId","firstColId","lastColId","nameCellId","useEffect"],"mappings":"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"}
1
+ {"version":3,"file":"useKeyboardNavigation.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.ts"],"sourcesContent":["import { useCallback, useEffect } from 'react'\nimport { useSelectionCellsContext } from '../context/SelectionCellsContext'\nimport { useCellEditing } from '../context/CellEditingContext' // keep for editingCellId/setEditingCellId\nimport { parseCellId, getCellId } from '../utils/cellUtils'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { useProjectDataContext } from '../context/ProjectDataContext'\nimport { useDetailsPanelEntityContext } from '../context/DetailsPanelEntityContext'\nimport { getEntityViewierIds } from '../utils'\nimport { isEntityRestricted } from '../utils/restrictedEntity'\n\nexport default function useKeyboardNavigation() {\n const { attribFields, getEntityById, onOpenPlayer, playerOpen } = useProjectTableContext()\n const { canWriteLabelPermission, canWriteNamePermission } = useProjectDataContext()\n const canOpenRenameDialog = canWriteLabelPermission || canWriteNamePermission\n\n const { focusedCellId, gridMap, selectCell, focusCell, clearSelection, setFocusedCellId } =\n useSelectionCellsContext()\n\n const { setEditingCellId, editingCellId } = useCellEditing()\n const { setSelectedEntity } = useDetailsPanelEntityContext()\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent) => {\n const target = e.target as HTMLElement\n // is target inside table or not body?\n // NOTE: we must check for body because there is a bug that means the active element goes to body not the table td\n if (!target?.closest('table') && !target.closest('body')) {\n return\n }\n\n // Skip if event target is an input element or contentEditable\n if (\n target.tagName === 'INPUT' ||\n target.tagName === 'TEXTAREA' ||\n target.isContentEditable ||\n target.getAttribute('role') === 'textbox' ||\n target.tagName === 'LI'\n ) {\n return\n }\n\n // allow keyboard and up and down only if the player is open\n if (playerOpen && e.key !== 'ArrowDown' && e.key !== 'ArrowUp') return\n\n // Don't handle keyboard events if we are currently editing a cell\n if (editingCellId) return\n\n // Don't handle keyboard events if we don't have a focused cell\n if (!focusedCellId) return\n\n const position = parseCellId(focusedCellId)\n if (!position) return\n\n const { rowId, colId } = position\n const rowIndex = gridMap.rowIdToIndex.get(rowId)\n const colIndex = gridMap.colIdToIndex.get(colId)\n\n if (rowIndex === undefined || colIndex === undefined) return\n\n const isReadOnly =\n colId.startsWith('attrib_') &&\n attribFields.find((a) => a.name === colId.replace('attrib_', ''))?.readOnly\n\n const openPlayer = (entityId: string) => {\n // try to open the player if onOpenPlayer is defined\n if (onOpenPlayer) {\n const entity = getEntityById(entityId)\n if (entity) {\n const targetIds = getEntityViewierIds(entity)\n onOpenPlayer(targetIds, { quickView: true })\n }\n }\n }\n\n // Handle different keys\n switch (e.key) {\n case 'ArrowUp': {\n e.preventDefault()\n if (rowIndex > 0) {\n const newRowId = gridMap.indexToRowId.get(rowIndex - 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, colId)\n selectCell(newCellId, e.shiftKey, e.shiftKey)\n focusCell(newCellId)\n\n // if the player is open, update with new selected cell\n if (playerOpen) {\n openPlayer(newRowId)\n }\n }\n }\n break\n }\n case 'ArrowDown': {\n e.preventDefault()\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, colId)\n selectCell(newCellId, e.shiftKey, e.shiftKey)\n focusCell(newCellId)\n\n // if the player is open, update with new selected cell\n if (playerOpen) {\n openPlayer(newRowId)\n }\n }\n break\n }\n case 'ArrowLeft': {\n e.preventDefault()\n if (colIndex > 0) {\n const newColId = gridMap.indexToColId.get(colIndex - 1)\n if (newColId) {\n const newCellId = getCellId(rowId, newColId)\n selectCell(newCellId, e.shiftKey, e.shiftKey)\n focusCell(newCellId)\n }\n }\n break\n }\n case 'ArrowRight': {\n e.preventDefault()\n const newColId = gridMap.indexToColId.get(colIndex + 1)\n if (newColId) {\n const newCellId = getCellId(rowId, newColId)\n selectCell(newCellId, e.shiftKey, e.shiftKey)\n focusCell(newCellId)\n }\n break\n }\n case 'Enter': {\n e.preventDefault()\n // Only open details panel for name column on folders/tasks\n if (colId === 'name') {\n const entity = getEntityById(rowId)\n // Check if entity is restricted - prevent opening details panel\n const isRestricted = entity && isEntityRestricted(entity.entityType)\n if (\n entity &&\n (entity.entityType === 'folder' || entity.entityType === 'task') &&\n !isRestricted\n ) {\n setSelectedEntity({\n entityId: rowId,\n entityType: entity.entityType,\n })\n }\n } else {\n // For all other columns, start editing the cell (if not read-only)\n if (!isReadOnly) {\n setEditingCellId(focusedCellId)\n }\n }\n break\n }\n case 'Escape': {\n e.preventDefault()\n // Clear selection and stop editing\n clearSelection()\n setEditingCellId(null)\n setFocusedCellId(null)\n break\n }\n case 'Tab': {\n e.preventDefault()\n // Move to next cell (right if no shift, left if shift)\n const nextColIndex = e.shiftKey ? colIndex - 1 : colIndex + 1\n const nextColId = gridMap.indexToColId.get(nextColIndex)\n\n if (nextColId) {\n // Move to next/prev column in same row\n const newCellId = getCellId(rowId, nextColId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n } else if (!e.shiftKey && rowIndex < gridMap.rowIdToIndex.size - 1) {\n // Move to first column of next row\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n const firstColId = gridMap.indexToColId.get(0)\n if (newRowId && firstColId) {\n const newCellId = getCellId(newRowId, firstColId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n }\n } else if (e.shiftKey && rowIndex > 0) {\n // Move to last column of previous row\n const newRowId = gridMap.indexToRowId.get(rowIndex - 1)\n const lastColId = gridMap.indexToColId.get(gridMap.colIdToIndex.size - 1)\n if (newRowId && lastColId) {\n const newCellId = getCellId(newRowId, lastColId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n }\n }\n break\n }\n case ' ': {\n e.preventDefault()\n // attempt to open the player\n openPlayer(rowId)\n break\n }\n case 'r':\n case 'R': {\n // Don't prevent default if Ctrl/Cmd is held (allow page reload)\n if (e.ctrlKey || e.metaKey) {\n return\n }\n e.preventDefault()\n // Check if focused cell is name column on folder/task and user has rename permissions\n if (colId === 'name' && canOpenRenameDialog) {\n const entity = getEntityById(rowId)\n if (entity && (entity.entityType === 'folder' || entity.entityType === 'task')) {\n const nameCellId = getCellId(rowId, 'name')\n setEditingCellId(nameCellId)\n }\n }\n break\n }\n }\n },\n [\n focusedCellId,\n gridMap,\n selectCell,\n focusCell,\n clearSelection,\n setEditingCellId,\n editingCellId,\n getEntityById,\n playerOpen,\n setSelectedEntity,\n canOpenRenameDialog,\n ],\n )\n\n // Attach the keydown event handler to the document\n useEffect(() => {\n document.addEventListener('keydown', handleKeyDown)\n\n // Cleanup the event listener on component unmount\n return () => {\n document.removeEventListener('keydown', handleKeyDown)\n }\n }, [\n handleKeyDown,\n focusedCellId,\n gridMap,\n selectCell,\n focusCell,\n clearSelection,\n setEditingCellId,\n editingCellId,\n playerOpen,\n setSelectedEntity,\n ])\n return {\n handleKeyDown,\n focusedCellId,\n gridMap,\n selectCell,\n focusCell,\n clearSelection,\n setEditingCellId,\n editingCellId,\n }\n}\n"],"names":["useKeyboardNavigation","attribFields","getEntityById","onOpenPlayer","playerOpen","useProjectTableContext","canWriteLabelPermission","canWriteNamePermission","useProjectDataContext","canOpenRenameDialog","focusedCellId","gridMap","selectCell","focusCell","clearSelection","setFocusedCellId","useSelectionCellsContext","setEditingCellId","editingCellId","useCellEditing","setSelectedEntity","useDetailsPanelEntityContext","handleKeyDown","useCallback","e","target","position","parseCellId","rowId","colId","rowIndex","colIndex","isReadOnly","a","openPlayer","entityId","entity","targetIds","getEntityViewierIds","newRowId","newCellId","getCellId","newColId","isRestricted","isEntityRestricted","nextColIndex","nextColId","firstColId","lastColId","nameCellId","useEffect"],"mappings":"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"}
@@ -61,6 +61,7 @@ import "../../../api/generated/operations.es.js";
61
61
  import "../../../api/generated/products.es.js";
62
62
  import "../../../api/generated/projectDashboard.es.js";
63
63
  import "../../../api/generated/projects.es.js";
64
+ import "../../../api/generated/projectFolders.es.js";
64
65
  import "../../../api/generated/reviewables.es.js";
65
66
  import "../../../api/generated/services.es.js";
66
67
  import "../../../api/generated/system.es.js";
@@ -108,6 +109,7 @@ import "../../../api/queries/permissions/getPermissions.es.js";
108
109
  import "../../../api/queries/products/createProduct.es.js";
109
110
  import "../../../api/queries/project/getProject.es.js";
110
111
  import "../../../api/queries/project/updateProject.es.js";
112
+ import "../../../api/queries/projectFolders/projectFolders.es.js";
111
113
  import "../../../api/queries/review/getReview.es.js";
112
114
  import "../../../api/queries/review/updateReview.es.js";
113
115
  import "../../../api/queries/share/share.es.js";
@@ -260,7 +262,7 @@ import "../../../components/Menu/MenuItem.es.js";
260
262
  import "../widgets/EmptyWidget.es.js";
261
263
  import "../widgets/ErrorWidget.es.js";
262
264
  import "../widgets/LoadMoreWidget.es.js";
263
- function Sp() {
265
+ function Wp() {
264
266
  const { attribFields: E, getEntityById: C, onOpenPlayer: h, playerOpen: y } = W(), { canWriteLabelPermission: K, canWriteNamePermission: R } = j(), v = K || R, { focusedCellId: c, gridMap: r, selectCell: p, focusCell: m, clearSelection: g, setFocusedCellId: A } = O(), { setEditingCellId: f, editingCellId: x } = S(), { setSelectedEntity: b } = z(), T = N(
265
267
  (o) => {
266
268
  const a = o.target;
@@ -411,6 +413,6 @@ function Sp() {
411
413
  };
412
414
  }
413
415
  export {
414
- Sp as default
416
+ Wp as default
415
417
  };
416
418
  //# sourceMappingURL=useKeyboardNavigation.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useKeyboardNavigation.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.ts"],"sourcesContent":["import { useCallback, useEffect } from 'react'\nimport { useSelectionCellsContext } from '../context/SelectionCellsContext'\nimport { useCellEditing } from '../context/CellEditingContext' // keep for editingCellId/setEditingCellId\nimport { parseCellId, getCellId } from '../utils/cellUtils'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { useProjectDataContext } from '../context/ProjectDataContext'\nimport { useDetailsPanelEntityContext } from '../context/DetailsPanelEntityContext'\nimport { getEntityViewierIds } from '../utils'\nimport { isEntityRestricted } from '../utils/restrictedEntity'\n\nexport default function useKeyboardNavigation() {\n const { attribFields, getEntityById, onOpenPlayer, playerOpen } = useProjectTableContext()\n const { canWriteLabelPermission, canWriteNamePermission } = useProjectDataContext()\n const canOpenRenameDialog = canWriteLabelPermission || canWriteNamePermission\n\n const { focusedCellId, gridMap, selectCell, focusCell, clearSelection, setFocusedCellId } =\n useSelectionCellsContext()\n\n const { setEditingCellId, editingCellId } = useCellEditing()\n const { setSelectedEntity } = useDetailsPanelEntityContext()\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent) => {\n const target = e.target as HTMLElement\n // is target inside table or not body?\n // NOTE: we must check for body because there is a bug that means the active element goes to body not the table td\n if (!target?.closest('table') && !target.closest('body')) {\n return\n }\n\n // Skip if event target is an input element or contentEditable\n if (\n target.tagName === 'INPUT' ||\n target.tagName === 'TEXTAREA' ||\n target.isContentEditable ||\n target.getAttribute('role') === 'textbox' ||\n target.tagName === 'LI'\n ) {\n return\n }\n\n // allow keyboard and up and down only if the player is open\n if (playerOpen && e.key !== 'ArrowDown' && e.key !== 'ArrowUp') return\n\n // Don't handle keyboard events if we are currently editing a cell\n if (editingCellId) return\n\n // Don't handle keyboard events if we don't have a focused cell\n if (!focusedCellId) return\n\n const position = parseCellId(focusedCellId)\n if (!position) return\n\n const { rowId, colId } = position\n const rowIndex = gridMap.rowIdToIndex.get(rowId)\n const colIndex = gridMap.colIdToIndex.get(colId)\n\n if (rowIndex === undefined || colIndex === undefined) return\n\n const isReadOnly =\n colId.startsWith('attrib_') &&\n attribFields.find((a) => a.name === colId.replace('attrib_', ''))?.readOnly\n\n const openPlayer = (entityId: string) => {\n // try to open the player if onOpenPlayer is defined\n if (onOpenPlayer) {\n const entity = getEntityById(entityId)\n if (entity) {\n const targetIds = getEntityViewierIds(entity)\n onOpenPlayer(targetIds, { quickView: true })\n }\n }\n }\n\n // Handle different keys\n switch (e.key) {\n case 'ArrowUp': {\n e.preventDefault()\n if (rowIndex > 0) {\n const newRowId = gridMap.indexToRowId.get(rowIndex - 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, colId)\n selectCell(newCellId, e.shiftKey, e.shiftKey)\n focusCell(newCellId)\n\n // if the player is open, update with new selected cell\n if (playerOpen) {\n openPlayer(newRowId)\n }\n }\n }\n break\n }\n case 'ArrowDown': {\n e.preventDefault()\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, colId)\n selectCell(newCellId, e.shiftKey, e.shiftKey)\n focusCell(newCellId)\n\n // if the player is open, update with new selected cell\n if (playerOpen) {\n openPlayer(newRowId)\n }\n }\n break\n }\n case 'ArrowLeft': {\n e.preventDefault()\n if (colIndex > 0) {\n const newColId = gridMap.indexToColId.get(colIndex - 1)\n if (newColId) {\n const newCellId = getCellId(rowId, newColId)\n selectCell(newCellId, e.shiftKey, e.shiftKey)\n focusCell(newCellId)\n }\n }\n break\n }\n case 'ArrowRight': {\n e.preventDefault()\n const newColId = gridMap.indexToColId.get(colIndex + 1)\n if (newColId) {\n const newCellId = getCellId(rowId, newColId)\n selectCell(newCellId, e.shiftKey, e.shiftKey)\n focusCell(newCellId)\n }\n break\n }\n case 'Enter': {\n e.preventDefault()\n // Only open details panel for name column on folders/tasks\n if (colId === 'name') {\n const entity = getEntityById(rowId)\n // Check if entity is restricted - prevent opening details panel\n const isRestricted = entity && isEntityRestricted(entity.entityType)\n if (\n entity &&\n (entity.entityType === 'folder' || entity.entityType === 'task') &&\n !isRestricted\n ) {\n setSelectedEntity({\n entityId: rowId,\n entityType: entity.entityType,\n })\n }\n } else {\n // For all other columns, start editing the cell (if not read-only)\n if (!isReadOnly) {\n setEditingCellId(focusedCellId)\n }\n }\n break\n }\n case 'Escape': {\n e.preventDefault()\n // Clear selection and stop editing\n clearSelection()\n setEditingCellId(null)\n setFocusedCellId(null)\n break\n }\n case 'Tab': {\n e.preventDefault()\n // Move to next cell (right if no shift, left if shift)\n const nextColIndex = e.shiftKey ? colIndex - 1 : colIndex + 1\n const nextColId = gridMap.indexToColId.get(nextColIndex)\n\n if (nextColId) {\n // Move to next/prev column in same row\n const newCellId = getCellId(rowId, nextColId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n } else if (!e.shiftKey && rowIndex < gridMap.rowIdToIndex.size - 1) {\n // Move to first column of next row\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n const firstColId = gridMap.indexToColId.get(0)\n if (newRowId && firstColId) {\n const newCellId = getCellId(newRowId, firstColId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n }\n } else if (e.shiftKey && rowIndex > 0) {\n // Move to last column of previous row\n const newRowId = gridMap.indexToRowId.get(rowIndex - 1)\n const lastColId = gridMap.indexToColId.get(gridMap.colIdToIndex.size - 1)\n if (newRowId && lastColId) {\n const newCellId = getCellId(newRowId, lastColId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n }\n }\n break\n }\n case ' ': {\n e.preventDefault()\n // attempt to open the player\n openPlayer(rowId)\n break\n }\n case 'r':\n case 'R': {\n // Don't prevent default if Ctrl/Cmd is held (allow page reload)\n if (e.ctrlKey || e.metaKey) {\n return\n }\n e.preventDefault()\n // Check if focused cell is name column on folder/task and user has rename permissions\n if (colId === 'name' && canOpenRenameDialog) {\n const entity = getEntityById(rowId)\n if (entity && (entity.entityType === 'folder' || entity.entityType === 'task')) {\n const nameCellId = getCellId(rowId, 'name')\n setEditingCellId(nameCellId)\n }\n }\n break\n }\n }\n },\n [\n focusedCellId,\n gridMap,\n selectCell,\n focusCell,\n clearSelection,\n setEditingCellId,\n editingCellId,\n getEntityById,\n playerOpen,\n setSelectedEntity,\n canOpenRenameDialog,\n ],\n )\n\n // Attach the keydown event handler to the document\n useEffect(() => {\n document.addEventListener('keydown', handleKeyDown)\n\n // Cleanup the event listener on component unmount\n return () => {\n document.removeEventListener('keydown', handleKeyDown)\n }\n }, [\n handleKeyDown,\n focusedCellId,\n gridMap,\n selectCell,\n focusCell,\n clearSelection,\n setEditingCellId,\n editingCellId,\n playerOpen,\n setSelectedEntity,\n ])\n return {\n handleKeyDown,\n focusedCellId,\n gridMap,\n selectCell,\n focusCell,\n clearSelection,\n setEditingCellId,\n editingCellId,\n }\n}\n"],"names":["useKeyboardNavigation","attribFields","getEntityById","onOpenPlayer","playerOpen","useProjectTableContext","canWriteLabelPermission","canWriteNamePermission","useProjectDataContext","canOpenRenameDialog","focusedCellId","gridMap","selectCell","focusCell","clearSelection","setFocusedCellId","useSelectionCellsContext","setEditingCellId","editingCellId","useCellEditing","setSelectedEntity","useDetailsPanelEntityContext","handleKeyDown","useCallback","e","target","position","parseCellId","rowId","colId","rowIndex","colIndex","isReadOnly","a","openPlayer","entityId","entity","targetIds","getEntityViewierIds","newRowId","newCellId","getCellId","newColId","isRestricted","isEntityRestricted","nextColIndex","nextColId","firstColId","lastColId","nameCellId","useEffect"],"mappings":"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"}
1
+ {"version":3,"file":"useKeyboardNavigation.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.ts"],"sourcesContent":["import { useCallback, useEffect } from 'react'\nimport { useSelectionCellsContext } from '../context/SelectionCellsContext'\nimport { useCellEditing } from '../context/CellEditingContext' // keep for editingCellId/setEditingCellId\nimport { parseCellId, getCellId } from '../utils/cellUtils'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { useProjectDataContext } from '../context/ProjectDataContext'\nimport { useDetailsPanelEntityContext } from '../context/DetailsPanelEntityContext'\nimport { getEntityViewierIds } from '../utils'\nimport { isEntityRestricted } from '../utils/restrictedEntity'\n\nexport default function useKeyboardNavigation() {\n const { attribFields, getEntityById, onOpenPlayer, playerOpen } = useProjectTableContext()\n const { canWriteLabelPermission, canWriteNamePermission } = useProjectDataContext()\n const canOpenRenameDialog = canWriteLabelPermission || canWriteNamePermission\n\n const { focusedCellId, gridMap, selectCell, focusCell, clearSelection, setFocusedCellId } =\n useSelectionCellsContext()\n\n const { setEditingCellId, editingCellId } = useCellEditing()\n const { setSelectedEntity } = useDetailsPanelEntityContext()\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent) => {\n const target = e.target as HTMLElement\n // is target inside table or not body?\n // NOTE: we must check for body because there is a bug that means the active element goes to body not the table td\n if (!target?.closest('table') && !target.closest('body')) {\n return\n }\n\n // Skip if event target is an input element or contentEditable\n if (\n target.tagName === 'INPUT' ||\n target.tagName === 'TEXTAREA' ||\n target.isContentEditable ||\n target.getAttribute('role') === 'textbox' ||\n target.tagName === 'LI'\n ) {\n return\n }\n\n // allow keyboard and up and down only if the player is open\n if (playerOpen && e.key !== 'ArrowDown' && e.key !== 'ArrowUp') return\n\n // Don't handle keyboard events if we are currently editing a cell\n if (editingCellId) return\n\n // Don't handle keyboard events if we don't have a focused cell\n if (!focusedCellId) return\n\n const position = parseCellId(focusedCellId)\n if (!position) return\n\n const { rowId, colId } = position\n const rowIndex = gridMap.rowIdToIndex.get(rowId)\n const colIndex = gridMap.colIdToIndex.get(colId)\n\n if (rowIndex === undefined || colIndex === undefined) return\n\n const isReadOnly =\n colId.startsWith('attrib_') &&\n attribFields.find((a) => a.name === colId.replace('attrib_', ''))?.readOnly\n\n const openPlayer = (entityId: string) => {\n // try to open the player if onOpenPlayer is defined\n if (onOpenPlayer) {\n const entity = getEntityById(entityId)\n if (entity) {\n const targetIds = getEntityViewierIds(entity)\n onOpenPlayer(targetIds, { quickView: true })\n }\n }\n }\n\n // Handle different keys\n switch (e.key) {\n case 'ArrowUp': {\n e.preventDefault()\n if (rowIndex > 0) {\n const newRowId = gridMap.indexToRowId.get(rowIndex - 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, colId)\n selectCell(newCellId, e.shiftKey, e.shiftKey)\n focusCell(newCellId)\n\n // if the player is open, update with new selected cell\n if (playerOpen) {\n openPlayer(newRowId)\n }\n }\n }\n break\n }\n case 'ArrowDown': {\n e.preventDefault()\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, colId)\n selectCell(newCellId, e.shiftKey, e.shiftKey)\n focusCell(newCellId)\n\n // if the player is open, update with new selected cell\n if (playerOpen) {\n openPlayer(newRowId)\n }\n }\n break\n }\n case 'ArrowLeft': {\n e.preventDefault()\n if (colIndex > 0) {\n const newColId = gridMap.indexToColId.get(colIndex - 1)\n if (newColId) {\n const newCellId = getCellId(rowId, newColId)\n selectCell(newCellId, e.shiftKey, e.shiftKey)\n focusCell(newCellId)\n }\n }\n break\n }\n case 'ArrowRight': {\n e.preventDefault()\n const newColId = gridMap.indexToColId.get(colIndex + 1)\n if (newColId) {\n const newCellId = getCellId(rowId, newColId)\n selectCell(newCellId, e.shiftKey, e.shiftKey)\n focusCell(newCellId)\n }\n break\n }\n case 'Enter': {\n e.preventDefault()\n // Only open details panel for name column on folders/tasks\n if (colId === 'name') {\n const entity = getEntityById(rowId)\n // Check if entity is restricted - prevent opening details panel\n const isRestricted = entity && isEntityRestricted(entity.entityType)\n if (\n entity &&\n (entity.entityType === 'folder' || entity.entityType === 'task') &&\n !isRestricted\n ) {\n setSelectedEntity({\n entityId: rowId,\n entityType: entity.entityType,\n })\n }\n } else {\n // For all other columns, start editing the cell (if not read-only)\n if (!isReadOnly) {\n setEditingCellId(focusedCellId)\n }\n }\n break\n }\n case 'Escape': {\n e.preventDefault()\n // Clear selection and stop editing\n clearSelection()\n setEditingCellId(null)\n setFocusedCellId(null)\n break\n }\n case 'Tab': {\n e.preventDefault()\n // Move to next cell (right if no shift, left if shift)\n const nextColIndex = e.shiftKey ? colIndex - 1 : colIndex + 1\n const nextColId = gridMap.indexToColId.get(nextColIndex)\n\n if (nextColId) {\n // Move to next/prev column in same row\n const newCellId = getCellId(rowId, nextColId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n } else if (!e.shiftKey && rowIndex < gridMap.rowIdToIndex.size - 1) {\n // Move to first column of next row\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n const firstColId = gridMap.indexToColId.get(0)\n if (newRowId && firstColId) {\n const newCellId = getCellId(newRowId, firstColId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n }\n } else if (e.shiftKey && rowIndex > 0) {\n // Move to last column of previous row\n const newRowId = gridMap.indexToRowId.get(rowIndex - 1)\n const lastColId = gridMap.indexToColId.get(gridMap.colIdToIndex.size - 1)\n if (newRowId && lastColId) {\n const newCellId = getCellId(newRowId, lastColId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n }\n }\n break\n }\n case ' ': {\n e.preventDefault()\n // attempt to open the player\n openPlayer(rowId)\n break\n }\n case 'r':\n case 'R': {\n // Don't prevent default if Ctrl/Cmd is held (allow page reload)\n if (e.ctrlKey || e.metaKey) {\n return\n }\n e.preventDefault()\n // Check if focused cell is name column on folder/task and user has rename permissions\n if (colId === 'name' && canOpenRenameDialog) {\n const entity = getEntityById(rowId)\n if (entity && (entity.entityType === 'folder' || entity.entityType === 'task')) {\n const nameCellId = getCellId(rowId, 'name')\n setEditingCellId(nameCellId)\n }\n }\n break\n }\n }\n },\n [\n focusedCellId,\n gridMap,\n selectCell,\n focusCell,\n clearSelection,\n setEditingCellId,\n editingCellId,\n getEntityById,\n playerOpen,\n setSelectedEntity,\n canOpenRenameDialog,\n ],\n )\n\n // Attach the keydown event handler to the document\n useEffect(() => {\n document.addEventListener('keydown', handleKeyDown)\n\n // Cleanup the event listener on component unmount\n return () => {\n document.removeEventListener('keydown', handleKeyDown)\n }\n }, [\n handleKeyDown,\n focusedCellId,\n gridMap,\n selectCell,\n focusCell,\n clearSelection,\n setEditingCellId,\n editingCellId,\n playerOpen,\n setSelectedEntity,\n ])\n return {\n handleKeyDown,\n focusedCellId,\n gridMap,\n selectCell,\n focusCell,\n clearSelection,\n setEditingCellId,\n editingCellId,\n }\n}\n"],"names":["useKeyboardNavigation","attribFields","getEntityById","onOpenPlayer","playerOpen","useProjectTableContext","canWriteLabelPermission","canWriteNamePermission","useProjectDataContext","canOpenRenameDialog","focusedCellId","gridMap","selectCell","focusCell","clearSelection","setFocusedCellId","useSelectionCellsContext","setEditingCellId","editingCellId","useCellEditing","setSelectedEntity","useDetailsPanelEntityContext","handleKeyDown","useCallback","e","target","position","parseCellId","rowId","colId","rowIndex","colIndex","isReadOnly","a","openPlayer","entityId","entity","targetIds","getEntityViewierIds","newRowId","newCellId","getCellId","newColId","isRestricted","isEntityRestricted","nextColIndex","nextColId","firstColId","lastColId","nameCellId","useEffect"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react"),C=require("react-toastify");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");const E=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("../../ContextMenu/ContextMenuContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("@ynput/ayon-react-components");;/* empty css */require("clsx");require("react-dom");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");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/SubtasksModulesContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");const O=require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");const P=require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("lodash");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("date-fns");require("../../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("uuid");require("../../../util/pubsub.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.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("react-router-dom");require("../../SimpleTable/SimpleTable.styled.cjs.js");require("@tanstack/react-table");require("@tanstack/react-virtual");require("@tanstack/match-sorter-utils");require("../../SimpleTable/context/SimpleTableContext.cjs.js");require("../../SimpleTable/SimpleTableRowTemplate.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("../../Slicer/components/SlicerSearch.cjs.js");require("../../Slicer/context/SlicerContext.cjs.js");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");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("../../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");const S=require("../context/ProjectTableContext.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../context/CellEditingContext.cjs.js");require("short-uuid");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/ProjectDataContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/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");const $=({projectName:c})=>{const{movingEntities:i,isEntityPickerOpen:I,openMoveDialog:f,closeMoveDialog:y,setEntityPickerOpen:l,clearMovingEntities:m}=O.useMoveEntityContext(),[p]=E.useUpdateOverviewEntitiesMutation(),{tableData:h,getEntityById:d}=S.useProjectTableContext(),{folders:v}=P.useProjectFoldersContext(),M=a.useCallback(t=>{f(t)},[f]),T=a.useCallback(()=>{y()},[y]),w=a.useCallback(async t=>{if(!i||t.length===0)return;const q=t[0];l(!1);try{const n=i.entities.map((e,u)=>({id:`move-${e.entityId}-${Date.now()}-${u}`,type:"update",entityType:e.entityType,entityId:e.entityId,data:e.entityType==="folder"?{parentId:q}:{folderId:q}})),o=(await p({projectName:c,operationsRequestModel:{operations:n}}).unwrap())?.operations?.filter(e=>e.success===!1)||[];if(o.length>0){const e=o.map(u=>u.detail).join(", ");throw new Error(e||"Some move operations failed")}}catch(n){console.error("Failed to move entity:",n);let r=n?.data?.detail||n?.error||n?.message||"Failed to move entities";if(r.includes("already exists"))if(i.entities.length>1)r="Cannot move some entities - one or more entities with the same name already exist in the target location";else if(i.entities[0].entityType==="task"){const e=r.match(/name '.*?, (.+?)' already exists/);r=`Cannot move "${e?e[1]:"this task"}" - a task with this name already exists in the target folder`}else{const e=r.match(/name '.*?, (.+?)' already exists/);r=`Cannot move "${e?e[1]:"this folder"}" - a folder with this name already exists in the target location`}C.toast.error(r)}finally{m(),l(!1)}},[i,c,p,f,y,l,m]),D=a.useCallback(async()=>{if(i){l(!1);try{const t=i.entities.map((r,o)=>({id:`move-to-root-${r.entityId}-${Date.now()}-${o}`,type:"update",entityType:r.entityType,entityId:r.entityId,data:r.entityType==="folder"?{parentId:null}:{folderId:null}})),n=(await p({projectName:c,operationsRequestModel:{operations:t}}).unwrap())?.operations?.filter(r=>r.success===!1)||[];if(n.length>0){const r=n.map(o=>o.detail).join(", ");throw new Error(r||"Some move operations failed")}}catch(t){console.error("Failed to move entities to root:",t);let q=t?.data?.detail||t?.error||t?.message||"Failed to move entities to root";C.toast.error(q)}finally{m(),l(!1)}}},[i,c,p,f,y,l,m]),b=a.useCallback(()=>{if(!i)return[];const t=[];return i.entities.forEach(q=>{t.push(q.entityId)}),v.forEach(q=>{i.entities.some(r=>{const o=d(r.entityId);return o?.name?h.filter(u=>r.entityType==="folder"?u.entityType==="folder"&&u.parentId===q.id:r.entityType==="task"?u.entityType==="task"&&u.folderId===q.id:!1).some(u=>u.name===o.name&&u.entityId!==r.entityId):!1})&&t.push(q.id)}),[...new Set(t)]},[i,v,h,d]),k=a.useCallback(t=>{if(!i)return;if(i.entities.some(e=>e.entityType==="folder"&&e.entityId===t))return"Cannot move folder to itself";if(i.entities.some(e=>e.currentParentId===t))return"Cannot move to the same location";const r=v.find(e=>e.id===t);if(r){const e=i.entities.find(u=>{const g=d(u.entityId);return g?.name?h.filter(s=>u.entityType==="folder"?s.entityType==="folder"&&s.parentId===r.id:u.entityType==="task"?s.entityType==="task"&&s.folderId===r.id:!1).some(s=>s.name===g.name&&s.entityId!==u.entityId):!1});if(e)return`Cannot move "${d(e.entityId)?.name||"Entity"}" - an entity with the same name already exists in this folder`}return i.entities.some(e=>e.entityType==="folder")?"Cannot move folder to its child":"Cannot move to this location"},[i,v,h,d]),x=a.useMemo(()=>i?.entities.every(t=>t.entityType==="folder")||!1,[i]);return{movingEntities:i,isEntityPickerOpen:I,isDialogOpen:I,openMoveDialog:M,closeMoveDialog:T,handleMoveSubmit:w,handleMoveToRoot:D,getDisabledFolderIds:b,getDisabledMessage:k,canMoveToRoot:x}};exports.useMoveEntities=$;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react"),C=require("react-toastify");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/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");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");const E=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("../../ContextMenu/ContextMenuContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("@ynput/ayon-react-components");;/* empty css */require("clsx");require("react-dom");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");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/SubtasksModulesContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");const O=require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");const P=require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("lodash");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("date-fns");require("../../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("uuid");require("../../../util/pubsub.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.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("react-router-dom");require("../../SimpleTable/SimpleTable.styled.cjs.js");require("@tanstack/react-table");require("@tanstack/react-virtual");require("@tanstack/match-sorter-utils");require("../../SimpleTable/context/SimpleTableContext.cjs.js");require("../../SimpleTable/SimpleTableRowTemplate.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("../../Slicer/components/SlicerSearch.cjs.js");require("../../Slicer/context/SlicerContext.cjs.js");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");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("../../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");const S=require("../context/ProjectTableContext.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../context/CellEditingContext.cjs.js");require("short-uuid");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/ProjectDataContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/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");const $=({projectName:c})=>{const{movingEntities:i,isEntityPickerOpen:I,openMoveDialog:f,closeMoveDialog:y,setEntityPickerOpen:l,clearMovingEntities:m}=O.useMoveEntityContext(),[p]=E.useUpdateOverviewEntitiesMutation(),{tableData:h,getEntityById:d}=S.useProjectTableContext(),{folders:v}=P.useProjectFoldersContext(),M=a.useCallback(t=>{f(t)},[f]),T=a.useCallback(()=>{y()},[y]),w=a.useCallback(async t=>{if(!i||t.length===0)return;const q=t[0];l(!1);try{const n=i.entities.map((e,u)=>({id:`move-${e.entityId}-${Date.now()}-${u}`,type:"update",entityType:e.entityType,entityId:e.entityId,data:e.entityType==="folder"?{parentId:q}:{folderId:q}})),o=(await p({projectName:c,operationsRequestModel:{operations:n}}).unwrap())?.operations?.filter(e=>e.success===!1)||[];if(o.length>0){const e=o.map(u=>u.detail).join(", ");throw new Error(e||"Some move operations failed")}}catch(n){console.error("Failed to move entity:",n);let r=n?.data?.detail||n?.error||n?.message||"Failed to move entities";if(r.includes("already exists"))if(i.entities.length>1)r="Cannot move some entities - one or more entities with the same name already exist in the target location";else if(i.entities[0].entityType==="task"){const e=r.match(/name '.*?, (.+?)' already exists/);r=`Cannot move "${e?e[1]:"this task"}" - a task with this name already exists in the target folder`}else{const e=r.match(/name '.*?, (.+?)' already exists/);r=`Cannot move "${e?e[1]:"this folder"}" - a folder with this name already exists in the target location`}C.toast.error(r)}finally{m(),l(!1)}},[i,c,p,f,y,l,m]),D=a.useCallback(async()=>{if(i){l(!1);try{const t=i.entities.map((r,o)=>({id:`move-to-root-${r.entityId}-${Date.now()}-${o}`,type:"update",entityType:r.entityType,entityId:r.entityId,data:r.entityType==="folder"?{parentId:null}:{folderId:null}})),n=(await p({projectName:c,operationsRequestModel:{operations:t}}).unwrap())?.operations?.filter(r=>r.success===!1)||[];if(n.length>0){const r=n.map(o=>o.detail).join(", ");throw new Error(r||"Some move operations failed")}}catch(t){console.error("Failed to move entities to root:",t);let q=t?.data?.detail||t?.error||t?.message||"Failed to move entities to root";C.toast.error(q)}finally{m(),l(!1)}}},[i,c,p,f,y,l,m]),b=a.useCallback(()=>{if(!i)return[];const t=[];return i.entities.forEach(q=>{t.push(q.entityId)}),v.forEach(q=>{i.entities.some(r=>{const o=d(r.entityId);return o?.name?h.filter(u=>r.entityType==="folder"?u.entityType==="folder"&&u.parentId===q.id:r.entityType==="task"?u.entityType==="task"&&u.folderId===q.id:!1).some(u=>u.name===o.name&&u.entityId!==r.entityId):!1})&&t.push(q.id)}),[...new Set(t)]},[i,v,h,d]),k=a.useCallback(t=>{if(!i)return;if(i.entities.some(e=>e.entityType==="folder"&&e.entityId===t))return"Cannot move folder to itself";if(i.entities.some(e=>e.currentParentId===t))return"Cannot move to the same location";const r=v.find(e=>e.id===t);if(r){const e=i.entities.find(u=>{const g=d(u.entityId);return g?.name?h.filter(s=>u.entityType==="folder"?s.entityType==="folder"&&s.parentId===r.id:u.entityType==="task"?s.entityType==="task"&&s.folderId===r.id:!1).some(s=>s.name===g.name&&s.entityId!==u.entityId):!1});if(e)return`Cannot move "${d(e.entityId)?.name||"Entity"}" - an entity with the same name already exists in this folder`}return i.entities.some(e=>e.entityType==="folder")?"Cannot move folder to its child":"Cannot move to this location"},[i,v,h,d]),x=a.useMemo(()=>i?.entities.every(t=>t.entityType==="folder")||!1,[i]);return{movingEntities:i,isEntityPickerOpen:I,isDialogOpen:I,openMoveDialog:M,closeMoveDialog:T,handleMoveSubmit:w,handleMoveToRoot:D,getDisabledFolderIds:b,getDisabledMessage:k,canMoveToRoot:x}};exports.useMoveEntities=$;
2
2
  //# sourceMappingURL=useMoveEntities.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMoveEntities.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useMoveEntities.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport { toast } from 'react-toastify'\nimport {\n OperationModel,\n OperationResponseModel,\n useUpdateOverviewEntitiesMutation,\n} from '@shared/api'\nimport { useProjectTableContext } from '@shared/containers'\nimport {\n useMoveEntityContext,\n EntityMoveData,\n MultiEntityMoveData,\n} from '@shared/context/MoveEntityContext'\nimport { useProjectFoldersContext } from '@shared/context'\n\nexport type EntityType = 'folder' | 'task'\n\ninterface UseMoveEntitiesProps {\n projectName: string\n}\n\nexport const useMoveEntities = ({ projectName }: UseMoveEntitiesProps) => {\n const {\n movingEntities,\n isEntityPickerOpen,\n openMoveDialog,\n closeMoveDialog,\n setEntityPickerOpen,\n clearMovingEntities,\n } = useMoveEntityContext()\n const [updateOverviewEntities] = useUpdateOverviewEntitiesMutation()\n\n // Get project context for entity data\n const { tableData, getEntityById } = useProjectTableContext()\n\n // Get folder data to check hasVersions property\n const { folders } = useProjectFoldersContext()\n\n // Action dispatchers\n const openMoveDialogHandler = useCallback(\n (entityData: EntityMoveData | MultiEntityMoveData) => {\n openMoveDialog(entityData)\n },\n [openMoveDialog],\n )\n\n const closeMoveDialogHandler = useCallback(() => {\n closeMoveDialog()\n }, [closeMoveDialog])\n\n // Move submit handler\n const handleMoveSubmit = useCallback(\n async (selectedFolderIds: string[]) => {\n if (!movingEntities || selectedFolderIds.length === 0) return\n\n const targetFolderId = selectedFolderIds[0]\n setEntityPickerOpen(false)\n\n try {\n // Prepare move operations for all entities\n const moveOperations: OperationModel[] = movingEntities.entities.map(\n (entity: EntityMoveData, index: number) => ({\n id: `move-${entity.entityId}-${Date.now()}-${index}`,\n type: 'update',\n entityType: entity.entityType,\n entityId: entity.entityId,\n data:\n entity.entityType === 'folder'\n ? { parentId: targetFolderId }\n : { folderId: targetFolderId },\n }),\n )\n\n // Use the mutation with built-in optimistic updates and rollback\n const result = await updateOverviewEntities({\n projectName,\n operationsRequestModel: {\n operations: moveOperations,\n },\n }).unwrap()\n\n // Check for any failed operations\n const failedOperations =\n result?.operations?.filter((op: OperationResponseModel) => op.success === false) || []\n\n if (failedOperations.length > 0) {\n const errorDetails = failedOperations.map((op) => op.detail).join(', ')\n throw new Error(errorDetails || 'Some move operations failed')\n }\n } catch (error: any) {\n console.error('Failed to move entity:', error)\n\n // Extract and improve error message\n let errorMessage =\n error?.data?.detail || error?.error || error?.message || 'Failed to move entities'\n\n // Improve specific error messages for better UX\n if (errorMessage.includes('already exists')) {\n // For multiple entities, provide a more general message\n if (movingEntities.entities.length > 1) {\n errorMessage = `Cannot move some entities - one or more entities with the same name already exist in the target location`\n } else {\n const entity = movingEntities.entities[0]\n if (entity.entityType === 'task') {\n // Extract task name from error message if possible\n const nameMatch = errorMessage.match(/name '.*?, (.+?)' already exists/)\n const taskName = nameMatch ? nameMatch[1] : 'this task'\n errorMessage = `Cannot move \"${taskName}\" - a task with this name already exists in the target folder`\n } else {\n // Extract folder name from error message if possible\n const nameMatch = errorMessage.match(/name '.*?, (.+?)' already exists/)\n const folderName = nameMatch ? nameMatch[1] : 'this folder'\n errorMessage = `Cannot move \"${folderName}\" - a folder with this name already exists in the target location`\n }\n }\n }\n\n toast.error(errorMessage)\n } finally {\n clearMovingEntities()\n setEntityPickerOpen(false)\n }\n },\n [\n movingEntities,\n projectName,\n updateOverviewEntities,\n openMoveDialog,\n closeMoveDialog,\n setEntityPickerOpen,\n clearMovingEntities,\n ],\n )\n\n // Move to root handler\n const handleMoveToRoot = useCallback(async () => {\n if (!movingEntities) return\n\n setEntityPickerOpen(false)\n\n try {\n // Prepare move operations for all entities to move to root (null parentId/folderId)\n const moveOperations: OperationModel[] = movingEntities.entities.map(\n (entity: EntityMoveData, index: number) => ({\n id: `move-to-root-${entity.entityId}-${Date.now()}-${index}`,\n type: 'update',\n entityType: entity.entityType,\n entityId: entity.entityId,\n data: entity.entityType === 'folder' ? { parentId: null } : { folderId: null },\n }),\n )\n\n // Use the mutation with built-in optimistic updates and rollback\n const result = await updateOverviewEntities({\n projectName,\n operationsRequestModel: {\n operations: moveOperations,\n },\n }).unwrap()\n\n // Check for any failed operations\n const failedOperations =\n result?.operations?.filter((op: OperationResponseModel) => op.success === false) || []\n\n if (failedOperations.length > 0) {\n const errorDetails = failedOperations.map((op) => op.detail).join(', ')\n throw new Error(errorDetails || 'Some move operations failed')\n }\n } catch (error: any) {\n console.error('Failed to move entities to root:', error)\n\n // Extract and improve error message\n let errorMessage =\n error?.data?.detail || error?.error || error?.message || 'Failed to move entities to root'\n\n toast.error(errorMessage)\n } finally {\n clearMovingEntities()\n setEntityPickerOpen(false)\n }\n }, [\n movingEntities,\n projectName,\n updateOverviewEntities,\n openMoveDialog,\n closeMoveDialog,\n setEntityPickerOpen,\n clearMovingEntities,\n ])\n\n // Get disabled folder IDs\n const getDisabledFolderIds = useCallback((): string[] => {\n if (!movingEntities) return []\n const disabledIds: string[] = []\n\n // Add the entities being moved themselves to prevent moving to themselves\n movingEntities.entities.forEach((entity: EntityMoveData) => {\n disabledIds.push(entity.entityId)\n })\n\n // Add folders where name conflicts would occur\n folders.forEach((targetFolder) => {\n // Check if any moving entity has the same name as existing children in this folder\n const hasNameConflict = movingEntities.entities.some((movingEntity: EntityMoveData) => {\n // Get the name of the entity being moved\n const movingEntityData = getEntityById(movingEntity.entityId)\n if (!movingEntityData?.name) return false\n\n // Find all entities that would be siblings in the target folder\n const existingSiblings = tableData.filter((entity) => {\n // For folders, check parentId\n if (movingEntity.entityType === 'folder') {\n return entity.entityType === 'folder' && entity.parentId === targetFolder.id\n }\n // For tasks, check folderId\n if (movingEntity.entityType === 'task') {\n return entity.entityType === 'task' && entity.folderId === targetFolder.id\n }\n return false\n })\n\n // Check if any sibling has the same name (excluding the entity being moved itself)\n return existingSiblings.some(\n (sibling) =>\n sibling.name === movingEntityData.name && sibling.entityId !== movingEntity.entityId,\n )\n })\n\n if (hasNameConflict) {\n disabledIds.push(targetFolder.id)\n }\n })\n\n return [...new Set(disabledIds)]\n }, [movingEntities, folders, tableData, getEntityById])\n\n // Get disabled message for a folder\n const getDisabledMessage = useCallback(\n (folderId: string): string | undefined => {\n if (!movingEntities) return undefined\n\n // 1. Check if this folder is the entity being moved itself.\n const isEntityItself = movingEntities.entities.some(\n (entity: EntityMoveData) => entity.entityType === 'folder' && entity.entityId === folderId,\n )\n\n if (isEntityItself) {\n return 'Cannot move folder to itself'\n }\n\n // 2. Check if this is the current parent folder.\n const isCurrentParent = movingEntities.entities.some(\n (entity: EntityMoveData) => entity.currentParentId === folderId,\n )\n\n if (isCurrentParent) {\n return 'Cannot move to the same location'\n }\n\n // 4. Check for name conflicts - entity with same name already exists in target folder\n const targetFolder = folders.find((folder) => folder.id === folderId)\n if (targetFolder) {\n const conflictingEntity = movingEntities.entities.find((movingEntity: EntityMoveData) => {\n // Get the name of the entity being moved\n const movingEntityData = getEntityById(movingEntity.entityId)\n if (!movingEntityData?.name) return false\n\n // Find all entities that would be siblings in the target folder\n const existingSiblings = tableData.filter((entity) => {\n // For folders, check parentId\n if (movingEntity.entityType === 'folder') {\n return entity.entityType === 'folder' && entity.parentId === targetFolder.id\n }\n // For tasks, check folderId\n if (movingEntity.entityType === 'task') {\n return entity.entityType === 'task' && entity.folderId === targetFolder.id\n }\n return false\n })\n\n // Check if any sibling has the same name (excluding the entity being moved itself)\n return existingSiblings.some(\n (sibling) =>\n sibling.name === movingEntityData.name && sibling.entityId !== movingEntity.entityId,\n )\n })\n\n if (conflictingEntity) {\n const entityData = getEntityById(conflictingEntity.entityId)\n const entityName = entityData?.name || 'Entity'\n return `Cannot move \"${entityName}\" - an entity with the same name already exists in this folder`\n }\n }\n\n // 5. Check if the target is a child folder (simplified check)\n const isChildFolder = movingEntities.entities.some(\n (entity: EntityMoveData) => entity.entityType === 'folder',\n )\n\n if (isChildFolder) {\n return 'Cannot move folder to its child'\n }\n\n // Default message\n return 'Cannot move to this location'\n },\n [movingEntities, folders, tableData, getEntityById],\n )\n\n // Check if we can show \"Move to root\" option\n const canMoveToRoot = useMemo(() => {\n return (\n movingEntities?.entities.every((entity: EntityMoveData) => entity.entityType === 'folder') ||\n false\n )\n }, [movingEntities])\n\n return {\n // State\n movingEntities,\n isEntityPickerOpen,\n\n // Actions (keeping legacy names for compatibility)\n isDialogOpen: isEntityPickerOpen,\n openMoveDialog: openMoveDialogHandler,\n closeMoveDialog: closeMoveDialogHandler,\n handleMoveSubmit,\n handleMoveToRoot,\n getDisabledFolderIds,\n getDisabledMessage,\n canMoveToRoot,\n }\n}\n"],"names":["useMoveEntities","projectName","movingEntities","isEntityPickerOpen","openMoveDialog","closeMoveDialog","setEntityPickerOpen","clearMovingEntities","useMoveEntityContext","updateOverviewEntities","useUpdateOverviewEntitiesMutation","tableData","getEntityById","useProjectTableContext","folders","useProjectFoldersContext","openMoveDialogHandler","useCallback","entityData","closeMoveDialogHandler","handleMoveSubmit","selectedFolderIds","targetFolderId","moveOperations","entity","index","failedOperations","op","errorDetails","error","errorMessage","nameMatch","toast","handleMoveToRoot","getDisabledFolderIds","disabledIds","targetFolder","movingEntity","movingEntityData","sibling","getDisabledMessage","folderId","folder","conflictingEntity","canMoveToRoot","useMemo"],"mappings":"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"}
1
+ {"version":3,"file":"useMoveEntities.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useMoveEntities.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport { toast } from 'react-toastify'\nimport {\n OperationModel,\n OperationResponseModel,\n useUpdateOverviewEntitiesMutation,\n} from '@shared/api'\nimport { useProjectTableContext } from '@shared/containers'\nimport {\n useMoveEntityContext,\n EntityMoveData,\n MultiEntityMoveData,\n} from '@shared/context/MoveEntityContext'\nimport { useProjectFoldersContext } from '@shared/context'\n\nexport type EntityType = 'folder' | 'task'\n\ninterface UseMoveEntitiesProps {\n projectName: string\n}\n\nexport const useMoveEntities = ({ projectName }: UseMoveEntitiesProps) => {\n const {\n movingEntities,\n isEntityPickerOpen,\n openMoveDialog,\n closeMoveDialog,\n setEntityPickerOpen,\n clearMovingEntities,\n } = useMoveEntityContext()\n const [updateOverviewEntities] = useUpdateOverviewEntitiesMutation()\n\n // Get project context for entity data\n const { tableData, getEntityById } = useProjectTableContext()\n\n // Get folder data to check hasVersions property\n const { folders } = useProjectFoldersContext()\n\n // Action dispatchers\n const openMoveDialogHandler = useCallback(\n (entityData: EntityMoveData | MultiEntityMoveData) => {\n openMoveDialog(entityData)\n },\n [openMoveDialog],\n )\n\n const closeMoveDialogHandler = useCallback(() => {\n closeMoveDialog()\n }, [closeMoveDialog])\n\n // Move submit handler\n const handleMoveSubmit = useCallback(\n async (selectedFolderIds: string[]) => {\n if (!movingEntities || selectedFolderIds.length === 0) return\n\n const targetFolderId = selectedFolderIds[0]\n setEntityPickerOpen(false)\n\n try {\n // Prepare move operations for all entities\n const moveOperations: OperationModel[] = movingEntities.entities.map(\n (entity: EntityMoveData, index: number) => ({\n id: `move-${entity.entityId}-${Date.now()}-${index}`,\n type: 'update',\n entityType: entity.entityType,\n entityId: entity.entityId,\n data:\n entity.entityType === 'folder'\n ? { parentId: targetFolderId }\n : { folderId: targetFolderId },\n }),\n )\n\n // Use the mutation with built-in optimistic updates and rollback\n const result = await updateOverviewEntities({\n projectName,\n operationsRequestModel: {\n operations: moveOperations,\n },\n }).unwrap()\n\n // Check for any failed operations\n const failedOperations =\n result?.operations?.filter((op: OperationResponseModel) => op.success === false) || []\n\n if (failedOperations.length > 0) {\n const errorDetails = failedOperations.map((op) => op.detail).join(', ')\n throw new Error(errorDetails || 'Some move operations failed')\n }\n } catch (error: any) {\n console.error('Failed to move entity:', error)\n\n // Extract and improve error message\n let errorMessage =\n error?.data?.detail || error?.error || error?.message || 'Failed to move entities'\n\n // Improve specific error messages for better UX\n if (errorMessage.includes('already exists')) {\n // For multiple entities, provide a more general message\n if (movingEntities.entities.length > 1) {\n errorMessage = `Cannot move some entities - one or more entities with the same name already exist in the target location`\n } else {\n const entity = movingEntities.entities[0]\n if (entity.entityType === 'task') {\n // Extract task name from error message if possible\n const nameMatch = errorMessage.match(/name '.*?, (.+?)' already exists/)\n const taskName = nameMatch ? nameMatch[1] : 'this task'\n errorMessage = `Cannot move \"${taskName}\" - a task with this name already exists in the target folder`\n } else {\n // Extract folder name from error message if possible\n const nameMatch = errorMessage.match(/name '.*?, (.+?)' already exists/)\n const folderName = nameMatch ? nameMatch[1] : 'this folder'\n errorMessage = `Cannot move \"${folderName}\" - a folder with this name already exists in the target location`\n }\n }\n }\n\n toast.error(errorMessage)\n } finally {\n clearMovingEntities()\n setEntityPickerOpen(false)\n }\n },\n [\n movingEntities,\n projectName,\n updateOverviewEntities,\n openMoveDialog,\n closeMoveDialog,\n setEntityPickerOpen,\n clearMovingEntities,\n ],\n )\n\n // Move to root handler\n const handleMoveToRoot = useCallback(async () => {\n if (!movingEntities) return\n\n setEntityPickerOpen(false)\n\n try {\n // Prepare move operations for all entities to move to root (null parentId/folderId)\n const moveOperations: OperationModel[] = movingEntities.entities.map(\n (entity: EntityMoveData, index: number) => ({\n id: `move-to-root-${entity.entityId}-${Date.now()}-${index}`,\n type: 'update',\n entityType: entity.entityType,\n entityId: entity.entityId,\n data: entity.entityType === 'folder' ? { parentId: null } : { folderId: null },\n }),\n )\n\n // Use the mutation with built-in optimistic updates and rollback\n const result = await updateOverviewEntities({\n projectName,\n operationsRequestModel: {\n operations: moveOperations,\n },\n }).unwrap()\n\n // Check for any failed operations\n const failedOperations =\n result?.operations?.filter((op: OperationResponseModel) => op.success === false) || []\n\n if (failedOperations.length > 0) {\n const errorDetails = failedOperations.map((op) => op.detail).join(', ')\n throw new Error(errorDetails || 'Some move operations failed')\n }\n } catch (error: any) {\n console.error('Failed to move entities to root:', error)\n\n // Extract and improve error message\n let errorMessage =\n error?.data?.detail || error?.error || error?.message || 'Failed to move entities to root'\n\n toast.error(errorMessage)\n } finally {\n clearMovingEntities()\n setEntityPickerOpen(false)\n }\n }, [\n movingEntities,\n projectName,\n updateOverviewEntities,\n openMoveDialog,\n closeMoveDialog,\n setEntityPickerOpen,\n clearMovingEntities,\n ])\n\n // Get disabled folder IDs\n const getDisabledFolderIds = useCallback((): string[] => {\n if (!movingEntities) return []\n const disabledIds: string[] = []\n\n // Add the entities being moved themselves to prevent moving to themselves\n movingEntities.entities.forEach((entity: EntityMoveData) => {\n disabledIds.push(entity.entityId)\n })\n\n // Add folders where name conflicts would occur\n folders.forEach((targetFolder) => {\n // Check if any moving entity has the same name as existing children in this folder\n const hasNameConflict = movingEntities.entities.some((movingEntity: EntityMoveData) => {\n // Get the name of the entity being moved\n const movingEntityData = getEntityById(movingEntity.entityId)\n if (!movingEntityData?.name) return false\n\n // Find all entities that would be siblings in the target folder\n const existingSiblings = tableData.filter((entity) => {\n // For folders, check parentId\n if (movingEntity.entityType === 'folder') {\n return entity.entityType === 'folder' && entity.parentId === targetFolder.id\n }\n // For tasks, check folderId\n if (movingEntity.entityType === 'task') {\n return entity.entityType === 'task' && entity.folderId === targetFolder.id\n }\n return false\n })\n\n // Check if any sibling has the same name (excluding the entity being moved itself)\n return existingSiblings.some(\n (sibling) =>\n sibling.name === movingEntityData.name && sibling.entityId !== movingEntity.entityId,\n )\n })\n\n if (hasNameConflict) {\n disabledIds.push(targetFolder.id)\n }\n })\n\n return [...new Set(disabledIds)]\n }, [movingEntities, folders, tableData, getEntityById])\n\n // Get disabled message for a folder\n const getDisabledMessage = useCallback(\n (folderId: string): string | undefined => {\n if (!movingEntities) return undefined\n\n // 1. Check if this folder is the entity being moved itself.\n const isEntityItself = movingEntities.entities.some(\n (entity: EntityMoveData) => entity.entityType === 'folder' && entity.entityId === folderId,\n )\n\n if (isEntityItself) {\n return 'Cannot move folder to itself'\n }\n\n // 2. Check if this is the current parent folder.\n const isCurrentParent = movingEntities.entities.some(\n (entity: EntityMoveData) => entity.currentParentId === folderId,\n )\n\n if (isCurrentParent) {\n return 'Cannot move to the same location'\n }\n\n // 4. Check for name conflicts - entity with same name already exists in target folder\n const targetFolder = folders.find((folder) => folder.id === folderId)\n if (targetFolder) {\n const conflictingEntity = movingEntities.entities.find((movingEntity: EntityMoveData) => {\n // Get the name of the entity being moved\n const movingEntityData = getEntityById(movingEntity.entityId)\n if (!movingEntityData?.name) return false\n\n // Find all entities that would be siblings in the target folder\n const existingSiblings = tableData.filter((entity) => {\n // For folders, check parentId\n if (movingEntity.entityType === 'folder') {\n return entity.entityType === 'folder' && entity.parentId === targetFolder.id\n }\n // For tasks, check folderId\n if (movingEntity.entityType === 'task') {\n return entity.entityType === 'task' && entity.folderId === targetFolder.id\n }\n return false\n })\n\n // Check if any sibling has the same name (excluding the entity being moved itself)\n return existingSiblings.some(\n (sibling) =>\n sibling.name === movingEntityData.name && sibling.entityId !== movingEntity.entityId,\n )\n })\n\n if (conflictingEntity) {\n const entityData = getEntityById(conflictingEntity.entityId)\n const entityName = entityData?.name || 'Entity'\n return `Cannot move \"${entityName}\" - an entity with the same name already exists in this folder`\n }\n }\n\n // 5. Check if the target is a child folder (simplified check)\n const isChildFolder = movingEntities.entities.some(\n (entity: EntityMoveData) => entity.entityType === 'folder',\n )\n\n if (isChildFolder) {\n return 'Cannot move folder to its child'\n }\n\n // Default message\n return 'Cannot move to this location'\n },\n [movingEntities, folders, tableData, getEntityById],\n )\n\n // Check if we can show \"Move to root\" option\n const canMoveToRoot = useMemo(() => {\n return (\n movingEntities?.entities.every((entity: EntityMoveData) => entity.entityType === 'folder') ||\n false\n )\n }, [movingEntities])\n\n return {\n // State\n movingEntities,\n isEntityPickerOpen,\n\n // Actions (keeping legacy names for compatibility)\n isDialogOpen: isEntityPickerOpen,\n openMoveDialog: openMoveDialogHandler,\n closeMoveDialog: closeMoveDialogHandler,\n handleMoveSubmit,\n handleMoveToRoot,\n getDisabledFolderIds,\n getDisabledMessage,\n canMoveToRoot,\n }\n}\n"],"names":["useMoveEntities","projectName","movingEntities","isEntityPickerOpen","openMoveDialog","closeMoveDialog","setEntityPickerOpen","clearMovingEntities","useMoveEntityContext","updateOverviewEntities","useUpdateOverviewEntitiesMutation","tableData","getEntityById","useProjectTableContext","folders","useProjectFoldersContext","openMoveDialogHandler","useCallback","entityData","closeMoveDialogHandler","handleMoveSubmit","selectedFolderIds","targetFolderId","moveOperations","entity","index","failedOperations","op","errorDetails","error","errorMessage","nameMatch","toast","handleMoveToRoot","getDisabledFolderIds","disabledIds","targetFolder","movingEntity","movingEntityData","sibling","getDisabledMessage","folderId","folder","conflictingEntity","canMoveToRoot","useMemo"],"mappings":"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"}
@@ -25,6 +25,7 @@ import "../../../api/generated/operations.es.js";
25
25
  import "../../../api/generated/products.es.js";
26
26
  import "../../../api/generated/projectDashboard.es.js";
27
27
  import "../../../api/generated/projects.es.js";
28
+ import "../../../api/generated/projectFolders.es.js";
28
29
  import "../../../api/generated/reviewables.es.js";
29
30
  import "../../../api/generated/services.es.js";
30
31
  import "../../../api/generated/system.es.js";
@@ -72,6 +73,7 @@ import "../../../api/queries/permissions/getPermissions.es.js";
72
73
  import "../../../api/queries/products/createProduct.es.js";
73
74
  import "../../../api/queries/project/getProject.es.js";
74
75
  import "../../../api/queries/project/updateProject.es.js";
76
+ import "../../../api/queries/projectFolders/projectFolders.es.js";
75
77
  import "../../../api/queries/review/getReview.es.js";
76
78
  import "../../../api/queries/review/updateReview.es.js";
77
79
  import "../../../api/queries/share/share.es.js";
@@ -257,7 +259,7 @@ import "../../Views/context/ViewsContext.es.js";
257
259
  import "../../Views/Views.styled.es.js";
258
260
  import "../../Views/ViewsMenuContainer/ViewsMenuContainer.es.js";
259
261
  import "../../Views/ViewsMenu/ViewsMenu.es.js";
260
- const xe = ({ projectName: f }) => {
262
+ const ke = ({ projectName: f }) => {
261
263
  const {
262
264
  movingEntities: i,
263
265
  isEntityPickerOpen: M,
@@ -418,6 +420,6 @@ const xe = ({ projectName: f }) => {
418
420
  };
419
421
  };
420
422
  export {
421
- xe as useMoveEntities
423
+ ke as useMoveEntities
422
424
  };
423
425
  //# sourceMappingURL=useMoveEntities.es.js.map