@ynput/ayon-frontend-shared 0.3.40 → 0.3.42

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 +29 -27
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +225 -223
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Slicer.cjs.js +1 -1
  8. package/dist/Slicer.es.js +25 -16
  9. package/dist/Slicer.es.js.map +1 -1
  10. package/dist/_virtual/index.cjs15.js +1 -1
  11. package/dist/_virtual/index.cjs19.js +1 -1
  12. package/dist/_virtual/index.cjs4.js +1 -1
  13. package/dist/_virtual/index.cjs5.js +1 -1
  14. package/dist/_virtual/index.cjs6.js +1 -1
  15. package/dist/_virtual/index.cjs8.js +1 -1
  16. package/dist/_virtual/index.es15.js +2 -2
  17. package/dist/_virtual/index.es16.js +2 -2
  18. package/dist/_virtual/index.es17.js +2 -2
  19. package/dist/_virtual/index.es18.js +2 -2
  20. package/dist/_virtual/index.es19.js +2 -2
  21. package/dist/_virtual/index.es4.js +5 -2
  22. package/dist/_virtual/index.es4.js.map +1 -1
  23. package/dist/_virtual/index.es5.js +2 -5
  24. package/dist/_virtual/index.es5.js.map +1 -1
  25. package/dist/_virtual/index.es6.js +2 -2
  26. package/dist/_virtual/index.es8.js +2 -2
  27. package/dist/api.cjs.js +1 -1
  28. package/dist/api.es.js +227 -227
  29. package/dist/index.cjs.js +1 -1
  30. package/dist/index.es.js +16 -14
  31. package/dist/index.es.js.map +1 -1
  32. package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
  33. package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
  34. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  35. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  36. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  37. package/dist/node_modules/remove-accents/index.es.js +1 -1
  38. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +1 -1
  39. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +1 -1
  40. package/dist/shared/node_modules/@module-federation/runtime/dist/index.cjs.js +1 -1
  41. package/dist/shared/node_modules/@module-federation/runtime/dist/index.es.js +1 -1
  42. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
  43. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +1 -1
  44. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs.js +1 -1
  45. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.es.js +1 -1
  46. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.cjs.js +1 -1
  47. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.es.js +1 -1
  48. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.cjs.js +1 -1
  49. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.es.js +1 -1
  50. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs.js +1 -1
  51. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.es.js +1 -1
  52. package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
  53. package/dist/shared/node_modules/prop-types/index.es.js +1 -1
  54. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  55. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  56. package/dist/shared/src/api/generated/graphql.cjs.js +55 -79
  57. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  58. package/dist/shared/src/api/generated/graphql.es.js +278 -154
  59. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  60. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  61. package/dist/shared/src/api/generated/graphqlLinks.es.js +70 -19
  62. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  63. package/dist/shared/src/api/queries/activities/updateActivities.cjs.js +1 -1
  64. package/dist/shared/src/api/queries/activities/updateActivities.cjs.js.map +1 -1
  65. package/dist/shared/src/api/queries/activities/updateActivities.es.js +40 -43
  66. package/dist/shared/src/api/queries/activities/updateActivities.es.js.map +1 -1
  67. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
  68. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
  69. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +149 -55
  70. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
  71. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js.map +1 -1
  72. package/dist/shared/src/api/queries/columnStats/columnStats.es.js.map +1 -1
  73. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
  74. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
  75. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +105 -51
  76. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  77. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  78. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  79. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  80. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  81. package/dist/shared/src/api/queries/entityLists/getLists.es.js +178 -130
  82. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  83. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js +1 -1
  84. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js.map +1 -1
  85. package/dist/shared/src/api/queries/entityLists/listFolders.es.js +94 -40
  86. package/dist/shared/src/api/queries/entityLists/listFolders.es.js.map +1 -1
  87. package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -1
  88. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  89. package/dist/shared/src/api/queries/folders/getFolders.es.js +109 -55
  90. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  91. package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js +1 -1
  92. package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js.map +1 -1
  93. package/dist/shared/src/api/queries/grouping/getGrouping.es.js +6 -21
  94. package/dist/shared/src/api/queries/grouping/getGrouping.es.js.map +1 -1
  95. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
  96. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
  97. package/dist/shared/src/api/queries/links/getEntityLinks.es.js +117 -63
  98. package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
  99. package/dist/shared/src/api/queries/links/getLinks.cjs.js +1 -1
  100. package/dist/shared/src/api/queries/links/getLinks.cjs.js.map +1 -1
  101. package/dist/shared/src/api/queries/links/getLinks.es.js +108 -54
  102. package/dist/shared/src/api/queries/links/getLinks.es.js.map +1 -1
  103. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  104. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  105. package/dist/shared/src/api/queries/overview/getOverview.es.js +220 -167
  106. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  107. package/dist/shared/src/api/queries/products/createProduct.cjs.js +1 -1
  108. package/dist/shared/src/api/queries/products/createProduct.cjs.js.map +1 -1
  109. package/dist/shared/src/api/queries/products/createProduct.es.js +7 -46
  110. package/dist/shared/src/api/queries/products/createProduct.es.js.map +1 -1
  111. package/dist/shared/src/api/queries/products/getProduct.cjs.js +2 -0
  112. package/dist/shared/src/api/queries/products/getProduct.cjs.js.map +1 -0
  113. package/dist/shared/src/api/queries/products/getProduct.es.js +52 -0
  114. package/dist/shared/src/api/queries/products/getProduct.es.js.map +1 -0
  115. package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js +1 -1
  116. package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js.map +1 -1
  117. package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js +133 -80
  118. package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js.map +1 -1
  119. package/dist/shared/src/api/queries/review/getReview.cjs.js +1 -1
  120. package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
  121. package/dist/shared/src/api/queries/review/getReview.es.js +127 -75
  122. package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
  123. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
  124. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  125. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +142 -90
  126. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  127. package/dist/shared/src/api/queries/users/getUsers.cjs.js +4 -2
  128. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  129. package/dist/shared/src/api/queries/users/getUsers.es.js +2 -0
  130. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  131. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
  132. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
  133. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +537 -331
  134. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
  135. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js +1 -1
  136. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js.map +1 -1
  137. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js +124 -29
  138. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js.map +1 -1
  139. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +5 -5
  140. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
  141. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +140 -45
  142. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
  143. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  144. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  145. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +9 -7
  146. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  147. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  148. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +4 -4
  149. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js +4 -4
  150. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js.map +1 -1
  151. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js +113 -18
  152. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js.map +1 -1
  153. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js +2 -2
  154. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js.map +1 -1
  155. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js +108 -13
  156. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js.map +1 -1
  157. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  158. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +3 -3
  159. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js +1 -1
  160. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js.map +1 -1
  161. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js +119 -24
  162. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js.map +1 -1
  163. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js +1 -1
  164. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js.map +1 -1
  165. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js +97 -2
  166. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js.map +1 -1
  167. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  168. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  169. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +9 -7
  170. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  171. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  172. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  173. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +9 -7
  174. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  175. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  176. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +5 -5
  177. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
  178. package/dist/shared/src/components/LinksManager/LinksManager.es.js +9 -9
  179. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  180. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  181. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +9 -7
  182. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  183. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
  184. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +4 -4
  185. package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
  186. package/dist/shared/src/components/Menu/Menu.es.js +7 -7
  187. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
  188. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  189. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +23 -21
  190. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  191. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
  192. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  193. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +57 -55
  194. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  195. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  196. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  197. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +19 -16
  198. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  199. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  200. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  201. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +10 -8
  202. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  203. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  204. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  205. package/dist/shared/src/components/RenameForm/RenameForm.es.js +9 -7
  206. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  207. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  208. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  209. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +9 -7
  210. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  211. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  212. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  213. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +10 -8
  214. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  215. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  216. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  217. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +9 -7
  218. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  219. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  220. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  221. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +9 -7
  222. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  223. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  224. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  225. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +340 -354
  226. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  227. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
  228. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  229. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +11 -9
  230. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  231. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  232. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  233. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +9 -7
  234. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  235. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js +1 -1
  236. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js.map +1 -1
  237. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js +122 -27
  238. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js.map +1 -1
  239. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js +3 -3
  240. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js.map +1 -1
  241. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js +117 -22
  242. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js.map +1 -1
  243. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  244. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  245. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +9 -7
  246. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  247. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  248. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  249. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +13 -11
  250. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  251. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  252. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  253. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +9 -7
  254. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  255. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  256. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  257. package/dist/shared/src/containers/Actions/Actions.es.js +42 -42
  258. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  259. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js +2 -2
  260. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js.map +1 -1
  261. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js +28 -28
  262. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js.map +1 -1
  263. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.cjs.js +22 -19
  264. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.cjs.js.map +1 -1
  265. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.es.js +25 -22
  266. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.es.js.map +1 -1
  267. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  268. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  269. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +9 -7
  270. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  271. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  272. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  273. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +119 -124
  274. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  275. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  276. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  277. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +9 -7
  278. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  279. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  280. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  281. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +9 -7
  282. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  283. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  284. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  285. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +139 -128
  286. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  287. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js +6 -6
  288. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js.map +1 -1
  289. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.es.js +1 -1
  290. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.es.js.map +1 -1
  291. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js +2 -0
  292. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js.map +1 -0
  293. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js +148 -0
  294. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js.map +1 -0
  295. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.cjs.js +29 -0
  296. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.cjs.js.map +1 -0
  297. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.es.js +34 -0
  298. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.es.js.map +1 -0
  299. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  300. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
  301. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +13 -11
  302. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
  303. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js +5 -5
  304. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js.map +1 -1
  305. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js +115 -20
  306. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js.map +1 -1
  307. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  308. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
  309. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +9 -7
  310. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
  311. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  312. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  313. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +23 -21
  314. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  315. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  316. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  317. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +9 -7
  318. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  319. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  320. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  321. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +9 -7
  322. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  323. package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.cjs.js +2 -0
  324. package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.cjs.js.map +1 -0
  325. package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.es.js +9 -0
  326. package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.es.js.map +1 -0
  327. package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.cjs.js +1 -1
  328. package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.cjs.js.map +1 -1
  329. package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.es.js +12 -12
  330. package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.es.js.map +1 -1
  331. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js +1 -1
  332. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js.map +1 -1
  333. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js +105 -10
  334. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js.map +1 -1
  335. package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.cjs.js.map +1 -1
  336. package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.es.js.map +1 -1
  337. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  338. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +2 -2
  339. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  340. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  341. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +31 -29
  342. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  343. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  344. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  345. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +9 -7
  346. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  347. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  348. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  349. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +9 -7
  350. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  351. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  352. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  353. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +9 -7
  354. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  355. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js +1 -1
  356. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js.map +1 -1
  357. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js +106 -11
  358. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js.map +1 -1
  359. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js +1 -1
  360. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js.map +1 -1
  361. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js +122 -27
  362. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js.map +1 -1
  363. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  364. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  365. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +9 -7
  366. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  367. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  368. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  369. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +91 -80
  370. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  371. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  372. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  373. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +9 -7
  374. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  375. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js +1 -1
  376. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js.map +1 -1
  377. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js +119 -24
  378. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js.map +1 -1
  379. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +1 -1
  380. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js.map +1 -1
  381. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +29 -29
  382. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js.map +1 -1
  383. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  384. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  385. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +9 -7
  386. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  387. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  388. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  389. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +13 -11
  390. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  391. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js +1 -1
  392. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js.map +1 -1
  393. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js +104 -9
  394. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js.map +1 -1
  395. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +1 -1
  396. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +1 -1
  397. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  398. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  399. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +9 -7
  400. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  401. package/dist/shared/src/containers/Feed/helpers/getActivityUserName.cjs.js +2 -0
  402. package/dist/shared/src/containers/Feed/helpers/getActivityUserName.cjs.js.map +1 -0
  403. package/dist/shared/src/containers/Feed/helpers/getActivityUserName.es.js +5 -0
  404. package/dist/shared/src/containers/Feed/helpers/getActivityUserName.es.js.map +1 -0
  405. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js +1 -1
  406. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js.map +1 -1
  407. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js +185 -87
  408. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js.map +1 -1
  409. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js +1 -1
  410. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js +105 -10
  412. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js.map +1 -1
  413. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js +1 -1
  414. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js +108 -13
  416. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js.map +1 -1
  417. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  418. package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/ListTable/ListTable.es.js +22 -20
  420. package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
  421. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  422. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +9 -7
  424. package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
  425. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  426. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +9 -7
  428. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
  429. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  430. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  431. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +622 -616
  432. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  433. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  434. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +72 -70
  436. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  437. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  438. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +9 -7
  440. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  441. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  442. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  443. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +9 -7
  444. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  445. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  446. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  447. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +9 -7
  448. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  449. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  450. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  451. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +9 -7
  452. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  453. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  454. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  455. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +23 -21
  456. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  457. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  458. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  459. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +9 -7
  460. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  461. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js +1 -1
  462. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js.map +1 -1
  463. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js +178 -83
  464. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js.map +1 -1
  465. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  466. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  467. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +31 -29
  468. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  469. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  470. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  471. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +24 -22
  472. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  473. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  474. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  475. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +9 -7
  476. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  477. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  478. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  479. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +9 -7
  480. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  481. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  482. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  483. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +26 -24
  484. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  485. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  486. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  487. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +9 -7
  488. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  489. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  490. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  491. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +72 -72
  492. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  493. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  494. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  495. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +26 -24
  496. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  497. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  498. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  499. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +25 -23
  500. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  501. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  502. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  503. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +9 -7
  504. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  505. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  506. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  507. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +9 -7
  508. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  509. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  510. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  511. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +10 -8
  512. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  513. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  514. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  515. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +24 -22
  516. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  517. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.cjs.js +1 -1
  518. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.cjs.js.map +1 -1
  519. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.es.js +13 -16
  520. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.es.js.map +1 -1
  521. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  522. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  523. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +48 -42
  524. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  525. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  526. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  527. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +38 -36
  528. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  529. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  530. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  531. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +9 -7
  532. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  533. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  534. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  535. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +10 -8
  536. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  537. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +1 -1
  538. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
  539. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +9 -7
  540. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
  541. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  542. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  543. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +11 -9
  544. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  545. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +1 -1
  546. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +4 -4
  547. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  548. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  549. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +25 -23
  550. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  551. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  552. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  553. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +9 -7
  554. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  555. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +1 -1
  556. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +4 -4
  557. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +4 -4
  558. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
  559. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +175 -80
  560. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
  561. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +5 -5
  562. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -1
  563. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +107 -12
  564. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js.map +1 -1
  565. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  566. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  567. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +42 -40
  568. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  569. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  570. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  571. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +9 -7
  572. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  573. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +2 -2
  574. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -1
  575. package/dist/shared/src/containers/Slicer/components/Slicer.es.js +57 -70
  576. package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -1
  577. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  578. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  579. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +9 -7
  580. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  581. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  582. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  583. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +273 -124
  584. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  585. package/dist/shared/src/containers/Slicer/context/SlicerContextInstance.cjs.js +2 -0
  586. package/dist/shared/src/containers/Slicer/context/SlicerContextInstance.cjs.js.map +1 -0
  587. package/dist/shared/src/containers/Slicer/context/SlicerContextInstance.es.js +6 -0
  588. package/dist/shared/src/containers/Slicer/context/SlicerContextInstance.es.js.map +1 -0
  589. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
  590. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
  591. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +4 -2
  592. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
  593. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js +2 -0
  594. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js.map +1 -0
  595. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js +156 -0
  596. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js.map +1 -0
  597. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js +2 -0
  598. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js.map +1 -0
  599. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js +187 -0
  600. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js.map +1 -0
  601. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js +2 -0
  602. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js.map +1 -0
  603. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js +143 -0
  604. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js.map +1 -0
  605. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  606. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  607. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +47 -43
  608. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  609. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.cjs.js +1 -1
  610. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.cjs.js.map +1 -1
  611. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.es.js +8 -13
  612. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.es.js.map +1 -1
  613. package/dist/shared/src/containers/Slicer/util/getSelectionDataState.cjs.js +2 -0
  614. package/dist/shared/src/containers/Slicer/util/getSelectionDataState.cjs.js.map +1 -0
  615. package/dist/shared/src/containers/Slicer/util/getSelectionDataState.es.js +8 -0
  616. package/dist/shared/src/containers/Slicer/util/getSelectionDataState.es.js.map +1 -0
  617. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js +1 -1
  618. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js.map +1 -1
  619. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js +124 -29
  620. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js.map +1 -1
  621. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  622. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +2 -2
  623. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  624. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  625. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +8 -6
  626. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  627. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js +1 -1
  628. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js.map +1 -1
  629. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js +113 -18
  630. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js.map +1 -1
  631. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -1
  632. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
  633. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +158 -84
  634. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
  635. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  636. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +2 -2
  637. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  638. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  639. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  640. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  641. package/dist/shared/src/context/DetailsPanelContext.es.js +64 -63
  642. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  643. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  644. package/dist/shared/src/context/PowerpackContext.es.js +2 -2
  645. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  646. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  647. package/dist/shared/src/context/ProjectContext.es.js +83 -66
  648. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  649. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  650. package/dist/shared/src/context/ProjectFoldersContext.es.js +2 -2
  651. package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
  652. package/dist/shared/src/context/SubtasksModulesContext.es.js +2 -2
  653. package/dist/shared/src/context/UriContext.cjs.js +1 -1
  654. package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
  655. package/dist/shared/src/context/UriContext.es.js +1 -1
  656. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  657. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  658. package/dist/shared/src/context/WebsocketContext.es.js +18 -16
  659. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  660. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  661. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  662. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +2 -2
  663. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js +1 -1
  664. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js.map +1 -1
  665. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js +115 -20
  666. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js.map +1 -1
  667. package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
  668. package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
  669. package/dist/shared/src/util/getBundleMode.cjs.js +2 -0
  670. package/dist/shared/src/util/getBundleMode.cjs.js.map +1 -0
  671. package/dist/shared/src/util/getBundleMode.es.js +118 -0
  672. package/dist/shared/src/util/getBundleMode.es.js.map +1 -0
  673. package/dist/types/api/generated/graphql.d.ts +640 -887
  674. package/dist/types/api/generated/graphqlLinks.d.ts +190 -284
  675. package/dist/types/api/queries/activities/getActivities.d.ts +144 -137
  676. package/dist/types/api/queries/activities/updateActivities.d.ts +288 -274
  677. package/dist/types/api/queries/columnStats/columnStats.d.ts +3 -21
  678. package/dist/types/api/queries/entities/getEntity.d.ts +144 -137
  679. package/dist/types/api/queries/entities/getEntityPanel.d.ts +144 -137
  680. package/dist/types/api/queries/entities/transformDetailsPanelData.d.ts +3 -1
  681. package/dist/types/api/queries/entities/updateEntity.d.ts +144 -137
  682. package/dist/types/api/queries/entityLists/getLists.d.ts +1406 -1712
  683. package/dist/types/api/queries/entityLists/types.d.ts +1 -0
  684. package/dist/types/api/queries/folders/getFolderDeleteInfo.d.ts +66 -66
  685. package/dist/types/api/queries/overview/getOverview.d.ts +630 -623
  686. package/dist/types/api/queries/products/createProduct.d.ts +2 -2
  687. package/dist/types/api/queries/products/getFolderProducts.d.ts +32 -32
  688. package/dist/types/api/queries/products/getProduct.d.ts +259 -0
  689. package/dist/types/api/queries/project/getProject.d.ts +264 -257
  690. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +192 -185
  691. package/dist/types/api/queries/users/getUsers.d.ts +177 -170
  692. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +784 -770
  693. package/dist/types/api/queries/versions/updateVersions.d.ts +106 -143
  694. package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +1 -1
  695. package/dist/types/containers/Actions/Actions.d.ts +3 -2
  696. package/dist/types/containers/Actions/ActionsDropdown/ActionsDropdown.d.ts +3 -2
  697. package/dist/types/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.d.ts +3 -2
  698. package/dist/types/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.d.ts +7 -0
  699. package/dist/types/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.d.ts +2 -0
  700. package/dist/types/containers/DetailsPanel/helpers/buildEntityTypeIcons.d.ts +4 -0
  701. package/dist/types/containers/DetailsPanel/helpers/mergeProjectInfo.d.ts +1 -1
  702. package/dist/types/containers/Feed/helpers/getActivityUserName.d.ts +4 -0
  703. package/dist/types/containers/ProjectTreeTable/hooks/useSelectedFolders.d.ts +2 -2
  704. package/dist/types/containers/ProjectTreeTable/hooks/useSortBySettings.d.ts +6 -1
  705. package/dist/types/containers/ProjectTreeTable/types/index.d.ts +1 -0
  706. package/dist/types/containers/Slicer/components/Slicer.d.ts +1 -1
  707. package/dist/types/containers/Slicer/context/SlicerContext.d.ts +14 -19
  708. package/dist/types/containers/Slicer/context/SlicerContextInstance.d.ts +2 -0
  709. package/dist/types/containers/Slicer/hooks/index.d.ts +4 -1
  710. package/dist/types/containers/Slicer/hooks/useProjectAnatomySlices.d.ts +1 -0
  711. package/dist/types/containers/Slicer/hooks/useSlicerRemotes.d.ts +6 -0
  712. package/dist/types/containers/Slicer/hooks/useSlicerRowSelection.d.ts +20 -0
  713. package/dist/types/containers/Slicer/hooks/useSlicerSplitter.d.ts +9 -0
  714. package/dist/types/containers/Slicer/types.d.ts +7 -0
  715. package/dist/types/containers/Slicer/util/createFilterFromSlicer.d.ts +5 -3
  716. package/dist/types/containers/Slicer/util/getSelectionDataState.d.ts +3 -0
  717. package/dist/types/containers/Slicer/util/index.d.ts +1 -0
  718. package/dist/types/context/DetailsPanelContext.d.ts +2 -1
  719. package/dist/types/context/ProjectContext.d.ts +2 -1
  720. package/dist/types/util/getBundleMode.d.ts +4 -0
  721. package/dist/types/util/index.d.ts +1 -0
  722. package/dist/util.cjs.js +1 -1
  723. package/dist/util.es.js +33 -30
  724. package/dist/util.es.js.map +1 -1
  725. package/package.json +3 -3
  726. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.cjs.js +0 -2
  727. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.cjs.js.map +0 -1
  728. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.es.js +0 -22
  729. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.es.js.map +0 -1
  730. package/dist/types/containers/Slicer/hooks/useSlicerViewSync.d.ts +0 -8
