@ynput/ayon-frontend-shared 0.4.0 → 0.4.1

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 (730) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +49 -46
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +244 -228
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Slicer.cjs.js +1 -1
  8. package/dist/Slicer.es.js +52 -49
  9. package/dist/Slicer.es.js.map +1 -1
  10. package/dist/api.cjs.js +1 -1
  11. package/dist/api.es.js +93 -93
  12. package/dist/components.cjs.js +1 -1
  13. package/dist/components.es.js +130 -126
  14. package/dist/components.es.js.map +1 -1
  15. package/dist/index.cjs.js +1 -1
  16. package/dist/index.es.js +36 -33
  17. package/dist/index.es.js.map +1 -1
  18. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  19. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  20. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  21. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  22. package/dist/shared/src/api/generated/graphql.cjs.js +40 -21
  23. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  24. package/dist/shared/src/api/generated/graphql.es.js +36 -17
  25. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  26. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  27. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  28. package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
  29. package/dist/shared/src/api/generated/views.es.js.map +1 -1
  30. package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -1
  31. package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
  32. package/dist/shared/src/api/queries/activities/getActivities.es.js +4 -4
  33. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  34. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
  35. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
  36. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +99 -105
  37. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
  38. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
  39. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
  40. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +133 -87
  41. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  42. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  43. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  44. package/dist/shared/src/api/queries/entityLists/getLists.es.js +155 -155
  45. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  46. package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -1
  47. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  48. package/dist/shared/src/api/queries/folders/getFolders.es.js +66 -64
  49. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  50. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
  51. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
  52. package/dist/shared/src/api/queries/links/getEntityLinks.es.js +110 -111
  53. package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
  54. package/dist/shared/src/api/queries/links/getLinks.cjs.js +1 -1
  55. package/dist/shared/src/api/queries/links/getLinks.cjs.js.map +1 -1
  56. package/dist/shared/src/api/queries/links/getLinks.es.js +58 -73
  57. package/dist/shared/src/api/queries/links/getLinks.es.js.map +1 -1
  58. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  59. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  60. package/dist/shared/src/api/queries/overview/getOverview.es.js +380 -328
  61. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  62. package/dist/shared/src/api/queries/overview/patchVersions.cjs.js +1 -1
  63. package/dist/shared/src/api/queries/overview/patchVersions.cjs.js.map +1 -1
  64. package/dist/shared/src/api/queries/overview/patchVersions.es.js +130 -77
  65. package/dist/shared/src/api/queries/overview/patchVersions.es.js.map +1 -1
  66. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  67. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  68. package/dist/shared/src/api/queries/overview/updateOverview.es.js +136 -132
  69. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  70. package/dist/shared/src/api/queries/review/getReview.cjs.js +1 -1
  71. package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
  72. package/dist/shared/src/api/queries/review/getReview.es.js +180 -104
  73. package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
  74. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
  75. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  76. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +152 -132
  77. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  78. package/dist/shared/src/api/queries/users/getUsers.cjs.js +2 -2
  79. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  80. package/dist/shared/src/api/queries/users/getUsers.es.js +2 -2
  81. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  82. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
  83. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
  84. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +485 -439
  85. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
  86. package/dist/shared/src/components/Chips/Chips.cjs.js +1 -1
  87. package/dist/shared/src/components/Chips/Chips.cjs.js.map +1 -1
  88. package/dist/shared/src/components/Chips/Chips.es.js +18 -17
  89. package/dist/shared/src/components/Chips/Chips.es.js.map +1 -1
  90. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js +1 -1
  91. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js.map +1 -1
  92. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js +23 -20
  93. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
  94. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  95. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  96. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +10 -7
  97. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  98. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  99. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  100. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +23 -20
  101. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  102. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  103. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  104. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +23 -20
  105. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  106. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  107. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  108. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +23 -20
  109. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  110. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js +1 -1
  111. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js.map +1 -1
  112. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js +34 -30
  113. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js.map +1 -1
  114. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  115. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  116. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +23 -20
  117. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  118. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  119. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  120. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +28 -25
  121. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  122. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  123. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  124. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +23 -20
  125. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  126. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  127. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  128. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +27 -24
  129. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  130. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
  131. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
  132. package/dist/shared/src/components/LinksManager/LinksManager.es.js +23 -20
  133. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
  134. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  135. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  136. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +23 -20
  137. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  138. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  139. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  140. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +23 -20
  141. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  142. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
  143. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -1
  144. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +23 -20
  145. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -1
  146. package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
  147. package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -1
  148. package/dist/shared/src/components/Menu/Menu.es.js +23 -20
  149. package/dist/shared/src/components/Menu/Menu.es.js.map +1 -1
  150. package/dist/shared/src/components/Menu/MenuItem.cjs.js +1 -1
  151. package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -1
  152. package/dist/shared/src/components/Menu/MenuItem.es.js +21 -18
  153. package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -1
  154. package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
  155. package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
  156. package/dist/shared/src/components/Menu/MenuList.es.js +23 -20
  157. package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
  158. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
  159. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  160. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +23 -20
  161. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  162. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  163. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  164. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +23 -20
  165. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  166. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +2 -2
  167. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  168. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +210 -182
  169. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  170. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
  171. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  172. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +89 -82
  173. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  174. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  175. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  176. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +23 -20
  177. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  178. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  179. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  180. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +109 -106
  181. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  182. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  183. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  184. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +23 -20
  185. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  186. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  187. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  188. package/dist/shared/src/components/RenameForm/RenameForm.es.js +23 -20
  189. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  190. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  191. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  192. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +29 -32
  193. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  194. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  195. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  196. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +30 -27
  197. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  198. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  199. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  200. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +29 -26
  201. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  202. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  203. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  204. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +29 -26
  205. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  206. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.cjs.js +1 -1
  207. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.cjs.js.map +1 -1
  208. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.es.js +2 -1
  209. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.es.js.map +1 -1
  210. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  211. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  212. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +511 -394
  213. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  214. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +1 -1
  215. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  216. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +23 -20
  217. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  218. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js +8 -5
  219. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js.map +1 -1
  220. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js +36 -22
  221. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js.map +1 -1
  222. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
  223. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  224. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +30 -27
  225. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  226. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  227. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  228. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +29 -26
  229. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  230. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
  231. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  232. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +23 -20
  233. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  234. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  235. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  236. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +29 -26
  237. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  238. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  239. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  240. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +32 -29
  241. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  242. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  243. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  244. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +29 -26
  245. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  246. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  247. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  248. package/dist/shared/src/containers/Actions/Actions.es.js +23 -20
  249. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  250. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  251. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  252. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +29 -26
  253. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  254. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  255. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  256. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +29 -26
  257. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  258. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  259. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  260. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +29 -26
  261. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  262. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  263. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  264. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +29 -26
  265. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  266. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  267. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  268. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +29 -26
  269. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  270. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js +1 -1
  271. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js.map +1 -1
  272. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js +23 -20
  273. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js.map +1 -1
  274. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  275. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
  276. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +29 -26
  277. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
  278. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  279. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
  280. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +29 -26
  281. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
  282. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  283. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  284. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +23 -20
  285. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  286. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js +1 -1
  287. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js.map +1 -1
  288. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.es.js +12 -12
  289. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.es.js.map +1 -1
  290. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  291. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  292. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +133 -130
  293. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  294. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  295. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  296. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +29 -26
  297. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  298. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  299. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  300. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +27 -24
  301. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  302. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  303. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  304. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +27 -24
  305. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  306. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  307. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  308. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +23 -20
  309. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  310. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  311. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  312. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +29 -26
  313. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  314. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  315. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  316. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +29 -26
  317. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  318. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  319. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  320. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +29 -26
  321. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  322. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  323. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  324. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +29 -26
  325. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  326. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  327. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  328. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +23 -20
  329. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  330. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  331. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  332. package/dist/shared/src/containers/Feed/Feed.es.js +28 -25
  333. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  334. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  335. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  336. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +29 -26
  337. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  338. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  339. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  340. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +29 -26
  341. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  342. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  343. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  344. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +29 -26
  345. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  346. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  347. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  348. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +23 -20
  349. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  350. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  351. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  352. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +27 -24
  353. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  354. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  355. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  356. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +33 -30
  357. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  358. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  359. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  360. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +23 -20
  361. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  362. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  363. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  364. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +23 -20
  365. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  366. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +2 -2
  367. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js.map +1 -1
  368. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +21 -18
  369. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js.map +1 -1
  370. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  371. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  372. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +23 -20
  373. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  374. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  375. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  376. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +27 -24
  377. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  378. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  379. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  380. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +26 -23
  381. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  382. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  383. package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
  384. package/dist/shared/src/containers/ListTable/ListTable.es.js +25 -22
  385. package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
  386. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  387. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  388. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +119 -116
  389. package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
  390. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  391. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
  392. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +29 -26
  393. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
  394. package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js +2 -2
  395. package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js.map +1 -1
  396. package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js +114 -111
  397. package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js.map +1 -1
  398. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js +1 -1
  399. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js.map +1 -1
  400. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.es.js +116 -113
  401. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.es.js.map +1 -1
  402. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  403. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  404. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +64 -61
  405. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  406. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  407. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  408. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +586 -414
  409. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  410. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  411. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  412. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +24 -21
  413. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  414. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  415. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  416. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +24 -21
  417. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  418. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  419. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  420. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +29 -26
  421. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  422. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  423. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  424. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +131 -128
  425. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  426. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +5 -5
  427. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  428. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +289 -272
  429. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  430. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  431. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  432. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +34 -31
  433. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  434. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  435. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  436. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +25 -22
  437. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  438. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +1 -1
  439. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  440. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +28 -25
  441. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  442. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  443. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  444. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +118 -115
  445. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  446. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  447. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  448. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +23 -20
  449. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  450. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  451. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  452. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +28 -25
  453. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  454. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  455. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  456. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +25 -22
  457. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  458. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  459. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  460. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +124 -121
  461. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  462. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  463. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  464. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +48 -45
  465. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  466. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  467. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  468. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +26 -23
  469. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  470. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  471. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  472. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +23 -20
  473. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  474. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  475. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  476. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +103 -100
  477. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  478. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  479. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  480. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +26 -23
  481. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  482. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  483. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  484. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +26 -23
  485. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  486. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupCounts.cjs.js.map +1 -1
  487. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupCounts.es.js.map +1 -1
  488. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  489. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  490. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +93 -383
  491. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  492. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  493. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  494. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +23 -20
  495. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  496. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  497. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  498. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +22 -19
  499. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  500. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  501. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  502. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +25 -22
  503. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  504. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  505. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  506. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +37 -45
  507. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  508. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  509. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  510. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +21 -18
  511. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  512. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  513. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  514. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +37 -34
  515. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  516. package/dist/shared/src/containers/ProjectTreeTable/utils/columnIds.cjs.js +2 -0
  517. package/dist/shared/src/containers/ProjectTreeTable/utils/columnIds.cjs.js.map +1 -0
  518. package/dist/shared/src/containers/ProjectTreeTable/utils/columnIds.es.js +45 -0
  519. package/dist/shared/src/containers/ProjectTreeTable/utils/columnIds.es.js.map +1 -0
  520. package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.cjs.js.map +1 -1
  521. package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.es.js.map +1 -1
  522. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js +1 -1
  523. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js.map +1 -1
  524. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js +37 -21
  525. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js.map +1 -1
  526. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  527. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  528. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +28 -25
  529. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  530. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +6 -2
  531. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  532. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +28 -21
  533. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  534. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +1 -1
  535. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
  536. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +29 -26
  537. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
  538. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.cjs.js +30 -0
  539. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.cjs.js.map +1 -0
  540. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.es.js +370 -0
  541. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.es.js.map +1 -0
  542. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +2 -2
  543. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  544. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +39 -36
  545. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  546. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +1 -1
  547. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
  548. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +23 -20
  549. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js.map +1 -1
  550. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  551. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  552. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +26 -23
  553. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  554. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  555. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  556. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +29 -26
  557. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  558. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +1 -1
  559. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
  560. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +23 -20
  561. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
  562. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  563. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  564. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +29 -26
  565. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  566. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  567. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  568. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +29 -26
  569. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  570. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +1 -1
  571. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -1
  572. package/dist/shared/src/containers/Slicer/components/Slicer.es.js +25 -22
  573. package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -1
  574. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +1 -1
  575. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
  576. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +23 -20
  577. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -1
  578. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  579. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  580. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +29 -26
  581. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  582. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  583. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  584. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +27 -24
  585. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  586. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
  587. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
  588. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +23 -20
  589. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
  590. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js +1 -1
  591. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js.map +1 -1
  592. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.es.js +22 -19
  593. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.es.js.map +1 -1
  594. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +1 -1
  595. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -1
  596. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +23 -20
  597. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
  598. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +1 -1
  599. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -1
  600. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +23 -20
  601. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -1
  602. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js +1 -1
  603. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js.map +1 -1
  604. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js +25 -22
  605. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js.map +1 -1
  606. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js +1 -1
  607. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js.map +1 -1
  608. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js +23 -20
  609. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js.map +1 -1
  610. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js +1 -1
  611. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js.map +1 -1
  612. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js +23 -20
  613. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js.map +1 -1
  614. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js +1 -1
  615. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js.map +1 -1
  616. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js +23 -20
  617. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js.map +1 -1
  618. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  619. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  620. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +24 -21
  621. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  622. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  623. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  624. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +23 -20
  625. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  626. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  627. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  628. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +23 -20
  629. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  630. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +1 -1
  631. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  632. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +23 -20
  633. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  634. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  635. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  636. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +25 -22
  637. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  638. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  639. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  640. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +26 -23
  641. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  642. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  643. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  644. package/dist/shared/src/context/DetailsPanelContext.es.js +27 -24
  645. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  646. package/dist/shared/src/context/EntityUpdatesContext.cjs.js +1 -1
  647. package/dist/shared/src/context/EntityUpdatesContext.cjs.js.map +1 -1
  648. package/dist/shared/src/context/EntityUpdatesContext.es.js +85 -65
  649. package/dist/shared/src/context/EntityUpdatesContext.es.js.map +1 -1
  650. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  651. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  652. package/dist/shared/src/context/PowerpackContext.es.js +27 -24
  653. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  654. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  655. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  656. package/dist/shared/src/context/ProjectFoldersContext.es.js +25 -22
  657. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  658. package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
  659. package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
  660. package/dist/shared/src/context/SubtasksModulesContext.es.js +25 -22
  661. package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
  662. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  663. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  664. package/dist/shared/src/context/WebsocketContext.es.js +31 -28
  665. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  666. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  667. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  668. package/dist/shared/src/hooks/useEntityUpdate.es.js +23 -20
  669. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  670. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  671. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  672. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +23 -20
  673. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  674. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  675. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  676. package/dist/shared/src/hooks/useHierarchyTable.es.js +23 -20
  677. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  678. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  679. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  680. package/dist/shared/src/hooks/useUserProjectConfig.es.js +23 -20
  681. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  682. package/dist/shared/src/util/columnConfigConverter.cjs.js +1 -1
  683. package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
  684. package/dist/shared/src/util/columnConfigConverter.es.js +33 -33
  685. package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
  686. package/dist/shared/src/util/getAttributeIcon.cjs.js +1 -1
  687. package/dist/shared/src/util/getAttributeIcon.cjs.js.map +1 -1
  688. package/dist/shared/src/util/getAttributeIcon.es.js +2 -1
  689. package/dist/shared/src/util/getAttributeIcon.es.js.map +1 -1
  690. package/dist/shared/src/util/realtimeUpdatesUtils.cjs.js +1 -1
  691. package/dist/shared/src/util/realtimeUpdatesUtils.cjs.js.map +1 -1
  692. package/dist/shared/src/util/realtimeUpdatesUtils.es.js +33 -27
  693. package/dist/shared/src/util/realtimeUpdatesUtils.es.js.map +1 -1
  694. package/dist/types/api/generated/graphql.d.ts +45 -2
  695. package/dist/types/api/generated/graphqlLinks.d.ts +14 -2
  696. package/dist/types/api/generated/views.d.ts +13 -4
  697. package/dist/types/api/queries/activities/getActivities.d.ts +24 -0
  698. package/dist/types/api/queries/activities/util/activityRealtimeHandler.d.ts +0 -3
  699. package/dist/types/api/queries/entities/getEntity.d.ts +12 -0
  700. package/dist/types/api/queries/entities/getEntityPanel.d.ts +12 -0
  701. package/dist/types/api/queries/entities/updateEntity.d.ts +12 -0
  702. package/dist/types/api/queries/entityLists/getLists.d.ts +12 -7
  703. package/dist/types/api/queries/entityLists/types.d.ts +7 -0
  704. package/dist/types/api/queries/overview/getOverview.d.ts +14 -2
  705. package/dist/types/api/queries/overview/patchVersions.d.ts +9 -0
  706. package/dist/types/api/queries/project/getProject.d.ts +12 -0
  707. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +12 -0
  708. package/dist/types/api/queries/users/getUsers.d.ts +12 -0
  709. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +155 -0
  710. package/dist/types/components/EntityIcon/EntityIcon.d.ts +4 -4
  711. package/dist/types/components/ProjectTableSettings/ColumnsSettings.d.ts +9 -1
  712. package/dist/types/components/ProjectTableSettings/index.d.ts +1 -0
  713. package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +1 -1
  714. package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +5 -2
  715. package/dist/types/components/SettingsPanel/SettingsPanelItemTemplate.d.ts +1 -0
  716. package/dist/types/components/index.d.ts +1 -0
  717. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +3 -1
  718. package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +22 -1
  719. package/dist/types/containers/ProjectTreeTable/hooks/useGroupCounts.d.ts +1 -0
  720. package/dist/types/containers/ProjectTreeTable/types/index.d.ts +1 -1
  721. package/dist/types/containers/ProjectTreeTable/types/table.d.ts +3 -0
  722. package/dist/types/containers/ProjectTreeTable/utils/columnIds.d.ts +10 -0
  723. package/dist/types/containers/ProjectTreeTable/utils/getTableFieldOptions.d.ts +2 -1
  724. package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +1 -0
  725. package/dist/types/containers/ProjectTreeTable/widgets/EntityWidget.d.ts +15 -0
  726. package/dist/types/containers/ProjectTreeTable/widgets/index.d.ts +1 -0
  727. package/dist/types/util/realtimeUpdatesUtils.d.ts +6 -3
  728. package/dist/util.cjs.js +1 -1
  729. package/dist/util.es.js +43 -42
  730. package/package.json +4 -4
@@ -4,6 +4,7 @@ import { useGetEntityTypeData as V } from "./useGetEntityTypeData.es.js";
4
4
  import "@ynput/ayon-react-components";
5
5
  import "../../../components/SearchFilter/filterDates.es.js";
6
6
  import "date-fns";
7
+ import "../utils/columnIds.es.js";
7
8
  import "react-toastify";
8
9
  import "lodash";
9
10
  import "uuid";
@@ -192,29 +193,14 @@ import "../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.es.js";
192
193
  import "../../Feed/components/FeedSearchFilter.es.js";
193
194
  import "@tanstack/react-virtual";
194
195
  import "@tanstack/react-table";
195
- import "../widgets/CollapsedWidget.es.js";
196
- import "../widgets/DateWidget.es.js";
197
- import "../widgets/EnumWidget.es.js";
198
- import "../widgets/EnumCellValue.es.js";
199
- import "../widgets/TextWidget.es.js";
200
- import "../widgets/MarkdownWidget.es.js";
201
- import "../widgets/BooleanWidget.es.js";
202
- import "../widgets/CellWidget.es.js";
203
- import "../widgets/EntityNameWidget.es.js";
204
- import "../widgets/GroupHeaderWidget.es.js";
205
- import "../widgets/ThumbnailWidget.es.js";
206
- import "../widgets/LinksWidget.es.js";
207
- import "../../../components/LinksManager/LinksManager.styled.es.js";
208
- import "../context/ColumnSettingsContext.es.js";
209
- import "../context/ProjectTableContextInstance.es.js";
210
- import "../widgets/EmptyWidget.es.js";
211
- import "../widgets/ErrorWidget.es.js";
196
+ import "../buildTreeTableColumns.es.js";
212
197
  import "../ProjectTreeTable.styled.es.js";
213
- import "../components/SelectionCell.es.js";
214
- import "../components/RowSelectionHeader.es.js";
215
- import "../widgets/LoadMoreWidget.es.js";
216
198
  import "../components/HeaderActionButton.es.js";
199
+ import "../components/RowSelectionHeader.es.js";
200
+ import "../components/SelectionCell.es.js";
217
201
  import "../context/ProjectTableQueriesContext.es.js";
202
+ import "../context/ColumnSettingsContext.es.js";
203
+ import "../context/ProjectTableContextInstance.es.js";
218
204
  import "../context/ClipboardContext.es.js";
219
205
  import "../context/SelectionCellsContext.es.js";
220
206
  import "../context/ProjectDataContextInstance.es.js";
@@ -232,6 +218,22 @@ import "@dnd-kit/sortable";
232
218
  import "../components/TableFooterRow.es.js";
233
219
  import "../context/SelectedRowsContext.es.js";
234
220
  import "../context/DetailsPanelEntityContext.es.js";
221
+ import "../widgets/CellWidget.es.js";
222
+ import "../widgets/CollapsedWidget.es.js";
223
+ import "../widgets/DateWidget.es.js";
224
+ import "../widgets/EnumWidget.es.js";
225
+ import "../widgets/EnumCellValue.es.js";
226
+ import "../widgets/TextWidget.es.js";
227
+ import "../widgets/MarkdownWidget.es.js";
228
+ import "../widgets/BooleanWidget.es.js";
229
+ import "../widgets/EntityNameWidget.es.js";
230
+ import "../widgets/EntityWidget.es.js";
231
+ import "../widgets/GroupHeaderWidget.es.js";
232
+ import "../widgets/ThumbnailWidget.es.js";
233
+ import "../widgets/LinksWidget.es.js";
234
+ import "../../../components/LinksManager/LinksManager.styled.es.js";
235
+ import "../widgets/EmptyWidget.es.js";
236
+ import "../widgets/ErrorWidget.es.js";
235
237
  import "../../DetailsPanel/DetailsPanel.styled.es.js";
236
238
  import "../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.es.js";
237
239
  import "../../DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.es.js";
@@ -279,6 +281,7 @@ import "../../../components/Powerpack/PowerpackDialog.styled.es.js";
279
281
  import "../../../components/Powerpack/CTAButton.es.js";
280
282
  import "../../../components/Powerpack/RequiredAddonVersion.es.js";
281
283
  import "../../../components/ProjectTableSettings/ProjectTableSettings.es.js";
284
+ import "../../../components/ProjectTableSettings/ColumnsSettings.es.js";
282
285
  import "../../../components/SizeSlider/SizeSlider.es.js";
283
286
  import "react-router-dom";
284
287
  import "../../../components/ReviewableCard/ReviewableCard.es.js";
@@ -303,7 +306,7 @@ import "../../../components/ReviewablesSelector/ReviewablesSelector.es.js";
303
306
  import "../../../components/ColumnHeaderMenuUI.es.js";
304
307
  import { linksToTableData as P } from "../utils/linksToTableData.es.js";
305
308
  const H = 100;