@@ -42,6 +42,60 @@ import { formatEntityLabel as L } from "./utils/formatEntityLinks.es.js";
42
42
  import { toast as G } from "react-toastify";
43
43
  import "lodash";
44
44
  import "uuid";
45
+ import "../actions/getActions.es.js";
46
+ import "../activities/getActivities.es.js";
47
+ import "../activities/updateActivities.es.js";
48
+ import "../activities/updateReaction.es.js";
49
+ import "../activities/getMentions.es.js";
50
+ import "../activities/getCategories.es.js";
51
+ import "../addons/getAddons.es.js";
52
+ import "../addons/updateAddons.es.js";
53
+ import "../attributes/getAttributes.es.js";
54
+ import "../attributes/updateAttributes.es.js";
55
+ import "../authentication/getAuthentication.es.js";
56
+ import "../cloud/cloud.es.js";
57
+ import "../columnStats/metricTargets.es.js";
58
+ import "../config/getConfig.es.js";
59
+ import "../config/updateConfig.es.js";
60
+ import "../entities/getEntity.es.js";
61
+ import "../entities/getEntityPanel.es.js";
62
+ import "../overview/getOverview.es.js";
63
+ import "../overview/updateOverview.es.js";
64
+ import "../versions/getVersionsProducts.es.js";
65
+ import "../entities/updateEntity.es.js";
66
+ import "../entityLists/getLists.es.js";
67
+ import "../entityLists/updateLists.es.js";
68
+ import "../entityLists/getListsAttributes.es.js";
69
+ import "../entityLists/listItemsColumnStats.es.js";
70
+ import "../entityLists/updateListsAttributes.es.js";
71
+ import "../entityLists/listFolders.es.js";
72
+ import "../folders/getFolders.es.js";
73
+ import "../folders/getFolderDeleteInfo.es.js";
74
+ import "../grouping/getGrouping.es.js";
75
+ import "./updateLinks.es.js";
76
+ import "./getLinks.es.js";
77
+ import "../permissions/getPermissions.es.js";
78
+ import "../products/createProduct.es.js";
79
+ import "../products/getFolderProducts.es.js";
80
+ import "../project/getProject.es.js";
81
+ import "../project/updateProject.es.js";
82
+ import "../projectFolders/projectFolders.es.js";
83
+ import "../review/getReview.es.js";
84
+ import "../review/updateReview.es.js";
85
+ import "../share/share.es.js";
86
+ import "../system/getSystem.es.js";
87
+ import "../tasks/getTasks.es.js";
88
+ import "../tasks/updateTasks.es.js";
89
+ import "../teams/getTeams.es.js";
90
+ import "../userDashboard/getUserDashboard.es.js";
91
+ import "../users/getUsers.es.js";
92
+ import "../users/updateUsers.es.js";
93
+ import "../users/guests.es.js";
94
+ import "../versions/updateVersions.es.js";
95
+ import "../views/getViews.es.js";
96
+ import "../views/updateViews.es.js";
97
+ import "../watchers/getWatchers.es.js";
98
+ import "../uris/getUris.es.js";
45
99
  import $ from "../../../util/pubsub.es.js";