306
- function Tm({
309
+ function Rm({
307
310
  foldersMap: a,
308
311
  tasksMap: h,
309
312
  rows: y,
@@ -532,6 +535,6 @@ function Tm({
532
535
  ]);
533
536
  }
534
537
  export {
535
- Tm as default
538
+ Rm as default
536
539
  };
537
540
  //# sourceMappingURL=useBuildProjectDataTable.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useBuildProjectDataTable.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport {\n EditorTaskNode,\n FolderNodeMap,\n TableRow,\n TaskNodeMap,\n TasksByFolderMap,\n} from '../types/table'\nimport { ExpandedState } from '@tanstack/react-table'\nimport { generateLoadingRows } from '../utils/loadingUtils'\nconst TASKS_INFINITE_QUERY_COUNT = 100\nimport { LoadingTasks } from '../types'\nimport { useGetEntityTypeData } from './useGetEntityTypeData'\nimport { TableGroupBy } from '../context'\nimport { linksToTableData } from '../utils'\nimport { useProjectContext } from '@shared/context'\n\ntype Params = {\n foldersMap: FolderNodeMap\n tasksMap: TaskNodeMap\n tasksByFolderMap: TasksByFolderMap\n rows?: TableRow[]\n expanded: ExpandedState\n showHierarchy: boolean\n isFlatFolderView?: boolean\n showEmptyFolders?: boolean\n loadingTasks?: LoadingTasks\n isLoadingMore?: boolean\n groupBy?: TableGroupBy\n selectedFolders?: string[]\n}\n\nexport default function useBuildProjectDataTable({\n foldersMap,\n tasksMap,\n rows,\n tasksByFolderMap,\n expanded,\n showHierarchy,\n isFlatFolderView = false,\n showEmptyFolders = false,\n loadingTasks = {},\n isLoadingMore = false,\n selectedFolders = [],\n}: Params): TableRow[] {\n const project = useProjectContext()\n const getEntityTypeData = useGetEntityTypeData({ projectInfo: project })\n\n // Convert expanded object to a stable string for memoization comparison\n const expandedKey = useMemo(() => JSON.stringify(expanded), [expanded])\n\n // Memoize expandedFolderIds set for efficient lookups\n const expandedFolderIds = useMemo(() => {\n return new Set(\n Object.entries(expanded)\n .filter(([_, isExpanded]) => isExpanded)\n .map(([id]) => id),\n )\n }, [expandedKey])\n\n // Memoize relationship maps to avoid rebuilding them on every render\n const { childToParentMap, parentToChildrenMap } = useMemo(() => {\n const childToParent = new Map<string, string>()\n const parentToChildren = new Map<string, Set<string>>()\n\n // Construct relationship maps in a single pass\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n const parentId = folder.parentId\n if (parentId) {\n childToParent.set(folder.id, parentId)\n\n let children = parentToChildren.get(parentId)\n if (!children) {\n children = new Set<string>()\n parentToChildren.set(parentId, children)\n }\n children.add(folder.id)\n }\n }\n\n return { childToParentMap: childToParent, parentToChildrenMap: parentToChildren }\n }, [foldersMap])\n\n // Memoize visible folders calculation\n const visibleFolders = useMemo(() => {\n const visible = new Set<string>()\n\n // Start with root folders and folders with non-existent parents\n const queue: string[] = []\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n // Include folders with no parent OR with a parent that doesn't exist\n if (!folder.parentId || !foldersMap.has(folder.parentId)) {\n visible.add(folder.id)\n queue.push(folder.id)\n }\n }\n\n // Process queue to identify visible folders (BFS)\n while (queue.length > 0) {\n const folderId = queue.shift()!\n const isParentExpanded = expandedFolderIds.has(folderId)\n\n if (!isParentExpanded) continue\n\n // Add children of expanded folders to visible set\n const childrenIds = parentToChildrenMap.get(folderId)\n if (childrenIds) {\n for (const childId of childrenIds) {\n if (!visible.has(childId)) {\n visible.add(childId)\n queue.push(childId)\n }\n }\n }\n }\n\n return visible\n }, [foldersMap, parentToChildrenMap, expandedFolderIds])\n\n // Final memoized result - build the table tree\n return useMemo(() => {\n // Helper function to create a task row\n const createTaskRow = (task: EditorTaskNode, parentId?: string): TableRow => {\n const typeData = getEntityTypeData('task', task.taskType)\n\n const links = linksToTableData(task.links, 'task', project.anatomy)\n\n return {\n id: task.id,\n entityType: 'task',\n parentId: parentId || task.folderId,\n folderId: task.folderId,\n name: task.name || '',\n label: task.label || task.name || '',\n icon: typeData?.icon || null,\n color: typeData?.color || null,\n status: task.status,\n assignees: task.assignees,\n tags: task.tags,\n img: null,\n subRows: [],\n subType: task.taskType || null,\n attrib: task.attrib,\n midnightExclusiveFields: task.data?.schedulerSyncData?.allDay\n ? ['attrib_endDate']\n : undefined,\n ownAttrib: task.ownAttrib,\n parents: task.parents || [],\n path: task.parents.join('/') || null, // todo: probably remove this and just use parents\n folder: task.parents[task.parents.length - 1] || undefined,\n updatedAt: task.updatedAt,\n createdAt: task.createdAt,\n thumbnailHash: task.thumbnailHash,\n hasReviewables: task.hasReviewables || false,\n links: links,\n subtasks: task.subtasks || [],\n latestComments: task.latestComments || [],\n }\n }\n\n const createRootTaskRows = (): TableRow[] => {\n const rootTaskRows: TableRow[] = []\n for (const folderId of selectedFolders) {\n if (foldersMap.has(folderId)) continue\n const folderTaskIds = tasksByFolderMap.get(folderId) || []\n for (const taskId of folderTaskIds) {\n const task = tasksMap.get(taskId)\n if (task) rootTaskRows.push(createTaskRow(task))\n }\n }\n return rootTaskRows\n }\n\n // Flat folder view: all folders at root level, each expandable to show tasks\n if (isFlatFolderView) {\n const flatFolderRows: TableRow[] = []\n\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n // Use the folder's hasTasks flag (from REST data) to filter before tasks are loaded\n const hasTasks = folder.hasTasks ?? tasksByFolderMap.has(folder.id)\n // Skip folders without tasks when showEmptyFolders is off\n if (!showEmptyFolders && !hasTasks) continue\n\n const folderTypeData = getEntityTypeData('folder', folder.folderType)\n const links = linksToTableData(folder.links, 'folder', project.anatomy)\n\n const row: TableRow = {\n id: folder.id,\n entityType: 'folder',\n parentId: undefined, // flat — no parent nesting\n folderId: folder.id,\n name: folder.name || '',\n label: folder.label || folder.name || '',\n icon: folderTypeData?.icon || null,\n color: folderTypeData?.color || null,\n img: null,\n subRows: [],\n status: folder.status,\n tags: folder.tags || [],\n subType: folder.folderType || null,\n ownAttrib: folder.ownAttrib || [],\n path: folder.path,\n folder: folder.parents[folder.parents.length - 1] || undefined,\n attrib: folder.attrib || {},\n childOnlyMatch: folder.childOnlyMatch || false,\n updatedAt: folder.updatedAt,\n createdAt: folder.createdAt,\n thumbnailHash: folder.thumbnailHash,\n hasReviewables: folder.hasReviewables || false,\n hasVersions: folder.hasVersions || false,\n links: links,\n }\n\n // If folder is expanded, attach task subRows\n if (expandedFolderIds.has(folder.id)) {\n const folderTaskIds = tasksByFolderMap.get(folder.id) || []\n const folderTasks = folderTaskIds.flatMap((taskId) => tasksMap.get(taskId) || [])\n\n if (folderTasks.length || loadingTasks[folder.id]) {\n const taskRows = folderTasks.map((task) => createTaskRow(task, folder.id))\n\n if (loadingTasks[folder.id]) {\n const count = loadingTasks[folder.id]\n if (count > 0) {\n taskRows.push(...generateLoadingRows(count, { parentId: folder.id }))\n }\n }\n\n row.subRows = taskRows\n }\n }\n\n flatFolderRows.push(row)\n }\n\n flatFolderRows.push(...createRootTaskRows())\n\n return flatFolderRows\n }\n\n // If showHierarchy is false, create a flat list of task rows\n if (!showHierarchy) {\n const flatRows: TableRow[] = []\n\n // Loop through all tasks\n for (const task of tasksMap.values()) {\n if (!task.id) continue\n flatRows.push(createTaskRow(task))\n }\n\n // Loop through all extra rows\n for (const row of rows || []) {\n flatRows.push(row)\n }\n\n // if we are loading more tasks, add loading rows\n if (isLoadingMore) {\n // number of tasks we loading with the infinite query\n const count = TASKS_INFINITE_QUERY_COUNT\n if (count > 0) {\n const loadingTaskRows = generateLoadingRows(count, {\n type: 'task',\n })\n\n flatRows.push(...loadingTaskRows)\n }\n }\n\n return flatRows\n }\n\n // Use Map for O(1) lookups\n const rowsById = new Map<string, TableRow>()\n const rootRows: TableRow[] = []\n\n // Create minimal rows for only visible folders\n for (const folderId of visibleFolders) {\n const folder = foldersMap.get(folderId)\n if (!folder) continue\n\n const links = linksToTableData(folder.links, 'folder', project.anatomy)\n\n const folderTypeData = getEntityTypeData('folder', folder.folderType)\n\n // Create row with minimal required properties\n const row: TableRow = {\n id: folderId,\n entityType: 'folder',\n parentId: folder.parentId || undefined,\n folderId: folderId || null, // root folders have no folderId\n name: folder.name || '',\n label: folder.label || folder.name || '',\n icon: folderTypeData?.icon || null,\n color: folderTypeData?.color || null,\n img: null,\n subRows: [],\n status: folder.status,\n tags: folder.tags || [],\n subType: folder.folderType || null,\n ownAttrib: folder.ownAttrib || [],\n path: folder.path,\n folder: folder.parents[folder.parents.length - 1] || undefined,\n attrib: folder.attrib || {},\n childOnlyMatch: folder.childOnlyMatch || false,\n updatedAt: folder.updatedAt,\n createdAt: folder.createdAt,\n thumbnailHash: folder.thumbnailHash,\n hasReviewables: folder.hasReviewables || false,\n hasVersions: folder.hasVersions || false,\n links: links,\n }\n\n rowsById.set(folderId, row)\n\n // Add root rows directly to the rootRows array\n if (!folder.parentId || !foldersMap.has(folder.parentId)) {\n rootRows.push(row)\n }\n\n // Process tasks immediately if folder is expanded\n if (expandedFolderIds.has(folderId)) {\n // because tasksByFolderMap is a map of tasks by folder ID\n // we can directly get the tasks for the current folder\n const folderTaskIds = tasksByFolderMap.get(folderId) || []\n const folderTasks = folderTaskIds.flatMap((taskId) => tasksMap.get(taskId) || [])\n\n if (folderTasks.length || loadingTasks[folderId]) {\n // Use array literal with known length for better performance\n const taskRows = new Array<TableRow>(folderTasks.length)\n\n // Direct array assignment is faster than push operations\n for (let i = 0; i < folderTasks.length; i++) {\n taskRows[i] = createTaskRow(folderTasks[i], folderId)\n }\n\n // Add loading rows if applicable\n if (loadingTasks[folderId]) {\n const count = loadingTasks[folderId]\n if (count > 0) {\n const loadingTaskRows = generateLoadingRows(count, { parentId: folderId })\n\n taskRows.push(...loadingTaskRows)\n }\n }\n\n row.subRows = taskRows\n }\n }\n }\n\n // Build the folder hierarchy efficiently\n for (const folderId of visibleFolders) {\n const parentId = childToParentMap.get(folderId)\n if (!parentId || !expandedFolderIds.has(parentId)) continue\n\n const childRow = rowsById.get(folderId)\n const parentRow = rowsById.get(parentId)\n\n if (!childRow || !parentRow) continue\n\n // Add folder to its parent's subRows\n parentRow.subRows?.push(childRow)\n }\n\n rootRows.push(...createRootTaskRows())\n\n // if we are loading more tasks, add loading rows at the root level\n // this happens when in hierarchy mode but with a slicer selection that causes paginated tasks\n if (showHierarchy && isLoadingMore) {\n const count = TASKS_INFINITE_QUERY_COUNT\n if (count > 0) {\n rootRows.push(...generateLoadingRows(count, { type: 'task' }))\n }\n }\n\n // Add any extra rows to the root rows\n for (const row of rows || []) {\n rootRows.push(row)\n }\n\n return rootRows\n }, [\n foldersMap,\n tasksMap,\n tasksByFolderMap,\n rows,\n visibleFolders,\n childToParentMap,\n expandedFolderIds,\n showHierarchy,\n isFlatFolderView,\n showEmptyFolders,\n loadingTasks,\n isLoadingMore,\n selectedFolders,\n ])\n}\n"],"names":["TASKS_INFINITE_QUERY_COUNT","useBuildProjectDataTable","foldersMap","tasksMap","rows","tasksByFolderMap","expanded","showHierarchy","isFlatFolderView","showEmptyFolders","loadingTasks","isLoadingMore","selectedFolders","project","useProjectContext","getEntityTypeData","useGetEntityTypeData","expandedKey","useMemo","expandedFolderIds","_","isExpanded","id","childToParentMap","parentToChildrenMap","childToParent","parentToChildren","folder","parentId","children","visibleFolders","visible","queue","folderId","childrenIds","childId","createTaskRow","task","typeData","links","linksToTableData","createRootTaskRows","rootTaskRows","folderTaskIds","taskId","flatFolderRows","hasTasks","folderTypeData","row","folderTasks","taskRows","count","generateLoadingRows","flatRows","loadingTaskRows","rowsById","rootRows","i","childRow","parentRow"],"mappings":"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"}
1
+ {"version":3,"file":"useBuildProjectDataTable.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport {\n EditorTaskNode,\n FolderNodeMap,\n TableRow,\n TaskNodeMap,\n TasksByFolderMap,\n} from '../types/table'\nimport { ExpandedState } from '@tanstack/react-table'\nimport { generateLoadingRows } from '../utils/loadingUtils'\nconst TASKS_INFINITE_QUERY_COUNT = 100\nimport { LoadingTasks } from '../types'\nimport { useGetEntityTypeData } from './useGetEntityTypeData'\nimport { TableGroupBy } from '../context'\nimport { linksToTableData } from '../utils'\nimport { useProjectContext } from '@shared/context'\n\ntype Params = {\n foldersMap: FolderNodeMap\n tasksMap: TaskNodeMap\n tasksByFolderMap: TasksByFolderMap\n rows?: TableRow[]\n expanded: ExpandedState\n showHierarchy: boolean\n isFlatFolderView?: boolean\n showEmptyFolders?: boolean\n loadingTasks?: LoadingTasks\n isLoadingMore?: boolean\n groupBy?: TableGroupBy\n selectedFolders?: string[]\n}\n\nexport default function useBuildProjectDataTable({\n foldersMap,\n tasksMap,\n rows,\n tasksByFolderMap,\n expanded,\n showHierarchy,\n isFlatFolderView = false,\n showEmptyFolders = false,\n loadingTasks = {},\n isLoadingMore = false,\n selectedFolders = [],\n}: Params): TableRow[] {\n const project = useProjectContext()\n const getEntityTypeData = useGetEntityTypeData({ projectInfo: project })\n\n // Convert expanded object to a stable string for memoization comparison\n const expandedKey = useMemo(() => JSON.stringify(expanded), [expanded])\n\n // Memoize expandedFolderIds set for efficient lookups\n const expandedFolderIds = useMemo(() => {\n return new Set(\n Object.entries(expanded)\n .filter(([_, isExpanded]) => isExpanded)\n .map(([id]) => id),\n )\n }, [expandedKey])\n\n // Memoize relationship maps to avoid rebuilding them on every render\n const { childToParentMap, parentToChildrenMap } = useMemo(() => {\n const childToParent = new Map<string, string>()\n const parentToChildren = new Map<string, Set<string>>()\n\n // Construct relationship maps in a single pass\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n const parentId = folder.parentId\n if (parentId) {\n childToParent.set(folder.id, parentId)\n\n let children = parentToChildren.get(parentId)\n if (!children) {\n children = new Set<string>()\n parentToChildren.set(parentId, children)\n }\n children.add(folder.id)\n }\n }\n\n return { childToParentMap: childToParent, parentToChildrenMap: parentToChildren }\n }, [foldersMap])\n\n // Memoize visible folders calculation\n const visibleFolders = useMemo(() => {\n const visible = new Set<string>()\n\n // Start with root folders and folders with non-existent parents\n const queue: string[] = []\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n // Include folders with no parent OR with a parent that doesn't exist\n if (!folder.parentId || !foldersMap.has(folder.parentId)) {\n visible.add(folder.id)\n queue.push(folder.id)\n }\n }\n\n // Process queue to identify visible folders (BFS)\n while (queue.length > 0) {\n const folderId = queue.shift()!\n const isParentExpanded = expandedFolderIds.has(folderId)\n\n if (!isParentExpanded) continue\n\n // Add children of expanded folders to visible set\n const childrenIds = parentToChildrenMap.get(folderId)\n if (childrenIds) {\n for (const childId of childrenIds) {\n if (!visible.has(childId)) {\n visible.add(childId)\n queue.push(childId)\n }\n }\n }\n }\n\n return visible\n }, [foldersMap, parentToChildrenMap, expandedFolderIds])\n\n // Final memoized result - build the table tree\n return useMemo(() => {\n // Helper function to create a task row\n const createTaskRow = (task: EditorTaskNode, parentId?: string): TableRow => {\n const typeData = getEntityTypeData('task', task.taskType)\n\n const links = linksToTableData(task.links, 'task', project.anatomy)\n\n return {\n id: task.id,\n entityType: 'task',\n parentId: parentId || task.folderId,\n folderId: task.folderId,\n name: task.name || '',\n label: task.label || task.name || '',\n icon: typeData?.icon || null,\n color: typeData?.color || null,\n status: task.status,\n assignees: task.assignees,\n tags: task.tags,\n img: null,\n subRows: [],\n subType: task.taskType || null,\n attrib: task.attrib,\n midnightExclusiveFields: task.data?.schedulerSyncData?.allDay\n ? ['attrib_endDate']\n : undefined,\n ownAttrib: task.ownAttrib,\n parents: task.parents || [],\n path: task.parents.join('/') || null, // todo: probably remove this and just use parents\n folder: task.parents[task.parents.length - 1] || undefined,\n updatedAt: task.updatedAt,\n createdAt: task.createdAt,\n thumbnailHash: task.thumbnailHash,\n hasReviewables: task.hasReviewables || false,\n links: links,\n subtasks: task.subtasks || [],\n latestComments: task.latestComments || [],\n }\n }\n\n const createRootTaskRows = (): TableRow[] => {\n const rootTaskRows: TableRow[] = []\n for (const folderId of selectedFolders) {\n if (foldersMap.has(folderId)) continue\n const folderTaskIds = tasksByFolderMap.get(folderId) || []\n for (const taskId of folderTaskIds) {\n const task = tasksMap.get(taskId)\n if (task) rootTaskRows.push(createTaskRow(task))\n }\n }\n return rootTaskRows\n }\n\n // Flat folder view: all folders at root level, each expandable to show tasks\n if (isFlatFolderView) {\n const flatFolderRows: TableRow[] = []\n\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n // Use the folder's hasTasks flag (from REST data) to filter before tasks are loaded\n const hasTasks = folder.hasTasks ?? tasksByFolderMap.has(folder.id)\n // Skip folders without tasks when showEmptyFolders is off\n if (!showEmptyFolders && !hasTasks) continue\n\n const folderTypeData = getEntityTypeData('folder', folder.folderType)\n const links = linksToTableData(folder.links, 'folder', project.anatomy)\n\n const row: TableRow = {\n id: folder.id,\n entityType: 'folder',\n parentId: undefined, // flat — no parent nesting\n folderId: folder.id,\n name: folder.name || '',\n label: folder.label || folder.name || '',\n icon: folderTypeData?.icon || null,\n color: folderTypeData?.color || null,\n img: null,\n subRows: [],\n status: folder.status,\n tags: folder.tags || [],\n subType: folder.folderType || null,\n ownAttrib: folder.ownAttrib || [],\n path: folder.path,\n folder: folder.parents[folder.parents.length - 1] || undefined,\n attrib: folder.attrib || {},\n childOnlyMatch: folder.childOnlyMatch || false,\n updatedAt: folder.updatedAt,\n createdAt: folder.createdAt,\n thumbnailHash: folder.thumbnailHash,\n hasReviewables: folder.hasReviewables || false,\n hasVersions: folder.hasVersions || false,\n links: links,\n }\n\n // If folder is expanded, attach task subRows\n if (expandedFolderIds.has(folder.id)) {\n const folderTaskIds = tasksByFolderMap.get(folder.id) || []\n const folderTasks = folderTaskIds.flatMap((taskId) => tasksMap.get(taskId) || [])\n\n if (folderTasks.length || loadingTasks[folder.id]) {\n const taskRows = folderTasks.map((task) => createTaskRow(task, folder.id))\n\n if (loadingTasks[folder.id]) {\n const count = loadingTasks[folder.id]\n if (count > 0) {\n taskRows.push(...generateLoadingRows(count, { parentId: folder.id }))\n }\n }\n\n row.subRows = taskRows\n }\n }\n\n flatFolderRows.push(row)\n }\n\n flatFolderRows.push(...createRootTaskRows())\n\n return flatFolderRows\n }\n\n // If showHierarchy is false, create a flat list of task rows\n if (!showHierarchy) {\n const flatRows: TableRow[] = []\n\n // Loop through all tasks\n for (const task of tasksMap.values()) {\n if (!task.id) continue\n flatRows.push(createTaskRow(task))\n }\n\n // Loop through all extra rows\n for (const row of rows || []) {\n flatRows.push(row)\n }\n\n // if we are loading more tasks, add loading rows\n if (isLoadingMore) {\n // number of tasks we loading with the infinite query\n const count = TASKS_INFINITE_QUERY_COUNT\n if (count > 0) {\n const loadingTaskRows = generateLoadingRows(count, {\n type: 'task',\n })\n\n flatRows.push(...loadingTaskRows)\n }\n }\n\n return flatRows\n }\n\n // Use Map for O(1) lookups\n const rowsById = new Map<string, TableRow>()\n const rootRows: TableRow[] = []\n\n // Create minimal rows for only visible folders\n for (const folderId of visibleFolders) {\n const folder = foldersMap.get(folderId)\n if (!folder) continue\n\n const links = linksToTableData(folder.links, 'folder', project.anatomy)\n\n const folderTypeData = getEntityTypeData('folder', folder.folderType)\n\n // Create row with minimal required properties\n const row: TableRow = {\n id: folderId,\n entityType: 'folder',\n parentId: folder.parentId || undefined,\n folderId: folderId || null, // root folders have no folderId\n name: folder.name || '',\n label: folder.label || folder.name || '',\n icon: folderTypeData?.icon || null,\n color: folderTypeData?.color || null,\n img: null,\n subRows: [],\n status: folder.status,\n tags: folder.tags || [],\n subType: folder.folderType || null,\n ownAttrib: folder.ownAttrib || [],\n path: folder.path,\n folder: folder.parents[folder.parents.length - 1] || undefined,\n attrib: folder.attrib || {},\n childOnlyMatch: folder.childOnlyMatch || false,\n updatedAt: folder.updatedAt,\n createdAt: folder.createdAt,\n thumbnailHash: folder.thumbnailHash,\n hasReviewables: folder.hasReviewables || false,\n hasVersions: folder.hasVersions || false,\n links: links,\n }\n\n rowsById.set(folderId, row)\n\n // Add root rows directly to the rootRows array\n if (!folder.parentId || !foldersMap.has(folder.parentId)) {\n rootRows.push(row)\n }\n\n // Process tasks immediately if folder is expanded\n if (expandedFolderIds.has(folderId)) {\n // because tasksByFolderMap is a map of tasks by folder ID\n // we can directly get the tasks for the current folder\n const folderTaskIds = tasksByFolderMap.get(folderId) || []\n const folderTasks = folderTaskIds.flatMap((taskId) => tasksMap.get(taskId) || [])\n\n if (folderTasks.length || loadingTasks[folderId]) {\n // Use array literal with known length for better performance\n const taskRows = new Array<TableRow>(folderTasks.length)\n\n // Direct array assignment is faster than push operations\n for (let i = 0; i < folderTasks.length; i++) {\n taskRows[i] = createTaskRow(folderTasks[i], folderId)\n }\n\n // Add loading rows if applicable\n if (loadingTasks[folderId]) {\n const count = loadingTasks[folderId]\n if (count > 0) {\n const loadingTaskRows = generateLoadingRows(count, { parentId: folderId })\n\n taskRows.push(...loadingTaskRows)\n }\n }\n\n row.subRows = taskRows\n }\n }\n }\n\n // Build the folder hierarchy efficiently\n for (const folderId of visibleFolders) {\n const parentId = childToParentMap.get(folderId)\n if (!parentId || !expandedFolderIds.has(parentId)) continue\n\n const childRow = rowsById.get(folderId)\n const parentRow = rowsById.get(parentId)\n\n if (!childRow || !parentRow) continue\n\n // Add folder to its parent's subRows\n parentRow.subRows?.push(childRow)\n }\n\n rootRows.push(...createRootTaskRows())\n\n // if we are loading more tasks, add loading rows at the root level\n // this happens when in hierarchy mode but with a slicer selection that causes paginated tasks\n if (showHierarchy && isLoadingMore) {\n const count = TASKS_INFINITE_QUERY_COUNT\n if (count > 0) {\n rootRows.push(...generateLoadingRows(count, { type: 'task' }))\n }\n }\n\n // Add any extra rows to the root rows\n for (const row of rows || []) {\n rootRows.push(row)\n }\n\n return rootRows\n }, [\n foldersMap,\n tasksMap,\n tasksByFolderMap,\n rows,\n visibleFolders,\n childToParentMap,\n expandedFolderIds,\n showHierarchy,\n isFlatFolderView,\n showEmptyFolders,\n loadingTasks,\n isLoadingMore,\n selectedFolders,\n ])\n}\n"],"names":["TASKS_INFINITE_QUERY_COUNT","useBuildProjectDataTable","foldersMap","tasksMap","rows","tasksByFolderMap","expanded","showHierarchy","isFlatFolderView","showEmptyFolders","loadingTasks","isLoadingMore","selectedFolders","project","useProjectContext","getEntityTypeData","useGetEntityTypeData","expandedKey","useMemo","expandedFolderIds","_","isExpanded","id","childToParentMap","parentToChildrenMap","childToParent","parentToChildren","folder","parentId","children","visibleFolders","visible","queue","folderId","childrenIds","childId","createTaskRow","task","typeData","links","linksToTableData","createRootTaskRows","rootTaskRows","folderTaskIds","taskId","flatFolderRows","hasTasks","folderTypeData","row","folderTasks","taskRows","count","generateLoadingRows","flatRows","loadingTaskRows","rowsById","rootRows","i","childRow","parentRow"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const se=require("../../ContextMenu/useCreateContextMenu.cjs.js"),le=require("./useDeleteEntities.cjs.js"),d=require("../../../util/platform.cjs.js"),s=require("../utils/cellUtils.cjs.js"),de=require("../context/ClipboardContext.cjs.js"),ce=require("../context/SelectionCellsContext.cjs.js"),ae=require("../context/ProjectTableContext.cjs.js"),b=require("../constants.cjs.js"),Ie=require("../context/ProjectDataContext.cjs.js"),me=require("../context/CellEditingContext.cjs.js"),A=require("./useBuildGroupByTableData.cjs.js");require("@ynput/ayon-react-components");require("../../../components/SearchFilter/filterDates.cjs.js");require("date-fns");require("short-uuid");const pe=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/EnumCellValue.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/MarkdownWidget.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("../widgets/LinksWidget.cjs.js");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");const Ce=require("react");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("../../../components/AttributeEditor/AttributeEditor.cjs.js");require("../../../components/AttributeEditor/attributeTypeMap.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("react-dom");require("../../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../../../components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js");require("../../../components/DeleteEntitiesConfirm/DeleteEntitiesConfirmDialog.styled.cjs.js");require("react-toastify");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/dataImport.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/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/bundles/getBundles.cjs.js");require("../../../api/queries/bundles/updateBundles.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/columnStats/metricTargets.cjs.js");require("../../../api/queries/columnStats/groupCounts.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/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/links/getEntityLinks.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/listItemsColumnStats.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/folders/getFolderDeleteInfo.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/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.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/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.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("../../../../../_virtual/index.cjs.js");require("../../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../../../components/QuillListStyles/QuillListStyles.cjs.js");require("../../../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("react-markdown");require("remark-gfm");require("rehype-raw");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../Feed/components/CommentInput/modules/index.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("../../../context/SubtasksModulesContextInstance.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/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");const ye=require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContextInstance.cjs.js");require("../../../context/EntityUpdatesContextInstance.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("remark-emoji");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/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityFieldChange/ActivityFieldChange.styled.cjs.js");require("../../Feed/components/ActivityFieldChange/FieldValue.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../Feed/components/FeedSearchFilter.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("../context/ProjectTableQueriesContext.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");const fe=require("../utils/restrictedEntity.cjs.js");require("../../NewEntity/components/NewEntity.cjs.js");require("../../Slicer/components/Slicer.cjs.js");require("../../Slicer/context/SlicerContextInstance.cjs.js");require("../../Slicer/components/SlicerDropdownFallback.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("react-redux");require("../../NewEntity/context/NewEntityContextInstance.cjs.js");require("../../NewEntity/components/NewEntityForm.cjs.js");const m=require("../../NewEntity/util/entityDefinitions.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../components/TableFooterRow.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.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/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.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/ViewsMenu/ViewsMenu.cjs.js");require("../../Views/context/ViewsContextInstance.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../ListTable/ListTableRow.cjs.js");require("../../ListTable/ListTable.styled.cjs.js");require("../../../context/DeleteEntitiesContext.cjs.js");require("custom-protocol-check");require("../components/GroupSettingsFallback.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/InfoMessage/InfoMessage.cjs.js");require("../../../components/EnumEditor/EnumEditor.styled.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/FeedbackContextInstance.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/FreeTrialLink.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/CustomDateRangeDialog.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/StyledLink/StyledLink.cjs.js");require("../../../components/SyncButton/SyncButton.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/VersionUploadContextInstance.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../../components/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../../components/ColumnHeaderMenuUI.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");const he=({attribs:g,headerLabels:W=[],onOpenNew:c,contextMenuItems:R})=>{const{projectName:K}=ye.useProjectContext(),{showHierarchy:p,getEntityById:C,toggleExpandAll:_,toggleExpands:M,expanded:D,contextMenuItems:T=[],powerpack:j,onOpenPlayer:S}=ae.useProjectTableContext(),v=Ce.useMemo(()=>[...T,...R||[]],[T,R]),{canWriteLabelPermission:B,canWriteNamePermission:U}=Ie.useProjectDataContext(),{copyToClipboard:P,exportCSV:N,pasteFromClipboard:V}=de.useClipboard(),{selectedCells:F,clearSelection:Y,selectCell:k,focusCell:$}=ce.useSelectionCellsContext(),{inheritFromParent:H,history:G,setEditingCellId:z}=me.useCellEditing(),J=le({}),[Q]=se.useCreateContextMenu([],j),X=n=>n.reduce((e,o)=>{const{rowId:r,colId:i}=s.parseCellId(o)||{};if(!r||!i||!i.startsWith("attrib_"))return e;const t=C(r);if(!t)return e;const a=t.entityId||t.id,q=i.replace("attrib_",""),x=g.find(l=>l.name===q)?.data.inherit;if(t.ownAttrib?.includes(q)&&x){const l=e.findIndex(I=>I.entityId===a);l>=0?e[l].attribs.includes(q)||e[l].attribs.push(q):e.push({rowId:a,entityId:a,entityType:"folderId"in t?"task":"folder",attribs:[q],ownAttrib:t.ownAttrib||[],folderId:t.parentId??t.folderId})}return e},[]),Z=(n,e,o,r)=>[{label:"Copy",icon:"content_copy",shortcut:d.getPlatformShortcutKey("c",[d.KeyMode.Ctrl]),command:()=>P(r.selectedCells),hidden:e.isGroup||e.columnId==="thumbnail"},{label:`Copy row${r.selectedFullRows.length>1?"s":""}`,icon:"content_copy",command:()=>P(r.selectedFullRows,!0),hidden:e.columnId!=="name"||!r.selectedFullRows.some(i=>s.parseCellId(i)?.rowId===s.parseCellId(e.cellId)?.rowId)},{label:"Paste",icon:"content_paste",shortcut:d.getPlatformShortcutKey("v",[d.KeyMode.Ctrl]),command:()=>V(r.selectedCells),hidden:e.columnId==="name"||e.columnId==="thumbnail"||e.isGroup,disabled:e.attribField?.readOnly}],ee=(n,e,o,r)=>({label:"Show details",icon:"dock_to_left",shortcut:"Double click",command:()=>{const i=s.getCellId(e.entityId,b.ROW_SELECTION_COLUMN_ID);k(i,!1,!1)},hidden:e.columnId!=="name"||r.selectedRows.length>1||e.isGroup||fe.isEntityRestricted(e.entityType)}),re=(n,e,o,r)=>({label:"Open in viewer",icon:"play_circle",shortcut:"Spacebar",command:()=>{if(S){const i=C(e.entityId);if(i){const t=pe.getEntityViewierIds(i);S(t,{quickView:!0})}}},hidden:e.columnId!=="thumbnail"&&e.columnId!=="name"||e.isGroup||e.entityType==="unknown"}),ie=(n,e,o,r)=>[{label:"Expand children",icon:"expand_all",shortcut:d.getPlatformShortcutKey("click",[d.KeyMode.Alt]),command:()=>_(r.selectedRows,!0),hidden:e.columnId!=="name"||e.entityType!=="folder"},{label:"Collapse children",icon:"collapse_all",shortcut:d.getPlatformShortcutKey("click",[d.KeyMode.Alt]),command:()=>_(r.selectedRows,!1),hidden:e.columnId!=="name"||e.entityType!=="folder"},{label:"Expand",icon:"expand_all",command:()=>M(r.selectedRows,!0),hidden:e.columnId!=="name"||!e.isGroup||D[e.entityId]},{label:"Collapse",icon:"collapse_all",command:()=>M(r.selectedRows,!1),hidden:e.columnId!=="name"||!e.isGroup||!D[e.entityId]}],te=(n,e,o,r)=>({label:"Delete",icon:"delete",danger:!0,command:()=>{const i=[...new Set(r.selectedCells.map(t=>s.parseCellId(t)?.rowId).filter(t=>!!t))];J(i.length?i:r.selectedRows)},hidden:e.columnId!=="name"||e.isGroup}),ue=(n,e,o,r)=>{const i=X(r.selectedCells),t=i.length>0&&p&&!(r.selectedRows.length>1&&r.selectedColumns.length>1);return{label:"Inherit from parent",icon:"disabled_by_default",command:()=>H(i),hidden:!t}},ne=(n,e)=>({label:"Export selection",icon:"download",command:()=>N(Array.from(F),K),hidden:e.isGroup}),L=(n,e)=>(e.length?e:[n.entityId]).flatMap(r=>{const i=C(r);return i?i.entityType==="folder"||!("folderId"in i)?[i.id]:i.folderId?[i.folderId]:[]:[]}),oe={"copy-paste":Z,"show-details":ee,rename:(n,e)=>({label:"Rename",icon:"titlecase",shortcut:"R",command:()=>{const o=s.getCellId(e.entityId,"name");z(o)},hidden:e.columnId!=="name"||e.isGroup||e.entityType!=="folder"&&e.entityType!=="task",disabled:!(U||B)}),"expand-collapse":ie,delete:te,inherit:ue,export:ne,"create-folder":(n,e,o,r)=>[{label:m.newEntityDefinitions.folder.createLabel,icon:m.newEntityDefinitions.folder.icon,command:()=>c?.("folder",{parentFolderIds:L(e,r.selectedRows)}),hidden:e.columnId!=="name"||!p||!c},{label:`Create root ${m.newEntityDefinitions.folder.label.toLowerCase()}`,icon:m.newEntityDefinitions.folder.icon,command:()=>{Y(),c?.("folder",{parentFolderIds:[]})},hidden:e.columnId!=="name"||!p||!c}],"create-task":(n,e,o,r)=>({label:m.newEntityDefinitions.task.createLabel,icon:m.newEntityDefinitions.task.icon,command:()=>c?.("task",{parentFolderIds:L(e,r.selectedRows)}),hidden:e.columnId!=="name"||!p||!c}),"open-viewer":re},O=n=>{const{rowId:e,colId:o}=s.parseCellId(n)||{};if(!e||!o)return;const r=C(e),i=g.find(q=>q.name===o?.replace("attrib_","")),t=W.find(q=>q.id===o),a=r?"parentId"in r?r.parentId:"folderId"in r?r.folderId:void 0:void 0;return{cellId:n,columnId:o,entityId:r?.entityId||r?.id||e,entityType:r?.entityType,parentId:a,attribField:i,isGroup:e.startsWith(A.GROUP_BY_ID),column:{id:o,label:t?.label||""},data:r}};return{handleTableBodyContextMenu:n=>{const r=n.target.closest("td")?.firstElementChild?.id;if(!r)return;const i=O(r);if(!i)return;let t=Array.from(F);const q=t.filter(u=>s.parseCellId(u)?.colId===b.ROW_SELECTION_COLUMN_ID).some(u=>s.parseCellId(u)?.rowId===i.entityId);(!t.includes(r)&&!q||!t.length)&&(t=[r],k(r,!1,!1),$(r));const w=t.filter(u=>s.parseCellId(u)?.colId!==b.ROW_SELECTION_COLUMN_ID),x=t.flatMap(u=>O(u)||[]),l=[...new Map(x.map(u=>[u.entityId,u])).values()],I=[],y=[],f=[],E=[];for(const{entityId:u,columnId:h}of l)u&&!I.includes(u)&&I.push(u),h&&!y.includes(h)&&y.push(h),h===b.ROW_SELECTION_COLUMN_ID&&!f.includes(u)&&f.push(u),u.startsWith(A.GROUP_BY_ID)&&E.push(u);const qe=v.flatMap(u=>typeof u=="function"?u(n,i,l,{selectedCells:w,selectedRows:I,selectedColumns:y,selectedFullRows:f,selectedGroups:E},{history:G}):oe[u]?.(n,i,l,{selectedCells:w,selectedRows:I,selectedColumns:y,selectedFullRows:f,selectedGroups:E},{history:G}));Q(n,qe)}}};module.exports=he;
1
+ "use strict";const se=require("../../ContextMenu/useCreateContextMenu.cjs.js"),le=require("./useDeleteEntities.cjs.js"),d=require("../../../util/platform.cjs.js"),s=require("../utils/cellUtils.cjs.js"),de=require("../context/ClipboardContext.cjs.js"),ce=require("../context/SelectionCellsContext.cjs.js"),ae=require("../context/ProjectTableContext.cjs.js"),b=require("../constants.cjs.js"),Ie=require("../context/ProjectDataContext.cjs.js"),me=require("../context/CellEditingContext.cjs.js"),A=require("./useBuildGroupByTableData.cjs.js");require("@ynput/ayon-react-components");require("../../../components/SearchFilter/filterDates.cjs.js");require("date-fns");require("short-uuid");require("../utils/columnIds.cjs.js");const pe=require("../utils/getEntityViewerIds.cjs.js");require("../buildTreeTableColumns.cjs.js");const Ce=require("../utils/restrictedEntity.cjs.js"),ye=require("react");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/dataImport.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/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/bundles/getBundles.cjs.js");require("../../../api/queries/bundles/updateBundles.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/columnStats/metricTargets.cjs.js");require("../../../api/queries/columnStats/groupCounts.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/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/links/getEntityLinks.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/listItemsColumnStats.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/folders/getFolderDeleteInfo.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/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.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/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.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("lodash");require("react-toastify");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("uuid");require("../../../util/pubsub.cjs.js");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("../../../context/SubtasksModulesContextInstance.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");const fe=require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContextInstance.cjs.js");require("../../../context/EntityUpdatesContextInstance.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("clsx");require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../../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/AttributeEditor.cjs.js");require("../../../components/AttributeEditor/attributeTypeMap.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("../../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../../../components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js");require("../../../components/DeleteEntitiesConfirm/DeleteEntitiesConfirmDialog.styled.cjs.js");require("../../../../../_virtual/index.cjs.js");require("../../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../../../components/QuillListStyles/QuillListStyles.cjs.js");require("../../../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("rehype-raw");require("../../../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../Feed/components/CommentInput/modules/index.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/InfoMessage/InfoMessage.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/EnumEditor/EnumEditor.styled.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/FeedbackContextInstance.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/FreeTrialLink.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/ProjectTableSettings/ColumnsSettings.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("react-router-dom");require("../../Slicer/components/Slicer.cjs.js");require("../../Slicer/context/SlicerContextInstance.cjs.js");require("../../Slicer/components/SlicerDropdownFallback.cjs.js");require("../../NewEntity/components/NewEntity.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../ProjectTreeTable.styled.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../components/SelectionCell.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");require("../components/TableFooterRow.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/EnumCellValue.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/MarkdownWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/EntityWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../widgets/LinksWidget.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../../NewEntity/context/NewEntityContextInstance.cjs.js");require("../../NewEntity/components/NewEntityForm.cjs.js");const m=require("../../NewEntity/util/entityDefinitions.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/CustomDateRangeDialog.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/StyledLink/StyledLink.cjs.js");require("../../../components/SyncButton/SyncButton.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/VersionUploadContextInstance.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../../components/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../../components/ColumnHeaderMenuUI.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/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityFieldChange/ActivityFieldChange.styled.cjs.js");require("../../Feed/components/ActivityFieldChange/FieldValue.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("../../Feed/components/FeedSearchFilter.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.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/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.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/ViewsMenu/ViewsMenu.cjs.js");require("../../Views/context/ViewsContextInstance.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../ListTable/ListTableRow.cjs.js");require("../../ListTable/ListTable.styled.cjs.js");require("../../../context/DeleteEntitiesContext.cjs.js");const he=({attribs:g,headerLabels:W=[],onOpenNew:c,contextMenuItems:R})=>{const{projectName:K}=fe.useProjectContext(),{showHierarchy:p,getEntityById:C,toggleExpandAll:_,toggleExpands:M,expanded:D,contextMenuItems:T=[],powerpack:j,onOpenPlayer:S}=ae.useProjectTableContext(),v=ye.useMemo(()=>[...T,...R||[]],[T,R]),{canWriteLabelPermission:B,canWriteNamePermission:U}=Ie.useProjectDataContext(),{copyToClipboard:P,exportCSV:N,pasteFromClipboard:V}=de.useClipboard(),{selectedCells:F,clearSelection:Y,selectCell:k,focusCell:$}=ce.useSelectionCellsContext(),{inheritFromParent:H,history:G,setEditingCellId:z}=me.useCellEditing(),J=le({}),[Q]=se.useCreateContextMenu([],j),X=n=>n.reduce((e,o)=>{const{rowId:r,colId:i}=s.parseCellId(o)||{};if(!r||!i||!i.startsWith("attrib_"))return e;const t=C(r);if(!t)return e;const a=t.entityId||t.id,q=i.replace("attrib_",""),x=g.find(l=>l.name===q)?.data.inherit;if(t.ownAttrib?.includes(q)&&x){const l=e.findIndex(I=>I.entityId===a);l>=0?e[l].attribs.includes(q)||e[l].attribs.push(q):e.push({rowId:a,entityId:a,entityType:"folderId"in t?"task":"folder",attribs:[q],ownAttrib:t.ownAttrib||[],folderId:t.parentId??t.folderId})}return e},[]),Z=(n,e,o,r)=>[{label:"Copy",icon:"content_copy",shortcut:d.getPlatformShortcutKey("c",[d.KeyMode.Ctrl]),command:()=>P(r.selectedCells),hidden:e.isGroup||e.columnId==="thumbnail"},{label:`Copy row${r.selectedFullRows.length>1?"s":""}`,icon:"content_copy",command:()=>P(r.selectedFullRows,!0),hidden:e.columnId!=="name"||!r.selectedFullRows.some(i=>s.parseCellId(i)?.rowId===s.parseCellId(e.cellId)?.rowId)},{label:"Paste",icon:"content_paste",shortcut:d.getPlatformShortcutKey("v",[d.KeyMode.Ctrl]),command:()=>V(r.selectedCells),hidden:e.columnId==="name"||e.columnId==="thumbnail"||e.isGroup,disabled:e.attribField?.readOnly}],ee=(n,e,o,r)=>({label:"Show details",icon:"dock_to_left",shortcut:"Double click",command:()=>{const i=s.getCellId(e.entityId,b.ROW_SELECTION_COLUMN_ID);k(i,!1,!1)},hidden:e.columnId!=="name"||r.selectedRows.length>1||e.isGroup||Ce.isEntityRestricted(e.entityType)}),re=(n,e,o,r)=>({label:"Open in viewer",icon:"play_circle",shortcut:"Spacebar",command:()=>{if(S){const i=C(e.entityId);if(i){const t=pe.getEntityViewierIds(i);S(t,{quickView:!0})}}},hidden:e.columnId!=="thumbnail"&&e.columnId!=="name"||e.isGroup||e.entityType==="unknown"}),ie=(n,e,o,r)=>[{label:"Expand children",icon:"expand_all",shortcut:d.getPlatformShortcutKey("click",[d.KeyMode.Alt]),command:()=>_(r.selectedRows,!0),hidden:e.columnId!=="name"||e.entityType!=="folder"},{label:"Collapse children",icon:"collapse_all",shortcut:d.getPlatformShortcutKey("click",[d.KeyMode.Alt]),command:()=>_(r.selectedRows,!1),hidden:e.columnId!=="name"||e.entityType!=="folder"},{label:"Expand",icon:"expand_all",command:()=>M(r.selectedRows,!0),hidden:e.columnId!=="name"||!e.isGroup||D[e.entityId]},{label:"Collapse",icon:"collapse_all",command:()=>M(r.selectedRows,!1),hidden:e.columnId!=="name"||!e.isGroup||!D[e.entityId]}],te=(n,e,o,r)=>({label:"Delete",icon:"delete",danger:!0,command:()=>{const i=[...new Set(r.selectedCells.map(t=>s.parseCellId(t)?.rowId).filter(t=>!!t))];J(i.length?i:r.selectedRows)},hidden:e.columnId!=="name"||e.isGroup}),ue=(n,e,o,r)=>{const i=X(r.selectedCells),t=i.length>0&&p&&!(r.selectedRows.length>1&&r.selectedColumns.length>1);return{label:"Inherit from parent",icon:"disabled_by_default",command:()=>H(i),hidden:!t}},ne=(n,e)=>({label:"Export selection",icon:"download",command:()=>N(Array.from(F),K),hidden:e.isGroup}),L=(n,e)=>(e.length?e:[n.entityId]).flatMap(r=>{const i=C(r);return i?i.entityType==="folder"||!("folderId"in i)?[i.id]:i.folderId?[i.folderId]:[]:[]}),oe={"copy-paste":Z,"show-details":ee,rename:(n,e)=>({label:"Rename",icon:"titlecase",shortcut:"R",command:()=>{const o=s.getCellId(e.entityId,"name");z(o)},hidden:e.columnId!=="name"||e.isGroup||e.entityType!=="folder"&&e.entityType!=="task",disabled:!(U||B)}),"expand-collapse":ie,delete:te,inherit:ue,export:ne,"create-folder":(n,e,o,r)=>[{label:m.newEntityDefinitions.folder.createLabel,icon:m.newEntityDefinitions.folder.icon,command:()=>c?.("folder",{parentFolderIds:L(e,r.selectedRows)}),hidden:e.columnId!=="name"||!p||!c},{label:`Create root ${m.newEntityDefinitions.folder.label.toLowerCase()}`,icon:m.newEntityDefinitions.folder.icon,command:()=>{Y(),c?.("folder",{parentFolderIds:[]})},hidden:e.columnId!=="name"||!p||!c}],"create-task":(n,e,o,r)=>({label:m.newEntityDefinitions.task.createLabel,icon:m.newEntityDefinitions.task.icon,command:()=>c?.("task",{parentFolderIds:L(e,r.selectedRows)}),hidden:e.columnId!=="name"||!p||!c}),"open-viewer":re},O=n=>{const{rowId:e,colId:o}=s.parseCellId(n)||{};if(!e||!o)return;const r=C(e),i=g.find(q=>q.name===o?.replace("attrib_","")),t=W.find(q=>q.id===o),a=r?"parentId"in r?r.parentId:"folderId"in r?r.folderId:void 0:void 0;return{cellId:n,columnId:o,entityId:r?.entityId||r?.id||e,entityType:r?.entityType,parentId:a,attribField:i,isGroup:e.startsWith(A.GROUP_BY_ID),column:{id:o,label:t?.label||""},data:r}};return{handleTableBodyContextMenu:n=>{const r=n.target.closest("td")?.firstElementChild?.id;if(!r)return;const i=O(r);if(!i)return;let t=Array.from(F);const q=t.filter(u=>s.parseCellId(u)?.colId===b.ROW_SELECTION_COLUMN_ID).some(u=>s.parseCellId(u)?.rowId===i.entityId);(!t.includes(r)&&!q||!t.length)&&(t=[r],k(r,!1,!1),$(r));const w=t.filter(u=>s.parseCellId(u)?.colId!==b.ROW_SELECTION_COLUMN_ID),x=t.flatMap(u=>O(u)||[]),l=[...new Map(x.map(u=>[u.entityId,u])).values()],I=[],y=[],f=[],E=[];for(const{entityId:u,columnId:h}of l)u&&!I.includes(u)&&I.push(u),h&&!y.includes(h)&&y.push(h),h===b.ROW_SELECTION_COLUMN_ID&&!f.includes(u)&&f.push(u),u.startsWith(A.GROUP_BY_ID)&&E.push(u);const qe=v.flatMap(u=>typeof u=="function"?u(n,i,l,{selectedCells:w,selectedRows:I,selectedColumns:y,selectedFullRows:f,selectedGroups:E},{history:G}):oe[u]?.(n,i,l,{selectedCells:w,selectedRows:I,selectedColumns:y,selectedFullRows:f,selectedGroups:E},{history:G}));Q(n,qe)}}};module.exports=he;
2
2
  //# sourceMappingURL=useCellContextMenu.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCellContextMenu.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useCellContextMenu.ts"],"sourcesContent":["import { ContextMenuItemType, useCreateContextMenu } from '../../ContextMenu/useCreateContextMenu'\nimport useDeleteEntities from './useDeleteEntities'\nimport { getPlatformShortcutKey, KeyMode } from '../../../util/platform'\nimport { getCellId, parseCellId } from '../utils/cellUtils'\nimport { useClipboard } from '../context/ClipboardContext'\nimport { useSelectionCellsContext } from '../context/SelectionCellsContext'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { ROW_SELECTION_COLUMN_ID } from '../constants'\nimport { useProjectDataContext } from '../context/ProjectDataContext'\nimport { useCellEditing } from '../context/CellEditingContext'\nimport { InheritFromParentEntity } from './useUpdateTableData'\nimport { ProjectTableAttribute, TableRow } from '../types'\nimport { UseHistoryReturn } from './useHistory'\nimport { GROUP_BY_ID } from './useBuildGroupByTableData'\nimport { ColumnDef } from '@tanstack/react-table'\nimport { EntityMap, getEntityViewierIds } from '../utils'\nimport { isEntityRestricted } from '../utils/restrictedEntity'\nimport { useMemo } from 'react'\nimport { useProjectContext } from '@shared/context'\nimport { newEntityDefinitions, type NewEntityOpenConfig } from '@shared/containers/NewEntity'\n\ntype ContextEvent = React.MouseEvent<HTMLTableSectionElement, MouseEvent>\n\nexport type HeaderLabel = { id: string; label: string }\n\nexport type TableCellContextData = {\n cellId: string\n columnId: string\n entityId: string\n entityType: 'folder' | 'task' | 'product' | 'version' | 'unknown' | undefined\n parentId?: string\n attribField: ProjectTableAttribute | undefined // the attribute field if any (fps, custom attribs, etc.)\n column: {\n id: string\n label: string\n }\n isGroup: boolean // if the cell is a group header\n data?: EntityMap | undefined\n}\ntype DefaultMenuItem =\n | 'copy-paste'\n | 'show-details'\n | 'rename'\n | 'expand-collapse'\n | 'inherit'\n | 'delete'\n | 'export'\n | 'create-folder'\n | 'create-task'\n | 'open-viewer'\nexport type ContextMenuItemConstructor = (\n e: ContextEvent,\n cell: TableCellContextData,\n selectedCells: TableCellContextData[],\n meta: {\n selectedCells: string[] // minus row selection cells\n selectedRows: string[]\n selectedColumns: string[]\n selectedFullRows: string[] // if the full row is selected\n selectedGroups: string[] // groups if any\n },\n context: {\n history: UseHistoryReturn\n },\n) => ContextMenuItemType | ContextMenuItemType[] | undefined\nexport type ContextMenuItemConstructors = (DefaultMenuItem | ContextMenuItemConstructor)[]\n\ntype CellContextMenuProps = {\n attribs: ProjectTableAttribute[]\n columns?: ColumnDef<TableRow>[]\n headerLabels: HeaderLabel[]\n onOpenNew?: (type: 'folder' | 'task', config?: NewEntityOpenConfig) => void\n contextMenuItems?: ContextMenuItemConstructors\n}\n\nconst useCellContextMenu = ({\n attribs,\n headerLabels = [],\n onOpenNew,\n contextMenuItems: propsContextMenuItems,\n}: CellContextMenuProps) => {\n const { projectName } = useProjectContext()\n // context hooks\n const {\n showHierarchy,\n getEntityById,\n toggleExpandAll,\n toggleExpands,\n expanded,\n contextMenuItems: contextContextMenuItems = [],\n powerpack,\n onOpenPlayer,\n } = useProjectTableContext()\n\n // Merge context menu items from props and context\n const contextMenuItems = useMemo(\n () => [...contextContextMenuItems, ...(propsContextMenuItems || [])],\n [contextContextMenuItems, propsContextMenuItems],\n )\n const { canWriteLabelPermission, canWriteNamePermission } = useProjectDataContext()\n const { copyToClipboard, exportCSV, pasteFromClipboard } = useClipboard()\n const { selectedCells, clearSelection, selectCell, focusCell } = useSelectionCellsContext()\n const { inheritFromParent, history, setEditingCellId } = useCellEditing()\n\n // update entity context\n\n // data mutations\n const deleteEntities = useDeleteEntities({})\n\n const [cellContextMenuShow] = useCreateContextMenu([], powerpack)\n\n // Helper function to identify attributes that can be inherited\n const getEntitiesToInherit = (selected: string[]): InheritFromParentEntity[] => {\n return selected.reduce((acc, cellId) => {\n const { rowId, colId } = parseCellId(cellId) || {}\n if (!rowId || !colId || !colId.startsWith('attrib_')) return acc\n\n const entity = getEntityById(rowId)\n if (!entity) return acc\n const entityId = entity.entityId || entity.id\n\n const attribName = colId.replace('attrib_', '')\n // get attrib model\n const attribModel = attribs.find((attrib) => attrib.name === attribName)\n // is the attrib inheritable?\n const isInheritable = attribModel?.data.inherit\n\n // Check if this attribute is owned by the entity (not inherited)\n if (entity.ownAttrib?.includes(attribName) && isInheritable) {\n // Find existing entry or create new one\n const existingIndex = acc.findIndex((item) => item.entityId === entityId)\n\n if (existingIndex >= 0) {\n // Add to existing entity's attribs if not already there\n if (!acc[existingIndex].attribs.includes(attribName)) {\n acc[existingIndex].attribs.push(attribName)\n }\n } else {\n // Create new entity entry\n acc.push({\n rowId: entityId,\n entityId: entityId,\n entityType: 'folderId' in entity ? 'task' : 'folder',\n attribs: [attribName],\n ownAttrib: entity.ownAttrib || [],\n // @ts-ignore\n folderId: entity.parentId ?? entity.folderId,\n })\n }\n }\n\n return acc\n }, [] as InheritFromParentEntity[])\n }\n\n const copyAndPasteItems: ContextMenuItemConstructor = (e, cell, selected, meta) => {\n return [\n {\n label: 'Copy',\n icon: 'content_copy',\n shortcut: getPlatformShortcutKey('c', [KeyMode.Ctrl]),\n command: () => copyToClipboard(meta.selectedCells),\n hidden: cell.isGroup || cell.columnId === 'thumbnail',\n },\n {\n label: `Copy row${meta.selectedFullRows.length > 1 ? 's' : ''}`,\n icon: 'content_copy',\n command: () => copyToClipboard(meta.selectedFullRows, true),\n hidden:\n cell.columnId !== 'name' ||\n !meta.selectedFullRows.some(\n (cellId) => parseCellId(cellId)?.rowId === parseCellId(cell.cellId)?.rowId,\n ),\n },\n {\n label: 'Paste',\n icon: 'content_paste',\n shortcut: getPlatformShortcutKey('v', [KeyMode.Ctrl]),\n command: () => pasteFromClipboard(meta.selectedCells),\n hidden: cell.columnId === 'name' || cell.columnId === 'thumbnail' || cell.isGroup,\n disabled: cell.attribField?.readOnly,\n },\n ]\n }\n\n const showDetailsItem: ContextMenuItemConstructor = (e, cell, selected, meta) => ({\n label: 'Show details',\n icon: 'dock_to_left',\n shortcut: 'Double click',\n command: () => {\n const rowSelectionCellId = getCellId(cell.entityId, ROW_SELECTION_COLUMN_ID)\n // select the row to open the details\n selectCell(rowSelectionCellId, false, false)\n },\n hidden:\n cell.columnId !== 'name' ||\n meta.selectedRows.length > 1 ||\n cell.isGroup ||\n isEntityRestricted(cell.entityType),\n })\n\n const openViewerItem: ContextMenuItemConstructor = (e, cell, selected, meta) => ({\n label: 'Open in viewer',\n icon: 'play_circle',\n shortcut: 'Spacebar',\n command: () => {\n if (onOpenPlayer) {\n const entity = getEntityById(cell.entityId)\n if (entity) {\n const targetIds = getEntityViewierIds(entity)\n onOpenPlayer(targetIds, { quickView: true })\n }\n }\n },\n hidden:\n (cell.columnId !== 'thumbnail' && cell.columnId !== 'name') ||\n cell.isGroup ||\n cell.entityType === 'unknown',\n })\n\n const expandCollapseChildrenItems: ContextMenuItemConstructor = (e, cell, selected, meta) => [\n {\n label: 'Expand children',\n icon: 'expand_all',\n shortcut: getPlatformShortcutKey('click', [KeyMode.Alt]),\n command: () => toggleExpandAll(meta.selectedRows, true),\n hidden: cell.columnId !== 'name' || cell.entityType !== 'folder',\n },\n {\n label: 'Collapse children',\n icon: 'collapse_all',\n shortcut: getPlatformShortcutKey('click', [KeyMode.Alt]),\n command: () => toggleExpandAll(meta.selectedRows, false),\n hidden: cell.columnId !== 'name' || cell.entityType !== 'folder',\n },\n {\n label: 'Expand',\n icon: 'expand_all',\n command: () => toggleExpands(meta.selectedRows, true),\n hidden:\n cell.columnId !== 'name' ||\n !cell.isGroup ||\n expanded[cell.entityId as keyof typeof expanded],\n },\n {\n label: 'Collapse',\n icon: 'collapse_all',\n command: () => toggleExpands(meta.selectedRows, false),\n hidden:\n cell.columnId !== 'name' ||\n !cell.isGroup ||\n !expanded[cell.entityId as keyof typeof expanded],\n },\n ]\n\n const deleteItem: ContextMenuItemConstructor = (e, cell, selected, meta) => ({\n label: 'Delete',\n icon: 'delete',\n danger: true,\n // prefer the cell selection; fall back to checkbox/row selection only when no body\n // cells are selected, so row-selected rows still delete on their own but don't get\n // swept in alongside an unrelated cell selection\n command: () => {\n const cellRows = [\n ...new Set(\n meta.selectedCells\n .map((cellId) => parseCellId(cellId)?.rowId)\n .filter((rowId): rowId is string => !!rowId),\n ),\n ]\n deleteEntities(cellRows.length ? cellRows : meta.selectedRows)\n },\n hidden: cell.columnId !== 'name' || cell.isGroup,\n })\n\n const inheritItem: ContextMenuItemConstructor = (e, cell, selected, meta) => {\n const entitiesToInherit = getEntitiesToInherit(meta.selectedCells)\n const canInheritFromParent =\n entitiesToInherit.length > 0 &&\n showHierarchy &&\n !(meta.selectedRows.length > 1 && meta.selectedColumns.length > 1)\n\n return {\n label: 'Inherit from parent',\n icon: 'disabled_by_default',\n command: () => inheritFromParent(entitiesToInherit),\n hidden: !canInheritFromParent,\n }\n }\n\n const exportItem: ContextMenuItemConstructor = (e, cell) => ({\n label: 'Export selection',\n icon: 'download',\n command: () => exportCSV(Array.from(selectedCells), projectName),\n hidden: cell.isGroup,\n })\n\n const getSelectedParentFolderIds = (\n cell: TableCellContextData,\n selectedRows: string[],\n ): string[] => {\n const rows = selectedRows.length ? selectedRows : [cell.entityId]\n return rows.flatMap((rowId) => {\n const entity = getEntityById(rowId) as (EntityMap & Record<string, any>) | undefined\n if (!entity) return []\n\n if (entity.entityType === 'folder' || !('folderId' in entity)) return [entity.id]\n return entity.folderId ? [entity.folderId] : []\n })\n }\n\n const createFolderItems: ContextMenuItemConstructor = (e, cell, selected, meta) => [\n {\n label: newEntityDefinitions.folder.createLabel,\n icon: newEntityDefinitions.folder.icon,\n command: () =>\n onOpenNew?.('folder', {\n parentFolderIds: getSelectedParentFolderIds(cell, meta.selectedRows),\n }),\n hidden: cell.columnId !== 'name' || !showHierarchy || !onOpenNew,\n },\n {\n label: `Create root ${newEntityDefinitions.folder.label.toLowerCase()}`,\n icon: newEntityDefinitions.folder.icon,\n command: () => {\n clearSelection()\n onOpenNew?.('folder', { parentFolderIds: [] })\n },\n hidden: cell.columnId !== 'name' || !showHierarchy || !onOpenNew,\n },\n ]\n\n const createTaskItem: ContextMenuItemConstructor = (e, cell, selected, meta) => ({\n label: newEntityDefinitions.task.createLabel,\n icon: newEntityDefinitions.task.icon,\n command: () =>\n onOpenNew?.('task', {\n parentFolderIds: getSelectedParentFolderIds(cell, meta.selectedRows),\n }),\n hidden: cell.columnId !== 'name' || !showHierarchy || !onOpenNew,\n })\n\n const renameItem: ContextMenuItemConstructor = (e, cell) => ({\n label: 'Rename',\n icon: 'titlecase',\n shortcut: 'R',\n command: () => {\n const nameCellId = getCellId(cell.entityId, 'name')\n setEditingCellId(nameCellId)\n },\n hidden:\n cell.columnId !== 'name' ||\n cell.isGroup ||\n (cell.entityType !== 'folder' && cell.entityType !== 'task'),\n disabled: !(canWriteNamePermission || canWriteLabelPermission),\n })\n\n const builtInMenuItems: Record<DefaultMenuItem, ContextMenuItemConstructor> = {\n ['copy-paste']: copyAndPasteItems,\n ['show-details']: showDetailsItem,\n ['rename']: renameItem,\n ['expand-collapse']: expandCollapseChildrenItems,\n ['delete']: deleteItem,\n ['inherit']: inheritItem,\n ['export']: exportItem,\n ['create-folder']: createFolderItems,\n ['create-task']: createTaskItem,\n ['open-viewer']: openViewerItem,\n }\n\n const getCellData = (cellId: string): TableCellContextData | undefined => {\n const { rowId, colId } = parseCellId(cellId) || {}\n if (!rowId || !colId) return undefined\n const cellEntityData = getEntityById(rowId)\n const attribField = attribs.find((attrib) => attrib.name === colId?.replace('attrib_', ''))\n const column = headerLabels.find((header) => header.id === colId)\n const parentId = cellEntityData\n ? 'parentId' in cellEntityData\n ? cellEntityData.parentId\n : 'folderId' in cellEntityData\n ? cellEntityData.folderId\n : undefined\n : undefined\n return {\n cellId: cellId,\n columnId: colId,\n entityId: cellEntityData?.entityId || cellEntityData?.id || rowId,\n entityType: cellEntityData?.entityType,\n parentId: parentId,\n attribField: attribField,\n isGroup: rowId.startsWith(GROUP_BY_ID),\n column: {\n id: colId,\n label: column?.label || '',\n },\n data: cellEntityData,\n }\n }\n\n const handleTableBodyContextMenu = (e: ContextEvent) => {\n const target = e.target as HTMLElement\n const tdEl = target.closest('td')\n // get id of first child of td\n const cellId = tdEl?.firstElementChild?.id\n\n if (!cellId) return\n\n const cellData = getCellData(cellId)\n\n if (!cellData) return\n\n let currentSelectedCells = Array.from(selectedCells)\n const selectedRowCellIds = currentSelectedCells.filter(\n (selectedCellId) => parseCellId(selectedCellId)?.colId === ROW_SELECTION_COLUMN_ID,\n )\n const clickedRowIsSelected = selectedRowCellIds.some(\n (selectedCellId) => parseCellId(selectedCellId)?.rowId === cellData.entityId,\n )\n // if selecting a cell outside of the current selection\n if (\n (!currentSelectedCells.includes(cellId) && !clickedRowIsSelected) ||\n !currentSelectedCells.length\n ) {\n currentSelectedCells = [cellId]\n // update selection\n selectCell(cellId, false, false)\n focusCell(cellId)\n }\n // selected cells without row selection cells\n const selectedRealCells = currentSelectedCells.filter(\n (id) => parseCellId(id)?.colId !== ROW_SELECTION_COLUMN_ID,\n )\n\n const selectedCellsData = currentSelectedCells.flatMap((cellId) => getCellData(cellId) || [])\n\n // Remove duplicates based on entityId - prioritize full row selection over individual cells\n const filteredSelectedCellsData = [\n ...new Map(selectedCellsData.map((e) => [e.entityId, e])).values(),\n ]\n\n const selectedCellRows: string[] = []\n const selectedCellColumns: string[] = []\n const selectedCellFullRows: string[] = []\n const selectedCellsGroups: string[] = [] // find cells that are group headers\n for (const { entityId, columnId } of filteredSelectedCellsData) {\n if (entityId && !selectedCellRows.includes(entityId)) selectedCellRows.push(entityId)\n if (columnId && !selectedCellColumns.includes(columnId)) selectedCellColumns.push(columnId)\n if (columnId === ROW_SELECTION_COLUMN_ID && !selectedCellFullRows.includes(entityId))\n selectedCellFullRows.push(entityId)\n if (entityId.startsWith(GROUP_BY_ID)) selectedCellsGroups.push(entityId)\n }\n\n const constructedMenuItems = contextMenuItems.flatMap((constructor) =>\n typeof constructor === 'function'\n ? constructor(\n e,\n cellData,\n filteredSelectedCellsData,\n {\n selectedCells: selectedRealCells, // selected cells without row selection\n selectedRows: selectedCellRows,\n selectedColumns: selectedCellColumns,\n selectedFullRows: selectedCellFullRows,\n selectedGroups: selectedCellsGroups, // groups if any\n },\n {\n history,\n },\n )\n : builtInMenuItems[constructor]?.(\n e,\n cellData,\n filteredSelectedCellsData,\n {\n selectedCells: selectedRealCells, // selected cells without row selection\n selectedRows: selectedCellRows,\n selectedColumns: selectedCellColumns,\n selectedFullRows: selectedCellFullRows,\n selectedGroups: selectedCellsGroups, // groups if any\n },\n { history },\n ),\n )\n\n cellContextMenuShow(e, constructedMenuItems)\n }\n\n return { handleTableBodyContextMenu }\n}\n\nexport default useCellContextMenu\n"],"names":["useCellContextMenu","attribs","headerLabels","onOpenNew","propsContextMenuItems","projectName","useProjectContext","showHierarchy","getEntityById","toggleExpandAll","toggleExpands","expanded","contextContextMenuItems","powerpack","onOpenPlayer","useProjectTableContext","contextMenuItems","useMemo","canWriteLabelPermission","canWriteNamePermission","useProjectDataContext","copyToClipboard","exportCSV","pasteFromClipboard","useClipboard","selectedCells","clearSelection","selectCell","focusCell","useSelectionCellsContext","inheritFromParent","history","setEditingCellId","useCellEditing","deleteEntities","useDeleteEntities","cellContextMenuShow","useCreateContextMenu","getEntitiesToInherit","selected","acc","cellId","rowId","colId","parseCellId","entity","entityId","attribName","isInheritable","attrib","existingIndex","item","copyAndPasteItems","e","cell","meta","getPlatformShortcutKey","KeyMode","showDetailsItem","rowSelectionCellId","getCellId","ROW_SELECTION_COLUMN_ID","isEntityRestricted","openViewerItem","targetIds","getEntityViewierIds","expandCollapseChildrenItems","deleteItem","cellRows","inheritItem","entitiesToInherit","canInheritFromParent","exportItem","getSelectedParentFolderIds","selectedRows","builtInMenuItems","nameCellId","newEntityDefinitions","getCellData","cellEntityData","attribField","column","header","parentId","GROUP_BY_ID","cellData","currentSelectedCells","clickedRowIsSelected","selectedCellId","selectedRealCells","id","selectedCellsData","filteredSelectedCellsData","selectedCellRows","selectedCellColumns","selectedCellFullRows","selectedCellsGroups","columnId","constructedMenuItems","constructor"],"mappings":"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"}
1
+ {"version":3,"file":"useCellContextMenu.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useCellContextMenu.ts"],"sourcesContent":["import { ContextMenuItemType, useCreateContextMenu } from '../../ContextMenu/useCreateContextMenu'\nimport useDeleteEntities from './useDeleteEntities'\nimport { getPlatformShortcutKey, KeyMode } from '../../../util/platform'\nimport { getCellId, parseCellId } from '../utils/cellUtils'\nimport { useClipboard } from '../context/ClipboardContext'\nimport { useSelectionCellsContext } from '../context/SelectionCellsContext'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { ROW_SELECTION_COLUMN_ID } from '../constants'\nimport { useProjectDataContext } from '../context/ProjectDataContext'\nimport { useCellEditing } from '../context/CellEditingContext'\nimport { InheritFromParentEntity } from './useUpdateTableData'\nimport { ProjectTableAttribute, TableRow } from '../types'\nimport { UseHistoryReturn } from './useHistory'\nimport { GROUP_BY_ID } from './useBuildGroupByTableData'\nimport { ColumnDef } from '@tanstack/react-table'\nimport { EntityMap, getEntityViewierIds } from '../utils'\nimport { isEntityRestricted } from '../utils/restrictedEntity'\nimport { useMemo } from 'react'\nimport { useProjectContext } from '@shared/context'\nimport { newEntityDefinitions, type NewEntityOpenConfig } from '@shared/containers/NewEntity'\n\ntype ContextEvent = React.MouseEvent<HTMLTableSectionElement, MouseEvent>\n\nexport type HeaderLabel = { id: string; label: string }\n\nexport type TableCellContextData = {\n cellId: string\n columnId: string\n entityId: string\n entityType: 'folder' | 'task' | 'product' | 'version' | 'unknown' | undefined\n parentId?: string\n attribField: ProjectTableAttribute | undefined // the attribute field if any (fps, custom attribs, etc.)\n column: {\n id: string\n label: string\n }\n isGroup: boolean // if the cell is a group header\n data?: EntityMap | undefined\n}\ntype DefaultMenuItem =\n | 'copy-paste'\n | 'show-details'\n | 'rename'\n | 'expand-collapse'\n | 'inherit'\n | 'delete'\n | 'export'\n | 'create-folder'\n | 'create-task'\n | 'open-viewer'\nexport type ContextMenuItemConstructor = (\n e: ContextEvent,\n cell: TableCellContextData,\n selectedCells: TableCellContextData[],\n meta: {\n selectedCells: string[] // minus row selection cells\n selectedRows: string[]\n selectedColumns: string[]\n selectedFullRows: string[] // if the full row is selected\n selectedGroups: string[] // groups if any\n },\n context: {\n history: UseHistoryReturn\n },\n) => ContextMenuItemType | ContextMenuItemType[] | undefined\nexport type ContextMenuItemConstructors = (DefaultMenuItem | ContextMenuItemConstructor)[]\n\ntype CellContextMenuProps = {\n attribs: ProjectTableAttribute[]\n columns?: ColumnDef<TableRow>[]\n headerLabels: HeaderLabel[]\n onOpenNew?: (type: 'folder' | 'task', config?: NewEntityOpenConfig) => void\n contextMenuItems?: ContextMenuItemConstructors\n}\n\nconst useCellContextMenu = ({\n attribs,\n headerLabels = [],\n onOpenNew,\n contextMenuItems: propsContextMenuItems,\n}: CellContextMenuProps) => {\n const { projectName } = useProjectContext()\n // context hooks\n const {\n showHierarchy,\n getEntityById,\n toggleExpandAll,\n toggleExpands,\n expanded,\n contextMenuItems: contextContextMenuItems = [],\n powerpack,\n onOpenPlayer,\n } = useProjectTableContext()\n\n // Merge context menu items from props and context\n const contextMenuItems = useMemo(\n () => [...contextContextMenuItems, ...(propsContextMenuItems || [])],\n [contextContextMenuItems, propsContextMenuItems],\n )\n const { canWriteLabelPermission, canWriteNamePermission } = useProjectDataContext()\n const { copyToClipboard, exportCSV, pasteFromClipboard } = useClipboard()\n const { selectedCells, clearSelection, selectCell, focusCell } = useSelectionCellsContext()\n const { inheritFromParent, history, setEditingCellId } = useCellEditing()\n\n // update entity context\n\n // data mutations\n const deleteEntities = useDeleteEntities({})\n\n const [cellContextMenuShow] = useCreateContextMenu([], powerpack)\n\n // Helper function to identify attributes that can be inherited\n const getEntitiesToInherit = (selected: string[]): InheritFromParentEntity[] => {\n return selected.reduce((acc, cellId) => {\n const { rowId, colId } = parseCellId(cellId) || {}\n if (!rowId || !colId || !colId.startsWith('attrib_')) return acc\n\n const entity = getEntityById(rowId)\n if (!entity) return acc\n const entityId = entity.entityId || entity.id\n\n const attribName = colId.replace('attrib_', '')\n // get attrib model\n const attribModel = attribs.find((attrib) => attrib.name === attribName)\n // is the attrib inheritable?\n const isInheritable = attribModel?.data.inherit\n\n // Check if this attribute is owned by the entity (not inherited)\n if (entity.ownAttrib?.includes(attribName) && isInheritable) {\n // Find existing entry or create new one\n const existingIndex = acc.findIndex((item) => item.entityId === entityId)\n\n if (existingIndex >= 0) {\n // Add to existing entity's attribs if not already there\n if (!acc[existingIndex].attribs.includes(attribName)) {\n acc[existingIndex].attribs.push(attribName)\n }\n } else {\n // Create new entity entry\n acc.push({\n rowId: entityId,\n entityId: entityId,\n entityType: 'folderId' in entity ? 'task' : 'folder',\n attribs: [attribName],\n ownAttrib: entity.ownAttrib || [],\n // @ts-ignore\n folderId: entity.parentId ?? entity.folderId,\n })\n }\n }\n\n return acc\n }, [] as InheritFromParentEntity[])\n }\n\n const copyAndPasteItems: ContextMenuItemConstructor = (e, cell, selected, meta) => {\n return [\n {\n label: 'Copy',\n icon: 'content_copy',\n shortcut: getPlatformShortcutKey('c', [KeyMode.Ctrl]),\n command: () => copyToClipboard(meta.selectedCells),\n hidden: cell.isGroup || cell.columnId === 'thumbnail',\n },\n {\n label: `Copy row${meta.selectedFullRows.length > 1 ? 's' : ''}`,\n icon: 'content_copy',\n command: () => copyToClipboard(meta.selectedFullRows, true),\n hidden:\n cell.columnId !== 'name' ||\n !meta.selectedFullRows.some(\n (cellId) => parseCellId(cellId)?.rowId === parseCellId(cell.cellId)?.rowId,\n ),\n },\n {\n label: 'Paste',\n icon: 'content_paste',\n shortcut: getPlatformShortcutKey('v', [KeyMode.Ctrl]),\n command: () => pasteFromClipboard(meta.selectedCells),\n hidden: cell.columnId === 'name' || cell.columnId === 'thumbnail' || cell.isGroup,\n disabled: cell.attribField?.readOnly,\n },\n ]\n }\n\n const showDetailsItem: ContextMenuItemConstructor = (e, cell, selected, meta) => ({\n label: 'Show details',\n icon: 'dock_to_left',\n shortcut: 'Double click',\n command: () => {\n const rowSelectionCellId = getCellId(cell.entityId, ROW_SELECTION_COLUMN_ID)\n // select the row to open the details\n selectCell(rowSelectionCellId, false, false)\n },\n hidden:\n cell.columnId !== 'name' ||\n meta.selectedRows.length > 1 ||\n cell.isGroup ||\n isEntityRestricted(cell.entityType),\n })\n\n const openViewerItem: ContextMenuItemConstructor = (e, cell, selected, meta) => ({\n label: 'Open in viewer',\n icon: 'play_circle',\n shortcut: 'Spacebar',\n command: () => {\n if (onOpenPlayer) {\n const entity = getEntityById(cell.entityId)\n if (entity) {\n const targetIds = getEntityViewierIds(entity)\n onOpenPlayer(targetIds, { quickView: true })\n }\n }\n },\n hidden:\n (cell.columnId !== 'thumbnail' && cell.columnId !== 'name') ||\n cell.isGroup ||\n cell.entityType === 'unknown',\n })\n\n const expandCollapseChildrenItems: ContextMenuItemConstructor = (e, cell, selected, meta) => [\n {\n label: 'Expand children',\n icon: 'expand_all',\n shortcut: getPlatformShortcutKey('click', [KeyMode.Alt]),\n command: () => toggleExpandAll(meta.selectedRows, true),\n hidden: cell.columnId !== 'name' || cell.entityType !== 'folder',\n },\n {\n label: 'Collapse children',\n icon: 'collapse_all',\n shortcut: getPlatformShortcutKey('click', [KeyMode.Alt]),\n command: () => toggleExpandAll(meta.selectedRows, false),\n hidden: cell.columnId !== 'name' || cell.entityType !== 'folder',\n },\n {\n label: 'Expand',\n icon: 'expand_all',\n command: () => toggleExpands(meta.selectedRows, true),\n hidden:\n cell.columnId !== 'name' ||\n !cell.isGroup ||\n expanded[cell.entityId as keyof typeof expanded],\n },\n {\n label: 'Collapse',\n icon: 'collapse_all',\n command: () => toggleExpands(meta.selectedRows, false),\n hidden:\n cell.columnId !== 'name' ||\n !cell.isGroup ||\n !expanded[cell.entityId as keyof typeof expanded],\n },\n ]\n\n const deleteItem: ContextMenuItemConstructor = (e, cell, selected, meta) => ({\n label: 'Delete',\n icon: 'delete',\n danger: true,\n // prefer the cell selection; fall back to checkbox/row selection only when no body\n // cells are selected, so row-selected rows still delete on their own but don't get\n // swept in alongside an unrelated cell selection\n command: () => {\n const cellRows = [\n ...new Set(\n meta.selectedCells\n .map((cellId) => parseCellId(cellId)?.rowId)\n .filter((rowId): rowId is string => !!rowId),\n ),\n ]\n deleteEntities(cellRows.length ? cellRows : meta.selectedRows)\n },\n hidden: cell.columnId !== 'name' || cell.isGroup,\n })\n\n const inheritItem: ContextMenuItemConstructor = (e, cell, selected, meta) => {\n const entitiesToInherit = getEntitiesToInherit(meta.selectedCells)\n const canInheritFromParent =\n entitiesToInherit.length > 0 &&\n showHierarchy &&\n !(meta.selectedRows.length > 1 && meta.selectedColumns.length > 1)\n\n return {\n label: 'Inherit from parent',\n icon: 'disabled_by_default',\n command: () => inheritFromParent(entitiesToInherit),\n hidden: !canInheritFromParent,\n }\n }\n\n const exportItem: ContextMenuItemConstructor = (e, cell) => ({\n label: 'Export selection',\n icon: 'download',\n command: () => exportCSV(Array.from(selectedCells), projectName),\n hidden: cell.isGroup,\n })\n\n const getSelectedParentFolderIds = (\n cell: TableCellContextData,\n selectedRows: string[],\n ): string[] => {\n const rows = selectedRows.length ? selectedRows : [cell.entityId]\n return rows.flatMap((rowId) => {\n const entity = getEntityById(rowId) as (EntityMap & Record<string, any>) | undefined\n if (!entity) return []\n\n if (entity.entityType === 'folder' || !('folderId' in entity)) return [entity.id]\n return entity.folderId ? [entity.folderId] : []\n })\n }\n\n const createFolderItems: ContextMenuItemConstructor = (e, cell, selected, meta) => [\n {\n label: newEntityDefinitions.folder.createLabel,\n icon: newEntityDefinitions.folder.icon,\n command: () =>\n onOpenNew?.('folder', {\n parentFolderIds: getSelectedParentFolderIds(cell, meta.selectedRows),\n }),\n hidden: cell.columnId !== 'name' || !showHierarchy || !onOpenNew,\n },\n {\n label: `Create root ${newEntityDefinitions.folder.label.toLowerCase()}`,\n icon: newEntityDefinitions.folder.icon,\n command: () => {\n clearSelection()\n onOpenNew?.('folder', { parentFolderIds: [] })\n },\n hidden: cell.columnId !== 'name' || !showHierarchy || !onOpenNew,\n },\n ]\n\n const createTaskItem: ContextMenuItemConstructor = (e, cell, selected, meta) => ({\n label: newEntityDefinitions.task.createLabel,\n icon: newEntityDefinitions.task.icon,\n command: () =>\n onOpenNew?.('task', {\n parentFolderIds: getSelectedParentFolderIds(cell, meta.selectedRows),\n }),\n hidden: cell.columnId !== 'name' || !showHierarchy || !onOpenNew,\n })\n\n const renameItem: ContextMenuItemConstructor = (e, cell) => ({\n label: 'Rename',\n icon: 'titlecase',\n shortcut: 'R',\n command: () => {\n const nameCellId = getCellId(cell.entityId, 'name')\n setEditingCellId(nameCellId)\n },\n hidden:\n cell.columnId !== 'name' ||\n cell.isGroup ||\n (cell.entityType !== 'folder' && cell.entityType !== 'task'),\n disabled: !(canWriteNamePermission || canWriteLabelPermission),\n })\n\n const builtInMenuItems: Record<DefaultMenuItem, ContextMenuItemConstructor> = {\n ['copy-paste']: copyAndPasteItems,\n ['show-details']: showDetailsItem,\n ['rename']: renameItem,\n ['expand-collapse']: expandCollapseChildrenItems,\n ['delete']: deleteItem,\n ['inherit']: inheritItem,\n ['export']: exportItem,\n ['create-folder']: createFolderItems,\n ['create-task']: createTaskItem,\n ['open-viewer']: openViewerItem,\n }\n\n const getCellData = (cellId: string): TableCellContextData | undefined => {\n const { rowId, colId } = parseCellId(cellId) || {}\n if (!rowId || !colId) return undefined\n const cellEntityData = getEntityById(rowId)\n const attribField = attribs.find((attrib) => attrib.name === colId?.replace('attrib_', ''))\n const column = headerLabels.find((header) => header.id === colId)\n const parentId = cellEntityData\n ? 'parentId' in cellEntityData\n ? cellEntityData.parentId\n : 'folderId' in cellEntityData\n ? cellEntityData.folderId\n : undefined\n : undefined\n return {\n cellId: cellId,\n columnId: colId,\n entityId: cellEntityData?.entityId || cellEntityData?.id || rowId,\n entityType: cellEntityData?.entityType,\n parentId: parentId,\n attribField: attribField,\n isGroup: rowId.startsWith(GROUP_BY_ID),\n column: {\n id: colId,\n label: column?.label || '',\n },\n data: cellEntityData,\n }\n }\n\n const handleTableBodyContextMenu = (e: ContextEvent) => {\n const target = e.target as HTMLElement\n const tdEl = target.closest('td')\n // get id of first child of td\n const cellId = tdEl?.firstElementChild?.id\n\n if (!cellId) return\n\n const cellData = getCellData(cellId)\n\n if (!cellData) return\n\n let currentSelectedCells = Array.from(selectedCells)\n const selectedRowCellIds = currentSelectedCells.filter(\n (selectedCellId) => parseCellId(selectedCellId)?.colId === ROW_SELECTION_COLUMN_ID,\n )\n const clickedRowIsSelected = selectedRowCellIds.some(\n (selectedCellId) => parseCellId(selectedCellId)?.rowId === cellData.entityId,\n )\n // if selecting a cell outside of the current selection\n if (\n (!currentSelectedCells.includes(cellId) && !clickedRowIsSelected) ||\n !currentSelectedCells.length\n ) {\n currentSelectedCells = [cellId]\n // update selection\n selectCell(cellId, false, false)\n focusCell(cellId)\n }\n // selected cells without row selection cells\n const selectedRealCells = currentSelectedCells.filter(\n (id) => parseCellId(id)?.colId !== ROW_SELECTION_COLUMN_ID,\n )\n\n const selectedCellsData = currentSelectedCells.flatMap((cellId) => getCellData(cellId) || [])\n\n // Remove duplicates based on entityId - prioritize full row selection over individual cells\n const filteredSelectedCellsData = [\n ...new Map(selectedCellsData.map((e) => [e.entityId, e])).values(),\n ]\n\n const selectedCellRows: string[] = []\n const selectedCellColumns: string[] = []\n const selectedCellFullRows: string[] = []\n const selectedCellsGroups: string[] = [] // find cells that are group headers\n for (const { entityId, columnId } of filteredSelectedCellsData) {\n if (entityId && !selectedCellRows.includes(entityId)) selectedCellRows.push(entityId)\n if (columnId && !selectedCellColumns.includes(columnId)) selectedCellColumns.push(columnId)\n if (columnId === ROW_SELECTION_COLUMN_ID && !selectedCellFullRows.includes(entityId))\n selectedCellFullRows.push(entityId)\n if (entityId.startsWith(GROUP_BY_ID)) selectedCellsGroups.push(entityId)\n }\n\n const constructedMenuItems = contextMenuItems.flatMap((constructor) =>\n typeof constructor === 'function'\n ? constructor(\n e,\n cellData,\n filteredSelectedCellsData,\n {\n selectedCells: selectedRealCells, // selected cells without row selection\n selectedRows: selectedCellRows,\n selectedColumns: selectedCellColumns,\n selectedFullRows: selectedCellFullRows,\n selectedGroups: selectedCellsGroups, // groups if any\n },\n {\n history,\n },\n )\n : builtInMenuItems[constructor]?.(\n e,\n cellData,\n filteredSelectedCellsData,\n {\n selectedCells: selectedRealCells, // selected cells without row selection\n selectedRows: selectedCellRows,\n selectedColumns: selectedCellColumns,\n selectedFullRows: selectedCellFullRows,\n selectedGroups: selectedCellsGroups, // groups if any\n },\n { history },\n ),\n )\n\n cellContextMenuShow(e, constructedMenuItems)\n }\n\n return { handleTableBodyContextMenu }\n}\n\nexport default useCellContextMenu\n"],"names":["useCellContextMenu","attribs","headerLabels","onOpenNew","propsContextMenuItems","projectName","useProjectContext","showHierarchy","getEntityById","toggleExpandAll","toggleExpands","expanded","contextContextMenuItems","powerpack","onOpenPlayer","useProjectTableContext","contextMenuItems","useMemo","canWriteLabelPermission","canWriteNamePermission","useProjectDataContext","copyToClipboard","exportCSV","pasteFromClipboard","useClipboard","selectedCells","clearSelection","selectCell","focusCell","useSelectionCellsContext","inheritFromParent","history","setEditingCellId","useCellEditing","deleteEntities","useDeleteEntities","cellContextMenuShow","useCreateContextMenu","getEntitiesToInherit","selected","acc","cellId","rowId","colId","parseCellId","entity","entityId","attribName","isInheritable","attrib","existingIndex","item","copyAndPasteItems","e","cell","meta","getPlatformShortcutKey","KeyMode","showDetailsItem","rowSelectionCellId","getCellId","ROW_SELECTION_COLUMN_ID","isEntityRestricted","openViewerItem","targetIds","getEntityViewierIds","expandCollapseChildrenItems","deleteItem","cellRows","inheritItem","entitiesToInherit","canInheritFromParent","exportItem","getSelectedParentFolderIds","selectedRows","builtInMenuItems","nameCellId","newEntityDefinitions","getCellData","cellEntityData","attribField","column","header","parentId","GROUP_BY_ID","cellData","currentSelectedCells","clickedRowIsSelected","selectedCellId","selectedRealCells","id","selectedCellsData","filteredSelectedCellsData","selectedCellRows","selectedCellColumns","selectedCellFullRows","selectedCellsGroups","columnId","constructedMenuItems","constructor"],"mappings":"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"}