46
100
  const j = {
47
101
  folder: "GetFoldersLinks",
@@ -60,22 +114,22 @@ const j = {
60
114
  }, N = A.injectEndpoints({
61
115
  endpoints: (S) => ({
62
116
  getEntityLinks: S.query({
63
- queryFn: async ({ projectName: e, entityIds: o, entityType: i }, { getState: r, dispatch: p, queryCacheKey: k, forced: I }) => {
117
+ queryFn: async ({ projectName: i, entityIds: s, entityType: r }, { getState: e, dispatch: p, queryCacheKey: k, forced: I }) => {
64
118
  try {
65
- const c = r(), u = JSON.stringify({ projectName: e, entityType: i }), h = c.restApi?.queries?.[k || `getEntityLinks(${u})`]?.data || [], l = new Set(h.map((n) => n.id)), y = o.filter((n) => !l?.has(n) || I);
119
+ const d = e(), c = JSON.stringify({ projectName: i, entityType: r }), h = d.restApi?.queries?.[k || `getEntityLinks(${c})`]?.data || [], l = new Set(h.map((o) => o.id)), y = s.filter((o) => !l?.has(o) || I);
66
120
  if (y.length === 0)
67
121
  return { data: h };
68
- const b = j[i], m = E[i];
122
+ const b = j[r], u = E[r];
69
123
  return { data: (await p(
70
124
  w.endpoints[b].initiate(
71
- { projectName: e, entityIds: y },
125
+ { projectName: i, entityIds: y },
72
126
  { forceRefetch: !0 }
73
127
  )
74
- ).unwrap()).project?.[m]?.edges?.map(({ node: n }) => {
75
- const d = n.links.edges?.filter((t) => !t?.node) || [];
76
- return d.length > 0 && console.log(
77
- `[RESTRICTED LINKS] Entity ${n.id} (${n.name}) has ${d.length} restricted link(s):`,
78
- d.map((t) => ({
128
+ ).unwrap()).project?.[u]?.edges?.map(({ node: o }) => {
129
+ const a = o.links.edges?.filter((t) => !t?.node) || [];
130
+ return a.length > 0 && console.log(
131
+ `[RESTRICTED LINKS] Entity ${o.id} (${o.name}) has ${a.length} restricted link(s):`,
132
+ a.map((t) => ({
79
133
  linkId: t?.id,
80
134
  linkType: t?.linkType,
81
135
  direction: t?.direction,
@@ -83,8 +137,8 @@ const j = {
83
137
  nodeIsNull: !t?.node
84
138
  }))
85
139
  ), {
86
- id: n.id,
87
- links: n.links.edges?.map((t) => t?.node ? {
140
+ id: o.id,
141
+ links: o.links.edges?.map((t) => t?.node ? {
88
142
  ...t,
89
143
  node: {
90
144
  id: t.node.id,
@@ -102,100 +156,100 @@ const j = {
102
156
  // Flatten the edges structure
103
157
  };
104
158
  }) || [] };
105
- } catch (c) {
106
- return console.error(`Error in getEntityLinks queryFn for ${i}:`, c), G.error(`Error fetching ${i} links`), { error: { status: "FETCH_ERROR", error: c.message } };
159
+ } catch (d) {
160
+ return console.error(`Error in getEntityLinks queryFn for ${r}:`, d), G.error(`Error fetching ${r} links`), { error: { status: "FETCH_ERROR", error: d.message } };
107
161
  }
108
162
  },
109
163
  // 2. We should not create new caches when the entityIds argument changes.
110
- serializeQueryArgs: ({ queryArgs: e }) => ({ projectName: e.projectName, entityType: e.entityType }),
164
+ serializeQueryArgs: ({ queryArgs: i }) => ({ projectName: i.projectName, entityType: i.entityType }),
111
165
  // 3. We should force a refetch every time the entityIds changes.
112
- forceRefetch: ({ currentArg: e, previousArg: o }) => {
113
- if (!e || !o) return !0;
114
- const i = new Set(e.entityIds), r = new Set(o.entityIds);
115
- if (i.size !== r.size) return !0;
116
- for (const p of i)
117
- if (!r.has(p)) return !0;
166
+ forceRefetch: ({ currentArg: i, previousArg: s }) => {
167
+ if (!i || !s) return !0;
168
+ const r = new Set(i.entityIds), e = new Set(s.entityIds);
169
+ if (r.size !== e.size) return !0;
170
+ for (const p of r)
171
+ if (!e.has(p)) return !0;
118
172
  return !1;
119
173
  },
120
174
  // 4. We should merge new entities into the cache ensuring there are no duplicates.
121
- merge: (e, o) => {
122
- if (!e) return o;
123
- const i = new Map(e.map((r) => [r.id, r]));
124
- for (const r of o)
125
- i.set(r.id, r);
126
- e.length = 0, e.push(...i.values());
175
+ merge: (i, s) => {
176
+ if (!i) return s;
177
+ const r = new Map(i.map((e) => [e.id, e]));
178
+ for (const e of s)
179
+ r.set(e.id, e);
180
+ i.length = 0, i.push(...r.values());
127
181
  },
128
182
  // Provide tags for potential invalidation
129
- providesTags: (e, o, i) => e ? [
130
- ...e.flatMap(
131
- (r) => r.links.filter((p) => p.node !== null).map((p) => ({ type: "link", id: p.node.id }))
183
+ providesTags: (i, s, r) => i ? [
184
+ ...i.flatMap(
185
+ (e) => e.links.filter((p) => p.node !== null).map((p) => ({ type: "link", id: p.node.id }))
132
186
  ),
133
- { type: "link", id: `${i.projectName}-${i.entityType}` }
134
- ] : [{ type: "link", id: `${i.projectName}-${i.entityType}` }],
187
+ { type: "link", id: `${r.projectName}-${r.entityType}` }
188
+ ] : [{ type: "link", id: `${r.projectName}-${r.entityType}` }],
135
189
  // Subscribe to link.created and link.deleted WebSocket events
136
- async onCacheEntryAdded({ projectName: e, entityIds: o, entityType: i }, { cacheDataLoaded: r, cacheEntryRemoved: p, updateCachedData: k, dispatch: I }) {
137
- let c;
138
- const u = /* @__PURE__ */ new Set(), R = 100, h = 500;
190
+ async onCacheEntryAdded({ projectName: i, entityIds: s, entityType: r }, { cacheDataLoaded: e, cacheEntryRemoved: p, updateCachedData: k, dispatch: I }) {
191
+ let d;
192
+ const c = /* @__PURE__ */ new Set(), R = 100, h = 500;
139
193
  let l = !1;
140
194
  const y = () => {
141
195
  l || (l = !0, setTimeout(b, h));
142
196
  }, b = async () => {
143
- if (l = !1, !u.size) return;
144
- const m = Array.from(u).slice(0, R);
145
- m.forEach((a) => u.delete(a));
197
+ if (l = !1, !c.size) return;
198
+ const u = Array.from(c).slice(0, R);
199
+ u.forEach((m) => c.delete(m));
146
200
  try {
147
- const a = j[i], f = E[i], d = (await I(
148
- w.endpoints[a].initiate(
149
- { projectName: e, entityIds: m },
201
+ const m = j[r], f = E[r], a = (await I(
202
+ w.endpoints[m].initiate(
203
+ { projectName: i, entityIds: u },
150
204
  { forceRefetch: !0 }
151
205
  )
152
206
  ).unwrap()).project?.[f]?.edges?.map(({ node: t }) => ({
153
207
  id: t.id,
154
- links: t.links.edges?.map((s) => s?.node ? {
155
- ...s,
208
+ links: t.links.edges?.map((n) => n?.node ? {
209
+ ...n,
156
210
  node: {
157
- id: s.node.id,
158
- name: s.node.name,
159
- label: L(s.node),
160
- parents: s.node.parents || [],
161
- subType: "subType" in s.node ? s.node.subType : void 0
211
+ id: n.node.id,
212
+ name: n.node.name,
213
+ label: L(n.node),
214
+ parents: n.node.parents || [],
215
+ subType: "subType" in n.node ? n.node.subType : void 0
162
216
  },
163
217
  isRestricted: !1
164
218
  } : {
165
- ...s,
219
+ ...n,
166
220
  node: null,
167
221
  isRestricted: !0
168
222
  }) || []
169
223
  })) || [];
170
224
  k((t) => {
171
- for (const s of d) {
172
- const T = t.findIndex((v) => v.id === s.id);
173
- T > -1 ? t[T] = s : t.push(s);
225
+ for (const n of a) {
226
+ const T = t.findIndex((v) => v.id === n.id);
227
+ T > -1 ? t[T] = n : t.push(n);
174
228
  }
175
229
  });
176
- } catch (a) {
177
- console.error("Realtime link batch update failed", a);
230
+ } catch (m) {
231
+ console.error("Realtime link batch update failed", m);
178
232
  } finally {
179
- u.size && y();
233
+ c.size && y();
180
234
  }
181
235
  };
182
236
  try {
183
- await r;
184
- const m = async (a, f) => {
185
- if (!a.startsWith("link.created") && !a.startsWith("link.deleted") || f?.project !== e) return;
186
- const n = f?.summary?.inputId, d = f?.summary?.outputId;
187
- !n && !d || (n && u.add(n), d && u.add(d), y());
237
+ await e;
238
+ const u = async (m, f) => {
239
+ if (!m.startsWith("link.created") && !m.startsWith("link.deleted") || f?.project !== i) return;
240
+ const o = f?.summary?.inputId, a = f?.summary?.outputId;
241
+ !o && !a || (o && c.add(o), a && c.add(a), y());
188
242
  };
189
- c = $.subscribe("link", m);
243
+ d = $.subscribe("link", u);
190
244
  } catch {
191
245
  }
192
- await p, c && $.unsubscribe(c);
246
+ await p, d && $.unsubscribe(d);
193
247
  }
194
248
  })
195
249
  })
196
- }), { useGetEntityLinksQuery: Lt } = N;
250
+ }), { useGetEntityLinksQuery: Li } = N;
197
251
  export {
198
252
  N as entityLinksApi,
199
- Lt as useGetEntityLinksQuery
253
+ Li as useGetEntityLinksQuery
200
254
  };
201
255
  //# sourceMappingURL=getEntityLinks.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getEntityLinks.es.js","sources":["../../../../../../src/api/queries/links/getEntityLinks.ts"],"sourcesContent":["import { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport {\n GetFoldersLinksQuery,\n GetTasksLinksQuery,\n GetProductsLinksQuery,\n GetVersionsLinksQuery,\n GetRepresentationsLinksQuery,\n GetWorkfilesLinksQuery,\n gqlLinksApi,\n foldersApi,\n} from '@shared/api/generated'\nimport { formatEntityLabel } from './utils/formatEntityLinks'\nimport { toast } from 'react-toastify'\nimport { PubSub } from '@shared/util'\n\n/**\n * Custom queryFn for fetching entity links with optimized caching behavior.\n *\n * Key features:\n * 1. Single cache per project and entity type - different entityIds combinations don't create new caches\n * 2. Skips fetching entities that are already cached\n * 3. Force refetch when entityIds change\n * 4. Merges new entities into cache without duplicates\n * 5. Supports all entity types: folders, tasks, products, versions, representations, workfiles\n */\n\n// Define the arguments for the query\nexport type GetEntityLinksArgs = {\n projectName: string\n entityIds: string[]\n entityType: 'folder' | 'task' | 'product' | 'version' | 'representation' | 'workfile'\n}\n\n// Define link types for each entity\nexport type FolderLink =\n GetFoldersLinksQuery['project']['folders']['edges'][0]['node']['links']['edges'][0]\nexport type TaskLink =\n GetTasksLinksQuery['project']['tasks']['edges'][0]['node']['links']['edges'][0]\nexport type ProductLink =\n GetProductsLinksQuery['project']['products']['edges'][0]['node']['links']['edges'][0]\nexport type VersionLink =\n GetVersionsLinksQuery['project']['versions']['edges'][0]['node']['links']['edges'][0]\nexport type RepresentationLink =\n GetRepresentationsLinksQuery['project']['representations']['edges'][0]['node']['links']['edges'][0]\nexport type WorkfileLink =\n GetWorkfilesLinksQuery['project']['workfiles']['edges'][0]['node']['links']['edges'][0]\n\nexport type EntityLinkQuery =\n | FolderLink\n | TaskLink\n | ProductLink\n | VersionLink\n | RepresentationLink\n | WorkfileLink\nexport type EntityLink = Pick<EntityLinkQuery, 'direction' | 'entityType' | 'id' | 'linkType'> & {\n node: Pick<EntityLinkQuery['node'], 'name' | 'id'> & {\n label?: string | null\n parents: string[]\n subType: string | undefined\n } | null\n isRestricted?: boolean // flag to indicate if this link is restricted\n}\n\n// Define the result type for the query - simplified without edges wrapper\nexport type EntityWithLinks = {\n id: string\n links: EntityLink[]\n}\n\nexport type GetEntityLinksResult = EntityWithLinks[]\n\n// Map entity types to their corresponding GraphQL endpoints\nconst entityEndpoints = {\n folder: 'GetFoldersLinks',\n task: 'GetTasksLinks',\n product: 'GetProductsLinks',\n version: 'GetVersionsLinks',\n representation: 'GetRepresentationsLinks',\n workfile: 'GetWorkfilesLinks',\n} as const\n\n// Map entity types to their result path in the GraphQL response\nconst entityResultPaths = {\n folder: 'folders',\n task: 'tasks',\n product: 'products',\n version: 'versions',\n representation: 'representations',\n workfile: 'workfiles',\n} as const\n\nconst injectedQueries = foldersApi.injectEndpoints({\n endpoints: (build) => ({\n getEntityLinks: build.query<GetEntityLinksResult, GetEntityLinksArgs>({\n queryFn: async (\n { projectName, entityIds, entityType },\n { getState, dispatch, queryCacheKey, forced },\n ) => {\n try {\n // Get current state to access cached data\n const state = getState() as any\n const cacheKey = JSON.stringify({ projectName, entityType })\n\n // Access the cache entry for this project and entity type\n const cacheEntry =\n state.restApi?.queries?.[queryCacheKey || `getEntityLinks(${cacheKey})`]\n const cachedData = cacheEntry?.data || []\n\n // 1. When fetching new data for entityIds, we should skip entities that are already in the cache.\n const cachedEntityIds = new Set(cachedData.map((entity: EntityWithLinks) => entity.id))\n const entityIdsToFetch = entityIds.filter((id) => !cachedEntityIds?.has(id) || forced)\n\n // If all entities are already cached, return the cached data\n if (entityIdsToFetch.length === 0) {\n return { data: cachedData }\n }\n\n // Get the appropriate endpoint and parameter names\n const endpoint = entityEndpoints[entityType]\n const resultPath = entityResultPaths[entityType]\n\n // Fetch only the entities that aren't already cached\n const result = await dispatch(\n (gqlLinksApi.endpoints as any)[endpoint].initiate(\n { projectName, entityIds: entityIdsToFetch },\n { forceRefetch: true },\n ),\n ).unwrap()\n\n const newEntities =\n result.project?.[resultPath]?.edges?.map(({ node }: { node: any }) => {\n // Log restricted links\n const restrictedLinks = node.links.edges?.filter((e: EntityLinkQuery | null) => !e?.node) || []\n if (restrictedLinks.length > 0) {\n console.log(`[RESTRICTED LINKS] Entity ${node.id} (${node.name}) has ${restrictedLinks.length} restricted link(s):`,\n restrictedLinks.map((link: any) => ({\n linkId: link?.id,\n linkType: link?.linkType,\n direction: link?.direction,\n entityType: link?.entityType,\n nodeIsNull: !link?.node\n }))\n )\n }\n\n return {\n id: node.id,\n links:\n node.links.edges\n ?.map((linkEdge: EntityLinkQuery | null) => {\n if (!linkEdge?.node) {\n // Restricted link - node is null\n return {\n ...linkEdge,\n node: null,\n isRestricted: true,\n } as EntityLink\n }\n // Normal link\n return {\n ...linkEdge,\n node: {\n id: linkEdge.node.id,\n name: linkEdge.node.name,\n label: formatEntityLabel(linkEdge.node),\n parents: linkEdge.node.parents || [],\n subType: 'subType' in linkEdge.node ? linkEdge.node.subType : undefined,\n },\n isRestricted: false,\n } as EntityLink\n }) || [], // Flatten the edges structure\n }\n }) || []\n\n // Return the new entities - the merge function will handle combining with existing cache\n return { data: newEntities }\n } catch (error: any) {\n console.error(`Error in getEntityLinks queryFn for ${entityType}:`, error)\n toast.error(`Error fetching ${entityType} links`)\n return { error: { status: 'FETCH_ERROR', error: error.message } as FetchBaseQueryError }\n }\n },\n // 2. We should not create new caches when the entityIds argument changes.\n serializeQueryArgs: ({ queryArgs }) => {\n // Use only projectName and entityType for the cache key, ignoring entityIds\n return { projectName: queryArgs.projectName, entityType: queryArgs.entityType }\n },\n // 3. We should force a refetch every time the entityIds changes.\n forceRefetch: ({ currentArg, previousArg }) => {\n // Force refetch if entityIds array is different\n if (!currentArg || !previousArg) return true\n\n // Compare arrays by converting to sets\n const currentIds = new Set(currentArg.entityIds)\n const previousIds = new Set(previousArg.entityIds)\n\n if (currentIds.size !== previousIds.size) return true\n\n // Check if any IDs are different\n for (const id of currentIds) {\n if (!previousIds.has(id)) return true\n }\n\n return false\n },\n // 4. We should merge new entities into the cache ensuring there are no duplicates.\n merge: (currentCache, newItems) => {\n if (!currentCache) return newItems\n\n const cacheMap = new Map(currentCache.map((item) => [item.id, item]))\n for (const newItem of newItems) {\n cacheMap.set(newItem.id, newItem) // Overwrite if exists, add if not\n }\n // Update currentCache in-place\n currentCache.length = 0\n currentCache.push(...cacheMap.values())\n },\n // Provide tags for potential invalidation\n providesTags: (result, error, arg) =>\n result\n ? [\n ...result.flatMap((entity) =>\n entity.links\n .filter((link) => link.node !== null)\n .map((link) => ({ type: 'link', id: link.node!.id })),\n ),\n { type: 'link', id: `${arg.projectName}-${arg.entityType}` },\n ]\n : [{ type: 'link', id: `${arg.projectName}-${arg.entityType}` }],\n // Subscribe to link.created and link.deleted WebSocket events\n async onCacheEntryAdded(\n { projectName, entityIds, entityType },\n { cacheDataLoaded, cacheEntryRemoved, updateCachedData, dispatch },\n ) {\n let token: any\n const pendingEntityIds = new Set<string>()\n const MAX_BATCH = 100\n const INTERVAL = 500\n let scheduled = false\n\n const schedule = () => {\n if (scheduled) return\n scheduled = true\n setTimeout(flush, INTERVAL)\n }\n\n const flush = async () => {\n scheduled = false\n if (!pendingEntityIds.size) return\n const batchIds = Array.from(pendingEntityIds).slice(0, MAX_BATCH)\n batchIds.forEach((id) => pendingEntityIds.delete(id))\n\n try {\n // Get the appropriate endpoint and parameter names\n const endpoint = entityEndpoints[entityType]\n const resultPath = entityResultPaths[entityType]\n\n // Fetch fresh data for the affected entities\n const result = await dispatch(\n (gqlLinksApi.endpoints as any)[endpoint].initiate(\n { projectName, entityIds: batchIds },\n { forceRefetch: true },\n ),\n ).unwrap()\n\n const updatedEntities =\n result.project?.[resultPath]?.edges?.map(({ node }: { node: any }) => {\n\n return {\n id: node.id,\n links:\n node.links.edges\n ?.map((linkEdge: EntityLinkQuery | null) => {\n if (!linkEdge?.node) {\n // Restricted link - node is null\n return {\n ...linkEdge,\n node: null,\n isRestricted: true,\n } as EntityLink\n }\n // Normal link\n return {\n ...linkEdge,\n node: {\n id: linkEdge.node.id,\n name: linkEdge.node.name,\n label: formatEntityLabel(linkEdge.node),\n parents: linkEdge.node.parents || [],\n subType: 'subType' in linkEdge.node ? linkEdge.node.subType : undefined,\n },\n isRestricted: false,\n } as EntityLink\n }) || [],\n }\n }) || []\n\n updateCachedData((draft: EntityWithLinks[]) => {\n for (const updatedEntity of updatedEntities) {\n const idx = draft.findIndex((entity) => entity.id === updatedEntity.id)\n if (idx > -1) {\n // Update existing entity's links\n draft[idx] = updatedEntity\n } else {\n // Add new entity if not in cache\n draft.push(updatedEntity)\n }\n }\n })\n } catch (err) {\n console.error('Realtime link batch update failed', err)\n } finally {\n if (pendingEntityIds.size) schedule()\n }\n }\n\n try {\n await cacheDataLoaded\n\n const handlePubSub = async (_topic: string, message: any) => {\n // Only react to link.created and link.deleted events for this project\n if (!_topic.startsWith('link.created') && !_topic.startsWith('link.deleted')) return\n if (message?.project !== projectName) return\n\n // Link events have inputId and outputId in the summary (both entities affected by the link)\n const inputId = message?.summary?.inputId\n const outputId = message?.summary?.outputId\n if (!inputId && !outputId) return\n\n // Add both entities to pending list since both are affected by the link change\n if (inputId) pendingEntityIds.add(inputId)\n if (outputId) pendingEntityIds.add(outputId)\n schedule()\n }\n\n // Subscribe to link events\n // NOTE: backend emits topics like 'link.created' and 'link.deleted'.\n // PubSub supports prefix matching when subscribing.\n token = PubSub.subscribe('link', handlePubSub)\n } catch (e) {\n // cache entry removed before loaded - ignore\n }\n\n await cacheEntryRemoved\n if (token) PubSub.unsubscribe(token)\n },\n }),\n }),\n})\n\nexport const { useGetEntityLinksQuery } = injectedQueries\nexport { injectedQueries as entityLinksApi }\n"],"names":["entityEndpoints","entityResultPaths","injectedQueries","foldersApi","build","projectName","entityIds","entityType","getState","dispatch","queryCacheKey","forced","state","cacheKey","cachedData","cachedEntityIds","entity","entityIdsToFetch","id","endpoint","resultPath","gqlLinksApi","node","restrictedLinks","e","link","linkEdge","formatEntityLabel","error","toast","queryArgs","currentArg","previousArg","currentIds","previousIds","currentCache","newItems","cacheMap","item","newItem","result","arg","cacheDataLoaded","cacheEntryRemoved","updateCachedData","token","pendingEntityIds","MAX_BATCH","INTERVAL","scheduled","schedule","flush","batchIds","updatedEntities","draft","updatedEntity","idx","err","handlePubSub","_topic","message","inputId","outputId","PubSub","useGetEntityLinksQuery"],"mappings":"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"}
1
+ {"version":3,"file":"getEntityLinks.es.js","sources":["../../../../../../src/api/queries/links/getEntityLinks.ts"],"sourcesContent":["import { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport {\n GetFoldersLinksQuery,\n GetTasksLinksQuery,\n GetProductsLinksQuery,\n GetVersionsLinksQuery,\n GetRepresentationsLinksQuery,\n GetWorkfilesLinksQuery,\n gqlLinksApi,\n foldersApi,\n} from '@shared/api/generated'\nimport { formatEntityLabel } from './utils/formatEntityLinks'\nimport { toast } from 'react-toastify'\nimport { PubSub } from '@shared/util'\n\n/**\n * Custom queryFn for fetching entity links with optimized caching behavior.\n *\n * Key features:\n * 1. Single cache per project and entity type - different entityIds combinations don't create new caches\n * 2. Skips fetching entities that are already cached\n * 3. Force refetch when entityIds change\n * 4. Merges new entities into cache without duplicates\n * 5. Supports all entity types: folders, tasks, products, versions, representations, workfiles\n */\n\n// Define the arguments for the query\nexport type GetEntityLinksArgs = {\n projectName: string\n entityIds: string[]\n entityType: 'folder' | 'task' | 'product' | 'version' | 'representation' | 'workfile'\n}\n\n// Define link types for each entity\nexport type FolderLink =\n GetFoldersLinksQuery['project']['folders']['edges'][0]['node']['links']['edges'][0]\nexport type TaskLink =\n GetTasksLinksQuery['project']['tasks']['edges'][0]['node']['links']['edges'][0]\nexport type ProductLink =\n GetProductsLinksQuery['project']['products']['edges'][0]['node']['links']['edges'][0]\nexport type VersionLink =\n GetVersionsLinksQuery['project']['versions']['edges'][0]['node']['links']['edges'][0]\nexport type RepresentationLink =\n GetRepresentationsLinksQuery['project']['representations']['edges'][0]['node']['links']['edges'][0]\nexport type WorkfileLink =\n GetWorkfilesLinksQuery['project']['workfiles']['edges'][0]['node']['links']['edges'][0]\n\nexport type EntityLinkQuery =\n | FolderLink\n | TaskLink\n | ProductLink\n | VersionLink\n | RepresentationLink\n | WorkfileLink\nexport type EntityLink = Pick<EntityLinkQuery, 'direction' | 'entityType' | 'id' | 'linkType'> & {\n node: Pick<EntityLinkQuery['node'], 'name' | 'id'> & {\n label?: string | null\n parents: string[]\n subType: string | undefined\n } | null\n isRestricted?: boolean // flag to indicate if this link is restricted\n}\n\n// Define the result type for the query - simplified without edges wrapper\nexport type EntityWithLinks = {\n id: string\n links: EntityLink[]\n}\n\nexport type GetEntityLinksResult = EntityWithLinks[]\n\n// Map entity types to their corresponding GraphQL endpoints\nconst entityEndpoints = {\n folder: 'GetFoldersLinks',\n task: 'GetTasksLinks',\n product: 'GetProductsLinks',\n version: 'GetVersionsLinks',\n representation: 'GetRepresentationsLinks',\n workfile: 'GetWorkfilesLinks',\n} as const\n\n// Map entity types to their result path in the GraphQL response\nconst entityResultPaths = {\n folder: 'folders',\n task: 'tasks',\n product: 'products',\n version: 'versions',\n representation: 'representations',\n workfile: 'workfiles',\n} as const\n\nconst injectedQueries = foldersApi.injectEndpoints({\n endpoints: (build) => ({\n getEntityLinks: build.query<GetEntityLinksResult, GetEntityLinksArgs>({\n queryFn: async (\n { projectName, entityIds, entityType },\n { getState, dispatch, queryCacheKey, forced },\n ) => {\n try {\n // Get current state to access cached data\n const state = getState() as any\n const cacheKey = JSON.stringify({ projectName, entityType })\n\n // Access the cache entry for this project and entity type\n const cacheEntry =\n state.restApi?.queries?.[queryCacheKey || `getEntityLinks(${cacheKey})`]\n const cachedData = cacheEntry?.data || []\n\n // 1. When fetching new data for entityIds, we should skip entities that are already in the cache.\n const cachedEntityIds = new Set(cachedData.map((entity: EntityWithLinks) => entity.id))\n const entityIdsToFetch = entityIds.filter((id) => !cachedEntityIds?.has(id) || forced)\n\n // If all entities are already cached, return the cached data\n if (entityIdsToFetch.length === 0) {\n return { data: cachedData }\n }\n\n // Get the appropriate endpoint and parameter names\n const endpoint = entityEndpoints[entityType]\n const resultPath = entityResultPaths[entityType]\n\n // Fetch only the entities that aren't already cached\n const result = await dispatch(\n (gqlLinksApi.endpoints as any)[endpoint].initiate(\n { projectName, entityIds: entityIdsToFetch },\n { forceRefetch: true },\n ),\n ).unwrap()\n\n const newEntities =\n result.project?.[resultPath]?.edges?.map(({ node }: { node: any }) => {\n // Log restricted links\n const restrictedLinks = node.links.edges?.filter((e: EntityLinkQuery | null) => !e?.node) || []\n if (restrictedLinks.length > 0) {\n console.log(`[RESTRICTED LINKS] Entity ${node.id} (${node.name}) has ${restrictedLinks.length} restricted link(s):`,\n restrictedLinks.map((link: any) => ({\n linkId: link?.id,\n linkType: link?.linkType,\n direction: link?.direction,\n entityType: link?.entityType,\n nodeIsNull: !link?.node\n }))\n )\n }\n\n return {\n id: node.id,\n links:\n node.links.edges\n ?.map((linkEdge: EntityLinkQuery | null) => {\n if (!linkEdge?.node) {\n // Restricted link - node is null\n return {\n ...linkEdge,\n node: null,\n isRestricted: true,\n } as EntityLink\n }\n // Normal link\n return {\n ...linkEdge,\n node: {\n id: linkEdge.node.id,\n name: linkEdge.node.name,\n label: formatEntityLabel(linkEdge.node),\n parents: linkEdge.node.parents || [],\n subType: 'subType' in linkEdge.node ? linkEdge.node.subType : undefined,\n },\n isRestricted: false,\n } as EntityLink\n }) || [], // Flatten the edges structure\n }\n }) || []\n\n // Return the new entities - the merge function will handle combining with existing cache\n return { data: newEntities }\n } catch (error: any) {\n console.error(`Error in getEntityLinks queryFn for ${entityType}:`, error)\n toast.error(`Error fetching ${entityType} links`)\n return { error: { status: 'FETCH_ERROR', error: error.message } as FetchBaseQueryError }\n }\n },\n // 2. We should not create new caches when the entityIds argument changes.\n serializeQueryArgs: ({ queryArgs }) => {\n // Use only projectName and entityType for the cache key, ignoring entityIds\n return { projectName: queryArgs.projectName, entityType: queryArgs.entityType }\n },\n // 3. We should force a refetch every time the entityIds changes.\n forceRefetch: ({ currentArg, previousArg }) => {\n // Force refetch if entityIds array is different\n if (!currentArg || !previousArg) return true\n\n // Compare arrays by converting to sets\n const currentIds = new Set(currentArg.entityIds)\n const previousIds = new Set(previousArg.entityIds)\n\n if (currentIds.size !== previousIds.size) return true\n\n // Check if any IDs are different\n for (const id of currentIds) {\n if (!previousIds.has(id)) return true\n }\n\n return false\n },\n // 4. We should merge new entities into the cache ensuring there are no duplicates.\n merge: (currentCache, newItems) => {\n if (!currentCache) return newItems\n\n const cacheMap = new Map(currentCache.map((item) => [item.id, item]))\n for (const newItem of newItems) {\n cacheMap.set(newItem.id, newItem) // Overwrite if exists, add if not\n }\n // Update currentCache in-place\n currentCache.length = 0\n currentCache.push(...cacheMap.values())\n },\n // Provide tags for potential invalidation\n providesTags: (result, error, arg) =>\n result\n ? [\n ...result.flatMap((entity) =>\n entity.links\n .filter((link) => link.node !== null)\n .map((link) => ({ type: 'link', id: link.node!.id })),\n ),\n { type: 'link', id: `${arg.projectName}-${arg.entityType}` },\n ]\n : [{ type: 'link', id: `${arg.projectName}-${arg.entityType}` }],\n // Subscribe to link.created and link.deleted WebSocket events\n async onCacheEntryAdded(\n { projectName, entityIds, entityType },\n { cacheDataLoaded, cacheEntryRemoved, updateCachedData, dispatch },\n ) {\n let token: any\n const pendingEntityIds = new Set<string>()\n const MAX_BATCH = 100\n const INTERVAL = 500\n let scheduled = false\n\n const schedule = () => {\n if (scheduled) return\n scheduled = true\n setTimeout(flush, INTERVAL)\n }\n\n const flush = async () => {\n scheduled = false\n if (!pendingEntityIds.size) return\n const batchIds = Array.from(pendingEntityIds).slice(0, MAX_BATCH)\n batchIds.forEach((id) => pendingEntityIds.delete(id))\n\n try {\n // Get the appropriate endpoint and parameter names\n const endpoint = entityEndpoints[entityType]\n const resultPath = entityResultPaths[entityType]\n\n // Fetch fresh data for the affected entities\n const result = await dispatch(\n (gqlLinksApi.endpoints as any)[endpoint].initiate(\n { projectName, entityIds: batchIds },\n { forceRefetch: true },\n ),\n ).unwrap()\n\n const updatedEntities =\n result.project?.[resultPath]?.edges?.map(({ node }: { node: any }) => {\n\n return {\n id: node.id,\n links:\n node.links.edges\n ?.map((linkEdge: EntityLinkQuery | null) => {\n if (!linkEdge?.node) {\n // Restricted link - node is null\n return {\n ...linkEdge,\n node: null,\n isRestricted: true,\n } as EntityLink\n }\n // Normal link\n return {\n ...linkEdge,\n node: {\n id: linkEdge.node.id,\n name: linkEdge.node.name,\n label: formatEntityLabel(linkEdge.node),\n parents: linkEdge.node.parents || [],\n subType: 'subType' in linkEdge.node ? linkEdge.node.subType : undefined,\n },\n isRestricted: false,\n } as EntityLink\n }) || [],\n }\n }) || []\n\n updateCachedData((draft: EntityWithLinks[]) => {\n for (const updatedEntity of updatedEntities) {\n const idx = draft.findIndex((entity) => entity.id === updatedEntity.id)\n if (idx > -1) {\n // Update existing entity's links\n draft[idx] = updatedEntity\n } else {\n // Add new entity if not in cache\n draft.push(updatedEntity)\n }\n }\n })\n } catch (err) {\n console.error('Realtime link batch update failed', err)\n } finally {\n if (pendingEntityIds.size) schedule()\n }\n }\n\n try {\n await cacheDataLoaded\n\n const handlePubSub = async (_topic: string, message: any) => {\n // Only react to link.created and link.deleted events for this project\n if (!_topic.startsWith('link.created') && !_topic.startsWith('link.deleted')) return\n if (message?.project !== projectName) return\n\n // Link events have inputId and outputId in the summary (both entities affected by the link)\n const inputId = message?.summary?.inputId\n const outputId = message?.summary?.outputId\n if (!inputId && !outputId) return\n\n // Add both entities to pending list since both are affected by the link change\n if (inputId) pendingEntityIds.add(inputId)\n if (outputId) pendingEntityIds.add(outputId)\n schedule()\n }\n\n // Subscribe to link events\n // NOTE: backend emits topics like 'link.created' and 'link.deleted'.\n // PubSub supports prefix matching when subscribing.\n token = PubSub.subscribe('link', handlePubSub)\n } catch (e) {\n // cache entry removed before loaded - ignore\n }\n\n await cacheEntryRemoved\n if (token) PubSub.unsubscribe(token)\n },\n }),\n }),\n})\n\nexport const { useGetEntityLinksQuery } = injectedQueries\nexport { injectedQueries as entityLinksApi }\n"],"names":["entityEndpoints","entityResultPaths","injectedQueries","foldersApi","build","projectName","entityIds","entityType","getState","dispatch","queryCacheKey","forced","state","cacheKey","cachedData","cachedEntityIds","entity","entityIdsToFetch","id","endpoint","resultPath","gqlLinksApi","node","restrictedLinks","e","link","linkEdge","formatEntityLabel","error","toast","queryArgs","currentArg","previousArg","currentIds","previousIds","currentCache","newItems","cacheMap","item","newItem","result","arg","cacheDataLoaded","cacheEntryRemoved","updateCachedData","token","pendingEntityIds","MAX_BATCH","INTERVAL","scheduled","schedule","flush","batchIds","updatedEntities","draft","updatedEntity","idx","err","handlePubSub","_topic","message","inputId","outputId","PubSub","useGetEntityLinksQuery"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");require("../../generated/graphql.cjs.js");const n=require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/dataImport.cjs.js");require("../../generated/desktop.cjs.js");require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/projectFolders.cjs.js");require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");require("lodash");require("react-toastify");require("uuid");const T=require("../../../util/pubsub.cjs.js"),k=50,N=n.api.injectEndpoints({endpoints:I=>({getSearchedEntitiesLinks:I.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:""},getNextPageParam:(p,q,t)=>{const r=p.pageInfo;if(!(!r.hasNextPage||!r.endCursor))return{cursor:r.endCursor}}},providesTags:[{type:"linkSearchItem",id:"LIST"}],queryFn:async({queryArg:p,pageParam:q},t)=>{try{const{projectName:r,entityType:i,search:f,parentIds:h}=p,{cursor:s}=q,e={projectName:r,first:k};s&&(e.after=s),e.search=f||"",e.parentIds=h;let a;switch(i){case"folder":a=await t.dispatch(n.api.endpoints.GetSearchedFolders.initiate(e,{forceRefetch:!0})).unwrap();break;case"product":a=await t.dispatch(n.api.endpoints.GetSearchedProducts.initiate(e,{forceRefetch:!0})).unwrap();break;case"task":a=await t.dispatch(n.api.endpoints.GetSearchedTasks.initiate(e,{forceRefetch:!0})).unwrap();break;case"version":a=await t.dispatch(n.api.endpoints.GetSearchedVersions.initiate(e,{forceRefetch:!0})).unwrap();break;case"representation":a=await t.dispatch(n.api.endpoints.GetSearchedRepresentations.initiate(e,{forceRefetch:!0})).unwrap();break;case"workfile":a=await t.dispatch(n.api.endpoints.GetSearchedWorkfiles.initiate(e,{forceRefetch:!0})).unwrap();break;default:throw new Error(`Unsupported entity type: ${i}`)}const w=a.project;if(!w)throw new Error("No project data returned");const m=w[i+"s"],E=m?.edges?.map(({node:u})=>{switch(i){case"task":const o=u;return{entityType:"task",id:o.id,name:o.name,label:o.label||o.name,parents:o.parents||[],subType:o.subType};case"folder":const c=u;return{entityType:"folder",id:c.id,name:c.name,label:c.label||c.name,parents:c.parents||[],subType:c.subType};case"product":const d=u;return{entityType:"product",id:d.id,name:d.name,label:d.name,parents:d.parents||[],subType:d.subType};case"version":const l=u;return{entityType:"version",id:l.id,name:l.name,label:l.name,parents:l.parents||[],hasReviewables:l.hasReviewables};case"representation":const y=u;return{entityType:"representation",id:y.id,name:y.name,label:y.name,parents:y.parents||[]};case"workfile":const b=u;return{entityType:"workfile",id:b.id,name:b.name,label:b.name,parents:b.parents||[]};default:return null}}).filter(Boolean);if(!m)throw new Error(`No ${i} data returned`);return{data:{pageInfo:m.pageInfo,entities:E}}}catch(r){return console.error("Error in getSearchedEntitiesLinks queryFn:",r),{error:{status:"FETCH_ERROR",error:r.message}}}},async onCacheEntryAdded({projectName:p},{cacheDataLoaded:q,cacheEntryRemoved:t,dispatch:r}){let i;try{await q;const f=async(h,s)=>{if(!h.startsWith("link.created")&&!h.startsWith("link.deleted")||s?.project!==p)return;const e=s?.summary?.inputId,a=s?.summary?.outputId;!e&&!a||r(n.api.util.invalidateTags([{type:"linkSearchItem",id:"LIST"}]))};i=T.subscribe("link",f)}catch{}await t,i&&T.unsubscribe(i)}})})}),{useGetSearchedEntitiesLinksInfiniteQuery:S}=N;exports.ENTITIES_INFINITE_QUERY_COUNT=k;exports.useGetSearchedEntitiesLinksInfiniteQuery=S;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");require("../../generated/graphql.cjs.js");const u=require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/dataImport.cjs.js");require("../../generated/desktop.cjs.js");require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/projectFolders.cjs.js");require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");require("lodash");require("react-toastify");require("uuid");require("../actions/getActions.cjs.js");require("../activities/getActivities.cjs.js");require("../activities/updateActivities.cjs.js");require("../activities/updateReaction.cjs.js");require("../activities/getMentions.cjs.js");require("../activities/getCategories.cjs.js");require("../addons/getAddons.cjs.js");require("../addons/updateAddons.cjs.js");require("../attributes/getAttributes.cjs.js");require("../attributes/updateAttributes.cjs.js");require("../authentication/getAuthentication.cjs.js");require("../cloud/cloud.cjs.js");require("../columnStats/metricTargets.cjs.js");require("../config/getConfig.cjs.js");require("../config/updateConfig.cjs.js");require("../entities/getEntity.cjs.js");require("../entities/getEntityPanel.cjs.js");require("../overview/getOverview.cjs.js");require("../overview/updateOverview.cjs.js");require("../versions/getVersionsProducts.cjs.js");require("./getEntityLinks.cjs.js");require("../entities/updateEntity.cjs.js");require("../entityLists/getLists.cjs.js");require("../entityLists/updateLists.cjs.js");require("../entityLists/getListsAttributes.cjs.js");require("../entityLists/listItemsColumnStats.cjs.js");require("../entityLists/updateListsAttributes.cjs.js");require("../entityLists/listFolders.cjs.js");require("../folders/getFolders.cjs.js");require("../folders/getFolderDeleteInfo.cjs.js");require("../grouping/getGrouping.cjs.js");require("./updateLinks.cjs.js");require("../permissions/getPermissions.cjs.js");require("../products/createProduct.cjs.js");require("../products/getFolderProducts.cjs.js");require("../project/getProject.cjs.js");require("../project/updateProject.cjs.js");require("../projectFolders/projectFolders.cjs.js");require("../review/getReview.cjs.js");require("../review/updateReview.cjs.js");require("../share/share.cjs.js");require("../system/getSystem.cjs.js");require("../tasks/getTasks.cjs.js");require("../tasks/updateTasks.cjs.js");require("../teams/getTeams.cjs.js");require("../userDashboard/getUserDashboard.cjs.js");require("../users/getUsers.cjs.js");require("../users/updateUsers.cjs.js");require("../users/guests.cjs.js");require("../versions/updateVersions.cjs.js");require("../views/getViews.cjs.js");require("../views/updateViews.cjs.js");require("../watchers/getWatchers.cjs.js");require("../uris/getUris.cjs.js");const T=require("../../../util/pubsub.cjs.js"),k=50,N=u.api.injectEndpoints({endpoints:I=>({getSearchedEntitiesLinks:I.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:""},getNextPageParam:(c,l,i)=>{const r=c.pageInfo;if(!(!r.hasNextPage||!r.endCursor))return{cursor:r.endCursor}}},providesTags:[{type:"linkSearchItem",id:"LIST"}],queryFn:async({queryArg:c,pageParam:l},i)=>{try{const{projectName:r,entityType:t,search:f,parentIds:h}=c,{cursor:n}=l,e={projectName:r,first:k};n&&(e.after=n),e.search=f||"",e.parentIds=h;let a;switch(t){case"folder":a=await i.dispatch(u.api.endpoints.GetSearchedFolders.initiate(e,{forceRefetch:!0})).unwrap();break;case"product":a=await i.dispatch(u.api.endpoints.GetSearchedProducts.initiate(e,{forceRefetch:!0})).unwrap();break;case"task":a=await i.dispatch(u.api.endpoints.GetSearchedTasks.initiate(e,{forceRefetch:!0})).unwrap();break;case"version":a=await i.dispatch(u.api.endpoints.GetSearchedVersions.initiate(e,{forceRefetch:!0})).unwrap();break;case"representation":a=await i.dispatch(u.api.endpoints.GetSearchedRepresentations.initiate(e,{forceRefetch:!0})).unwrap();break;case"workfile":a=await i.dispatch(u.api.endpoints.GetSearchedWorkfiles.initiate(e,{forceRefetch:!0})).unwrap();break;default:throw new Error(`Unsupported entity type: ${t}`)}const w=a.project;if(!w)throw new Error("No project data returned");const m=w[t+"s"],E=m?.edges?.map(({node:s})=>{switch(t){case"task":const o=s;return{entityType:"task",id:o.id,name:o.name,label:o.label||o.name,parents:o.parents||[],subType:o.subType};case"folder":const q=s;return{entityType:"folder",id:q.id,name:q.name,label:q.label||q.name,parents:q.parents||[],subType:q.subType};case"product":const p=s;return{entityType:"product",id:p.id,name:p.name,label:p.name,parents:p.parents||[],subType:p.subType};case"version":const d=s;return{entityType:"version",id:d.id,name:d.name,label:d.name,parents:d.parents||[],hasReviewables:d.hasReviewables};case"representation":const y=s;return{entityType:"representation",id:y.id,name:y.name,label:y.name,parents:y.parents||[]};case"workfile":const b=s;return{entityType:"workfile",id:b.id,name:b.name,label:b.name,parents:b.parents||[]};default:return null}}).filter(Boolean);if(!m)throw new Error(`No ${t} data returned`);return{data:{pageInfo:m.pageInfo,entities:E}}}catch(r){return console.error("Error in getSearchedEntitiesLinks queryFn:",r),{error:{status:"FETCH_ERROR",error:r.message}}}},async onCacheEntryAdded({projectName:c},{cacheDataLoaded:l,cacheEntryRemoved:i,dispatch:r}){let t;try{await l;const f=async(h,n)=>{if(!h.startsWith("link.created")&&!h.startsWith("link.deleted")||n?.project!==c)return;const e=n?.summary?.inputId,a=n?.summary?.outputId;!e&&!a||r(u.api.util.invalidateTags([{type:"linkSearchItem",id:"LIST"}]))};t=T.subscribe("link",f)}catch{}await i,t&&T.unsubscribe(t)}})})}),{useGetSearchedEntitiesLinksInfiniteQuery:S}=N;exports.ENTITIES_INFINITE_QUERY_COUNT=k;exports.useGetSearchedEntitiesLinksInfiniteQuery=S;
2
2
  //# sourceMappingURL=getLinks.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getLinks.cjs.js","sources":["../../../../../../src/api/queries/links/getLinks.ts"],"sourcesContent":["import { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport {\n GetSearchedFoldersQuery,\n GetSearchedProductsQuery,\n GetSearchedRepresentationsQuery,\n GetSearchedTasksQuery,\n GetSearchedVersionsQuery,\n GetSearchedWorkfilesQuery,\n gqlLinksApi,\n} from '@shared/api/generated'\nimport { PubSub } from '@shared/util'\n\nexport const ENTITIES_INFINITE_QUERY_COUNT = 50 // Number of items to fetch per page\n\n// Define page param type for infinite query\ntype EntitySearchPageParam = {\n cursor: string\n}\n\nexport type SearchEntityLink = {\n id: string\n name: string\n entityType: string\n parents: string[]\n label: string\n icon: string | undefined\n subType: string | undefined\n hasReviewables?: boolean\n}\n\nexport type GetSearchedEntitiesLinksResult = {\n pageInfo: any\n entities: SearchEntityLink[]\n}\n\nexport type GetSearchedEntitiesLinksArgs = {\n projectName: string\n entityType: string // 'folder' | 'product' | 'version' | 'task' | 'representation' | 'workfile'\n search?: string\n parentIds?: string[] // Optional parent IDs to filter entities\n sortBy?: string\n}\n\ntype GetSearchedEntity =\n | GetSearchedTasksQuery\n | GetSearchedFoldersQuery\n | GetSearchedProductsQuery\n | GetSearchedVersionsQuery\n | GetSearchedRepresentationsQuery\n | GetSearchedWorkfilesQuery\ntype SearchedTaskNode = GetSearchedTasksQuery['project']['tasks']['edges'][0]['node']\ntype SearchedFolderNode = GetSearchedFoldersQuery['project']['folders']['edges'][0]['node']\ntype SearchedProductNode = GetSearchedProductsQuery['project']['products']['edges'][0]['node']\ntype SearchedVersionNode = GetSearchedVersionsQuery['project']['versions']['edges'][0]['node']\ntype SearchedRepresentationNode =\n GetSearchedRepresentationsQuery['project']['representations']['edges'][0]['node']\ntype SearchedWorkfileNode = GetSearchedWorkfilesQuery['project']['workfiles']['edges'][0]['node']\n\nconst injectedQueries = gqlLinksApi.injectEndpoints({\n endpoints: (build) => ({\n getSearchedEntitiesLinks: build.infiniteQuery<\n GetSearchedEntitiesLinksResult,\n GetSearchedEntitiesLinksArgs,\n EntitySearchPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '' },\n getNextPageParam: (lastPage, _allPages, lastPageParam) => {\n const pageInfo = lastPage.pageInfo\n if (!pageInfo.hasNextPage || !pageInfo.endCursor) return undefined\n return { cursor: pageInfo.endCursor }\n },\n },\n providesTags: [{ type: 'linkSearchItem', id: 'LIST' }],\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { projectName, entityType, search, parentIds } = queryArg\n const { cursor } = pageParam\n\n // Build query variables\n const variables: any = {\n projectName,\n first: ENTITIES_INFINITE_QUERY_COUNT,\n }\n\n // Add cursor-based pagination\n if (cursor) {\n variables.after = cursor\n }\n\n variables.search = search || ''\n variables.parentIds = parentIds\n\n let result: GetSearchedEntity\n // Use the appropriate generated query based on entity type\n switch (entityType) {\n case 'folder':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedFolders.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'product':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedProducts.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'task':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedTasks.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'version':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedVersions.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'representation':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedRepresentations.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'workfile':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedWorkfiles.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n default:\n throw new Error(`Unsupported entity type: ${entityType}`)\n }\n\n const projectData = result.project\n if (!projectData) {\n throw new Error('No project data returned')\n }\n\n // @ts-expect-error - TypeScript doesn't know the structure of projectData\n const entityData = projectData[entityType + 's']\n\n // Transform entity data to search link format\n const entities: SearchEntityLink[] = entityData?.edges\n ?.map(({ node }: any) => {\n switch (entityType) {\n case 'task':\n const taskNode = node as SearchedTaskNode\n return {\n entityType: 'task',\n id: taskNode.id,\n name: taskNode.name,\n label: taskNode.label || taskNode.name,\n parents: taskNode.parents || [],\n subType: taskNode.subType,\n }\n case 'folder':\n const folderNode = node as SearchedFolderNode\n return {\n entityType: 'folder',\n id: folderNode.id,\n name: folderNode.name,\n label: folderNode.label || folderNode.name,\n parents: folderNode.parents || [],\n subType: folderNode.subType,\n }\n case 'product':\n const productNode = node as SearchedProductNode\n return {\n entityType: 'product',\n id: productNode.id,\n name: productNode.name,\n label: productNode.name,\n parents: productNode.parents || [],\n subType: productNode.subType,\n }\n case 'version':\n const versionNode = node as SearchedVersionNode\n return {\n entityType: 'version',\n id: versionNode.id,\n name: versionNode.name,\n label: versionNode.name,\n parents: versionNode.parents || [],\n hasReviewables: versionNode.hasReviewables,\n }\n case 'representation':\n const representationNode = node as SearchedRepresentationNode\n return {\n entityType: 'representation',\n id: representationNode.id,\n name: representationNode.name,\n label: representationNode.name,\n parents: representationNode.parents || [],\n }\n case 'workfile':\n const workfileNode = node as SearchedWorkfileNode\n return {\n entityType: 'workfile',\n id: workfileNode.id,\n name: workfileNode.name,\n label: workfileNode.name,\n parents: workfileNode.parents || [],\n }\n default:\n return null\n }\n })\n .filter(Boolean) as SearchEntityLink[] // Remove nulls, ensure correct type\n\n if (!entityData) {\n throw new Error(`No ${entityType} data returned`)\n }\n\n return {\n data: {\n pageInfo: entityData.pageInfo,\n entities: entities,\n },\n }\n } catch (error: any) {\n console.error('Error in getSearchedEntitiesLinks queryFn:', error)\n return { error: { status: 'FETCH_ERROR', error: error.message } as FetchBaseQueryError }\n }\n },\n // Subscribe to link.created and link.deleted WebSocket events\n async onCacheEntryAdded(\n { projectName },\n { cacheDataLoaded, cacheEntryRemoved, dispatch },\n ) {\n let token: any\n\n try {\n await cacheDataLoaded\n\n const handlePubSub = async (_topic: string, message: any) => {\n // Only react to link.created and link.deleted events for this project\n if (!_topic.startsWith('link.created') && !_topic.startsWith('link.deleted')) return\n if (message?.project !== projectName) return\n\n // Link events have inputId and outputId in the summary\n const inputId = message?.summary?.inputId\n const outputId = message?.summary?.outputId\n if (!inputId && !outputId) return\n\n // Invalidate the search query cache when a link is created or deleted\n // This ensures the search results are fresh and don't show stale data\n dispatch(\n gqlLinksApi.util.invalidateTags([{ type: 'linkSearchItem', id: 'LIST' }]),\n )\n }\n\n // Subscribe to link events\n // NOTE: backend emits topics like 'link.created' and 'link.deleted'.\n // PubSub supports prefix matching when subscribing.\n token = PubSub.subscribe('link', handlePubSub)\n } catch (e) {\n // cache entry removed before loaded - ignore\n }\n\n await cacheEntryRemoved\n if (token) PubSub.unsubscribe(token)\n },\n }),\n }),\n})\n\nexport const { useGetSearchedEntitiesLinksInfiniteQuery } = injectedQueries\n"],"names":["ENTITIES_INFINITE_QUERY_COUNT","injectedQueries","gqlLinksApi","build","lastPage","_allPages","lastPageParam","pageInfo","queryArg","pageParam","api","projectName","entityType","search","parentIds","cursor","variables","result","projectData","entityData","entities","node","taskNode","folderNode","productNode","versionNode","representationNode","workfileNode","error","cacheDataLoaded","cacheEntryRemoved","dispatch","token","handlePubSub","_topic","message","inputId","outputId","PubSub","useGetSearchedEntitiesLinksInfiniteQuery"],"mappings":"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"}
1
+ {"version":3,"file":"getLinks.cjs.js","sources":["../../../../../../src/api/queries/links/getLinks.ts"],"sourcesContent":["import { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport {\n GetSearchedFoldersQuery,\n GetSearchedProductsQuery,\n GetSearchedRepresentationsQuery,\n GetSearchedTasksQuery,\n GetSearchedVersionsQuery,\n GetSearchedWorkfilesQuery,\n gqlLinksApi,\n} from '@shared/api/generated'\nimport { PubSub } from '@shared/util'\n\nexport const ENTITIES_INFINITE_QUERY_COUNT = 50 // Number of items to fetch per page\n\n// Define page param type for infinite query\ntype EntitySearchPageParam = {\n cursor: string\n}\n\nexport type SearchEntityLink = {\n id: string\n name: string\n entityType: string\n parents: string[]\n label: string\n icon: string | undefined\n subType: string | undefined\n hasReviewables?: boolean\n}\n\nexport type GetSearchedEntitiesLinksResult = {\n pageInfo: any\n entities: SearchEntityLink[]\n}\n\nexport type GetSearchedEntitiesLinksArgs = {\n projectName: string\n entityType: string // 'folder' | 'product' | 'version' | 'task' | 'representation' | 'workfile'\n search?: string\n parentIds?: string[] // Optional parent IDs to filter entities\n sortBy?: string\n}\n\ntype GetSearchedEntity =\n | GetSearchedTasksQuery\n | GetSearchedFoldersQuery\n | GetSearchedProductsQuery\n | GetSearchedVersionsQuery\n | GetSearchedRepresentationsQuery\n | GetSearchedWorkfilesQuery\ntype SearchedTaskNode = GetSearchedTasksQuery['project']['tasks']['edges'][0]['node']\ntype SearchedFolderNode = GetSearchedFoldersQuery['project']['folders']['edges'][0]['node']\ntype SearchedProductNode = GetSearchedProductsQuery['project']['products']['edges'][0]['node']\ntype SearchedVersionNode = GetSearchedVersionsQuery['project']['versions']['edges'][0]['node']\ntype SearchedRepresentationNode =\n GetSearchedRepresentationsQuery['project']['representations']['edges'][0]['node']\ntype SearchedWorkfileNode = GetSearchedWorkfilesQuery['project']['workfiles']['edges'][0]['node']\n\nconst injectedQueries = gqlLinksApi.injectEndpoints({\n endpoints: (build) => ({\n getSearchedEntitiesLinks: build.infiniteQuery<\n GetSearchedEntitiesLinksResult,\n GetSearchedEntitiesLinksArgs,\n EntitySearchPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '' },\n getNextPageParam: (lastPage, _allPages, lastPageParam) => {\n const pageInfo = lastPage.pageInfo\n if (!pageInfo.hasNextPage || !pageInfo.endCursor) return undefined\n return { cursor: pageInfo.endCursor }\n },\n },\n providesTags: [{ type: 'linkSearchItem', id: 'LIST' }],\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { projectName, entityType, search, parentIds } = queryArg\n const { cursor } = pageParam\n\n // Build query variables\n const variables: any = {\n projectName,\n first: ENTITIES_INFINITE_QUERY_COUNT,\n }\n\n // Add cursor-based pagination\n if (cursor) {\n variables.after = cursor\n }\n\n variables.search = search || ''\n variables.parentIds = parentIds\n\n let result: GetSearchedEntity\n // Use the appropriate generated query based on entity type\n switch (entityType) {\n case 'folder':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedFolders.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'product':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedProducts.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'task':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedTasks.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'version':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedVersions.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'representation':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedRepresentations.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'workfile':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedWorkfiles.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n default:\n throw new Error(`Unsupported entity type: ${entityType}`)\n }\n\n const projectData = result.project\n if (!projectData) {\n throw new Error('No project data returned')\n }\n\n // @ts-expect-error - TypeScript doesn't know the structure of projectData\n const entityData = projectData[entityType + 's']\n\n // Transform entity data to search link format\n const entities: SearchEntityLink[] = entityData?.edges\n ?.map(({ node }: any) => {\n switch (entityType) {\n case 'task':\n const taskNode = node as SearchedTaskNode\n return {\n entityType: 'task',\n id: taskNode.id,\n name: taskNode.name,\n label: taskNode.label || taskNode.name,\n parents: taskNode.parents || [],\n subType: taskNode.subType,\n }\n case 'folder':\n const folderNode = node as SearchedFolderNode\n return {\n entityType: 'folder',\n id: folderNode.id,\n name: folderNode.name,\n label: folderNode.label || folderNode.name,\n parents: folderNode.parents || [],\n subType: folderNode.subType,\n }\n case 'product':\n const productNode = node as SearchedProductNode\n return {\n entityType: 'product',\n id: productNode.id,\n name: productNode.name,\n label: productNode.name,\n parents: productNode.parents || [],\n subType: productNode.subType,\n }\n case 'version':\n const versionNode = node as SearchedVersionNode\n return {\n entityType: 'version',\n id: versionNode.id,\n name: versionNode.name,\n label: versionNode.name,\n parents: versionNode.parents || [],\n hasReviewables: versionNode.hasReviewables,\n }\n case 'representation':\n const representationNode = node as SearchedRepresentationNode\n return {\n entityType: 'representation',\n id: representationNode.id,\n name: representationNode.name,\n label: representationNode.name,\n parents: representationNode.parents || [],\n }\n case 'workfile':\n const workfileNode = node as SearchedWorkfileNode\n return {\n entityType: 'workfile',\n id: workfileNode.id,\n name: workfileNode.name,\n label: workfileNode.name,\n parents: workfileNode.parents || [],\n }\n default:\n return null\n }\n })\n .filter(Boolean) as SearchEntityLink[] // Remove nulls, ensure correct type\n\n if (!entityData) {\n throw new Error(`No ${entityType} data returned`)\n }\n\n return {\n data: {\n pageInfo: entityData.pageInfo,\n entities: entities,\n },\n }\n } catch (error: any) {\n console.error('Error in getSearchedEntitiesLinks queryFn:', error)\n return { error: { status: 'FETCH_ERROR', error: error.message } as FetchBaseQueryError }\n }\n },\n // Subscribe to link.created and link.deleted WebSocket events\n async onCacheEntryAdded(\n { projectName },\n { cacheDataLoaded, cacheEntryRemoved, dispatch },\n ) {\n let token: any\n\n try {\n await cacheDataLoaded\n\n const handlePubSub = async (_topic: string, message: any) => {\n // Only react to link.created and link.deleted events for this project\n if (!_topic.startsWith('link.created') && !_topic.startsWith('link.deleted')) return\n if (message?.project !== projectName) return\n\n // Link events have inputId and outputId in the summary\n const inputId = message?.summary?.inputId\n const outputId = message?.summary?.outputId\n if (!inputId && !outputId) return\n\n // Invalidate the search query cache when a link is created or deleted\n // This ensures the search results are fresh and don't show stale data\n dispatch(\n gqlLinksApi.util.invalidateTags([{ type: 'linkSearchItem', id: 'LIST' }]),\n )\n }\n\n // Subscribe to link events\n // NOTE: backend emits topics like 'link.created' and 'link.deleted'.\n // PubSub supports prefix matching when subscribing.\n token = PubSub.subscribe('link', handlePubSub)\n } catch (e) {\n // cache entry removed before loaded - ignore\n }\n\n await cacheEntryRemoved\n if (token) PubSub.unsubscribe(token)\n },\n }),\n }),\n})\n\nexport const { useGetSearchedEntitiesLinksInfiniteQuery } = injectedQueries\n"],"names":["ENTITIES_INFINITE_QUERY_COUNT","injectedQueries","gqlLinksApi","build","lastPage","_allPages","lastPageParam","pageInfo","queryArg","pageParam","api","projectName","entityType","search","parentIds","cursor","variables","result","projectData","entityData","entities","node","taskNode","folderNode","productNode","versionNode","representationNode","workfileNode","error","cacheDataLoaded","cacheEntryRemoved","dispatch","token","handlePubSub","_topic","message","inputId","outputId","PubSub","useGetSearchedEntitiesLinksInfiniteQuery"],"mappings":"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"}