@ynput/ayon-frontend-shared 0.4.1 → 0.4.3

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 (1190) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +37 -201
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +252 -512
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Slicer.cjs.js +1 -1
  8. package/dist/Slicer.es.js +31 -233
  9. package/dist/Slicer.es.js.map +1 -1
  10. package/dist/_virtual/index.cjs22.js +1 -1
  11. package/dist/_virtual/index.cjs23.js +1 -1
  12. package/dist/_virtual/index.cjs24.js +1 -1
  13. package/dist/_virtual/index.cjs4.js +1 -1
  14. package/dist/_virtual/index.cjs5.js +1 -1
  15. package/dist/_virtual/index.cjs6.js +1 -1
  16. package/dist/_virtual/index.cjs8.js +1 -1
  17. package/dist/_virtual/index.es22.js +3 -3
  18. package/dist/_virtual/index.es23.js +5 -5
  19. package/dist/_virtual/index.es24.js +5 -5
  20. package/dist/_virtual/index.es4.js +2 -5
  21. package/dist/_virtual/index.es4.js.map +1 -1
  22. package/dist/_virtual/index.es5.js +5 -2
  23. package/dist/_virtual/index.es5.js.map +1 -1
  24. package/dist/_virtual/index.es6.js +2 -2
  25. package/dist/_virtual/index.es8.js +2 -2
  26. package/dist/api.cjs.js +1 -1
  27. package/dist/api.es.js +446 -445
  28. package/dist/components.cjs.js +1 -1
  29. package/dist/components.es.js +83 -82
  30. package/dist/components.es.js.map +1 -1
  31. package/dist/index.cjs.js +1 -1
  32. package/dist/index.es.js +43 -130
  33. package/dist/index.es.js.map +1 -1
  34. package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
  35. package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
  36. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  37. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  38. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  39. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  40. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  41. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  42. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  43. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  44. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  45. package/dist/node_modules/remove-accents/index.es.js +1 -1
  46. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +1 -1
  47. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +1 -1
  48. package/dist/shared/node_modules/@module-federation/runtime/dist/index.cjs.js +1 -1
  49. package/dist/shared/node_modules/@module-federation/runtime/dist/index.es.js +1 -1
  50. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
  51. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +1 -1
  52. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  53. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  54. package/dist/shared/src/api/generated/graphql.cjs.js +85 -27
  55. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  56. package/dist/shared/src/api/generated/graphql.es.js +126 -64
  57. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  58. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  59. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  60. package/dist/shared/src/api/queries/actions/getActions.cjs.js.map +1 -1
  61. package/dist/shared/src/api/queries/actions/getActions.es.js.map +1 -1
  62. package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
  63. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  64. package/dist/shared/src/api/queries/activities/getCategories.cjs.js.map +1 -1
  65. package/dist/shared/src/api/queries/activities/getCategories.es.js.map +1 -1
  66. package/dist/shared/src/api/queries/activities/patchTableLatestComments.cjs.js.map +1 -1
  67. package/dist/shared/src/api/queries/activities/patchTableLatestComments.es.js.map +1 -1
  68. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js.map +1 -1
  69. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js.map +1 -1
  70. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
  71. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
  72. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +55 -151
  73. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
  74. package/dist/shared/src/api/queries/addons/updateAddons.cjs.js.map +1 -1
  75. package/dist/shared/src/api/queries/addons/updateAddons.es.js.map +1 -1
  76. package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js.map +1 -1
  77. package/dist/shared/src/api/queries/attributes/getAttributes.es.js.map +1 -1
  78. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js.map +1 -1
  79. package/dist/shared/src/api/queries/columnStats/columnStats.es.js.map +1 -1
  80. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js +1 -1
  81. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js.map +1 -1
  82. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js +36 -36
  83. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js.map +1 -1
  84. package/dist/shared/src/api/queries/entities/getEntity.cjs.js.map +1 -1
  85. package/dist/shared/src/api/queries/entities/getEntity.es.js.map +1 -1
  86. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
  87. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
  88. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +58 -113
  89. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  90. package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js.map +1 -1
  91. package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js.map +1 -1
  92. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  93. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  94. package/dist/shared/src/api/queries/entityLists/getLists.es.js +67 -118
  95. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  96. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js +1 -1
  97. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js.map +1 -1
  98. package/dist/shared/src/api/queries/entityLists/listFolders.es.js +40 -95
  99. package/dist/shared/src/api/queries/entityLists/listFolders.es.js.map +1 -1
  100. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
  101. package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
  102. package/dist/shared/src/api/queries/folders/getFolderDeleteInfo.cjs.js.map +1 -1
  103. package/dist/shared/src/api/queries/folders/getFolderDeleteInfo.es.js.map +1 -1
  104. package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -1
  105. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  106. package/dist/shared/src/api/queries/folders/getFolders.es.js +68 -119
  107. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  108. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
  109. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
  110. package/dist/shared/src/api/queries/links/getEntityLinks.es.js +73 -128
  111. package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
  112. package/dist/shared/src/api/queries/links/updateLinks.cjs.js.map +1 -1
  113. package/dist/shared/src/api/queries/links/updateLinks.es.js.map +1 -1
  114. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  115. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  116. package/dist/shared/src/api/queries/overview/getOverview.es.js +229 -282
  117. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  118. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  119. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  120. package/dist/shared/src/api/queries/products/getFolderProducts.cjs.js.map +1 -1
  121. package/dist/shared/src/api/queries/products/getFolderProducts.es.js.map +1 -1
  122. package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js +1 -1
  123. package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js.map +1 -1
  124. package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js +80 -134
  125. package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js.map +1 -1
  126. package/dist/shared/src/api/queries/review/getReview.cjs.js +1 -1
  127. package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
  128. package/dist/shared/src/api/queries/review/getReview.es.js +95 -152
  129. package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
  130. package/dist/shared/src/api/queries/share/share.cjs.js.map +1 -1
  131. package/dist/shared/src/api/queries/share/share.es.js.map +1 -1
  132. package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
  133. package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
  134. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
  135. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  136. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +88 -141
  137. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  138. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  139. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  140. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
  141. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
  142. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +30 -80
  143. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
  144. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.cjs.js.map +1 -1
  145. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.es.js.map +1 -1
  146. package/dist/shared/src/api/queries/versions/updateVersions.cjs.js.map +1 -1
  147. package/dist/shared/src/api/queries/versions/updateVersions.es.js.map +1 -1
  148. package/dist/shared/src/api/queries/views/getViews.cjs.js.map +1 -1
  149. package/dist/shared/src/api/queries/views/getViews.es.js.map +1 -1
  150. package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -1
  151. package/dist/shared/src/api/queries/views/updateViews.es.js.map +1 -1
  152. package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js.map +1 -1
  153. package/dist/shared/src/api/queries/watchers/getWatchers.es.js.map +1 -1
  154. package/dist/shared/src/components/AccessSearchInput/AccessSearchInput.cjs.js.map +1 -1
  155. package/dist/shared/src/components/AccessSearchInput/AccessSearchInput.es.js.map +1 -1
  156. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +1 -1
  157. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
  158. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +28 -30
  159. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
  160. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js +1 -1
  161. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js.map +1 -1
  162. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js +29 -125
  163. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js.map +1 -1
  164. package/dist/shared/src/components/Chips/Chips.cjs.js +12 -6
  165. package/dist/shared/src/components/Chips/Chips.cjs.js.map +1 -1
  166. package/dist/shared/src/components/Chips/Chips.es.js +69 -62
  167. package/dist/shared/src/components/Chips/Chips.es.js.map +1 -1
  168. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js +3 -3
  169. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js.map +1 -1
  170. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js +16 -310
  171. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
  172. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js +5 -5
  173. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js.map +1 -1
  174. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.es.js +49 -145
  175. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.es.js.map +1 -1
  176. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +5 -5
  177. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
  178. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +45 -141
  179. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
  180. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  181. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  182. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +30 -166
  183. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  184. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  185. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  186. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +9 -195
  187. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  188. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +2 -2
  189. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  190. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +5 -200
  191. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  192. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js +4 -4
  193. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js.map +1 -1
  194. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js +18 -114
  195. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js.map +1 -1
  196. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js +2 -2
  197. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js.map +1 -1
  198. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js +13 -109
  199. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js.map +1 -1
  200. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  201. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  202. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +11 -316
  203. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  204. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js +1 -1
  205. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js.map +1 -1
  206. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js +23 -119
  207. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js.map +1 -1
  208. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js +1 -1
  209. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js.map +1 -1
  210. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js +0 -111
  211. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js.map +1 -1
  212. package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.cjs.js +1 -1
  213. package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.cjs.js.map +1 -1
  214. package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.es.js +1 -1
  215. package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.es.js.map +1 -1
  216. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js +1 -1
  217. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js.map +1 -1
  218. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js +12 -314
  219. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js.map +1 -1
  220. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  221. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  222. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +86 -273
  223. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  224. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  225. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  226. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +34 -335
  227. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  228. package/dist/shared/src/components/EntityPath/EntityPath.cjs.js.map +1 -1
  229. package/dist/shared/src/components/EntityPath/EntityPath.es.js.map +1 -1
  230. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  231. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  232. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +15 -310
  233. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  234. package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.cjs.js.map +1 -1
  235. package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.es.js.map +1 -1
  236. package/dist/shared/src/components/EnumEditor/EnumEditorItem.cjs.js.map +1 -1
  237. package/dist/shared/src/components/EnumEditor/EnumEditorItem.es.js.map +1 -1
  238. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  239. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  240. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +89 -293
  241. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  242. package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.cjs.js +2 -2
  243. package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.cjs.js.map +1 -1
  244. package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.es.js +10 -106
  245. package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.es.js.map +1 -1
  246. package/dist/shared/src/components/InfoMessage/InfoMessage.cjs.js +1 -1
  247. package/dist/shared/src/components/InfoMessage/InfoMessage.cjs.js.map +1 -1
  248. package/dist/shared/src/components/InfoMessage/InfoMessage.es.js +6 -5
  249. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  250. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  251. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
  252. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
  253. package/dist/shared/src/components/LinksManager/LinksManager.es.js +51 -346
  254. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
  255. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  256. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  257. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +7 -212
  258. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  259. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  260. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  261. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +2 -205
  262. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  263. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
  264. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -1
  265. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +4 -185
  266. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -1
  267. package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
  268. package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -1
  269. package/dist/shared/src/components/Menu/Menu.es.js +48 -343
  270. package/dist/shared/src/components/Menu/Menu.es.js.map +1 -1
  271. package/dist/shared/src/components/Menu/MenuItem.cjs.js +1 -1
  272. package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -1
  273. package/dist/shared/src/components/Menu/MenuItem.es.js +20 -316
  274. package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -1
  275. package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
  276. package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
  277. package/dist/shared/src/components/Menu/MenuList.es.js +74 -373
  278. package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
  279. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +2 -2
  280. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  281. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +16 -315
  282. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  283. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  284. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  285. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +48 -346
  286. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  287. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +2 -2
  288. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  289. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +134 -304
  290. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  291. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
  292. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  293. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +78 -371
  294. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  295. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  296. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  297. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +3 -299
  298. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  299. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  300. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  301. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +34 -334
  302. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  303. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  304. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  305. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +30 -331
  306. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  307. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +5 -5
  308. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  309. package/dist/shared/src/components/RenameForm/RenameForm.es.js +77 -372
  310. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  311. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  312. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  313. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +114 -309
  314. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  315. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  316. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  317. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +66 -365
  318. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  319. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  320. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  321. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +14 -316
  322. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  323. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  324. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  325. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +70 -72
  326. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  327. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  328. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  329. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +24 -326
  330. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  331. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.cjs.js.map +1 -1
  332. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.es.js.map +1 -1
  333. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  334. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  335. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +335 -534
  336. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  337. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +7 -7
  338. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  339. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +29 -329
  340. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  341. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +4 -4
  342. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  343. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +53 -355
  344. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  345. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +2 -2
  346. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  347. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +95 -394
  348. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  349. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js +1 -1
  350. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js.map +1 -1
  351. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js +39 -8
  352. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js.map +1 -1
  353. package/dist/shared/src/components/SyncButton/SyncButton.cjs.js +2 -2
  354. package/dist/shared/src/components/SyncButton/SyncButton.cjs.js.map +1 -1
  355. package/dist/shared/src/components/SyncButton/SyncButton.es.js +52 -165
  356. package/dist/shared/src/components/SyncButton/SyncButton.es.js.map +1 -1
  357. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +3 -3
  358. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  359. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +35 -334
  360. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  361. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js +1 -1
  362. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js.map +1 -1
  363. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js +26 -122
  364. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js.map +1 -1
  365. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js +3 -3
  366. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js.map +1 -1
  367. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js +22 -118
  368. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js.map +1 -1
  369. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +13 -13
  370. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  371. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +99 -300
  372. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  373. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  374. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  375. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +61 -262
  376. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  377. package/dist/shared/src/config/plannerFeatures.cjs.js.map +1 -1
  378. package/dist/shared/src/config/plannerFeatures.es.js.map +1 -1
  379. package/dist/shared/src/config/powerpackFeatures.cjs.js.map +1 -1
  380. package/dist/shared/src/config/powerpackFeatures.es.js.map +1 -1
  381. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  382. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  383. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +6 -210
  384. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  385. package/dist/shared/src/containers/Actions/ActionIcon.cjs.js.map +1 -1
  386. package/dist/shared/src/containers/Actions/ActionIcon.es.js.map +1 -1
  387. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  388. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  389. package/dist/shared/src/containers/Actions/Actions.es.js +51 -250
  390. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  391. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js.map +1 -1
  392. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js.map +1 -1
  393. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  394. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  395. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +20 -323
  396. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  397. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.cjs.js.map +1 -1
  398. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.es.js.map +1 -1
  399. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.cjs.js.map +1 -1
  400. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.es.js.map +1 -1
  401. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  402. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  403. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +151 -334
  404. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  405. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +3 -3
  406. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  407. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +27 -329
  408. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  409. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  410. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +39 -236
  412. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  413. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  414. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +65 -255
  416. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  417. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js +1 -1
  418. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js +16 -317
  420. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js.map +1 -1
  421. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  422. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +61 -354
  424. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
  425. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js +5 -5
  426. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js +20 -116
  428. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js.map +1 -1
  429. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  430. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
  431. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +2 -306
  432. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
  433. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.cjs.js +1 -1
  434. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.es.js +51 -147
  436. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.es.js.map +1 -1
  437. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  438. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +2 -202
  440. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  441. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.cjs.js.map +1 -1
  442. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.es.js.map +1 -1
  443. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js.map +1 -1
  444. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.es.js.map +1 -1
  445. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.cjs.js.map +1 -1
  446. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.es.js.map +1 -1
  447. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +9 -9
  448. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  449. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +18 -320
  450. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  451. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  452. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  453. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +13 -217
  454. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  455. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  456. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  457. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +22 -323
  458. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  459. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  460. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  461. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +27 -307
  462. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  463. package/dist/shared/src/containers/DetailsPanel/helpers/buildDetailsPanelTitles.cjs.js.map +1 -1
  464. package/dist/shared/src/containers/DetailsPanel/helpers/buildDetailsPanelTitles.es.js.map +1 -1
  465. package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.cjs.js.map +1 -1
  466. package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.es.js.map +1 -1
  467. package/dist/shared/src/containers/DetailsPanel/helpers/getAllProjectsStatuses.cjs.js.map +1 -1
  468. package/dist/shared/src/containers/DetailsPanel/helpers/getAllProjectsStatuses.es.js.map +1 -1
  469. package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.cjs.js.map +1 -1
  470. package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.es.js.map +1 -1
  471. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js +1 -1
  472. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js.map +1 -1
  473. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js +10 -106
  474. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js.map +1 -1
  475. package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.cjs.js.map +1 -1
  476. package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.es.js.map +1 -1
  477. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  478. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  479. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +2 -209
  480. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  481. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +2 -2
  482. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  483. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +74 -373
  484. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  485. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  486. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  487. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +20 -324
  488. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  489. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +6 -6
  490. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  491. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +32 -338
  492. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  493. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +3 -3
  494. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  495. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +12 -318
  496. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  497. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js +1 -1
  498. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js.map +1 -1
  499. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js +11 -107
  500. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js.map +1 -1
  501. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  502. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  503. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +23 -228
  504. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  505. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js +1 -1
  506. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js.map +1 -1
  507. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js +27 -123
  508. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js.map +1 -1
  509. package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.cjs.js.map +1 -1
  510. package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.es.js.map +1 -1
  511. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  512. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  513. package/dist/shared/src/containers/Feed/Feed.es.js +65 -245
  514. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  515. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js.map +1 -1
  516. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.es.js.map +1 -1
  517. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  518. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  519. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +8 -309
  520. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  521. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  522. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  523. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +145 -421
  524. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  525. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  526. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  527. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +18 -317
  528. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  529. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js +1 -1
  530. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js.map +1 -1
  531. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js +24 -120
  532. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js.map +1 -1
  533. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  534. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  535. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +42 -331
  536. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  537. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js.map +1 -1
  538. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.styled.es.js.map +1 -1
  539. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  540. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  541. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +227 -372
  542. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  543. package/dist/shared/src/containers/Feed/components/CommentInput/VersionReviewPill.cjs.js.map +1 -1
  544. package/dist/shared/src/containers/Feed/components/CommentInput/VersionReviewPill.es.js.map +1 -1
  545. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  546. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  547. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +38 -341
  548. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  549. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  550. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  551. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +22 -324
  552. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  553. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js +1 -1
  554. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js.map +1 -1
  555. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js +9 -105
  556. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js.map +1 -1
  557. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  558. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  559. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +21 -324
  560. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  561. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.cjs.js +1 -1
  562. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.cjs.js.map +1 -1
  563. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.es.js +16 -26
  564. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.es.js.map +1 -1
  565. package/dist/shared/src/containers/Feed/components/CommentInput/quillFormats.cjs.js +2 -0
  566. package/dist/shared/src/containers/Feed/components/CommentInput/quillFormats.cjs.js.map +1 -0
  567. package/dist/shared/src/containers/Feed/components/CommentInput/quillFormats.es.js +14 -0
  568. package/dist/shared/src/containers/Feed/components/CommentInput/quillFormats.es.js.map +1 -0
  569. package/dist/shared/src/containers/Feed/components/CommentInput/types.cjs.js +1 -1
  570. package/dist/shared/src/containers/Feed/components/CommentInput/types.cjs.js.map +1 -1
  571. package/dist/shared/src/containers/Feed/components/CommentInput/types.es.js +2 -15
  572. package/dist/shared/src/containers/Feed/components/CommentInput/types.es.js.map +1 -1
  573. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +2 -2
  574. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js.map +1 -1
  575. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +62 -361
  576. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js.map +1 -1
  577. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  578. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  579. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +57 -356
  580. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  581. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  582. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  583. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +14 -310
  584. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  585. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  586. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  587. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +34 -238
  588. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  589. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.cjs.js +1 -1
  590. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.cjs.js.map +1 -1
  591. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.es.js +24 -18
  592. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.es.js.map +1 -1
  593. package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.cjs.js +1 -1
  594. package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.cjs.js.map +1 -1
  595. package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.es.js +26 -25
  596. package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.es.js.map +1 -1
  597. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js +1 -1
  598. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js.map +1 -1
  599. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js +67 -163
  600. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js.map +1 -1
  601. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.cjs.js.map +1 -1
  602. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.es.js +18 -8
  603. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.es.js.map +1 -1
  604. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js +1 -1
  605. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js.map +1 -1
  606. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js +10 -106
  607. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js.map +1 -1
  608. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionUsers.cjs.js.map +1 -1
  609. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionUsers.es.js.map +1 -1
  610. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js +1 -1
  611. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js.map +1 -1
  612. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js +13 -109
  613. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js.map +1 -1
  614. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  615. package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
  616. package/dist/shared/src/containers/ListTable/ListTable.es.js +115 -284
  617. package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
  618. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  619. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  620. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +56 -177
  621. package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
  622. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  623. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
  624. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +46 -343
  625. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
  626. package/dist/shared/src/containers/ListTable/ListTableWidgets.cjs.js.map +1 -1
  627. package/dist/shared/src/containers/ListTable/ListTableWidgets.es.js.map +1 -1
  628. package/dist/shared/src/containers/MoveEntityDialog/MoveEntityDialog.cjs.js.map +1 -1
  629. package/dist/shared/src/containers/MoveEntityDialog/MoveEntityDialog.es.js.map +1 -1
  630. package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js +3 -3
  631. package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js.map +1 -1
  632. package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js +170 -459
  633. package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js.map +1 -1
  634. package/dist/shared/src/containers/NewEntity/components/TypeEditor.cjs.js.map +1 -1
  635. package/dist/shared/src/containers/NewEntity/components/TypeEditor.es.js.map +1 -1
  636. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js +1 -1
  637. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js.map +1 -1
  638. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.es.js +117 -314
  639. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.es.js.map +1 -1
  640. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  641. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  642. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +613 -883
  643. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  644. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +6 -0
  645. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
  646. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +14 -8
  647. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
  648. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  649. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  650. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +289 -413
  651. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  652. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  653. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  654. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +75 -375
  655. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  656. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  657. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  658. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +32 -204
  659. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  660. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  661. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  662. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +38 -124
  663. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  664. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js +7 -7
  665. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js.map +1 -1
  666. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js +35 -131
  667. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js.map +1 -1
  668. package/dist/shared/src/containers/ProjectTreeTable/constants.cjs.js +1 -1
  669. package/dist/shared/src/containers/ProjectTreeTable/constants.cjs.js.map +1 -1
  670. package/dist/shared/src/containers/ProjectTreeTable/constants.es.js +6 -3
  671. package/dist/shared/src/containers/ProjectTreeTable/constants.es.js.map +1 -1
  672. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  673. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  674. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +97 -292
  675. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  676. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +4 -4
  677. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  678. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +243 -441
  679. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  680. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  681. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  682. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +156 -330
  683. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  684. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  685. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  686. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +4 -208
  687. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  688. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +1 -1
  689. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  690. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +120 -420
  691. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  692. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  693. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  694. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +71 -245
  695. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  696. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.cjs.js.map +1 -1
  697. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.es.js +3 -3
  698. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.es.js.map +1 -1
  699. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.cjs.js.map +1 -1
  700. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.es.js.map +1 -1
  701. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.cjs.js.map +1 -1
  702. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.es.js.map +1 -1
  703. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js +1 -1
  704. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js.map +1 -1
  705. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js +83 -179
  706. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js.map +1 -1
  707. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  708. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  709. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +13 -317
  710. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  711. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  712. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  713. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +59 -233
  714. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  715. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  716. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  717. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +74 -248
  718. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  719. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  720. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  721. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +147 -439
  722. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  723. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  724. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  725. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +23 -197
  726. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  727. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  728. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  729. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +32 -206
  730. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  731. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  732. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  733. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +32 -332
  734. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  735. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  736. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  737. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +135 -335
  738. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  739. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js.map +1 -1
  740. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js.map +1 -1
  741. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  742. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  743. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +29 -203
  744. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  745. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  746. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  747. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +36 -204
  748. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  749. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  750. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  751. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +78 -282
  752. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  753. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  754. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  755. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +31 -232
  756. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  757. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  758. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  759. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +24 -198
  760. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  761. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  762. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  763. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +43 -217
  764. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  765. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  766. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  767. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +167 -467
  768. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  769. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  770. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  771. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +41 -215
  772. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  773. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js.map +1 -1
  774. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js.map +1 -1
  775. package/dist/shared/src/containers/ProjectTreeTable/utils/getEntityViewerIds.cjs.js.map +1 -1
  776. package/dist/shared/src/containers/ProjectTreeTable/utils/getEntityViewerIds.es.js.map +1 -1
  777. package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.cjs.js.map +1 -1
  778. package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.es.js.map +1 -1
  779. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js.map +1 -1
  780. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js.map +1 -1
  781. package/dist/shared/src/containers/ProjectTreeTable/utils/getTypeDefaultValue.cjs.js.map +1 -1
  782. package/dist/shared/src/containers/ProjectTreeTable/utils/getTypeDefaultValue.es.js.map +1 -1
  783. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.cjs.js.map +1 -1
  784. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.es.js.map +1 -1
  785. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.cjs.js.map +1 -1
  786. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.es.js.map +1 -1
  787. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
  788. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
  789. package/dist/shared/src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.cjs.js.map +1 -1
  790. package/dist/shared/src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.es.js.map +1 -1
  791. package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.cjs.js.map +1 -1
  792. package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.es.js.map +1 -1
  793. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +2 -2
  794. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  795. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +14 -315
  796. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  797. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +5 -3
  798. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  799. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +159 -441
  800. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  801. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +5 -5
  802. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
  803. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +40 -332
  804. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
  805. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.cjs.js +9 -1
  806. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.cjs.js.map +1 -1
  807. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.es.js +47 -31
  808. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.es.js.map +1 -1
  809. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js +28 -9
  810. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js.map +1 -1
  811. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js +58 -39
  812. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js.map +1 -1
  813. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.cjs.js +1 -1
  814. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.cjs.js.map +1 -1
  815. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.es.js +22 -194
  816. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.es.js.map +1 -1
  817. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js +53 -25
  818. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js.map +1 -1
  819. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js +150 -103
  820. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js.map +1 -1
  821. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +9 -2
  822. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
  823. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +66 -57
  824. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
  825. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +3 -3
  826. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  827. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +52 -348
  828. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  829. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +5 -5
  830. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
  831. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +77 -364
  832. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js.map +1 -1
  833. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  834. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  835. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +28 -202
  836. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  837. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  838. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  839. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +37 -333
  840. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  841. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +5 -5
  842. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
  843. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +130 -424
  844. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
  845. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +19 -3
  846. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
  847. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +119 -196
  848. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
  849. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +5 -5
  850. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -1
  851. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +12 -108
  852. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js.map +1 -1
  853. package/dist/shared/src/containers/ProjectTreeTable/widgets/wrapMode.cjs.js +6 -0
  854. package/dist/shared/src/containers/ProjectTreeTable/widgets/wrapMode.cjs.js.map +1 -0
  855. package/dist/shared/src/containers/ProjectTreeTable/widgets/wrapMode.es.js +11 -0
  856. package/dist/shared/src/containers/ProjectTreeTable/widgets/wrapMode.es.js.map +1 -0
  857. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  858. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  859. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +20 -217
  860. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  861. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  862. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  863. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +231 -527
  864. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  865. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +2 -2
  866. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -1
  867. package/dist/shared/src/containers/Slicer/components/Slicer.es.js +69 -367
  868. package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -1
  869. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +2 -2
  870. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
  871. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +18 -318
  872. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -1
  873. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +2 -2
  874. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  875. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +24 -328
  876. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  877. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  878. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  879. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +69 -370
  880. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  881. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
  882. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
  883. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +27 -228
  884. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
  885. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js +1 -1
  886. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js.map +1 -1
  887. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.es.js +34 -236
  888. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.es.js.map +1 -1
  889. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +1 -1
  890. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -1
  891. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +5 -309
  892. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
  893. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +1 -1
  894. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -1
  895. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +7 -311
  896. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -1
  897. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js +1 -1
  898. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js.map +1 -1
  899. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js +11 -314
  900. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js.map +1 -1
  901. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js +1 -1
  902. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js.map +1 -1
  903. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js +13 -316
  904. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js.map +1 -1
  905. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js +1 -1
  906. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js.map +1 -1
  907. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js +34 -338
  908. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js.map +1 -1
  909. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js +1 -1
  910. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js.map +1 -1
  911. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js +11 -316
  912. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js.map +1 -1
  913. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  914. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  915. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +72 -368
  916. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  917. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -1
  918. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -1
  919. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.cjs.js.map +1 -1
  920. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.es.js.map +1 -1
  921. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js +1 -1
  922. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js.map +1 -1
  923. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js +24 -120
  924. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js.map +1 -1
  925. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.cjs.js.map +1 -1
  926. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.es.js.map +1 -1
  927. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  928. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  929. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +35 -336
  930. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  931. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  932. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  933. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +55 -354
  934. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  935. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +2 -2
  936. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  937. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +40 -335
  938. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  939. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  940. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  941. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +89 -287
  942. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  943. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js +1 -1
  944. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js.map +1 -1
  945. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js +17 -113
  946. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js.map +1 -1
  947. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -1
  948. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
  949. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +45 -141
  950. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
  951. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.cjs.js.map +1 -1
  952. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.es.js.map +1 -1
  953. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  954. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  955. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +22 -216
  956. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  957. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  958. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  959. package/dist/shared/src/containers/Views/types.cjs.js.map +1 -1
  960. package/dist/shared/src/containers/Views/types.es.js.map +1 -1
  961. package/dist/shared/src/containers/Views/utils/generateWorkingView.cjs.js.map +1 -1
  962. package/dist/shared/src/containers/Views/utils/generateWorkingView.es.js.map +1 -1
  963. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  964. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  965. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +47 -46
  966. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  967. package/dist/shared/src/context/AddonContext.cjs.js.map +1 -1
  968. package/dist/shared/src/context/AddonContext.es.js.map +1 -1
  969. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  970. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  971. package/dist/shared/src/context/AddonProjectContext.es.js +19 -115
  972. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  973. package/dist/shared/src/context/DeleteEntitiesContext.cjs.js +1 -1
  974. package/dist/shared/src/context/DeleteEntitiesContext.cjs.js.map +1 -1
  975. package/dist/shared/src/context/DeleteEntitiesContext.es.js +1 -1
  976. package/dist/shared/src/context/DeleteEntitiesContext.es.js.map +1 -1
  977. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  978. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  979. package/dist/shared/src/context/DetailsPanelContext.es.js +66 -362
  980. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  981. package/dist/shared/src/context/EntityUpdatesContext.cjs.js +1 -1
  982. package/dist/shared/src/context/EntityUpdatesContext.cjs.js.map +1 -1
  983. package/dist/shared/src/context/EntityUpdatesContext.es.js +61 -358
  984. package/dist/shared/src/context/EntityUpdatesContext.es.js.map +1 -1
  985. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  986. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  987. package/dist/shared/src/context/PowerpackContext.es.js +42 -344
  988. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  989. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  990. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  991. package/dist/shared/src/context/ProjectContext.es.js +1 -1
  992. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  993. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  994. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  995. package/dist/shared/src/context/ProjectFoldersContext.es.js +26 -231
  996. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  997. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  998. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  999. package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
  1000. package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
  1001. package/dist/shared/src/context/SubtasksModulesContext.es.js +23 -324
  1002. package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
  1003. package/dist/shared/src/context/ThumbnailUploaderContext.cjs.js +1 -1
  1004. package/dist/shared/src/context/ThumbnailUploaderContext.cjs.js.map +1 -1
  1005. package/dist/shared/src/context/ThumbnailUploaderContext.es.js +17 -21
  1006. package/dist/shared/src/context/ThumbnailUploaderContext.es.js.map +1 -1
  1007. package/dist/shared/src/context/UriContext.cjs.js +1 -1
  1008. package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
  1009. package/dist/shared/src/context/UriContext.es.js +2 -2
  1010. package/dist/shared/src/context/UriContext.es.js.map +1 -1
  1011. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  1012. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  1013. package/dist/shared/src/context/WebsocketContext.es.js +28 -229
  1014. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  1015. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  1016. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  1017. package/dist/shared/src/hooks/useEntityUpdate.es.js +2 -208
  1018. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  1019. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  1020. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  1021. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +11 -314
  1022. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  1023. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  1024. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  1025. package/dist/shared/src/hooks/useHierarchyTable.es.js +30 -333
  1026. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  1027. package/dist/shared/src/hooks/useLoadModules.cjs.js.map +1 -1
  1028. package/dist/shared/src/hooks/useLoadModules.es.js.map +1 -1
  1029. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js +1 -1
  1030. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js.map +1 -1
  1031. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js +19 -115
  1032. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js.map +1 -1
  1033. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  1034. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  1035. package/dist/shared/src/hooks/useUserProjectConfig.es.js +6 -212
  1036. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  1037. package/dist/shared/src/util/buildHierarchicalTableRows.cjs.js +1 -1
  1038. package/dist/shared/src/util/buildHierarchicalTableRows.cjs.js.map +1 -1
  1039. package/dist/shared/src/util/buildHierarchicalTableRows.es.js +36 -33
  1040. package/dist/shared/src/util/buildHierarchicalTableRows.es.js.map +1 -1
  1041. package/dist/shared/src/util/checkName.cjs.js.map +1 -1
  1042. package/dist/shared/src/util/checkName.es.js.map +1 -1
  1043. package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
  1044. package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
  1045. package/dist/shared/src/util/getAttributeIcon.cjs.js.map +1 -1
  1046. package/dist/shared/src/util/getAttributeIcon.es.js.map +1 -1
  1047. package/dist/shared/src/util/getBundleMode.cjs.js +1 -1
  1048. package/dist/shared/src/util/getBundleMode.cjs.js.map +1 -1
  1049. package/dist/shared/src/util/getBundleMode.es.js +16 -112
  1050. package/dist/shared/src/util/getBundleMode.es.js.map +1 -1
  1051. package/dist/shared/src/util/getGroupByDataType.cjs.js.map +1 -1
  1052. package/dist/shared/src/util/getGroupByDataType.es.js.map +1 -1
  1053. package/dist/shared/src/util/getPriorityOptions.cjs.js.map +1 -1
  1054. package/dist/shared/src/util/getPriorityOptions.es.js.map +1 -1
  1055. package/dist/shared/src/util/iconUtils.cjs.js.map +1 -1
  1056. package/dist/shared/src/util/iconUtils.es.js.map +1 -1
  1057. package/dist/shared/src/util/mentionTypeOptions.cjs.js +2 -0
  1058. package/dist/shared/src/util/mentionTypeOptions.cjs.js.map +1 -0
  1059. package/dist/shared/src/util/mentionTypeOptions.es.js +16 -0
  1060. package/dist/shared/src/util/mentionTypeOptions.es.js.map +1 -0
  1061. package/dist/shared/src/util/parseFilename.cjs.js +2 -0
  1062. package/dist/shared/src/util/parseFilename.cjs.js.map +1 -0
  1063. package/dist/shared/src/util/parseFilename.es.js +8 -0
  1064. package/dist/shared/src/util/parseFilename.es.js.map +1 -0
  1065. package/dist/shared/src/util/uriUtils.cjs.js.map +1 -1
  1066. package/dist/shared/src/util/uriUtils.es.js.map +1 -1
  1067. package/dist/types/api/base/index.d.ts +1 -1
  1068. package/dist/types/api/generated/graphql.d.ts +76 -2
  1069. package/dist/types/api/generated/graphqlLinks.d.ts +1 -0
  1070. package/dist/types/api/queries/activities/getActivities.d.ts +32 -2
  1071. package/dist/types/api/queries/activities/getCategories.d.ts +1 -1
  1072. package/dist/types/api/queries/activities/util/activityRealtimeHandler.d.ts +1 -1
  1073. package/dist/types/api/queries/entities/getEntity.d.ts +16 -1
  1074. package/dist/types/api/queries/entities/getEntityPanel.d.ts +16 -1
  1075. package/dist/types/api/queries/entities/updateEntity.d.ts +16 -1
  1076. package/dist/types/api/queries/entityLists/getLists.d.ts +319 -305
  1077. package/dist/types/api/queries/overview/getOverview.d.ts +49 -18
  1078. package/dist/types/api/queries/project/getProject.d.ts +76 -61
  1079. package/dist/types/api/queries/system/getSystem.d.ts +1 -1
  1080. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +16 -1
  1081. package/dist/types/api/queries/users/getUsers.d.ts +16 -1
  1082. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +32 -2
  1083. package/dist/types/api/queries/views/getViews.d.ts +1 -1
  1084. package/dist/types/components/DetailsPanelDetails/DetailsSection.d.ts +1 -1
  1085. package/dist/types/components/Menu/Menu.d.ts +1 -1
  1086. package/dist/types/components/Menu/MenuList.d.ts +1 -1
  1087. package/dist/types/components/Powerpack/PowerpackButton.d.ts +1 -1
  1088. package/dist/types/components/ProjectTableSettings/ColumnsSettings.d.ts +1 -1
  1089. package/dist/types/components/ProjectTableSettings/ProjectTableSettings.d.ts +2 -2
  1090. package/dist/types/components/ProjectTableSettings/TableSettingsFallback.d.ts +1 -1
  1091. package/dist/types/components/RemotePage/ProjectPageRemote.d.ts +1 -1
  1092. package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +4 -2
  1093. package/dist/types/components/RenameForm/RenameForm.d.ts +1 -1
  1094. package/dist/types/components/ReviewablesList/SortableReviewableCard.d.ts +1 -1
  1095. package/dist/types/components/ReviewablesList/useReviewablesUpload.d.ts +2 -2
  1096. package/dist/types/components/ReviewablesSelector/Card.d.ts +1 -1
  1097. package/dist/types/components/SearchFilter/filterScopeRegistry.d.ts +1 -1
  1098. package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +1 -1
  1099. package/dist/types/components/SettingsPanel/SettingsPanel.d.ts +1 -1
  1100. package/dist/types/components/SubtasksManager/SubtasksManagerWrapper.d.ts +4 -1
  1101. package/dist/types/components/SyncButton/SyncButton.d.ts +1 -1
  1102. package/dist/types/components/Thumbnail/StackedThumbnails.d.ts +1 -2
  1103. package/dist/types/config/plannerFeatures.d.ts +1 -1
  1104. package/dist/types/config/powerpackFeatures.d.ts +1 -1
  1105. package/dist/types/containers/Actions/Actions.d.ts +2 -2
  1106. package/dist/types/containers/ContextMenu/ContextMenuItem.d.ts +1 -1
  1107. package/dist/types/containers/ContextMenu/useCreateContextMenu.d.ts +1 -1
  1108. package/dist/types/containers/DetailsPanel/DetailsPanel.d.ts +1 -1
  1109. package/dist/types/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.d.ts +2 -2
  1110. package/dist/types/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.d.ts +1 -1
  1111. package/dist/types/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.d.ts +2 -2
  1112. package/dist/types/containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.d.ts +1 -1
  1113. package/dist/types/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.d.ts +3 -3
  1114. package/dist/types/containers/DetailsPanel/containers/DetailsPanelSubtasks.d.ts +1 -1
  1115. package/dist/types/containers/DetailsPanel/helpers/buildEntityTypeIcons.d.ts +1 -1
  1116. package/dist/types/containers/DetailsPanel/helpers/getEntityPathData.d.ts +1 -1
  1117. package/dist/types/containers/DetailsPanel/helpers/mergeProjectInfo.d.ts +1 -1
  1118. package/dist/types/containers/DetailsPanel/hooks/useGetEntityPath.d.ts +1 -1
  1119. package/dist/types/containers/EntityPickerDialog/components/EntityTypeTable.d.ts +1 -1
  1120. package/dist/types/containers/EntityPickerDialog/hooks/useGetEntityPickerData.d.ts +1 -1
  1121. package/dist/types/containers/EntityPickerDialog/util/buildEntityPickerTableData.d.ts +1 -1
  1122. package/dist/types/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.d.ts +1 -1
  1123. package/dist/types/containers/Feed/components/ActivityReference/ActivityReference.styled.d.ts +2 -2
  1124. package/dist/types/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.d.ts +1 -1
  1125. package/dist/types/containers/Feed/components/ActivityVersions/ActivityVersions.styled.d.ts +1 -1
  1126. package/dist/types/containers/Feed/components/CommentInput/modules/index.d.ts +1 -1
  1127. package/dist/types/containers/Feed/components/CommentInput/quillFormats.d.ts +1 -0
  1128. package/dist/types/containers/Feed/components/CommentInput/types.d.ts +1 -12
  1129. package/dist/types/containers/Feed/components/FileUploadCard/FileUploadCard.d.ts +1 -1
  1130. package/dist/types/containers/Feed/context/FeedContext.d.ts +1 -1
  1131. package/dist/types/containers/Feed/helpers/buildBackendFilter.d.ts +1 -0
  1132. package/dist/types/containers/Feed/hooks/useLastVersionReview.d.ts +1 -1
  1133. package/dist/types/containers/Feed/mentionHelpers/getMentionTasks.d.ts +1 -1
  1134. package/dist/types/containers/Feed/mentionHelpers/getMentionUsers.d.ts +1 -1
  1135. package/dist/types/containers/Feed/mentionHelpers/getMentionVersions.d.ts +2 -2
  1136. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +1 -1
  1137. package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +2 -1
  1138. package/dist/types/containers/ProjectTreeTable/constants.d.ts +3 -0
  1139. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +4 -3
  1140. package/dist/types/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +1 -1
  1141. package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +4 -5
  1142. package/dist/types/containers/ProjectTreeTable/hooks/useFolderRelationships.d.ts +1 -1
  1143. package/dist/types/containers/ProjectTreeTable/hooks/useGetEntityTypeData.d.ts +2 -2
  1144. package/dist/types/containers/ProjectTreeTable/hooks/useMoveEntities.d.ts +1 -1
  1145. package/dist/types/containers/ProjectTreeTable/hooks/usePasteLinks.d.ts +1 -1
  1146. package/dist/types/containers/ProjectTreeTable/hooks/useQueryFilters.d.ts +1 -1
  1147. package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +6 -5
  1148. package/dist/types/containers/ProjectTreeTable/utils/getEntityViewerIds.d.ts +1 -1
  1149. package/dist/types/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.d.ts +1 -1
  1150. package/dist/types/containers/ProjectTreeTable/utils/linksToTableData.d.ts +1 -1
  1151. package/dist/types/containers/ProjectTreeTable/utils/sanitizeQueryFilter.d.ts +1 -1
  1152. package/dist/types/containers/ProjectTreeTable/widgets/LinksWidget.d.ts +1 -1
  1153. package/dist/types/containers/ProjectTreeTable/widgets/NameWidget.d.ts +1 -1
  1154. package/dist/types/containers/ProjectTreeTable/widgets/SubtasksWidget.d.ts +1 -0
  1155. package/dist/types/containers/ProjectTreeTable/widgets/TextWidget.d.ts +2 -1
  1156. package/dist/types/containers/ProjectTreeTable/widgets/wrapMode.d.ts +2 -0
  1157. package/dist/types/containers/Slicer/components/Slicer.d.ts +2 -2
  1158. package/dist/types/containers/Slicer/components/SlicerDropdownFallback.d.ts +1 -1
  1159. package/dist/types/containers/Slicer/context/SlicerContext.d.ts +3 -4
  1160. package/dist/types/containers/Slicer/hooks/useEntityListsSlice.d.ts +1 -1
  1161. package/dist/types/containers/Slicer/hooks/useHierarchyContextMenuItems.d.ts +3 -3
  1162. package/dist/types/containers/Slicer/hooks/useProjectAnatomySlices.d.ts +1 -1
  1163. package/dist/types/containers/Slicer/hooks/useSlicerCounts.d.ts +1 -1
  1164. package/dist/types/containers/Slicer/hooks/useUsersTable.d.ts +1 -1
  1165. package/dist/types/containers/Slicer/types.d.ts +1 -1
  1166. package/dist/types/containers/Views/context/ViewsContext.d.ts +1 -0
  1167. package/dist/types/containers/Views/hooks/pages/useListsViewSettings.d.ts +1 -1
  1168. package/dist/types/containers/Views/hooks/pages/useOverviewViewSettings.d.ts +1 -1
  1169. package/dist/types/containers/Views/types.d.ts +1 -1
  1170. package/dist/types/context/AddonContext.d.ts +1 -1
  1171. package/dist/types/context/AddonProjectContext.d.ts +2 -2
  1172. package/dist/types/context/DetailsPanelContext.d.ts +2 -2
  1173. package/dist/types/context/SubtasksModulesContext.d.ts +1 -1
  1174. package/dist/types/hooks/useHierarchyTable.d.ts +1 -1
  1175. package/dist/types/util/buildHierarchicalTableRows.d.ts +3 -1
  1176. package/dist/types/util/columnConfigConverter.d.ts +1 -1
  1177. package/dist/types/util/getBundleMode.d.ts +1 -1
  1178. package/dist/types/util/getGroupByDataType.d.ts +1 -1
  1179. package/dist/types/util/index.d.ts +2 -0
  1180. package/dist/types/util/mentionTypeOptions.d.ts +12 -0
  1181. package/dist/types/util/parseFilename.d.ts +1 -0
  1182. package/dist/types/util/uriUtils.d.ts +1 -1
  1183. package/dist/util.cjs.js +1 -1
  1184. package/dist/util.es.js +24 -20
  1185. package/dist/util.es.js.map +1 -1
  1186. package/package.json +1 -1
  1187. package/dist/shared/src/components/ThumbnailSimple/index.cjs.js +0 -2
  1188. package/dist/shared/src/components/ThumbnailSimple/index.cjs.js.map +0 -1
  1189. package/dist/shared/src/components/ThumbnailSimple/index.es.js +0 -6
  1190. package/dist/shared/src/components/ThumbnailSimple/index.es.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"getActions.cjs.js","sources":["../../../../../../src/api/queries/actions/getActions.ts"],"sourcesContent":["import {\n actionsApi,\n ConfigureActionApiArg,\n ConfigureActionApiResponse,\n ListAvailableActionsForContextApiArg,\n ListAvailableActionsForContextApiResponse,\n} from '@shared/api/generated'\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/query'\n\nconst enhancedApi = actionsApi.enhanceEndpoints({\n endpoints: {\n executeAction: {},\n listAvailableActionsForContext: {\n transformErrorResponse: (error: any) => error.data?.detail || 'Unknown error',\n },\n },\n})\n\nconst injectedActionsApi = enhancedApi.injectEndpoints({\n endpoints: (build) => ({\n getActionsFromContext: build.query<\n ListAvailableActionsForContextApiResponse,\n ListAvailableActionsForContextApiArg\n >({\n queryFn: async (args, { dispatch }) => {\n // get the data from the rest actionsApi\n const res = await dispatch(\n actionsApi.endpoints.listAvailableActionsForContext.initiate(args),\n )\n\n if (res.error) {\n return { error: res.error as FetchBaseQueryError }\n }\n\n return { data: res.data }\n },\n providesTags: (result, _error, args) => {\n const baseTags = [{ type: 'actions', id: 'LIST' }]\n const argsTags = args.actionContext.entityIds?.map((id) => ({ type: 'actions', id })) || []\n const actionTags =\n result?.actions?.map((action) => ({ type: 'actions', id: action.identifier })) || []\n return [...baseTags, ...argsTags, ...actionTags]\n },\n }),\n\n // Action configuration\n\n getActionConfig: build.query<ConfigureActionApiResponse, ConfigureActionApiArg>({\n queryFn: async (args, { dispatch }) => {\n // get the data from the rest actionsApi\n const res = await dispatch(actionsApi.endpoints.configureAction.initiate(args))\n if (res.error) {\n return { error: res.error as FetchBaseQueryError }\n }\n return { data: res.data }\n },\n\n providesTags: [{ type: 'actionConfig', id: 'LIST' }],\n }),\n\n setActionConfig: build.mutation<ConfigureActionApiResponse, ConfigureActionApiArg>({\n queryFn: async (args, { dispatch }) => {\n // get the data from the rest actionsApi\n const res = await dispatch(actionsApi.endpoints.configureAction.initiate(args))\n if (res.error) {\n return { error: res.error as FetchBaseQueryError }\n }\n return { data: res.data }\n },\n invalidatesTags: [{ type: 'actionConfig', id: 'LIST' }],\n }),\n\n // End of endpoints\n }),\n})\n\nexport const {\n useGetActionsFromContextQuery,\n useLazyGetActionsFromContextQuery,\n useExecuteActionMutation,\n useGetActionConfigQuery,\n useSetActionConfigMutation,\n} = injectedActionsApi\nexport { injectedActionsApi as actionsQueries }\n"],"names":["enhancedApi","actionsApi","error","injectedActionsApi","build","args","dispatch","res","result","_error","baseTags","argsTags","id","actionTags","action","useGetActionsFromContextQuery","useLazyGetActionsFromContextQuery","useExecuteActionMutation","useGetActionConfigQuery","useSetActionConfigMutation"],"mappings":"oxDASA,MAAMA,EAAcC,EAAAA,IAAW,iBAAiB,CAC9C,UAAW,CACT,cAAe,CAAA,EACf,+BAAgC,CAC9B,uBAAyBC,GAAeA,EAAM,MAAM,QAAU,eAAA,CAChE,CAEJ,CAAC,EAEKC,EAAqBH,EAAY,gBAAgB,CACrD,UAAYI,IAAW,CACrB,sBAAuBA,EAAM,MAG3B,CACA,QAAS,MAAOC,EAAM,CAAE,SAAAC,KAAe,CAErC,MAAMC,EAAM,MAAMD,EAChBL,EAAAA,IAAW,UAAU,+BAA+B,SAASI,CAAI,CAAA,EAGnE,OAAIE,EAAI,MACC,CAAE,MAAOA,EAAI,KAAA,EAGf,CAAE,KAAMA,EAAI,IAAA,CACrB,EACA,aAAc,CAACC,EAAQC,EAAQJ,IAAS,CACtC,MAAMK,EAAW,CAAC,CAAE,KAAM,UAAW,GAAI,OAAQ,EAC3CC,EAAWN,EAAK,cAAc,WAAW,IAAKO,IAAQ,CAAE,KAAM,UAAW,GAAAA,CAAA,EAAK,GAAK,CAAA,EACnFC,EACJL,GAAQ,SAAS,IAAKM,IAAY,CAAE,KAAM,UAAW,GAAIA,EAAO,UAAA,EAAa,GAAK,CAAA,EACpF,MAAO,CAAC,GAAGJ,EAAU,GAAGC,EAAU,GAAGE,CAAU,CACjD,CAAA,CACD,EAID,gBAAiBT,EAAM,MAAyD,CAC9E,QAAS,MAAOC,EAAM,CAAE,SAAAC,KAAe,CAErC,MAAMC,EAAM,MAAMD,EAASL,EAAAA,IAAW,UAAU,gBAAgB,SAASI,CAAI,CAAC,EAC9E,OAAIE,EAAI,MACC,CAAE,MAAOA,EAAI,KAAA,EAEf,CAAE,KAAMA,EAAI,IAAA,CACrB,EAEA,aAAc,CAAC,CAAE,KAAM,eAAgB,GAAI,OAAQ,CAAA,CACpD,EAED,gBAAiBH,EAAM,SAA4D,CACjF,QAAS,MAAOC,EAAM,CAAE,SAAAC,KAAe,CAErC,MAAMC,EAAM,MAAMD,EAASL,EAAAA,IAAW,UAAU,gBAAgB,SAASI,CAAI,CAAC,EAC9E,OAAIE,EAAI,MACC,CAAE,MAAOA,EAAI,KAAA,EAEf,CAAE,KAAMA,EAAI,IAAA,CACrB,EACA,gBAAiB,CAAC,CAAE,KAAM,eAAgB,GAAI,OAAQ,CAAA,CACvD,CAAA,EAIL,CAAC,EAEY,CACX,8BAAAQ,EACA,kCAAAC,EACA,yBAAAC,EACA,wBAAAC,EACA,2BAAAC,CACF,EAAIhB"}
1
+ {"version":3,"file":"getActions.cjs.js","sources":["../../../../../../src/api/queries/actions/getActions.ts"],"sourcesContent":["import { actionsApi } from '@shared/api/generated'\nimport type {\n ConfigureActionApiArg,\n ConfigureActionApiResponse,\n ListAvailableActionsForContextApiArg,\n ListAvailableActionsForContextApiResponse,\n} from '@shared/api/generated'\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/query'\n\nconst enhancedApi = actionsApi.enhanceEndpoints({\n endpoints: {\n executeAction: {},\n listAvailableActionsForContext: {\n transformErrorResponse: (error: any) => error.data?.detail || 'Unknown error',\n },\n },\n})\n\nconst injectedActionsApi = enhancedApi.injectEndpoints({\n endpoints: (build) => ({\n getActionsFromContext: build.query<\n ListAvailableActionsForContextApiResponse,\n ListAvailableActionsForContextApiArg\n >({\n queryFn: async (args, { dispatch }) => {\n // get the data from the rest actionsApi\n const res = await dispatch(\n actionsApi.endpoints.listAvailableActionsForContext.initiate(args),\n )\n\n if (res.error) {\n return { error: res.error as FetchBaseQueryError }\n }\n\n return { data: res.data }\n },\n providesTags: (result, _error, args) => {\n const baseTags = [{ type: 'actions', id: 'LIST' }]\n const argsTags = args.actionContext.entityIds?.map((id) => ({ type: 'actions', id })) || []\n const actionTags =\n result?.actions?.map((action) => ({ type: 'actions', id: action.identifier })) || []\n return [...baseTags, ...argsTags, ...actionTags]\n },\n }),\n\n // Action configuration\n\n getActionConfig: build.query<ConfigureActionApiResponse, ConfigureActionApiArg>({\n queryFn: async (args, { dispatch }) => {\n // get the data from the rest actionsApi\n const res = await dispatch(actionsApi.endpoints.configureAction.initiate(args))\n if (res.error) {\n return { error: res.error as FetchBaseQueryError }\n }\n return { data: res.data }\n },\n\n providesTags: [{ type: 'actionConfig', id: 'LIST' }],\n }),\n\n setActionConfig: build.mutation<ConfigureActionApiResponse, ConfigureActionApiArg>({\n queryFn: async (args, { dispatch }) => {\n // get the data from the rest actionsApi\n const res = await dispatch(actionsApi.endpoints.configureAction.initiate(args))\n if (res.error) {\n return { error: res.error as FetchBaseQueryError }\n }\n return { data: res.data }\n },\n invalidatesTags: [{ type: 'actionConfig', id: 'LIST' }],\n }),\n\n // End of endpoints\n }),\n})\n\nexport const {\n useGetActionsFromContextQuery,\n useLazyGetActionsFromContextQuery,\n useExecuteActionMutation,\n useGetActionConfigQuery,\n useSetActionConfigMutation,\n} = injectedActionsApi\nexport { injectedActionsApi as actionsQueries }\n"],"names":["enhancedApi","actionsApi","error","injectedActionsApi","build","args","dispatch","res","result","_error","baseTags","argsTags","id","actionTags","action","useGetActionsFromContextQuery","useLazyGetActionsFromContextQuery","useExecuteActionMutation","useGetActionConfigQuery","useSetActionConfigMutation"],"mappings":"oxDASA,MAAMA,EAAcC,EAAAA,IAAW,iBAAiB,CAC9C,UAAW,CACT,cAAe,CAAA,EACf,+BAAgC,CAC9B,uBAAyBC,GAAeA,EAAM,MAAM,QAAU,eAAA,CAChE,CAEJ,CAAC,EAEKC,EAAqBH,EAAY,gBAAgB,CACrD,UAAYI,IAAW,CACrB,sBAAuBA,EAAM,MAG3B,CACA,QAAS,MAAOC,EAAM,CAAE,SAAAC,KAAe,CAErC,MAAMC,EAAM,MAAMD,EAChBL,EAAAA,IAAW,UAAU,+BAA+B,SAASI,CAAI,CAAA,EAGnE,OAAIE,EAAI,MACC,CAAE,MAAOA,EAAI,KAAA,EAGf,CAAE,KAAMA,EAAI,IAAA,CACrB,EACA,aAAc,CAACC,EAAQC,EAAQJ,IAAS,CACtC,MAAMK,EAAW,CAAC,CAAE,KAAM,UAAW,GAAI,OAAQ,EAC3CC,EAAWN,EAAK,cAAc,WAAW,IAAKO,IAAQ,CAAE,KAAM,UAAW,GAAAA,CAAA,EAAK,GAAK,CAAA,EACnFC,EACJL,GAAQ,SAAS,IAAKM,IAAY,CAAE,KAAM,UAAW,GAAIA,EAAO,UAAA,EAAa,GAAK,CAAA,EACpF,MAAO,CAAC,GAAGJ,EAAU,GAAGC,EAAU,GAAGE,CAAU,CACjD,CAAA,CACD,EAID,gBAAiBT,EAAM,MAAyD,CAC9E,QAAS,MAAOC,EAAM,CAAE,SAAAC,KAAe,CAErC,MAAMC,EAAM,MAAMD,EAASL,EAAAA,IAAW,UAAU,gBAAgB,SAASI,CAAI,CAAC,EAC9E,OAAIE,EAAI,MACC,CAAE,MAAOA,EAAI,KAAA,EAEf,CAAE,KAAMA,EAAI,IAAA,CACrB,EAEA,aAAc,CAAC,CAAE,KAAM,eAAgB,GAAI,OAAQ,CAAA,CACpD,EAED,gBAAiBH,EAAM,SAA4D,CACjF,QAAS,MAAOC,EAAM,CAAE,SAAAC,KAAe,CAErC,MAAMC,EAAM,MAAMD,EAASL,EAAAA,IAAW,UAAU,gBAAgB,SAASI,CAAI,CAAC,EAC9E,OAAIE,EAAI,MACC,CAAE,MAAOA,EAAI,KAAA,EAEf,CAAE,KAAMA,EAAI,IAAA,CACrB,EACA,gBAAiB,CAAC,CAAE,KAAM,eAAgB,GAAI,OAAQ,CAAA,CACvD,CAAA,EAIL,CAAC,EAEY,CACX,8BAAAQ,EACA,kCAAAC,EACA,yBAAAC,EACA,wBAAAC,EACA,2BAAAC,CACF,EAAIhB"}
@@ -1 +1 @@
1
- {"version":3,"file":"getActions.es.js","sources":["../../../../../../src/api/queries/actions/getActions.ts"],"sourcesContent":["import {\n actionsApi,\n ConfigureActionApiArg,\n ConfigureActionApiResponse,\n ListAvailableActionsForContextApiArg,\n ListAvailableActionsForContextApiResponse,\n} from '@shared/api/generated'\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/query'\n\nconst enhancedApi = actionsApi.enhanceEndpoints({\n endpoints: {\n executeAction: {},\n listAvailableActionsForContext: {\n transformErrorResponse: (error: any) => error.data?.detail || 'Unknown error',\n },\n },\n})\n\nconst injectedActionsApi = enhancedApi.injectEndpoints({\n endpoints: (build) => ({\n getActionsFromContext: build.query<\n ListAvailableActionsForContextApiResponse,\n ListAvailableActionsForContextApiArg\n >({\n queryFn: async (args, { dispatch }) => {\n // get the data from the rest actionsApi\n const res = await dispatch(\n actionsApi.endpoints.listAvailableActionsForContext.initiate(args),\n )\n\n if (res.error) {\n return { error: res.error as FetchBaseQueryError }\n }\n\n return { data: res.data }\n },\n providesTags: (result, _error, args) => {\n const baseTags = [{ type: 'actions', id: 'LIST' }]\n const argsTags = args.actionContext.entityIds?.map((id) => ({ type: 'actions', id })) || []\n const actionTags =\n result?.actions?.map((action) => ({ type: 'actions', id: action.identifier })) || []\n return [...baseTags, ...argsTags, ...actionTags]\n },\n }),\n\n // Action configuration\n\n getActionConfig: build.query<ConfigureActionApiResponse, ConfigureActionApiArg>({\n queryFn: async (args, { dispatch }) => {\n // get the data from the rest actionsApi\n const res = await dispatch(actionsApi.endpoints.configureAction.initiate(args))\n if (res.error) {\n return { error: res.error as FetchBaseQueryError }\n }\n return { data: res.data }\n },\n\n providesTags: [{ type: 'actionConfig', id: 'LIST' }],\n }),\n\n setActionConfig: build.mutation<ConfigureActionApiResponse, ConfigureActionApiArg>({\n queryFn: async (args, { dispatch }) => {\n // get the data from the rest actionsApi\n const res = await dispatch(actionsApi.endpoints.configureAction.initiate(args))\n if (res.error) {\n return { error: res.error as FetchBaseQueryError }\n }\n return { data: res.data }\n },\n invalidatesTags: [{ type: 'actionConfig', id: 'LIST' }],\n }),\n\n // End of endpoints\n }),\n})\n\nexport const {\n useGetActionsFromContextQuery,\n useLazyGetActionsFromContextQuery,\n useExecuteActionMutation,\n useGetActionConfigQuery,\n useSetActionConfigMutation,\n} = injectedActionsApi\nexport { injectedActionsApi as actionsQueries }\n"],"names":["enhancedApi","actionsApi","error","injectedActionsApi","build","args","dispatch","res","result","_error","baseTags","argsTags","id","actionTags","action","useGetActionsFromContextQuery","useLazyGetActionsFromContextQuery","useExecuteActionMutation","useGetActionConfigQuery","useSetActionConfigMutation"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAMA,IAAcC,EAAW,iBAAiB;AAAA,EAC9C,WAAW;AAAA,IACT,eAAe,CAAA;AAAA,IACf,gCAAgC;AAAA,MAC9B,wBAAwB,CAACC,MAAeA,EAAM,MAAM,UAAU;AAAA,IAAA;AAAA,EAChE;AAEJ,CAAC,GAEKC,IAAqBH,EAAY,gBAAgB;AAAA,EACrD,WAAW,CAACI,OAAW;AAAA,IACrB,uBAAuBA,EAAM,MAG3B;AAAA,MACA,SAAS,OAAOC,GAAM,EAAE,UAAAC,QAAe;AAErC,cAAMC,IAAM,MAAMD;AAAA,UAChBL,EAAW,UAAU,+BAA+B,SAASI,CAAI;AAAA,QAAA;AAGnE,eAAIE,EAAI,QACC,EAAE,OAAOA,EAAI,MAAA,IAGf,EAAE,MAAMA,EAAI,KAAA;AAAA,MACrB;AAAA,MACA,cAAc,CAACC,GAAQC,GAAQJ,MAAS;AACtC,cAAMK,IAAW,CAAC,EAAE,MAAM,WAAW,IAAI,QAAQ,GAC3CC,IAAWN,EAAK,cAAc,WAAW,IAAI,CAACO,OAAQ,EAAE,MAAM,WAAW,IAAAA,EAAA,EAAK,KAAK,CAAA,GACnFC,IACJL,GAAQ,SAAS,IAAI,CAACM,OAAY,EAAE,MAAM,WAAW,IAAIA,EAAO,WAAA,EAAa,KAAK,CAAA;AACpF,eAAO,CAAC,GAAGJ,GAAU,GAAGC,GAAU,GAAGE,CAAU;AAAA,MACjD;AAAA,IAAA,CACD;AAAA;AAAA,IAID,iBAAiBT,EAAM,MAAyD;AAAA,MAC9E,SAAS,OAAOC,GAAM,EAAE,UAAAC,QAAe;AAErC,cAAMC,IAAM,MAAMD,EAASL,EAAW,UAAU,gBAAgB,SAASI,CAAI,CAAC;AAC9E,eAAIE,EAAI,QACC,EAAE,OAAOA,EAAI,MAAA,IAEf,EAAE,MAAMA,EAAI,KAAA;AAAA,MACrB;AAAA,MAEA,cAAc,CAAC,EAAE,MAAM,gBAAgB,IAAI,QAAQ;AAAA,IAAA,CACpD;AAAA,IAED,iBAAiBH,EAAM,SAA4D;AAAA,MACjF,SAAS,OAAOC,GAAM,EAAE,UAAAC,QAAe;AAErC,cAAMC,IAAM,MAAMD,EAASL,EAAW,UAAU,gBAAgB,SAASI,CAAI,CAAC;AAC9E,eAAIE,EAAI,QACC,EAAE,OAAOA,EAAI,MAAA,IAEf,EAAE,MAAMA,EAAI,KAAA;AAAA,MACrB;AAAA,MACA,iBAAiB,CAAC,EAAE,MAAM,gBAAgB,IAAI,QAAQ;AAAA,IAAA,CACvD;AAAA;AAAA,EAAA;AAIL,CAAC,GAEY;AAAA,EACX,+BAAAQ;AAAA,EACA,mCAAAC;AAAA,EACA,0BAAAC;AAAA,EACA,yBAAAC;AAAA,EACA,4BAAAC;AACF,IAAIhB;"}
1
+ {"version":3,"file":"getActions.es.js","sources":["../../../../../../src/api/queries/actions/getActions.ts"],"sourcesContent":["import { actionsApi } from '@shared/api/generated'\nimport type {\n ConfigureActionApiArg,\n ConfigureActionApiResponse,\n ListAvailableActionsForContextApiArg,\n ListAvailableActionsForContextApiResponse,\n} from '@shared/api/generated'\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/query'\n\nconst enhancedApi = actionsApi.enhanceEndpoints({\n endpoints: {\n executeAction: {},\n listAvailableActionsForContext: {\n transformErrorResponse: (error: any) => error.data?.detail || 'Unknown error',\n },\n },\n})\n\nconst injectedActionsApi = enhancedApi.injectEndpoints({\n endpoints: (build) => ({\n getActionsFromContext: build.query<\n ListAvailableActionsForContextApiResponse,\n ListAvailableActionsForContextApiArg\n >({\n queryFn: async (args, { dispatch }) => {\n // get the data from the rest actionsApi\n const res = await dispatch(\n actionsApi.endpoints.listAvailableActionsForContext.initiate(args),\n )\n\n if (res.error) {\n return { error: res.error as FetchBaseQueryError }\n }\n\n return { data: res.data }\n },\n providesTags: (result, _error, args) => {\n const baseTags = [{ type: 'actions', id: 'LIST' }]\n const argsTags = args.actionContext.entityIds?.map((id) => ({ type: 'actions', id })) || []\n const actionTags =\n result?.actions?.map((action) => ({ type: 'actions', id: action.identifier })) || []\n return [...baseTags, ...argsTags, ...actionTags]\n },\n }),\n\n // Action configuration\n\n getActionConfig: build.query<ConfigureActionApiResponse, ConfigureActionApiArg>({\n queryFn: async (args, { dispatch }) => {\n // get the data from the rest actionsApi\n const res = await dispatch(actionsApi.endpoints.configureAction.initiate(args))\n if (res.error) {\n return { error: res.error as FetchBaseQueryError }\n }\n return { data: res.data }\n },\n\n providesTags: [{ type: 'actionConfig', id: 'LIST' }],\n }),\n\n setActionConfig: build.mutation<ConfigureActionApiResponse, ConfigureActionApiArg>({\n queryFn: async (args, { dispatch }) => {\n // get the data from the rest actionsApi\n const res = await dispatch(actionsApi.endpoints.configureAction.initiate(args))\n if (res.error) {\n return { error: res.error as FetchBaseQueryError }\n }\n return { data: res.data }\n },\n invalidatesTags: [{ type: 'actionConfig', id: 'LIST' }],\n }),\n\n // End of endpoints\n }),\n})\n\nexport const {\n useGetActionsFromContextQuery,\n useLazyGetActionsFromContextQuery,\n useExecuteActionMutation,\n useGetActionConfigQuery,\n useSetActionConfigMutation,\n} = injectedActionsApi\nexport { injectedActionsApi as actionsQueries }\n"],"names":["enhancedApi","actionsApi","error","injectedActionsApi","build","args","dispatch","res","result","_error","baseTags","argsTags","id","actionTags","action","useGetActionsFromContextQuery","useLazyGetActionsFromContextQuery","useExecuteActionMutation","useGetActionConfigQuery","useSetActionConfigMutation"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAMA,IAAcC,EAAW,iBAAiB;AAAA,EAC9C,WAAW;AAAA,IACT,eAAe,CAAA;AAAA,IACf,gCAAgC;AAAA,MAC9B,wBAAwB,CAACC,MAAeA,EAAM,MAAM,UAAU;AAAA,IAAA;AAAA,EAChE;AAEJ,CAAC,GAEKC,IAAqBH,EAAY,gBAAgB;AAAA,EACrD,WAAW,CAACI,OAAW;AAAA,IACrB,uBAAuBA,EAAM,MAG3B;AAAA,MACA,SAAS,OAAOC,GAAM,EAAE,UAAAC,QAAe;AAErC,cAAMC,IAAM,MAAMD;AAAA,UAChBL,EAAW,UAAU,+BAA+B,SAASI,CAAI;AAAA,QAAA;AAGnE,eAAIE,EAAI,QACC,EAAE,OAAOA,EAAI,MAAA,IAGf,EAAE,MAAMA,EAAI,KAAA;AAAA,MACrB;AAAA,MACA,cAAc,CAACC,GAAQC,GAAQJ,MAAS;AACtC,cAAMK,IAAW,CAAC,EAAE,MAAM,WAAW,IAAI,QAAQ,GAC3CC,IAAWN,EAAK,cAAc,WAAW,IAAI,CAACO,OAAQ,EAAE,MAAM,WAAW,IAAAA,EAAA,EAAK,KAAK,CAAA,GACnFC,IACJL,GAAQ,SAAS,IAAI,CAACM,OAAY,EAAE,MAAM,WAAW,IAAIA,EAAO,WAAA,EAAa,KAAK,CAAA;AACpF,eAAO,CAAC,GAAGJ,GAAU,GAAGC,GAAU,GAAGE,CAAU;AAAA,MACjD;AAAA,IAAA,CACD;AAAA;AAAA,IAID,iBAAiBT,EAAM,MAAyD;AAAA,MAC9E,SAAS,OAAOC,GAAM,EAAE,UAAAC,QAAe;AAErC,cAAMC,IAAM,MAAMD,EAASL,EAAW,UAAU,gBAAgB,SAASI,CAAI,CAAC;AAC9E,eAAIE,EAAI,QACC,EAAE,OAAOA,EAAI,MAAA,IAEf,EAAE,MAAMA,EAAI,KAAA;AAAA,MACrB;AAAA,MAEA,cAAc,CAAC,EAAE,MAAM,gBAAgB,IAAI,QAAQ;AAAA,IAAA,CACpD;AAAA,IAED,iBAAiBH,EAAM,SAA4D;AAAA,MACjF,SAAS,OAAOC,GAAM,EAAE,UAAAC,QAAe;AAErC,cAAMC,IAAM,MAAMD,EAASL,EAAW,UAAU,gBAAgB,SAASI,CAAI,CAAC;AAC9E,eAAIE,EAAI,QACC,EAAE,OAAOA,EAAI,MAAA,IAEf,EAAE,MAAMA,EAAI,KAAA;AAAA,MACrB;AAAA,MACA,iBAAiB,CAAC,EAAE,MAAM,gBAAgB,IAAI,QAAQ;AAAA,IAAA,CACvD;AAAA;AAAA,EAAA;AAIL,CAAC,GAEY;AAAA,EACX,+BAAAQ;AAAA,EACA,mCAAAC;AAAA,EACA,0BAAAC;AAAA,EACA,yBAAAC;AAAA,EACA,4BAAAC;AACF,IAAIhB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"getActivities.cjs.js","sources":["../../../../../../src/api/queries/activities/getActivities.ts"],"sourcesContent":["import {\n gqlApi,\n GetActivitiesByIdQuery,\n GetActivitiesQuery,\n GetActivitiesQueryVariables,\n GetActivityUsersQuery,\n GetEntitiesChecklistsQuery,\n} from '@shared/api/generated'\nimport { provideSharedActivityTags, taskProvideTags } from './util/activitiesHelpers'\nimport {\n ActivitiesResult,\n countChecklists,\n filterKey,\n transformActivityData,\n transformTooltipData,\n} from './util/activitiesHelpers'\nimport { ENTITY_TOOLTIP, EntityTooltipQuery } from './activityQueries'\n\nimport {\n DefinitionsFromApi,\n FetchBaseQueryError,\n OverrideResultType,\n TagTypesFromApi,\n} from '@reduxjs/toolkit/query'\nimport { ChecklistCount } from './types'\n\ntype ActivityUserNode = GetActivityUsersQuery['users']['edges'][0]['node']\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetActivitiesById'> & {\n GetActivitiesById: OverrideResultType<Definitions['GetActivitiesById'], ActivitiesResult>\n GetActivities: OverrideResultType<Definitions['GetActivities'], ActivitiesResult>\n GetEntitiesChecklists: OverrideResultType<Definitions['GetEntitiesChecklists'], ChecklistCount>\n GetActivityUsers: OverrideResultType<Definitions['GetActivityUsers'], ActivityUserNode[]>\n}\n\nconst enhanceActivitiesApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n // Only used by the infinite query below\n GetActivities: {\n transformResponse: (res: GetActivitiesQuery) =>\n transformActivityData(res.project.activities.edges, res.project.activities.pageInfo),\n providesTags: provideSharedActivityTags, \n },\n GetActivitiesById: {\n transformResponse: (res: GetActivitiesByIdQuery) =>\n transformActivityData(res.project.activities.edges, res.project.activities.pageInfo),\n },\n GetEntitiesChecklists: {\n transformResponse: (res: GetEntitiesChecklistsQuery) => countChecklists(res),\n providesTags: (res, _error, { entityIds }) =>\n res\n ? [\n { type: 'activity', id: 'LIST' },\n ...res.ids.map((id) => ({ type: 'activity', id: 'checklist-' + id })),\n ...(Array.isArray(entityIds) ? entityIds : [entityIds]).map((id) => ({\n type: 'entityActivities',\n id: 'checklist-' + id,\n })),\n ]\n : [{ type: 'activity', id: 'LIST' }],\n },\n GetActivityUsers: {\n transformResponse: (res: GetActivityUsersQuery) => res.users.edges.map((edge) => edge.node),\n providesTags: (res) =>\n res?.length\n ? [{ type: 'user', id: 'LIST' }, ...res.map(({ name }) => ({ type: 'user', id: name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport type GetActivitiesInfiniteQueryArgs = Omit<\n GetActivitiesQueryVariables,\n 'last' | 'first' | 'cursor'\n> & { filter?: any }\n\nconst ACTIVITIES_INFINITE_QUERY_COUNT = 30\n\nconst getActivitiesGQLApi = enhanceActivitiesApi.injectEndpoints({\n endpoints: (build) => ({\n getActivitiesInfinite: build.infiniteQuery<\n ActivitiesResult,\n GetActivitiesInfiniteQueryArgs,\n { cursor: string; first?: number; last?: number }\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '', last: ACTIVITIES_INFINITE_QUERY_COUNT },\n // Calculate the next page param based on current page response and params\n getNextPageParam: (lastPage) => {\n const pageInfo = lastPage.pageInfo\n const hasPreviousPage = pageInfo.hasPreviousPage\n\n if (!hasPreviousPage || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n last: ACTIVITIES_INFINITE_QUERY_COUNT,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { filter, ...args } = queryArg\n // Build the query parameters for GetActivities\n const queryParams: GetActivitiesQueryVariables = {\n ...args,\n before: pageParam?.cursor,\n last: pageParam?.last,\n }\n\n // Call the existing GetActivities endpoint\n const result = await api.dispatch(\n enhanceActivitiesApi.endpoints.GetActivities.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) throw result.error\n const fallback = {\n activities: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n }\n\n // Return the activities directly as required by the infinite query format\n return {\n data: result.data || fallback,\n }\n } catch (e: any) {\n console.error('Error in getActivitiesInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n async onCacheEntryAdded(\n queryArg,\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch, getCacheEntry },\n ) {\n await handleActivityRealtimeUpdates(queryArg, {\n updateCachedData,\n cacheDataLoaded,\n cacheEntryRemoved,\n dispatch,\n getCacheEntry,\n gqlApi: enhanceActivitiesApi,\n })\n },\nprovidesTags: provideSharedActivityTags,\n }),\n // get data for a reference tooltip based on type,id and projectName\n getEntityTooltip: build.query({\n query: ({ projectName, entityId, entityType }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: ENTITY_TOOLTIP(entityType),\n variables: { projectName, entityId },\n },\n }),\n transformResponse: (res: EntityTooltipQuery, _m, { entityType }) =>\n transformTooltipData(res?.data?.project, entityType),\n providesTags: (res: any, _e, { entityType }) => taskProvideTags([res], 'task', entityType),\n }),\n }),\n overrideExisting: true,\n})\n\nexport const {\n useGetEntityTooltipQuery,\n useLazyGetActivitiesByIdQuery,\n useGetEntitiesChecklistsQuery,\n useGetActivitiesQuery,\n useGetActivitiesInfiniteInfiniteQuery,\n useGetActivityUsersQuery,\n} = getActivitiesGQLApi\n\nexport { getActivitiesGQLApi }\n\nimport { filterActivityTypes } from './util/activitiesHelpers'\nimport { patchTableLatestComments } from './patchTableLatestComments'\nimport { handleActivityRealtimeUpdates } from './util/activityRealtimeHandler'\n\nconst updateCache = (activitiesDraft: any, patch: any, isDelete: boolean) => {\n // Handle paginated structure\n if (isDelete) {\n // Remove from any page where it exists\n for (const page of activitiesDraft.pages) {\n const index = page.activities.findIndex((a: any) => a.activityId === patch.activityId)\n if (index !== -1) {\n page.activities.splice(index, 1)\n return\n }\n }\n } else {\n // Try to update existing activity\n let activityFound = false\n\n for (const page of activitiesDraft.pages) {\n const index = page.activities.findIndex((a: any) => a.activityId === patch.activityId)\n if (index !== -1) {\n // Update the activity\n page.activities[index] = { ...page.activities[index], ...patch }\n activityFound = true\n break\n }\n }\n\n // If activity doesn't exist and this is not a delete operation, add to first page\n if (!activityFound && activitiesDraft.pages.length > 0) {\n activitiesDraft.pages[0].activities.unshift(patch)\n }\n }\n}\n\nconst serializeFilter = (filter: unknown): string => {\n if (filter === undefined || filter === null) return ''\n return typeof filter === 'string' ? filter : JSON.stringify(filter)\n}\n\nconst patchActivities = async (\n { patch, entityIds = [], filter, refs = [], ...rest }: any,\n api: any,\n method: 'create' | 'update' | 'delete',\n) => {\n const { dispatch, queryFulfilled, getState } = api\n const refIds = refs.map((ref: any) => ref.id) || []\n const serializedFilter = serializeFilter(filter)\n // build tags that would be affected by this activity\n const invalidatingTags = [...entityIds, ...refIds].map((id) => ({\n type: 'entityActivities',\n id: id + '-' + filterKey(filter),\n }))\n\n const state = getState()\n // get caches that would be affected by this activity\n const entries = getActivitiesGQLApi.util.selectInvalidatedBy(state, invalidatingTags)\n\n // ensure that data is mapped to activityData\n if (method !== 'delete' && patch.data) {\n patch.activityData = { ...patch.activityData, ...patch.data }\n }\n\n // now patch all the caches with the update\n const patches = entries.map(({ originalArgs }) =>\n dispatch(\n getActivitiesGQLApi.util.updateQueryData('getActivitiesInfinite', originalArgs, (draft) =>\n updateCache(draft, patch, method === 'delete'),\n ),\n ),\n )\n\n // patch latestComments in the table caches too (instead of refetching them)\n const tablePatches = patchTableLatestComments(\n { patch, entityIds, filter, refs, ...rest },\n api,\n method,\n )\n\n try {\n await queryFulfilled\n } catch (error: any) {\n for (const patchResult of [...patches, ...tablePatches]) {\n patchResult?.undo()\n }\n }\n}\n\n// get tags for other filter types\nconst getTags = ({ entityId, filter }: { entityId: string; filter: string }) => {\n const invalidateFilters = Object.keys(filterActivityTypes).filter((key) => key !== filter)\n\n const tags = invalidateFilters.map((filter) => ({\n type: 'entityActivities',\n id: entityId + '-' + filter,\n }))\n\n tags.push({ type: 'activity', id: 'LIST' })\n\n tags.push({ type: 'watchers', id: entityId })\n\n return tags\n}\n\nconst updateActivitiesApi = getActivitiesGQLApi.injectEndpoints({\n endpoints: (build) => ({\n createEntityActivity: build.mutation({\n query: ({ projectName, entityType, entityId, data = {} }) => ({\n url: `/api/projects/${projectName}/${entityType}/${entityId}/activities`,\n method: 'POST',\n // generate a new activityId if this is a new activity\n body: data,\n }),\n async onQueryStarted(args, api) {\n patchActivities(args, api, 'create')\n },\n // invalidate other filters that might be affected by this new activity (comments, checklists, etc)\n invalidatesTags: (result, error, { entityId, filter }) => getTags({ entityId, filter }),\n }),\n\n updateActivity: build.mutation({\n query: ({ projectName, activityId, data }) => ({\n url: `/api/projects/${projectName}/activities/${activityId}`,\n method: 'PATCH',\n body: data,\n }),\n async onQueryStarted(args, api) {\n patchActivities(args, api, 'update')\n },\n // invalidate other filters that might be affected by this new activity (comments, checklists, etc)\n invalidatesTags: (result, error, { entityId, filter }) => getTags({ entityId, filter }),\n }),\n deleteActivity: build.mutation({\n query: ({ projectName, activityId }) => ({\n url: `/api/projects/${projectName}/activities/${activityId}`,\n method: 'DELETE',\n }),\n async onQueryStarted(args, api) {\n patchActivities(args, api, 'delete')\n },\n // invalidate other filters that might be affected by this new activity (comments, checklists, etc)\n invalidatesTags: (result, error, { entityId, filter }) => getTags({ entityId, filter }),\n }),\n }),\n overrideExisting: true,\n})\n\nexport const {\n useCreateEntityActivityMutation,\n useDeleteActivityMutation,\n useUpdateActivityMutation,\n} = updateActivitiesApi\nexport { updateActivitiesApi as activitiesQueries }\n"],"names":["enhanceActivitiesApi","gqlApi","res","transformActivityData","provideSharedActivityTags","countChecklists","_error","entityIds","id","edge","name","ACTIVITIES_INFINITE_QUERY_COUNT","getActivitiesGQLApi","build","lastPage","pageInfo","queryArg","pageParam","api","filter","args","queryParams","result","fallback","e","updateCachedData","cacheDataLoaded","cacheEntryRemoved","dispatch","getCacheEntry","handleActivityRealtimeUpdates","projectName","entityId","entityType","ENTITY_TOOLTIP","_m","transformTooltipData","_e","taskProvideTags","useGetEntityTooltipQuery","useLazyGetActivitiesByIdQuery","useGetEntitiesChecklistsQuery","useGetActivitiesQuery","useGetActivitiesInfiniteInfiniteQuery","useGetActivityUsersQuery","updateCache","activitiesDraft","patch","isDelete","page","index","activityFound","a","serializeFilter","patchActivities","refs","rest","method","queryFulfilled","getState","refIds","ref","invalidatingTags","filterKey","state","entries","patches","originalArgs","draft","tablePatches","patchTableLatestComments","patchResult","getTags","tags","filterActivityTypes","key","updateActivitiesApi","data","error","activityId","useCreateEntityActivityMutation","useDeleteActivityMutation","useUpdateActivityMutation"],"mappings":"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"}
1
+ {"version":3,"file":"getActivities.cjs.js","sources":["../../../../../../src/api/queries/activities/getActivities.ts"],"sourcesContent":["import { gqlApi } from '@shared/api/generated'\nimport type {\n GetActivitiesByIdQuery,\n GetActivitiesQuery,\n GetActivitiesQueryVariables,\n GetActivityUsersQuery,\n GetEntitiesChecklistsQuery,\n} from '@shared/api/generated'\nimport { provideSharedActivityTags, taskProvideTags } from './util/activitiesHelpers'\nimport {\n ActivitiesResult,\n countChecklists,\n filterKey,\n transformActivityData,\n transformTooltipData,\n} from './util/activitiesHelpers'\nimport { ENTITY_TOOLTIP, EntityTooltipQuery } from './activityQueries'\n\nimport {\n DefinitionsFromApi,\n FetchBaseQueryError,\n OverrideResultType,\n TagTypesFromApi,\n} from '@reduxjs/toolkit/query'\nimport type { ChecklistCount } from './types'\n\ntype ActivityUserNode = GetActivityUsersQuery['users']['edges'][0]['node']\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetActivitiesById'> & {\n GetActivitiesById: OverrideResultType<Definitions['GetActivitiesById'], ActivitiesResult>\n GetActivities: OverrideResultType<Definitions['GetActivities'], ActivitiesResult>\n GetEntitiesChecklists: OverrideResultType<Definitions['GetEntitiesChecklists'], ChecklistCount>\n GetActivityUsers: OverrideResultType<Definitions['GetActivityUsers'], ActivityUserNode[]>\n}\n\nconst enhanceActivitiesApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n // Only used by the infinite query below\n GetActivities: {\n transformResponse: (res: GetActivitiesQuery) =>\n transformActivityData(res.project.activities.edges, res.project.activities.pageInfo),\n providesTags: provideSharedActivityTags,\n },\n GetActivitiesById: {\n transformResponse: (res: GetActivitiesByIdQuery) =>\n transformActivityData(res.project.activities.edges, res.project.activities.pageInfo),\n },\n GetEntitiesChecklists: {\n transformResponse: (res: GetEntitiesChecklistsQuery) => countChecklists(res),\n providesTags: (res, _error, { entityIds }) =>\n res\n ? [\n { type: 'activity', id: 'LIST' },\n ...res.ids.map((id) => ({ type: 'activity', id: 'checklist-' + id })),\n ...(Array.isArray(entityIds) ? entityIds : [entityIds]).map((id) => ({\n type: 'entityActivities',\n id: 'checklist-' + id,\n })),\n ]\n : [{ type: 'activity', id: 'LIST' }],\n },\n GetActivityUsers: {\n transformResponse: (res: GetActivityUsersQuery) => res.users.edges.map((edge) => edge.node),\n providesTags: (res) =>\n res?.length\n ? [{ type: 'user', id: 'LIST' }, ...res.map(({ name }) => ({ type: 'user', id: name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport type GetActivitiesInfiniteQueryArgs = Omit<\n GetActivitiesQueryVariables,\n 'last' | 'first' | 'cursor'\n> & { filter?: any }\n\nconst ACTIVITIES_INFINITE_QUERY_COUNT = 30\n\nconst getActivitiesGQLApi = enhanceActivitiesApi.injectEndpoints({\n endpoints: (build) => ({\n getActivitiesInfinite: build.infiniteQuery<\n ActivitiesResult,\n GetActivitiesInfiniteQueryArgs,\n { cursor: string; first?: number; last?: number }\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '', last: ACTIVITIES_INFINITE_QUERY_COUNT },\n // Calculate the next page param based on current page response and params\n getNextPageParam: (lastPage) => {\n const pageInfo = lastPage.pageInfo\n const hasPreviousPage = pageInfo.hasPreviousPage\n\n if (!hasPreviousPage || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n last: ACTIVITIES_INFINITE_QUERY_COUNT,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { filter, ...args } = queryArg\n // Build the query parameters for GetActivities\n const queryParams: GetActivitiesQueryVariables = {\n ...args,\n before: pageParam?.cursor,\n last: pageParam?.last,\n }\n\n // Call the existing GetActivities endpoint\n const result = await api.dispatch(\n enhanceActivitiesApi.endpoints.GetActivities.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) throw result.error\n const fallback = {\n activities: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n }\n\n // Return the activities directly as required by the infinite query format\n return {\n data: result.data || fallback,\n }\n } catch (e: any) {\n console.error('Error in getActivitiesInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n async onCacheEntryAdded(\n queryArg,\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch, getCacheEntry },\n ) {\n await handleActivityRealtimeUpdates(queryArg, {\n updateCachedData,\n cacheDataLoaded,\n cacheEntryRemoved,\n dispatch,\n getCacheEntry,\n gqlApi: enhanceActivitiesApi,\n })\n },\n providesTags: provideSharedActivityTags,\n }),\n // get data for a reference tooltip based on type,id and projectName\n getEntityTooltip: build.query({\n query: ({ projectName, entityId, entityType }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: ENTITY_TOOLTIP(entityType),\n variables: { projectName, entityId },\n },\n }),\n transformResponse: (res: EntityTooltipQuery, _m, { entityType }) =>\n transformTooltipData(res?.data?.project, entityType),\n providesTags: (res: any, _e, { entityType }) => taskProvideTags([res], 'task', entityType),\n }),\n }),\n overrideExisting: true,\n})\n\nexport const {\n useGetEntityTooltipQuery,\n useLazyGetActivitiesByIdQuery,\n useGetEntitiesChecklistsQuery,\n useGetActivitiesQuery,\n useGetActivitiesInfiniteInfiniteQuery,\n useGetActivityUsersQuery,\n} = getActivitiesGQLApi\n\nexport { getActivitiesGQLApi }\n\nimport { filterActivityTypes } from './util/activitiesHelpers'\nimport { patchTableLatestComments } from './patchTableLatestComments'\nimport { handleActivityRealtimeUpdates } from './util/activityRealtimeHandler'\n\nconst updateCache = (activitiesDraft: any, patch: any, isDelete: boolean) => {\n // Handle paginated structure\n if (isDelete) {\n // Remove from any page where it exists\n for (const page of activitiesDraft.pages) {\n const index = page.activities.findIndex((a: any) => a.activityId === patch.activityId)\n if (index !== -1) {\n page.activities.splice(index, 1)\n return\n }\n }\n } else {\n // Try to update existing activity\n let activityFound = false\n\n for (const page of activitiesDraft.pages) {\n const index = page.activities.findIndex((a: any) => a.activityId === patch.activityId)\n if (index !== -1) {\n // Update the activity\n page.activities[index] = { ...page.activities[index], ...patch }\n activityFound = true\n break\n }\n }\n\n // If activity doesn't exist and this is not a delete operation, add to first page\n if (!activityFound && activitiesDraft.pages.length > 0) {\n activitiesDraft.pages[0].activities.unshift(patch)\n }\n }\n}\n\nconst serializeFilter = (filter: unknown): string => {\n if (filter === undefined || filter === null) return ''\n return typeof filter === 'string' ? filter : JSON.stringify(filter)\n}\n\nconst patchActivities = async (\n { patch, entityIds = [], filter, refs = [], ...rest }: any,\n api: any,\n method: 'create' | 'update' | 'delete',\n) => {\n const { dispatch, queryFulfilled, getState } = api\n const refIds = refs.map((ref: any) => ref.id) || []\n const serializedFilter = serializeFilter(filter)\n // build tags that would be affected by this activity\n const invalidatingTags = [...entityIds, ...refIds].map((id) => ({\n type: 'entityActivities',\n id: id + '-' + filterKey(filter),\n }))\n\n const state = getState()\n // get caches that would be affected by this activity\n const entries = getActivitiesGQLApi.util.selectInvalidatedBy(state, invalidatingTags)\n\n // ensure that data is mapped to activityData\n if (method !== 'delete' && patch.data) {\n patch.activityData = { ...patch.activityData, ...patch.data }\n }\n\n // now patch all the caches with the update\n const patches = entries.map(({ originalArgs }) =>\n dispatch(\n getActivitiesGQLApi.util.updateQueryData('getActivitiesInfinite', originalArgs, (draft) =>\n updateCache(draft, patch, method === 'delete'),\n ),\n ),\n )\n\n // patch latestComments in the table caches too (instead of refetching them)\n const tablePatches = patchTableLatestComments(\n { patch, entityIds, filter, refs, ...rest },\n api,\n method,\n )\n\n try {\n await queryFulfilled\n } catch (error: any) {\n for (const patchResult of [...patches, ...tablePatches]) {\n patchResult?.undo()\n }\n }\n}\n\n// get tags for other filter types\nconst getTags = ({ entityId, filter }: { entityId: string; filter: string }) => {\n const invalidateFilters = Object.keys(filterActivityTypes).filter((key) => key !== filter)\n\n const tags = invalidateFilters.map((filter) => ({\n type: 'entityActivities',\n id: entityId + '-' + filter,\n }))\n\n tags.push({ type: 'activity', id: 'LIST' })\n\n tags.push({ type: 'watchers', id: entityId })\n\n return tags\n}\n\nconst updateActivitiesApi = getActivitiesGQLApi.injectEndpoints({\n endpoints: (build) => ({\n createEntityActivity: build.mutation({\n query: ({ projectName, entityType, entityId, data = {} }) => ({\n url: `/api/projects/${projectName}/${entityType}/${entityId}/activities`,\n method: 'POST',\n // generate a new activityId if this is a new activity\n body: data,\n }),\n async onQueryStarted(args, api) {\n patchActivities(args, api, 'create')\n },\n // invalidate other filters that might be affected by this new activity (comments, checklists, etc)\n invalidatesTags: (result, error, { entityId, filter }) => getTags({ entityId, filter }),\n }),\n\n updateActivity: build.mutation({\n query: ({ projectName, activityId, data }) => ({\n url: `/api/projects/${projectName}/activities/${activityId}`,\n method: 'PATCH',\n body: data,\n }),\n async onQueryStarted(args, api) {\n patchActivities(args, api, 'update')\n },\n // invalidate other filters that might be affected by this new activity (comments, checklists, etc)\n invalidatesTags: (result, error, { entityId, filter }) => getTags({ entityId, filter }),\n }),\n deleteActivity: build.mutation({\n query: ({ projectName, activityId }) => ({\n url: `/api/projects/${projectName}/activities/${activityId}`,\n method: 'DELETE',\n }),\n async onQueryStarted(args, api) {\n patchActivities(args, api, 'delete')\n },\n // invalidate other filters that might be affected by this new activity (comments, checklists, etc)\n invalidatesTags: (result, error, { entityId, filter }) => getTags({ entityId, filter }),\n }),\n }),\n overrideExisting: true,\n})\n\nexport const {\n useCreateEntityActivityMutation,\n useDeleteActivityMutation,\n useUpdateActivityMutation,\n} = updateActivitiesApi\nexport { updateActivitiesApi as activitiesQueries }\n"],"names":["enhanceActivitiesApi","gqlApi","res","transformActivityData","provideSharedActivityTags","countChecklists","_error","entityIds","id","edge","name","ACTIVITIES_INFINITE_QUERY_COUNT","getActivitiesGQLApi","build","lastPage","pageInfo","queryArg","pageParam","api","filter","args","queryParams","result","fallback","e","updateCachedData","cacheDataLoaded","cacheEntryRemoved","dispatch","getCacheEntry","handleActivityRealtimeUpdates","projectName","entityId","entityType","ENTITY_TOOLTIP","_m","transformTooltipData","_e","taskProvideTags","useGetEntityTooltipQuery","useLazyGetActivitiesByIdQuery","useGetEntitiesChecklistsQuery","useGetActivitiesQuery","useGetActivitiesInfiniteInfiniteQuery","useGetActivityUsersQuery","updateCache","activitiesDraft","patch","isDelete","page","index","activityFound","a","serializeFilter","patchActivities","refs","rest","method","queryFulfilled","getState","refIds","ref","invalidatingTags","filterKey","state","entries","patches","originalArgs","draft","tablePatches","patchTableLatestComments","patchResult","getTags","tags","filterActivityTypes","key","updateActivitiesApi","data","error","activityId","useCreateEntityActivityMutation","useDeleteActivityMutation","useUpdateActivityMutation"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getActivities.es.js","sources":["../../../../../../src/api/queries/activities/getActivities.ts"],"sourcesContent":["import {\n gqlApi,\n GetActivitiesByIdQuery,\n GetActivitiesQuery,\n GetActivitiesQueryVariables,\n GetActivityUsersQuery,\n GetEntitiesChecklistsQuery,\n} from '@shared/api/generated'\nimport { provideSharedActivityTags, taskProvideTags } from './util/activitiesHelpers'\nimport {\n ActivitiesResult,\n countChecklists,\n filterKey,\n transformActivityData,\n transformTooltipData,\n} from './util/activitiesHelpers'\nimport { ENTITY_TOOLTIP, EntityTooltipQuery } from './activityQueries'\n\nimport {\n DefinitionsFromApi,\n FetchBaseQueryError,\n OverrideResultType,\n TagTypesFromApi,\n} from '@reduxjs/toolkit/query'\nimport { ChecklistCount } from './types'\n\ntype ActivityUserNode = GetActivityUsersQuery['users']['edges'][0]['node']\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetActivitiesById'> & {\n GetActivitiesById: OverrideResultType<Definitions['GetActivitiesById'], ActivitiesResult>\n GetActivities: OverrideResultType<Definitions['GetActivities'], ActivitiesResult>\n GetEntitiesChecklists: OverrideResultType<Definitions['GetEntitiesChecklists'], ChecklistCount>\n GetActivityUsers: OverrideResultType<Definitions['GetActivityUsers'], ActivityUserNode[]>\n}\n\nconst enhanceActivitiesApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n // Only used by the infinite query below\n GetActivities: {\n transformResponse: (res: GetActivitiesQuery) =>\n transformActivityData(res.project.activities.edges, res.project.activities.pageInfo),\n providesTags: provideSharedActivityTags, \n },\n GetActivitiesById: {\n transformResponse: (res: GetActivitiesByIdQuery) =>\n transformActivityData(res.project.activities.edges, res.project.activities.pageInfo),\n },\n GetEntitiesChecklists: {\n transformResponse: (res: GetEntitiesChecklistsQuery) => countChecklists(res),\n providesTags: (res, _error, { entityIds }) =>\n res\n ? [\n { type: 'activity', id: 'LIST' },\n ...res.ids.map((id) => ({ type: 'activity', id: 'checklist-' + id })),\n ...(Array.isArray(entityIds) ? entityIds : [entityIds]).map((id) => ({\n type: 'entityActivities',\n id: 'checklist-' + id,\n })),\n ]\n : [{ type: 'activity', id: 'LIST' }],\n },\n GetActivityUsers: {\n transformResponse: (res: GetActivityUsersQuery) => res.users.edges.map((edge) => edge.node),\n providesTags: (res) =>\n res?.length\n ? [{ type: 'user', id: 'LIST' }, ...res.map(({ name }) => ({ type: 'user', id: name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport type GetActivitiesInfiniteQueryArgs = Omit<\n GetActivitiesQueryVariables,\n 'last' | 'first' | 'cursor'\n> & { filter?: any }\n\nconst ACTIVITIES_INFINITE_QUERY_COUNT = 30\n\nconst getActivitiesGQLApi = enhanceActivitiesApi.injectEndpoints({\n endpoints: (build) => ({\n getActivitiesInfinite: build.infiniteQuery<\n ActivitiesResult,\n GetActivitiesInfiniteQueryArgs,\n { cursor: string; first?: number; last?: number }\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '', last: ACTIVITIES_INFINITE_QUERY_COUNT },\n // Calculate the next page param based on current page response and params\n getNextPageParam: (lastPage) => {\n const pageInfo = lastPage.pageInfo\n const hasPreviousPage = pageInfo.hasPreviousPage\n\n if (!hasPreviousPage || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n last: ACTIVITIES_INFINITE_QUERY_COUNT,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { filter, ...args } = queryArg\n // Build the query parameters for GetActivities\n const queryParams: GetActivitiesQueryVariables = {\n ...args,\n before: pageParam?.cursor,\n last: pageParam?.last,\n }\n\n // Call the existing GetActivities endpoint\n const result = await api.dispatch(\n enhanceActivitiesApi.endpoints.GetActivities.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) throw result.error\n const fallback = {\n activities: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n }\n\n // Return the activities directly as required by the infinite query format\n return {\n data: result.data || fallback,\n }\n } catch (e: any) {\n console.error('Error in getActivitiesInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n async onCacheEntryAdded(\n queryArg,\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch, getCacheEntry },\n ) {\n await handleActivityRealtimeUpdates(queryArg, {\n updateCachedData,\n cacheDataLoaded,\n cacheEntryRemoved,\n dispatch,\n getCacheEntry,\n gqlApi: enhanceActivitiesApi,\n })\n },\nprovidesTags: provideSharedActivityTags,\n }),\n // get data for a reference tooltip based on type,id and projectName\n getEntityTooltip: build.query({\n query: ({ projectName, entityId, entityType }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: ENTITY_TOOLTIP(entityType),\n variables: { projectName, entityId },\n },\n }),\n transformResponse: (res: EntityTooltipQuery, _m, { entityType }) =>\n transformTooltipData(res?.data?.project, entityType),\n providesTags: (res: any, _e, { entityType }) => taskProvideTags([res], 'task', entityType),\n }),\n }),\n overrideExisting: true,\n})\n\nexport const {\n useGetEntityTooltipQuery,\n useLazyGetActivitiesByIdQuery,\n useGetEntitiesChecklistsQuery,\n useGetActivitiesQuery,\n useGetActivitiesInfiniteInfiniteQuery,\n useGetActivityUsersQuery,\n} = getActivitiesGQLApi\n\nexport { getActivitiesGQLApi }\n\nimport { filterActivityTypes } from './util/activitiesHelpers'\nimport { patchTableLatestComments } from './patchTableLatestComments'\nimport { handleActivityRealtimeUpdates } from './util/activityRealtimeHandler'\n\nconst updateCache = (activitiesDraft: any, patch: any, isDelete: boolean) => {\n // Handle paginated structure\n if (isDelete) {\n // Remove from any page where it exists\n for (const page of activitiesDraft.pages) {\n const index = page.activities.findIndex((a: any) => a.activityId === patch.activityId)\n if (index !== -1) {\n page.activities.splice(index, 1)\n return\n }\n }\n } else {\n // Try to update existing activity\n let activityFound = false\n\n for (const page of activitiesDraft.pages) {\n const index = page.activities.findIndex((a: any) => a.activityId === patch.activityId)\n if (index !== -1) {\n // Update the activity\n page.activities[index] = { ...page.activities[index], ...patch }\n activityFound = true\n break\n }\n }\n\n // If activity doesn't exist and this is not a delete operation, add to first page\n if (!activityFound && activitiesDraft.pages.length > 0) {\n activitiesDraft.pages[0].activities.unshift(patch)\n }\n }\n}\n\nconst serializeFilter = (filter: unknown): string => {\n if (filter === undefined || filter === null) return ''\n return typeof filter === 'string' ? filter : JSON.stringify(filter)\n}\n\nconst patchActivities = async (\n { patch, entityIds = [], filter, refs = [], ...rest }: any,\n api: any,\n method: 'create' | 'update' | 'delete',\n) => {\n const { dispatch, queryFulfilled, getState } = api\n const refIds = refs.map((ref: any) => ref.id) || []\n const serializedFilter = serializeFilter(filter)\n // build tags that would be affected by this activity\n const invalidatingTags = [...entityIds, ...refIds].map((id) => ({\n type: 'entityActivities',\n id: id + '-' + filterKey(filter),\n }))\n\n const state = getState()\n // get caches that would be affected by this activity\n const entries = getActivitiesGQLApi.util.selectInvalidatedBy(state, invalidatingTags)\n\n // ensure that data is mapped to activityData\n if (method !== 'delete' && patch.data) {\n patch.activityData = { ...patch.activityData, ...patch.data }\n }\n\n // now patch all the caches with the update\n const patches = entries.map(({ originalArgs }) =>\n dispatch(\n getActivitiesGQLApi.util.updateQueryData('getActivitiesInfinite', originalArgs, (draft) =>\n updateCache(draft, patch, method === 'delete'),\n ),\n ),\n )\n\n // patch latestComments in the table caches too (instead of refetching them)\n const tablePatches = patchTableLatestComments(\n { patch, entityIds, filter, refs, ...rest },\n api,\n method,\n )\n\n try {\n await queryFulfilled\n } catch (error: any) {\n for (const patchResult of [...patches, ...tablePatches]) {\n patchResult?.undo()\n }\n }\n}\n\n// get tags for other filter types\nconst getTags = ({ entityId, filter }: { entityId: string; filter: string }) => {\n const invalidateFilters = Object.keys(filterActivityTypes).filter((key) => key !== filter)\n\n const tags = invalidateFilters.map((filter) => ({\n type: 'entityActivities',\n id: entityId + '-' + filter,\n }))\n\n tags.push({ type: 'activity', id: 'LIST' })\n\n tags.push({ type: 'watchers', id: entityId })\n\n return tags\n}\n\nconst updateActivitiesApi = getActivitiesGQLApi.injectEndpoints({\n endpoints: (build) => ({\n createEntityActivity: build.mutation({\n query: ({ projectName, entityType, entityId, data = {} }) => ({\n url: `/api/projects/${projectName}/${entityType}/${entityId}/activities`,\n method: 'POST',\n // generate a new activityId if this is a new activity\n body: data,\n }),\n async onQueryStarted(args, api) {\n patchActivities(args, api, 'create')\n },\n // invalidate other filters that might be affected by this new activity (comments, checklists, etc)\n invalidatesTags: (result, error, { entityId, filter }) => getTags({ entityId, filter }),\n }),\n\n updateActivity: build.mutation({\n query: ({ projectName, activityId, data }) => ({\n url: `/api/projects/${projectName}/activities/${activityId}`,\n method: 'PATCH',\n body: data,\n }),\n async onQueryStarted(args, api) {\n patchActivities(args, api, 'update')\n },\n // invalidate other filters that might be affected by this new activity (comments, checklists, etc)\n invalidatesTags: (result, error, { entityId, filter }) => getTags({ entityId, filter }),\n }),\n deleteActivity: build.mutation({\n query: ({ projectName, activityId }) => ({\n url: `/api/projects/${projectName}/activities/${activityId}`,\n method: 'DELETE',\n }),\n async onQueryStarted(args, api) {\n patchActivities(args, api, 'delete')\n },\n // invalidate other filters that might be affected by this new activity (comments, checklists, etc)\n invalidatesTags: (result, error, { entityId, filter }) => getTags({ entityId, filter }),\n }),\n }),\n overrideExisting: true,\n})\n\nexport const {\n useCreateEntityActivityMutation,\n useDeleteActivityMutation,\n useUpdateActivityMutation,\n} = updateActivitiesApi\nexport { updateActivitiesApi as activitiesQueries }\n"],"names":["enhanceActivitiesApi","gqlApi","res","transformActivityData","provideSharedActivityTags","countChecklists","_error","entityIds","id","edge","name","ACTIVITIES_INFINITE_QUERY_COUNT","getActivitiesGQLApi","build","lastPage","pageInfo","queryArg","pageParam","api","filter","args","queryParams","result","fallback","e","updateCachedData","cacheDataLoaded","cacheEntryRemoved","dispatch","getCacheEntry","handleActivityRealtimeUpdates","projectName","entityId","entityType","ENTITY_TOOLTIP","_m","transformTooltipData","_e","taskProvideTags","useGetEntityTooltipQuery","useLazyGetActivitiesByIdQuery","useGetEntitiesChecklistsQuery","useGetActivitiesQuery","useGetActivitiesInfiniteInfiniteQuery","useGetActivityUsersQuery","updateCache","activitiesDraft","patch","isDelete","page","index","a","activityFound","serializeFilter","patchActivities","refs","rest","method","queryFulfilled","getState","refIds","ref","invalidatingTags","filterKey","state","entries","patches","originalArgs","draft","tablePatches","patchTableLatestComments","patchResult","getTags","tags","filterActivityTypes","key","updateActivitiesApi","data","error","activityId","useCreateEntityActivityMutation","useDeleteActivityMutation","useUpdateActivityMutation"],"mappings":"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"}
1
+ {"version":3,"file":"getActivities.es.js","sources":["../../../../../../src/api/queries/activities/getActivities.ts"],"sourcesContent":["import { gqlApi } from '@shared/api/generated'\nimport type {\n GetActivitiesByIdQuery,\n GetActivitiesQuery,\n GetActivitiesQueryVariables,\n GetActivityUsersQuery,\n GetEntitiesChecklistsQuery,\n} from '@shared/api/generated'\nimport { provideSharedActivityTags, taskProvideTags } from './util/activitiesHelpers'\nimport {\n ActivitiesResult,\n countChecklists,\n filterKey,\n transformActivityData,\n transformTooltipData,\n} from './util/activitiesHelpers'\nimport { ENTITY_TOOLTIP, EntityTooltipQuery } from './activityQueries'\n\nimport {\n DefinitionsFromApi,\n FetchBaseQueryError,\n OverrideResultType,\n TagTypesFromApi,\n} from '@reduxjs/toolkit/query'\nimport type { ChecklistCount } from './types'\n\ntype ActivityUserNode = GetActivityUsersQuery['users']['edges'][0]['node']\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetActivitiesById'> & {\n GetActivitiesById: OverrideResultType<Definitions['GetActivitiesById'], ActivitiesResult>\n GetActivities: OverrideResultType<Definitions['GetActivities'], ActivitiesResult>\n GetEntitiesChecklists: OverrideResultType<Definitions['GetEntitiesChecklists'], ChecklistCount>\n GetActivityUsers: OverrideResultType<Definitions['GetActivityUsers'], ActivityUserNode[]>\n}\n\nconst enhanceActivitiesApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n // Only used by the infinite query below\n GetActivities: {\n transformResponse: (res: GetActivitiesQuery) =>\n transformActivityData(res.project.activities.edges, res.project.activities.pageInfo),\n providesTags: provideSharedActivityTags,\n },\n GetActivitiesById: {\n transformResponse: (res: GetActivitiesByIdQuery) =>\n transformActivityData(res.project.activities.edges, res.project.activities.pageInfo),\n },\n GetEntitiesChecklists: {\n transformResponse: (res: GetEntitiesChecklistsQuery) => countChecklists(res),\n providesTags: (res, _error, { entityIds }) =>\n res\n ? [\n { type: 'activity', id: 'LIST' },\n ...res.ids.map((id) => ({ type: 'activity', id: 'checklist-' + id })),\n ...(Array.isArray(entityIds) ? entityIds : [entityIds]).map((id) => ({\n type: 'entityActivities',\n id: 'checklist-' + id,\n })),\n ]\n : [{ type: 'activity', id: 'LIST' }],\n },\n GetActivityUsers: {\n transformResponse: (res: GetActivityUsersQuery) => res.users.edges.map((edge) => edge.node),\n providesTags: (res) =>\n res?.length\n ? [{ type: 'user', id: 'LIST' }, ...res.map(({ name }) => ({ type: 'user', id: name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport type GetActivitiesInfiniteQueryArgs = Omit<\n GetActivitiesQueryVariables,\n 'last' | 'first' | 'cursor'\n> & { filter?: any }\n\nconst ACTIVITIES_INFINITE_QUERY_COUNT = 30\n\nconst getActivitiesGQLApi = enhanceActivitiesApi.injectEndpoints({\n endpoints: (build) => ({\n getActivitiesInfinite: build.infiniteQuery<\n ActivitiesResult,\n GetActivitiesInfiniteQueryArgs,\n { cursor: string; first?: number; last?: number }\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '', last: ACTIVITIES_INFINITE_QUERY_COUNT },\n // Calculate the next page param based on current page response and params\n getNextPageParam: (lastPage) => {\n const pageInfo = lastPage.pageInfo\n const hasPreviousPage = pageInfo.hasPreviousPage\n\n if (!hasPreviousPage || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n last: ACTIVITIES_INFINITE_QUERY_COUNT,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { filter, ...args } = queryArg\n // Build the query parameters for GetActivities\n const queryParams: GetActivitiesQueryVariables = {\n ...args,\n before: pageParam?.cursor,\n last: pageParam?.last,\n }\n\n // Call the existing GetActivities endpoint\n const result = await api.dispatch(\n enhanceActivitiesApi.endpoints.GetActivities.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) throw result.error\n const fallback = {\n activities: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n }\n\n // Return the activities directly as required by the infinite query format\n return {\n data: result.data || fallback,\n }\n } catch (e: any) {\n console.error('Error in getActivitiesInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n async onCacheEntryAdded(\n queryArg,\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch, getCacheEntry },\n ) {\n await handleActivityRealtimeUpdates(queryArg, {\n updateCachedData,\n cacheDataLoaded,\n cacheEntryRemoved,\n dispatch,\n getCacheEntry,\n gqlApi: enhanceActivitiesApi,\n })\n },\n providesTags: provideSharedActivityTags,\n }),\n // get data for a reference tooltip based on type,id and projectName\n getEntityTooltip: build.query({\n query: ({ projectName, entityId, entityType }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: ENTITY_TOOLTIP(entityType),\n variables: { projectName, entityId },\n },\n }),\n transformResponse: (res: EntityTooltipQuery, _m, { entityType }) =>\n transformTooltipData(res?.data?.project, entityType),\n providesTags: (res: any, _e, { entityType }) => taskProvideTags([res], 'task', entityType),\n }),\n }),\n overrideExisting: true,\n})\n\nexport const {\n useGetEntityTooltipQuery,\n useLazyGetActivitiesByIdQuery,\n useGetEntitiesChecklistsQuery,\n useGetActivitiesQuery,\n useGetActivitiesInfiniteInfiniteQuery,\n useGetActivityUsersQuery,\n} = getActivitiesGQLApi\n\nexport { getActivitiesGQLApi }\n\nimport { filterActivityTypes } from './util/activitiesHelpers'\nimport { patchTableLatestComments } from './patchTableLatestComments'\nimport { handleActivityRealtimeUpdates } from './util/activityRealtimeHandler'\n\nconst updateCache = (activitiesDraft: any, patch: any, isDelete: boolean) => {\n // Handle paginated structure\n if (isDelete) {\n // Remove from any page where it exists\n for (const page of activitiesDraft.pages) {\n const index = page.activities.findIndex((a: any) => a.activityId === patch.activityId)\n if (index !== -1) {\n page.activities.splice(index, 1)\n return\n }\n }\n } else {\n // Try to update existing activity\n let activityFound = false\n\n for (const page of activitiesDraft.pages) {\n const index = page.activities.findIndex((a: any) => a.activityId === patch.activityId)\n if (index !== -1) {\n // Update the activity\n page.activities[index] = { ...page.activities[index], ...patch }\n activityFound = true\n break\n }\n }\n\n // If activity doesn't exist and this is not a delete operation, add to first page\n if (!activityFound && activitiesDraft.pages.length > 0) {\n activitiesDraft.pages[0].activities.unshift(patch)\n }\n }\n}\n\nconst serializeFilter = (filter: unknown): string => {\n if (filter === undefined || filter === null) return ''\n return typeof filter === 'string' ? filter : JSON.stringify(filter)\n}\n\nconst patchActivities = async (\n { patch, entityIds = [], filter, refs = [], ...rest }: any,\n api: any,\n method: 'create' | 'update' | 'delete',\n) => {\n const { dispatch, queryFulfilled, getState } = api\n const refIds = refs.map((ref: any) => ref.id) || []\n const serializedFilter = serializeFilter(filter)\n // build tags that would be affected by this activity\n const invalidatingTags = [...entityIds, ...refIds].map((id) => ({\n type: 'entityActivities',\n id: id + '-' + filterKey(filter),\n }))\n\n const state = getState()\n // get caches that would be affected by this activity\n const entries = getActivitiesGQLApi.util.selectInvalidatedBy(state, invalidatingTags)\n\n // ensure that data is mapped to activityData\n if (method !== 'delete' && patch.data) {\n patch.activityData = { ...patch.activityData, ...patch.data }\n }\n\n // now patch all the caches with the update\n const patches = entries.map(({ originalArgs }) =>\n dispatch(\n getActivitiesGQLApi.util.updateQueryData('getActivitiesInfinite', originalArgs, (draft) =>\n updateCache(draft, patch, method === 'delete'),\n ),\n ),\n )\n\n // patch latestComments in the table caches too (instead of refetching them)\n const tablePatches = patchTableLatestComments(\n { patch, entityIds, filter, refs, ...rest },\n api,\n method,\n )\n\n try {\n await queryFulfilled\n } catch (error: any) {\n for (const patchResult of [...patches, ...tablePatches]) {\n patchResult?.undo()\n }\n }\n}\n\n// get tags for other filter types\nconst getTags = ({ entityId, filter }: { entityId: string; filter: string }) => {\n const invalidateFilters = Object.keys(filterActivityTypes).filter((key) => key !== filter)\n\n const tags = invalidateFilters.map((filter) => ({\n type: 'entityActivities',\n id: entityId + '-' + filter,\n }))\n\n tags.push({ type: 'activity', id: 'LIST' })\n\n tags.push({ type: 'watchers', id: entityId })\n\n return tags\n}\n\nconst updateActivitiesApi = getActivitiesGQLApi.injectEndpoints({\n endpoints: (build) => ({\n createEntityActivity: build.mutation({\n query: ({ projectName, entityType, entityId, data = {} }) => ({\n url: `/api/projects/${projectName}/${entityType}/${entityId}/activities`,\n method: 'POST',\n // generate a new activityId if this is a new activity\n body: data,\n }),\n async onQueryStarted(args, api) {\n patchActivities(args, api, 'create')\n },\n // invalidate other filters that might be affected by this new activity (comments, checklists, etc)\n invalidatesTags: (result, error, { entityId, filter }) => getTags({ entityId, filter }),\n }),\n\n updateActivity: build.mutation({\n query: ({ projectName, activityId, data }) => ({\n url: `/api/projects/${projectName}/activities/${activityId}`,\n method: 'PATCH',\n body: data,\n }),\n async onQueryStarted(args, api) {\n patchActivities(args, api, 'update')\n },\n // invalidate other filters that might be affected by this new activity (comments, checklists, etc)\n invalidatesTags: (result, error, { entityId, filter }) => getTags({ entityId, filter }),\n }),\n deleteActivity: build.mutation({\n query: ({ projectName, activityId }) => ({\n url: `/api/projects/${projectName}/activities/${activityId}`,\n method: 'DELETE',\n }),\n async onQueryStarted(args, api) {\n patchActivities(args, api, 'delete')\n },\n // invalidate other filters that might be affected by this new activity (comments, checklists, etc)\n invalidatesTags: (result, error, { entityId, filter }) => getTags({ entityId, filter }),\n }),\n }),\n overrideExisting: true,\n})\n\nexport const {\n useCreateEntityActivityMutation,\n useDeleteActivityMutation,\n useUpdateActivityMutation,\n} = updateActivitiesApi\nexport { updateActivitiesApi as activitiesQueries }\n"],"names":["enhanceActivitiesApi","gqlApi","res","transformActivityData","provideSharedActivityTags","countChecklists","_error","entityIds","id","edge","name","ACTIVITIES_INFINITE_QUERY_COUNT","getActivitiesGQLApi","build","lastPage","pageInfo","queryArg","pageParam","api","filter","args","queryParams","result","fallback","e","updateCachedData","cacheDataLoaded","cacheEntryRemoved","dispatch","getCacheEntry","handleActivityRealtimeUpdates","projectName","entityId","entityType","ENTITY_TOOLTIP","_m","transformTooltipData","_e","taskProvideTags","useGetEntityTooltipQuery","useLazyGetActivitiesByIdQuery","useGetEntitiesChecklistsQuery","useGetActivitiesQuery","useGetActivitiesInfiniteInfiniteQuery","useGetActivityUsersQuery","updateCache","activitiesDraft","patch","isDelete","page","index","a","activityFound","serializeFilter","patchActivities","refs","rest","method","queryFulfilled","getState","refIds","ref","invalidatingTags","filterKey","state","entries","patches","originalArgs","draft","tablePatches","patchTableLatestComments","patchResult","getTags","tags","filterActivityTypes","key","updateActivitiesApi","data","error","activityId","useCreateEntityActivityMutation","useDeleteActivityMutation","useUpdateActivityMutation"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getCategories.cjs.js","sources":["../../../../../../src/api/queries/activities/getCategories.ts"],"sourcesContent":["import { ActivityCategoriesResponseModel, activityFeedApi } from '@shared/api/generated'\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport { AccessLevel } from '@shared/components'\n\nconst listTag = { type: 'category', id: 'LIST' } as const\nconst settingsTag = { type: 'addonSettings', id: 'powerpack' } as const\n\nexport type ActivityCategory = {\n name: string\n color: string // hex color code\n access: Record<string, AccessLevel>\n accessLevel: AccessLevel\n}\ntype GetActivityCategoriesResult = ActivityCategory[]\n\ntype Definitions = DefinitionsFromApi<typeof activityFeedApi>\ntype TagTypes = TagTypesFromApi<typeof activityFeedApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'getActivityCategories'> & {\n getActivityCategories: OverrideResultType<\n Definitions['getActivityCategories'],\n GetActivityCategoriesResult\n >\n}\n\nconst categoriesApi = activityFeedApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n getActivityCategories: {\n transformResponse: (res: ActivityCategoriesResponseModel) =>\n res.categories as ActivityCategory[],\n transformErrorResponse: (error: any) => error.data?.detail || 'An error occurred.',\n providesTags: (result) =>\n result\n ? [\n ...result.map(({ name }) => ({ type: 'category' as const, id: name })),\n listTag,\n settingsTag,\n ]\n : [listTag, settingsTag],\n },\n },\n})\n\nexport const { useGetActivityCategoriesQuery } = categoriesApi\n"],"names":["listTag","settingsTag","categoriesApi","activityFeedApi","res","error","result","name","useGetActivityCategoriesQuery"],"mappings":"oxDAIA,MAAMA,EAAU,CAAE,KAAM,WAAY,GAAI,MAAA,EAClCC,EAAc,CAAE,KAAM,gBAAiB,GAAI,WAAA,EAoB3CC,EAAgBC,EAAAA,IAAgB,iBAA+C,CACnF,UAAW,CACT,sBAAuB,CACrB,kBAAoBC,GAClBA,EAAI,WACN,uBAAyBC,GAAeA,EAAM,MAAM,QAAU,qBAC9D,aAAeC,GACbA,EACI,CACE,GAAGA,EAAO,IAAI,CAAC,CAAE,KAAAC,CAAA,KAAY,CAAE,KAAM,WAAqB,GAAIA,CAAA,EAAO,EACrEP,EACAC,CAAA,EAEF,CAACD,EAASC,CAAW,CAAA,CAC7B,CAEJ,CAAC,EAEY,CAAE,8BAAAO,GAAkCN"}
1
+ {"version":3,"file":"getCategories.cjs.js","sources":["../../../../../../src/api/queries/activities/getCategories.ts"],"sourcesContent":["import { activityFeedApi } from '@shared/api/generated'\nimport type { ActivityCategoriesResponseModel } from '@shared/api/generated'\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport type { AccessLevel } from '@shared/components/AccessUser/AccessUser'\n\nconst listTag = { type: 'category', id: 'LIST' } as const\nconst settingsTag = { type: 'addonSettings', id: 'powerpack' } as const\n\nexport type ActivityCategory = {\n name: string\n color: string // hex color code\n access: Record<string, AccessLevel>\n accessLevel: AccessLevel\n}\ntype GetActivityCategoriesResult = ActivityCategory[]\n\ntype Definitions = DefinitionsFromApi<typeof activityFeedApi>\ntype TagTypes = TagTypesFromApi<typeof activityFeedApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'getActivityCategories'> & {\n getActivityCategories: OverrideResultType<\n Definitions['getActivityCategories'],\n GetActivityCategoriesResult\n >\n}\n\nconst categoriesApi = activityFeedApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n getActivityCategories: {\n transformResponse: (res: ActivityCategoriesResponseModel) =>\n res.categories as ActivityCategory[],\n transformErrorResponse: (error: any) => error.data?.detail || 'An error occurred.',\n providesTags: (result) =>\n result\n ? [\n ...result.map(({ name }) => ({ type: 'category' as const, id: name })),\n listTag,\n settingsTag,\n ]\n : [listTag, settingsTag],\n },\n },\n})\n\nexport const { useGetActivityCategoriesQuery } = categoriesApi\n"],"names":["listTag","settingsTag","categoriesApi","activityFeedApi","res","error","result","name","useGetActivityCategoriesQuery"],"mappings":"oxDAKA,MAAMA,EAAU,CAAE,KAAM,WAAY,GAAI,MAAA,EAClCC,EAAc,CAAE,KAAM,gBAAiB,GAAI,WAAA,EAoB3CC,EAAgBC,EAAAA,IAAgB,iBAA+C,CACnF,UAAW,CACT,sBAAuB,CACrB,kBAAoBC,GAClBA,EAAI,WACN,uBAAyBC,GAAeA,EAAM,MAAM,QAAU,qBAC9D,aAAeC,GACbA,EACI,CACE,GAAGA,EAAO,IAAI,CAAC,CAAE,KAAAC,CAAA,KAAY,CAAE,KAAM,WAAqB,GAAIA,CAAA,EAAO,EACrEP,EACAC,CAAA,EAEF,CAACD,EAASC,CAAW,CAAA,CAC7B,CAEJ,CAAC,EAEY,CAAE,8BAAAO,GAAkCN"}
@@ -1 +1 @@
1
- {"version":3,"file":"getCategories.es.js","sources":["../../../../../../src/api/queries/activities/getCategories.ts"],"sourcesContent":["import { ActivityCategoriesResponseModel, activityFeedApi } from '@shared/api/generated'\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport { AccessLevel } from '@shared/components'\n\nconst listTag = { type: 'category', id: 'LIST' } as const\nconst settingsTag = { type: 'addonSettings', id: 'powerpack' } as const\n\nexport type ActivityCategory = {\n name: string\n color: string // hex color code\n access: Record<string, AccessLevel>\n accessLevel: AccessLevel\n}\ntype GetActivityCategoriesResult = ActivityCategory[]\n\ntype Definitions = DefinitionsFromApi<typeof activityFeedApi>\ntype TagTypes = TagTypesFromApi<typeof activityFeedApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'getActivityCategories'> & {\n getActivityCategories: OverrideResultType<\n Definitions['getActivityCategories'],\n GetActivityCategoriesResult\n >\n}\n\nconst categoriesApi = activityFeedApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n getActivityCategories: {\n transformResponse: (res: ActivityCategoriesResponseModel) =>\n res.categories as ActivityCategory[],\n transformErrorResponse: (error: any) => error.data?.detail || 'An error occurred.',\n providesTags: (result) =>\n result\n ? [\n ...result.map(({ name }) => ({ type: 'category' as const, id: name })),\n listTag,\n settingsTag,\n ]\n : [listTag, settingsTag],\n },\n },\n})\n\nexport const { useGetActivityCategoriesQuery } = categoriesApi\n"],"names":["listTag","settingsTag","categoriesApi","activityFeedApi","res","error","result","name","useGetActivityCategoriesQuery"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,MAAMA,IAAU,EAAE,MAAM,YAAY,IAAI,OAAA,GAClCC,IAAc,EAAE,MAAM,iBAAiB,IAAI,YAAA,GAoB3CC,IAAgBC,EAAgB,iBAA+C;AAAA,EACnF,WAAW;AAAA,IACT,uBAAuB;AAAA,MACrB,mBAAmB,CAACC,MAClBA,EAAI;AAAA,MACN,wBAAwB,CAACC,MAAeA,EAAM,MAAM,UAAU;AAAA,MAC9D,cAAc,CAACC,MACbA,IACI;AAAA,QACE,GAAGA,EAAO,IAAI,CAAC,EAAE,MAAAC,EAAA,OAAY,EAAE,MAAM,YAAqB,IAAIA,EAAA,EAAO;AAAA,QACrEP;AAAA,QACAC;AAAA,MAAA,IAEF,CAACD,GAASC,CAAW;AAAA,IAAA;AAAA,EAC7B;AAEJ,CAAC,GAEY,EAAE,+BAAAO,MAAkCN;"}
1
+ {"version":3,"file":"getCategories.es.js","sources":["../../../../../../src/api/queries/activities/getCategories.ts"],"sourcesContent":["import { activityFeedApi } from '@shared/api/generated'\nimport type { ActivityCategoriesResponseModel } from '@shared/api/generated'\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport type { AccessLevel } from '@shared/components/AccessUser/AccessUser'\n\nconst listTag = { type: 'category', id: 'LIST' } as const\nconst settingsTag = { type: 'addonSettings', id: 'powerpack' } as const\n\nexport type ActivityCategory = {\n name: string\n color: string // hex color code\n access: Record<string, AccessLevel>\n accessLevel: AccessLevel\n}\ntype GetActivityCategoriesResult = ActivityCategory[]\n\ntype Definitions = DefinitionsFromApi<typeof activityFeedApi>\ntype TagTypes = TagTypesFromApi<typeof activityFeedApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'getActivityCategories'> & {\n getActivityCategories: OverrideResultType<\n Definitions['getActivityCategories'],\n GetActivityCategoriesResult\n >\n}\n\nconst categoriesApi = activityFeedApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n getActivityCategories: {\n transformResponse: (res: ActivityCategoriesResponseModel) =>\n res.categories as ActivityCategory[],\n transformErrorResponse: (error: any) => error.data?.detail || 'An error occurred.',\n providesTags: (result) =>\n result\n ? [\n ...result.map(({ name }) => ({ type: 'category' as const, id: name })),\n listTag,\n settingsTag,\n ]\n : [listTag, settingsTag],\n },\n },\n})\n\nexport const { useGetActivityCategoriesQuery } = categoriesApi\n"],"names":["listTag","settingsTag","categoriesApi","activityFeedApi","res","error","result","name","useGetActivityCategoriesQuery"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAMA,IAAU,EAAE,MAAM,YAAY,IAAI,OAAA,GAClCC,IAAc,EAAE,MAAM,iBAAiB,IAAI,YAAA,GAoB3CC,IAAgBC,EAAgB,iBAA+C;AAAA,EACnF,WAAW;AAAA,IACT,uBAAuB;AAAA,MACrB,mBAAmB,CAACC,MAClBA,EAAI;AAAA,MACN,wBAAwB,CAACC,MAAeA,EAAM,MAAM,UAAU;AAAA,MAC9D,cAAc,CAACC,MACbA,IACI;AAAA,QACE,GAAGA,EAAO,IAAI,CAAC,EAAE,MAAAC,EAAA,OAAY,EAAE,MAAM,YAAqB,IAAIA,EAAA,EAAO;AAAA,QACrEP;AAAA,QACAC;AAAA,MAAA,IAEF,CAACD,GAASC,CAAW;AAAA,IAAA;AAAA,EAC7B;AAEJ,CAAC,GAEY,EAAE,+BAAAO,MAAkCN;"}
@@ -1 +1 @@
1
- {"version":3,"file":"patchTableLatestComments.cjs.js","sources":["../../../../../../src/api/queries/activities/patchTableLatestComments.ts"],"sourcesContent":["import type { EntityComment } from '@shared/api'\nimport getOverviewApi from '../overview/getOverview'\nimport { entityListsQueriesGql } from '../entityLists/updateLists'\nimport { injectedVersionsPageApi } from '../versions/getVersionsProducts'\n\n// Backend's latestComments returns the 5 newest top-level (origin) comments, newest first.\nconst LATEST_COMMENTS_LIMIT = 5\n\n// latestComments serializes uuids with dashes, but the feed/entity uuids are dashless;\n// compare normalized so the same id matches across both shapes.\nconst normalizeId = (id?: string | null) => (id || '').replace(/-/g, '')\n\n// Update one cached table node's latestComments. Mutates the immer draft array in\n// place — reassigning it to a new array that still holds existing draft elements\n// breaks immer finalization, so the patch would silently fail to apply.\nconst applyCommentToNode = (\n node: any,\n comment: EntityComment,\n method: 'create' | 'update' | 'delete',\n) => {\n if (!Array.isArray(node.latestComments)) node.latestComments = []\n const list: EntityComment[] = node.latestComments\n const target = normalizeId(comment.activityId)\n const idx = list.findIndex((c) => normalizeId(c.activityId) === target)\n if (method === 'delete') {\n if (idx !== -1) list.splice(idx, 1)\n } else if (method === 'update') {\n if (idx !== -1) list[idx].body = comment.body\n } else {\n if (idx !== -1) list.splice(idx, 1)\n list.unshift(comment)\n if (list.length > LATEST_COMMENTS_LIMIT) list.splice(LATEST_COMMENTS_LIMIT)\n }\n}\n\n// The table caches that show latestComments, grouped by the owning api slice (so we\n// patch through each slice's own util, like the other patchers do). For every slice:\n// the tag to find its caches by entity, and where each rendered endpoint keeps its\n// comment-bearing nodes. Raw GraphQL sub-queries (GetTasksList/GetTasksByParent) are\n// omitted — the UI renders from the aggregating endpoints, which copy the data out.\n// Add an endpoint here when a new table starts showing latestComments.\nconst COMMENT_CACHE_GROUPS: {\n api: { util: any }\n tag: string\n selectors: Record<string, (draft: any) => any[]>\n}[] = [\n {\n api: getOverviewApi,\n tag: 'overviewTask',\n selectors: {\n getOverviewTasksByFolders: (d) => d ?? [],\n getTasksListInfinite: (d) => d?.pages?.flatMap((p: any) => p.tasks ?? []) ?? [],\n getGroupedTasksList: (d) => d?.tasks ?? [],\n },\n },\n {\n api: entityListsQueriesGql,\n tag: 'entityListItem',\n selectors: {\n getListItemsInfinite: (d) => d?.pages?.flatMap((p: any) => p.items ?? []) ?? [],\n },\n },\n {\n api: injectedVersionsPageApi,\n tag: 'version',\n selectors: {\n getVersionsInfinite: (d) => d?.pages?.flatMap((p: any) => p.versions ?? []) ?? [],\n getVersionsByProducts: (d) => d?.versions ?? [],\n getGroupedVersionsList: (d) => d?.versions ?? [],\n getProductsInfinite: (d) =>\n (d?.pages?.flatMap((p: any) => p.products ?? []) ?? [])\n .map((p: any) => p.featuredVersion)\n .filter(Boolean),\n },\n },\n]\n\n// Optimistically patch latestComments in the overview/versions/products/lists table caches\n// instead of refetching them. Returns the patch handles so they can be undone on failure.\nexport const patchTableLatestComments = (\n args: any,\n { dispatch, getState }: any,\n method: 'create' | 'update' | 'delete',\n) => {\n const { patch } = args\n const entityId = args.entityId ?? patch?.entityId\n const activityId = patch?.activityId ?? args.activityId\n if (!entityId || !activityId) return []\n\n // Only top-level comments appear in latestComments; ignore replies and non-comment activities.\n if (method === 'create' && !(patch?.activityType === 'comment' && patch?.referenceType === 'origin'))\n return []\n if (method === 'update' && patch?.activityType && patch.activityType !== 'comment') return []\n\n const comment: EntityComment = {\n __typename: 'EntityComment',\n activityId,\n body: patch?.body ?? '',\n author: patch?.authorName ?? null,\n createdAt: patch?.createdAt ?? '',\n }\n\n // tasks → overviewTask; versions + products(via featuredVersion) → version; list rows → entityListItem\n const state = getState()\n const target = normalizeId(entityId)\n const patches: any[] = []\n\n for (const { api: sliceApi, tag, selectors } of COMMENT_CACHE_GROUPS) {\n const entries = sliceApi.util.selectInvalidatedBy(state, [{ type: tag, id: entityId }])\n for (const { endpointName, originalArgs } of entries) {\n const selectNodes = selectors[endpointName]\n if (!selectNodes) continue // skip caches the table never renders (raw sub-queries)\n patches.push(\n dispatch(\n sliceApi.util.updateQueryData(endpointName, originalArgs, (draft: any) => {\n for (const node of selectNodes(draft)) {\n if (normalizeId(node?.id) === target || normalizeId(node?.entityId) === target) {\n applyCommentToNode(node, comment, method)\n }\n }\n }),\n ),\n )\n }\n }\n\n return patches\n}\n"],"names":["LATEST_COMMENTS_LIMIT","normalizeId","id","applyCommentToNode","node","comment","method","list","target","idx","c","COMMENT_CACHE_GROUPS","getOverviewApi","d","p","entityListsQueriesGql","injectedVersionsPageApi","patchTableLatestComments","args","dispatch","getState","patch","entityId","activityId","state","patches","sliceApi","tag","selectors","entries","endpointName","originalArgs","selectNodes","draft"],"mappings":"qRAMMA,EAAwB,EAIxBC,EAAeC,IAAwBA,GAAM,IAAI,QAAQ,KAAM,EAAE,EAKjEC,EAAqB,CACzBC,EACAC,EACAC,IACG,CACE,MAAM,QAAQF,EAAK,cAAc,IAAGA,EAAK,eAAiB,CAAA,GAC/D,MAAMG,EAAwBH,EAAK,eAC7BI,EAASP,EAAYI,EAAQ,UAAU,EACvCI,EAAMF,EAAK,UAAWG,GAAMT,EAAYS,EAAE,UAAU,IAAMF,CAAM,EAClEF,IAAW,SACTG,IAAQ,IAAIF,EAAK,OAAOE,EAAK,CAAC,EACzBH,IAAW,SAChBG,IAAQ,KAAIF,EAAKE,CAAG,EAAE,KAAOJ,EAAQ,OAErCI,IAAQ,IAAIF,EAAK,OAAOE,EAAK,CAAC,EAClCF,EAAK,QAAQF,CAAO,EAChBE,EAAK,OAASP,GAAuBO,EAAK,OAAOP,CAAqB,EAE9E,EAQMW,EAIA,CACJ,CACE,IAAKC,EAAAA,QACL,IAAK,eACL,UAAW,CACT,0BAA4BC,GAAMA,GAAK,CAAA,EACvC,qBAAuBA,GAAMA,GAAG,OAAO,QAASC,GAAWA,EAAE,OAAS,CAAA,CAAE,GAAK,CAAA,EAC7E,oBAAsBD,GAAMA,GAAG,OAAS,CAAA,CAAC,CAC3C,EAEF,CACE,IAAKE,EAAAA,QACL,IAAK,iBACL,UAAW,CACT,qBAAuBF,GAAMA,GAAG,OAAO,QAASC,GAAWA,EAAE,OAAS,CAAA,CAAE,GAAK,CAAA,CAAC,CAChF,EAEF,CACE,IAAKE,EAAAA,wBACL,IAAK,UACL,UAAW,CACT,oBAAsBH,GAAMA,GAAG,OAAO,QAASC,GAAWA,EAAE,UAAY,CAAA,CAAE,GAAK,CAAA,EAC/E,sBAAwBD,GAAMA,GAAG,UAAY,CAAA,EAC7C,uBAAyBA,GAAMA,GAAG,UAAY,CAAA,EAC9C,oBAAsBA,IACnBA,GAAG,OAAO,QAASC,GAAWA,EAAE,UAAY,CAAA,CAAE,GAAK,CAAA,GACjD,IAAKA,GAAWA,EAAE,eAAe,EACjC,OAAO,OAAO,CAAA,CACrB,CAEJ,EAIaG,EAA2B,CACtCC,EACA,CAAE,SAAAC,EAAU,SAAAC,CAAA,EACZd,IACG,CACH,KAAM,CAAE,MAAAe,GAAUH,EACZI,EAAWJ,EAAK,UAAYG,GAAO,SACnCE,EAAaF,GAAO,YAAcH,EAAK,WAC7C,GAAI,CAACI,GAAY,CAACC,QAAmB,CAAA,EAGrC,GAAIjB,IAAW,UAAY,EAAEe,GAAO,eAAiB,WAAaA,GAAO,gBAAkB,UACzF,MAAO,CAAA,EACT,GAAIf,IAAW,UAAYe,GAAO,cAAgBA,EAAM,eAAiB,gBAAkB,CAAA,EAE3F,MAAMhB,EAAyB,CAC7B,WAAY,gBACZ,WAAAkB,EACA,KAAMF,GAAO,MAAQ,GACrB,OAAQA,GAAO,YAAc,KAC7B,UAAWA,GAAO,WAAa,EAAA,EAI3BG,EAAQJ,EAAA,EACRZ,EAASP,EAAYqB,CAAQ,EAC7BG,EAAiB,CAAA,EAEvB,SAAW,CAAE,IAAKC,EAAU,IAAAC,EAAK,UAAAC,CAAA,IAAejB,EAAsB,CACpE,MAAMkB,EAAUH,EAAS,KAAK,oBAAoBF,EAAO,CAAC,CAAE,KAAMG,EAAK,GAAIL,CAAA,CAAU,CAAC,EACtF,SAAW,CAAE,aAAAQ,EAAc,aAAAC,CAAA,IAAkBF,EAAS,CACpD,MAAMG,EAAcJ,EAAUE,CAAY,EACrCE,GACLP,EAAQ,KACNN,EACEO,EAAS,KAAK,gBAAgBI,EAAcC,EAAeE,GAAe,CACxE,UAAW7B,KAAQ4B,EAAYC,CAAK,GAC9BhC,EAAYG,GAAM,EAAE,IAAMI,GAAUP,EAAYG,GAAM,QAAQ,IAAMI,IACtEL,EAAmBC,EAAMC,EAASC,CAAM,CAG9C,CAAC,CAAA,CACH,CAEJ,CACF,CAEA,OAAOmB,CACT"}
1
+ {"version":3,"file":"patchTableLatestComments.cjs.js","sources":["../../../../../../src/api/queries/activities/patchTableLatestComments.ts"],"sourcesContent":["import type { EntityComment } from '@shared/api/generated/graphql'\nimport getOverviewApi from '../overview/getOverview'\nimport { entityListsQueriesGql } from '../entityLists/updateLists'\nimport { injectedVersionsPageApi } from '../versions/getVersionsProducts'\n\n// Backend's latestComments returns the 5 newest top-level (origin) comments, newest first.\nconst LATEST_COMMENTS_LIMIT = 5\n\n// latestComments serializes uuids with dashes, but the feed/entity uuids are dashless;\n// compare normalized so the same id matches across both shapes.\nconst normalizeId = (id?: string | null) => (id || '').replace(/-/g, '')\n\n// Update one cached table node's latestComments. Mutates the immer draft array in\n// place — reassigning it to a new array that still holds existing draft elements\n// breaks immer finalization, so the patch would silently fail to apply.\nconst applyCommentToNode = (\n node: any,\n comment: EntityComment,\n method: 'create' | 'update' | 'delete',\n) => {\n if (!Array.isArray(node.latestComments)) node.latestComments = []\n const list: EntityComment[] = node.latestComments\n const target = normalizeId(comment.activityId)\n const idx = list.findIndex((c) => normalizeId(c.activityId) === target)\n if (method === 'delete') {\n if (idx !== -1) list.splice(idx, 1)\n } else if (method === 'update') {\n if (idx !== -1) list[idx].body = comment.body\n } else {\n if (idx !== -1) list.splice(idx, 1)\n list.unshift(comment)\n if (list.length > LATEST_COMMENTS_LIMIT) list.splice(LATEST_COMMENTS_LIMIT)\n }\n}\n\n// The table caches that show latestComments, grouped by the owning api slice (so we\n// patch through each slice's own util, like the other patchers do). For every slice:\n// the tag to find its caches by entity, and where each rendered endpoint keeps its\n// comment-bearing nodes. Raw GraphQL sub-queries (GetTasksList/GetTasksByParent) are\n// omitted — the UI renders from the aggregating endpoints, which copy the data out.\n// Add an endpoint here when a new table starts showing latestComments.\nconst COMMENT_CACHE_GROUPS: {\n api: { util: any }\n tag: string\n selectors: Record<string, (draft: any) => any[]>\n}[] = [\n {\n api: getOverviewApi,\n tag: 'overviewTask',\n selectors: {\n getOverviewTasksByFolders: (d) => d ?? [],\n getTasksListInfinite: (d) => d?.pages?.flatMap((p: any) => p.tasks ?? []) ?? [],\n getGroupedTasksList: (d) => d?.tasks ?? [],\n },\n },\n {\n api: entityListsQueriesGql,\n tag: 'entityListItem',\n selectors: {\n getListItemsInfinite: (d) => d?.pages?.flatMap((p: any) => p.items ?? []) ?? [],\n },\n },\n {\n api: injectedVersionsPageApi,\n tag: 'version',\n selectors: {\n getVersionsInfinite: (d) => d?.pages?.flatMap((p: any) => p.versions ?? []) ?? [],\n getVersionsByProducts: (d) => d?.versions ?? [],\n getGroupedVersionsList: (d) => d?.versions ?? [],\n getProductsInfinite: (d) =>\n (d?.pages?.flatMap((p: any) => p.products ?? []) ?? [])\n .map((p: any) => p.featuredVersion)\n .filter(Boolean),\n },\n },\n]\n\n// Optimistically patch latestComments in the overview/versions/products/lists table caches\n// instead of refetching them. Returns the patch handles so they can be undone on failure.\nexport const patchTableLatestComments = (\n args: any,\n { dispatch, getState }: any,\n method: 'create' | 'update' | 'delete',\n) => {\n const { patch } = args\n const entityId = args.entityId ?? patch?.entityId\n const activityId = patch?.activityId ?? args.activityId\n if (!entityId || !activityId) return []\n\n // Only top-level comments appear in latestComments; ignore replies and non-comment activities.\n if (\n method === 'create' &&\n !(patch?.activityType === 'comment' && patch?.referenceType === 'origin')\n )\n return []\n if (method === 'update' && patch?.activityType && patch.activityType !== 'comment') return []\n\n const comment: EntityComment = {\n __typename: 'EntityComment',\n activityId,\n body: patch?.body ?? '',\n author: patch?.authorName ?? null,\n createdAt: patch?.createdAt ?? '',\n }\n\n // tasks → overviewTask; versions + products(via featuredVersion) → version; list rows → entityListItem\n const state = getState()\n const target = normalizeId(entityId)\n const patches: any[] = []\n\n for (const { api: sliceApi, tag, selectors } of COMMENT_CACHE_GROUPS) {\n const entries = sliceApi.util.selectInvalidatedBy(state, [{ type: tag, id: entityId }])\n for (const { endpointName, originalArgs } of entries) {\n const selectNodes = selectors[endpointName]\n if (!selectNodes) continue // skip caches the table never renders (raw sub-queries)\n patches.push(\n dispatch(\n sliceApi.util.updateQueryData(endpointName, originalArgs, (draft: any) => {\n for (const node of selectNodes(draft)) {\n if (normalizeId(node?.id) === target || normalizeId(node?.entityId) === target) {\n applyCommentToNode(node, comment, method)\n }\n }\n }),\n ),\n )\n }\n }\n\n return patches\n}\n"],"names":["LATEST_COMMENTS_LIMIT","normalizeId","id","applyCommentToNode","node","comment","method","list","target","idx","c","COMMENT_CACHE_GROUPS","getOverviewApi","d","p","entityListsQueriesGql","injectedVersionsPageApi","patchTableLatestComments","args","dispatch","getState","patch","entityId","activityId","state","patches","sliceApi","tag","selectors","entries","endpointName","originalArgs","selectNodes","draft"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"patchTableLatestComments.es.js","sources":["../../../../../../src/api/queries/activities/patchTableLatestComments.ts"],"sourcesContent":["import type { EntityComment } from '@shared/api'\nimport getOverviewApi from '../overview/getOverview'\nimport { entityListsQueriesGql } from '../entityLists/updateLists'\nimport { injectedVersionsPageApi } from '../versions/getVersionsProducts'\n\n// Backend's latestComments returns the 5 newest top-level (origin) comments, newest first.\nconst LATEST_COMMENTS_LIMIT = 5\n\n// latestComments serializes uuids with dashes, but the feed/entity uuids are dashless;\n// compare normalized so the same id matches across both shapes.\nconst normalizeId = (id?: string | null) => (id || '').replace(/-/g, '')\n\n// Update one cached table node's latestComments. Mutates the immer draft array in\n// place — reassigning it to a new array that still holds existing draft elements\n// breaks immer finalization, so the patch would silently fail to apply.\nconst applyCommentToNode = (\n node: any,\n comment: EntityComment,\n method: 'create' | 'update' | 'delete',\n) => {\n if (!Array.isArray(node.latestComments)) node.latestComments = []\n const list: EntityComment[] = node.latestComments\n const target = normalizeId(comment.activityId)\n const idx = list.findIndex((c) => normalizeId(c.activityId) === target)\n if (method === 'delete') {\n if (idx !== -1) list.splice(idx, 1)\n } else if (method === 'update') {\n if (idx !== -1) list[idx].body = comment.body\n } else {\n if (idx !== -1) list.splice(idx, 1)\n list.unshift(comment)\n if (list.length > LATEST_COMMENTS_LIMIT) list.splice(LATEST_COMMENTS_LIMIT)\n }\n}\n\n// The table caches that show latestComments, grouped by the owning api slice (so we\n// patch through each slice's own util, like the other patchers do). For every slice:\n// the tag to find its caches by entity, and where each rendered endpoint keeps its\n// comment-bearing nodes. Raw GraphQL sub-queries (GetTasksList/GetTasksByParent) are\n// omitted — the UI renders from the aggregating endpoints, which copy the data out.\n// Add an endpoint here when a new table starts showing latestComments.\nconst COMMENT_CACHE_GROUPS: {\n api: { util: any }\n tag: string\n selectors: Record<string, (draft: any) => any[]>\n}[] = [\n {\n api: getOverviewApi,\n tag: 'overviewTask',\n selectors: {\n getOverviewTasksByFolders: (d) => d ?? [],\n getTasksListInfinite: (d) => d?.pages?.flatMap((p: any) => p.tasks ?? []) ?? [],\n getGroupedTasksList: (d) => d?.tasks ?? [],\n },\n },\n {\n api: entityListsQueriesGql,\n tag: 'entityListItem',\n selectors: {\n getListItemsInfinite: (d) => d?.pages?.flatMap((p: any) => p.items ?? []) ?? [],\n },\n },\n {\n api: injectedVersionsPageApi,\n tag: 'version',\n selectors: {\n getVersionsInfinite: (d) => d?.pages?.flatMap((p: any) => p.versions ?? []) ?? [],\n getVersionsByProducts: (d) => d?.versions ?? [],\n getGroupedVersionsList: (d) => d?.versions ?? [],\n getProductsInfinite: (d) =>\n (d?.pages?.flatMap((p: any) => p.products ?? []) ?? [])\n .map((p: any) => p.featuredVersion)\n .filter(Boolean),\n },\n },\n]\n\n// Optimistically patch latestComments in the overview/versions/products/lists table caches\n// instead of refetching them. Returns the patch handles so they can be undone on failure.\nexport const patchTableLatestComments = (\n args: any,\n { dispatch, getState }: any,\n method: 'create' | 'update' | 'delete',\n) => {\n const { patch } = args\n const entityId = args.entityId ?? patch?.entityId\n const activityId = patch?.activityId ?? args.activityId\n if (!entityId || !activityId) return []\n\n // Only top-level comments appear in latestComments; ignore replies and non-comment activities.\n if (method === 'create' && !(patch?.activityType === 'comment' && patch?.referenceType === 'origin'))\n return []\n if (method === 'update' && patch?.activityType && patch.activityType !== 'comment') return []\n\n const comment: EntityComment = {\n __typename: 'EntityComment',\n activityId,\n body: patch?.body ?? '',\n author: patch?.authorName ?? null,\n createdAt: patch?.createdAt ?? '',\n }\n\n // tasks → overviewTask; versions + products(via featuredVersion) → version; list rows → entityListItem\n const state = getState()\n const target = normalizeId(entityId)\n const patches: any[] = []\n\n for (const { api: sliceApi, tag, selectors } of COMMENT_CACHE_GROUPS) {\n const entries = sliceApi.util.selectInvalidatedBy(state, [{ type: tag, id: entityId }])\n for (const { endpointName, originalArgs } of entries) {\n const selectNodes = selectors[endpointName]\n if (!selectNodes) continue // skip caches the table never renders (raw sub-queries)\n patches.push(\n dispatch(\n sliceApi.util.updateQueryData(endpointName, originalArgs, (draft: any) => {\n for (const node of selectNodes(draft)) {\n if (normalizeId(node?.id) === target || normalizeId(node?.entityId) === target) {\n applyCommentToNode(node, comment, method)\n }\n }\n }),\n ),\n )\n }\n }\n\n return patches\n}\n"],"names":["LATEST_COMMENTS_LIMIT","normalizeId","id","applyCommentToNode","node","comment","method","list","target","idx","c","COMMENT_CACHE_GROUPS","getOverviewApi","d","p","entityListsQueriesGql","injectedVersionsPageApi","patchTableLatestComments","args","dispatch","getState","patch","entityId","activityId","state","patches","sliceApi","tag","selectors","entries","endpointName","originalArgs","selectNodes","draft"],"mappings":";;;;AAMA,MAAMA,IAAwB,GAIxBC,IAAc,CAACC,OAAwBA,KAAM,IAAI,QAAQ,MAAM,EAAE,GAKjEC,IAAqB,CACzBC,GACAC,GACAC,MACG;AACH,EAAK,MAAM,QAAQF,EAAK,cAAc,MAAGA,EAAK,iBAAiB,CAAA;AAC/D,QAAMG,IAAwBH,EAAK,gBAC7BI,IAASP,EAAYI,EAAQ,UAAU,GACvCI,IAAMF,EAAK,UAAU,CAACG,MAAMT,EAAYS,EAAE,UAAU,MAAMF,CAAM;AACtE,EAAIF,MAAW,WACTG,MAAQ,MAAIF,EAAK,OAAOE,GAAK,CAAC,IACzBH,MAAW,WAChBG,MAAQ,OAAIF,EAAKE,CAAG,EAAE,OAAOJ,EAAQ,SAErCI,MAAQ,MAAIF,EAAK,OAAOE,GAAK,CAAC,GAClCF,EAAK,QAAQF,CAAO,GAChBE,EAAK,SAASP,KAAuBO,EAAK,OAAOP,CAAqB;AAE9E,GAQMW,IAIA;AAAA,EACJ;AAAA,IACE,KAAKC;AAAAA,IACL,KAAK;AAAA,IACL,WAAW;AAAA,MACT,2BAA2B,CAACC,MAAMA,KAAK,CAAA;AAAA,MACvC,sBAAsB,CAACA,MAAMA,GAAG,OAAO,QAAQ,CAACC,MAAWA,EAAE,SAAS,CAAA,CAAE,KAAK,CAAA;AAAA,MAC7E,qBAAqB,CAACD,MAAMA,GAAG,SAAS,CAAA;AAAA,IAAC;AAAA,EAC3C;AAAA,EAEF;AAAA,IACE,KAAKE;AAAAA,IACL,KAAK;AAAA,IACL,WAAW;AAAA,MACT,sBAAsB,CAACF,MAAMA,GAAG,OAAO,QAAQ,CAACC,MAAWA,EAAE,SAAS,CAAA,CAAE,KAAK,CAAA;AAAA,IAAC;AAAA,EAChF;AAAA,EAEF;AAAA,IACE,KAAKE;AAAA,IACL,KAAK;AAAA,IACL,WAAW;AAAA,MACT,qBAAqB,CAACH,MAAMA,GAAG,OAAO,QAAQ,CAACC,MAAWA,EAAE,YAAY,CAAA,CAAE,KAAK,CAAA;AAAA,MAC/E,uBAAuB,CAACD,MAAMA,GAAG,YAAY,CAAA;AAAA,MAC7C,wBAAwB,CAACA,MAAMA,GAAG,YAAY,CAAA;AAAA,MAC9C,qBAAqB,CAACA,OACnBA,GAAG,OAAO,QAAQ,CAACC,MAAWA,EAAE,YAAY,CAAA,CAAE,KAAK,CAAA,GACjD,IAAI,CAACA,MAAWA,EAAE,eAAe,EACjC,OAAO,OAAO;AAAA,IAAA;AAAA,EACrB;AAEJ,GAIaG,IAA2B,CACtCC,GACA,EAAE,UAAAC,GAAU,UAAAC,EAAA,GACZd,MACG;AACH,QAAM,EAAE,OAAAe,MAAUH,GACZI,IAAWJ,EAAK,YAAYG,GAAO,UACnCE,IAAaF,GAAO,cAAcH,EAAK;AAC7C,MAAI,CAACI,KAAY,CAACC,UAAmB,CAAA;AAGrC,MAAIjB,MAAW,YAAY,EAAEe,GAAO,iBAAiB,aAAaA,GAAO,kBAAkB;AACzF,WAAO,CAAA;AACT,MAAIf,MAAW,YAAYe,GAAO,gBAAgBA,EAAM,iBAAiB,kBAAkB,CAAA;AAE3F,QAAMhB,IAAyB;AAAA,IAC7B,YAAY;AAAA,IACZ,YAAAkB;AAAA,IACA,MAAMF,GAAO,QAAQ;AAAA,IACrB,QAAQA,GAAO,cAAc;AAAA,IAC7B,WAAWA,GAAO,aAAa;AAAA,EAAA,GAI3BG,IAAQJ,EAAA,GACRZ,IAASP,EAAYqB,CAAQ,GAC7BG,IAAiB,CAAA;AAEvB,aAAW,EAAE,KAAKC,GAAU,KAAAC,GAAK,WAAAC,EAAA,KAAejB,GAAsB;AACpE,UAAMkB,IAAUH,EAAS,KAAK,oBAAoBF,GAAO,CAAC,EAAE,MAAMG,GAAK,IAAIL,EAAA,CAAU,CAAC;AACtF,eAAW,EAAE,cAAAQ,GAAc,cAAAC,EAAA,KAAkBF,GAAS;AACpD,YAAMG,IAAcJ,EAAUE,CAAY;AAC1C,MAAKE,KACLP,EAAQ;AAAA,QACNN;AAAA,UACEO,EAAS,KAAK,gBAAgBI,GAAcC,GAAc,CAACE,MAAe;AACxE,uBAAW7B,KAAQ4B,EAAYC,CAAK;AAClC,eAAIhC,EAAYG,GAAM,EAAE,MAAMI,KAAUP,EAAYG,GAAM,QAAQ,MAAMI,MACtEL,EAAmBC,GAAMC,GAASC,CAAM;AAAA,UAG9C,CAAC;AAAA,QAAA;AAAA,MACH;AAAA,IAEJ;AAAA,EACF;AAEA,SAAOmB;AACT;"}
1
+ {"version":3,"file":"patchTableLatestComments.es.js","sources":["../../../../../../src/api/queries/activities/patchTableLatestComments.ts"],"sourcesContent":["import type { EntityComment } from '@shared/api/generated/graphql'\nimport getOverviewApi from '../overview/getOverview'\nimport { entityListsQueriesGql } from '../entityLists/updateLists'\nimport { injectedVersionsPageApi } from '../versions/getVersionsProducts'\n\n// Backend's latestComments returns the 5 newest top-level (origin) comments, newest first.\nconst LATEST_COMMENTS_LIMIT = 5\n\n// latestComments serializes uuids with dashes, but the feed/entity uuids are dashless;\n// compare normalized so the same id matches across both shapes.\nconst normalizeId = (id?: string | null) => (id || '').replace(/-/g, '')\n\n// Update one cached table node's latestComments. Mutates the immer draft array in\n// place — reassigning it to a new array that still holds existing draft elements\n// breaks immer finalization, so the patch would silently fail to apply.\nconst applyCommentToNode = (\n node: any,\n comment: EntityComment,\n method: 'create' | 'update' | 'delete',\n) => {\n if (!Array.isArray(node.latestComments)) node.latestComments = []\n const list: EntityComment[] = node.latestComments\n const target = normalizeId(comment.activityId)\n const idx = list.findIndex((c) => normalizeId(c.activityId) === target)\n if (method === 'delete') {\n if (idx !== -1) list.splice(idx, 1)\n } else if (method === 'update') {\n if (idx !== -1) list[idx].body = comment.body\n } else {\n if (idx !== -1) list.splice(idx, 1)\n list.unshift(comment)\n if (list.length > LATEST_COMMENTS_LIMIT) list.splice(LATEST_COMMENTS_LIMIT)\n }\n}\n\n// The table caches that show latestComments, grouped by the owning api slice (so we\n// patch through each slice's own util, like the other patchers do). For every slice:\n// the tag to find its caches by entity, and where each rendered endpoint keeps its\n// comment-bearing nodes. Raw GraphQL sub-queries (GetTasksList/GetTasksByParent) are\n// omitted — the UI renders from the aggregating endpoints, which copy the data out.\n// Add an endpoint here when a new table starts showing latestComments.\nconst COMMENT_CACHE_GROUPS: {\n api: { util: any }\n tag: string\n selectors: Record<string, (draft: any) => any[]>\n}[] = [\n {\n api: getOverviewApi,\n tag: 'overviewTask',\n selectors: {\n getOverviewTasksByFolders: (d) => d ?? [],\n getTasksListInfinite: (d) => d?.pages?.flatMap((p: any) => p.tasks ?? []) ?? [],\n getGroupedTasksList: (d) => d?.tasks ?? [],\n },\n },\n {\n api: entityListsQueriesGql,\n tag: 'entityListItem',\n selectors: {\n getListItemsInfinite: (d) => d?.pages?.flatMap((p: any) => p.items ?? []) ?? [],\n },\n },\n {\n api: injectedVersionsPageApi,\n tag: 'version',\n selectors: {\n getVersionsInfinite: (d) => d?.pages?.flatMap((p: any) => p.versions ?? []) ?? [],\n getVersionsByProducts: (d) => d?.versions ?? [],\n getGroupedVersionsList: (d) => d?.versions ?? [],\n getProductsInfinite: (d) =>\n (d?.pages?.flatMap((p: any) => p.products ?? []) ?? [])\n .map((p: any) => p.featuredVersion)\n .filter(Boolean),\n },\n },\n]\n\n// Optimistically patch latestComments in the overview/versions/products/lists table caches\n// instead of refetching them. Returns the patch handles so they can be undone on failure.\nexport const patchTableLatestComments = (\n args: any,\n { dispatch, getState }: any,\n method: 'create' | 'update' | 'delete',\n) => {\n const { patch } = args\n const entityId = args.entityId ?? patch?.entityId\n const activityId = patch?.activityId ?? args.activityId\n if (!entityId || !activityId) return []\n\n // Only top-level comments appear in latestComments; ignore replies and non-comment activities.\n if (\n method === 'create' &&\n !(patch?.activityType === 'comment' && patch?.referenceType === 'origin')\n )\n return []\n if (method === 'update' && patch?.activityType && patch.activityType !== 'comment') return []\n\n const comment: EntityComment = {\n __typename: 'EntityComment',\n activityId,\n body: patch?.body ?? '',\n author: patch?.authorName ?? null,\n createdAt: patch?.createdAt ?? '',\n }\n\n // tasks → overviewTask; versions + products(via featuredVersion) → version; list rows → entityListItem\n const state = getState()\n const target = normalizeId(entityId)\n const patches: any[] = []\n\n for (const { api: sliceApi, tag, selectors } of COMMENT_CACHE_GROUPS) {\n const entries = sliceApi.util.selectInvalidatedBy(state, [{ type: tag, id: entityId }])\n for (const { endpointName, originalArgs } of entries) {\n const selectNodes = selectors[endpointName]\n if (!selectNodes) continue // skip caches the table never renders (raw sub-queries)\n patches.push(\n dispatch(\n sliceApi.util.updateQueryData(endpointName, originalArgs, (draft: any) => {\n for (const node of selectNodes(draft)) {\n if (normalizeId(node?.id) === target || normalizeId(node?.entityId) === target) {\n applyCommentToNode(node, comment, method)\n }\n }\n }),\n ),\n )\n }\n }\n\n return patches\n}\n"],"names":["LATEST_COMMENTS_LIMIT","normalizeId","id","applyCommentToNode","node","comment","method","list","target","idx","c","COMMENT_CACHE_GROUPS","getOverviewApi","d","p","entityListsQueriesGql","injectedVersionsPageApi","patchTableLatestComments","args","dispatch","getState","patch","entityId","activityId","state","patches","sliceApi","tag","selectors","entries","endpointName","originalArgs","selectNodes","draft"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"activitiesHelpers.cjs.js","sources":["../../../../../../../src/api/queries/activities/util/activitiesHelpers.ts"],"sourcesContent":["import type {\n ActivityFragmentFragment,\n GetEntitiesChecklistsQuery,\n PageInfo,\n} from '@shared/api/generated'\nimport { ChecklistCount, FeedActivity, FeedActivityData } from '../types'\nimport { BaseTypes, EntityTooltipQuery, TaskTypes, VersionTypes } from '../activityQueries'\n\n// Helper function to get a nested property of an object using a string path\nconst getNestedProperty = <T extends Record<string, any>, R = any>(\n obj: T,\n path: string,\n): R | undefined =>\n path.split('.').reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n\n// Helper function to delete a nested property of an object using a string path\nconst deleteNestedProperty = <T extends Record<string, any>>(obj: T, path: string): void => {\n const pathParts = path.split('.')\n const lastPart = pathParts.pop()\n const target = pathParts.reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n if (target && lastPart) {\n delete target[lastPart]\n }\n}\n\nfunction remapNestedProperties<T extends Record<string, any>>(\n object: T,\n remappingItems: Record<string, string>,\n): T {\n const transformedObject = { ...object }\n\n for (const [key, newKey] of Object.entries(remappingItems)) {\n const value = getNestedProperty(transformedObject, key)\n if (value !== undefined) {\n // Get deeply nested value from key using \".\" notation\n // @ts-expect-error\n transformedObject[newKey] = value\n // Delete the old key from the object\n deleteNestedProperty(transformedObject, key)\n }\n }\n\n return transformedObject\n}\n\nexport type ActivitiesResult = { activities: FeedActivity[]; pageInfo: PageInfo }\n\ntype TransFormActivityData = (\n edges: { node: ActivityFragmentFragment }[],\n pageInfo: PageInfo,\n) => ActivitiesResult\n\n// we flatten the activity object a little bit\nexport const transformActivityData: TransFormActivityData = (edges = [], pageInfo) => {\n const activities: FeedActivity[] = []\n\n // loop over each activity and remap the nested properties\n edges.forEach((edge) => {\n // remapping keys are the fields path in the object\n // and the values are the new keys to assign the values to\n const data = edge.node\n\n if (!data) {\n return\n }\n\n const activityNode = data\n\n // remapping of nested properties to flat properties\n const remappingItems = {\n 'author.name': 'authorName',\n 'author.attrib.fullName': 'authorFullName',\n 'author.attrib.avatarUrl': 'authorAvatarUrl',\n }\n\n const transformedActivity = remapNestedProperties(\n activityNode,\n remappingItems,\n ) as unknown as FeedActivity\n\n // parse activityData if it's a JSON string\n if (typeof activityNode.activityData === 'string') {\n try {\n transformedActivity.activityData = JSON.parse(activityNode.activityData) as FeedActivityData\n } catch (e) {\n console.error('Error parsing JSON field activityData', activityNode.activityData)\n }\n }\n\n activities.push(transformedActivity)\n })\n\n // when there are no activities and hasPreviousPage is false, add an \"createdAt\" activity as the last activity\n // if (pageInfo.hasPreviousPage === false) {\n // activities.push({ hasPreviousPage: false, activityType: 'end', activityId: 'end' })\n // }\n\n return { activities, pageInfo }\n}\n\nexport type EntityTooltip = {\n id: string\n name: string\n title: string\n type: string\n subTitle: string\n status?: string\n thumbnailId?: string\n thumbnailHash?: string\n updatedAt?: string\n taskType?: string\n users?: { name: string; avatarUrl: string }[]\n path?: string\n}\ntype TransformTaskTooltip = (data: BaseTypes & TaskTypes) => EntityTooltip\n\nconst transformTaskTooltip: TransformTaskTooltip = (data) => {\n const {\n id,\n label,\n name,\n status,\n thumbnailId,\n thumbnailHash,\n assignees,\n taskType,\n updatedAt,\n folder,\n } = data || {}\n const tooltip = {\n id,\n name,\n title: label || name,\n type: 'task',\n subTitle: folder?.label || folder?.name || '',\n status,\n thumbnailId,\n thumbnailHash,\n updatedAt,\n taskType,\n users: assignees?.map((name) => ({ name, avatarUrl: `/api/users/${name}/avatar` })) || [],\n path: folder?.path.split('/').splice(-2, 1).join(''),\n }\n\n return tooltip\n}\n\ntype TransformVersionTooltip = (data: BaseTypes & VersionTypes) => EntityTooltip\n\nconst transformVersionTooltip: TransformVersionTooltip = (data) => {\n const { id, name, status, thumbnailId, author, updatedAt, product } = data\n const tooltip = {\n id,\n type: 'version',\n name: name,\n title: name,\n subTitle: product?.name || '',\n status,\n thumbnailId,\n updatedAt,\n users: [{ name: author || '', avatarUrl: `/api/users/${author}/avatar` }],\n productType: product?.productType,\n path: product?.folder?.path?.split('/').pop(),\n }\n\n return tooltip\n}\n\n// different types have different tooltip data, we need to create a single data model\nexport const transformTooltipData = (data: EntityTooltipQuery['data']['project'], type: string) => {\n switch (type) {\n case 'task':\n // @ts-ignore\n return transformTaskTooltip(data.task)\n case 'version':\n // @ts-ignore\n return transformVersionTooltip(data.version)\n default:\n return {}\n }\n}\n\ntype CountCheckLists = (data: GetEntitiesChecklistsQuery) => ChecklistCount\n\nexport const countChecklists: CountCheckLists = (data) => {\n const activities = data?.project?.activities?.edges?.map((edge) => edge?.node)\n // get all bodies from each activity\n const bodies = activities.map((a) => a.body)\n const ids = activities.map((a) => a.activityId)\n\n // count how many checklists are in each body\n\n // count unchecked * [ ] items\n const unChecked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[\\s\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n // count checked * [x] items\n const checked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[x\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n return { total: unChecked + checked, checked, unChecked, ids }\n}\n\ntype Task = { id: string }\n\nexport const taskProvideTags = (result: Task[], type = 'task', entityType = 'task') =>\n result?.length\n ? [\n ...result.map(({ id }: Task) => ({ type, id })),\n { type, id: entityType.toUpperCase() + 'S' },\n {\n type: `kanBan${entityType.charAt(0).toUpperCase() + entityType.slice(1)}`,\n id: entityType.toUpperCase() + 'S',\n },\n ]\n : [{ type, id: entityType.toUpperCase() + 'S' }]\n\nexport const filterKey = (filter: any): string => {\n if (typeof filter === 'string') return filter\n try {\n return JSON.stringify(filter) ?? ''\n } catch {\n return ''\n }\n}\n\n/**\n * Shared helper to generate activity tags for both standard and infinite queries.\n */\nexport const provideSharedActivityTags = (\n result: { activities?: any[]; pages?: Array<{ activities: any[] }> } | undefined,\n _error: unknown,\n // Widened type signatures to allow string[] | string | null | undefined\n arg: {\n entityIds?: string | string[] | null\n activityTypes?: string | string[] | null\n filter?: any\n },\n) => {\n if (!result) {\n return [{ type: 'activity' as const, id: 'LIST' }]\n }\n\n const { entityIds, activityTypes, filter } = arg\n\n // Helper now safely skips null/undefined values\n const normalizeIds = (ids: unknown): string[] =>\n (Array.isArray(ids) ? ids : [ids]).filter(Boolean) as string[]\n\n const cleanEntityIds = normalizeIds(entityIds)\n const cleanActivityTypes = normalizeIds(activityTypes)\n\n const activities = result.pages\n ? result.pages.flatMap((page) => page.activities)\n : result.activities || []\n\n return [\n // Individual Activity Tags\n ...activities.map((a) => ({ type: 'activity' as const, id: a.activityId })),\n { type: 'activity' as const, id: 'LIST' },\n\n // Base Entity Activity Tags\n ...cleanEntityIds.map((id) => ({ type: 'entityActivities' as const, id })),\n { type: 'entityActivities' as const, id: 'LIST' },\n\n // Activity Type Tags\n ...cleanActivityTypes.map((type) => ({ type: 'entityActivities' as const, id: type })),\n\n // Filtered Entity Activity Tags\n ...cleanEntityIds.map((id) => ({\n type: 'entityActivities' as const,\n id: `${id}-${filterKey(filter)}`,\n })),\n\n // Published Version Tags\n ...activities\n .filter((a) => a.activityType === 'version.publish')\n .map((a) => ({\n type: 'entityActivities' as const,\n id: `version.publish-${a.origin.id}`,\n })),\n ]\n}\n\nexport const filterActivityTypes: Record<string, string[]> = {\n activity: [\n 'comment',\n 'version.publish',\n 'status.change',\n 'assignee.add',\n 'assignee.remove',\n 'version.review',\n 'attrib.change',\n 'tags.change',\n 'subtype.change',\n ],\n comments: ['comment'],\n versions: ['version.publish'],\n updates: [\n 'status.change',\n 'assignee.add',\n 'assignee.remove',\n 'attrib.change',\n 'tags.change',\n 'subtype.change',\n ],\n checklists: ['checklist'],\n}\n\nexport const getFilterActivityTypes = (filter: any): string[] | null => {\n // If it's a string, it's one of the legacy pre-set filters\n if (typeof filter === 'string') {\n if (filter in filterActivityTypes) {\n return filterActivityTypes[filter]\n }\n return null\n }\n\n // Handle QueryFilter object\n if (filter && typeof filter === 'object' && filter.conditions) {\n const activeTypes: string[] = []\n let hasExplicitTypeFilter = false\n\n filter.conditions.forEach((condition: any) => {\n // Check if it's a simple condition for one of our known activity types\n if (condition && condition.key && condition.value === true) {\n if (condition.key in filterActivityTypes) {\n activeTypes.push(...filterActivityTypes[condition.key])\n hasExplicitTypeFilter = true\n }\n }\n })\n\n // If no specific activity type filters are selected, return \"activity\" (all)\n if (!hasExplicitTypeFilter) {\n return filterActivityTypes.activity\n }\n\n // Return unique set of activity types\n return Array.from(new Set(activeTypes))\n }\n\n // fallback to all activity\n return filterActivityTypes.activity\n}\n"],"names":["getNestedProperty","obj","path","o","p","deleteNestedProperty","pathParts","lastPart","target","remapNestedProperties","object","remappingItems","transformedObject","key","newKey","value","transformActivityData","edges","pageInfo","activities","edge","data","activityNode","transformedActivity","transformTaskTooltip","id","label","name","status","thumbnailId","thumbnailHash","assignees","taskType","updatedAt","folder","transformVersionTooltip","author","product","transformTooltipData","type","countChecklists","bodies","a","ids","unChecked","acc","body","matches","checked","taskProvideTags","result","entityType","filterKey","filter","provideSharedActivityTags","_error","arg","entityIds","activityTypes","normalizeIds","cleanEntityIds","cleanActivityTypes","page","filterActivityTypes","getFilterActivityTypes","activeTypes","hasExplicitTypeFilter","condition"],"mappings":"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"}
1
+ {"version":3,"file":"activitiesHelpers.cjs.js","sources":["../../../../../../../src/api/queries/activities/util/activitiesHelpers.ts"],"sourcesContent":["import type {\n ActivityFragmentFragment,\n GetEntitiesChecklistsQuery,\n PageInfo,\n} from '@shared/api/generated'\nimport type { ChecklistCount, FeedActivity, FeedActivityData } from '../types'\nimport { BaseTypes, EntityTooltipQuery, TaskTypes, VersionTypes } from '../activityQueries'\n\n// Helper function to get a nested property of an object using a string path\nconst getNestedProperty = <T extends Record<string, any>, R = any>(\n obj: T,\n path: string,\n): R | undefined =>\n path.split('.').reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n\n// Helper function to delete a nested property of an object using a string path\nconst deleteNestedProperty = <T extends Record<string, any>>(obj: T, path: string): void => {\n const pathParts = path.split('.')\n const lastPart = pathParts.pop()\n const target = pathParts.reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n if (target && lastPart) {\n delete target[lastPart]\n }\n}\n\nfunction remapNestedProperties<T extends Record<string, any>>(\n object: T,\n remappingItems: Record<string, string>,\n): T {\n const transformedObject = { ...object }\n\n for (const [key, newKey] of Object.entries(remappingItems)) {\n const value = getNestedProperty(transformedObject, key)\n if (value !== undefined) {\n // Get deeply nested value from key using \".\" notation\n // @ts-expect-error\n transformedObject[newKey] = value\n // Delete the old key from the object\n deleteNestedProperty(transformedObject, key)\n }\n }\n\n return transformedObject\n}\n\nexport type ActivitiesResult = { activities: FeedActivity[]; pageInfo: PageInfo }\n\ntype TransFormActivityData = (\n edges: { node: ActivityFragmentFragment }[],\n pageInfo: PageInfo,\n) => ActivitiesResult\n\n// we flatten the activity object a little bit\nexport const transformActivityData: TransFormActivityData = (edges = [], pageInfo) => {\n const activities: FeedActivity[] = []\n\n // loop over each activity and remap the nested properties\n edges.forEach((edge) => {\n // remapping keys are the fields path in the object\n // and the values are the new keys to assign the values to\n const data = edge.node\n\n if (!data) {\n return\n }\n\n const activityNode = data\n\n // remapping of nested properties to flat properties\n const remappingItems = {\n 'author.name': 'authorName',\n 'author.attrib.fullName': 'authorFullName',\n 'author.attrib.avatarUrl': 'authorAvatarUrl',\n }\n\n const transformedActivity = remapNestedProperties(\n activityNode,\n remappingItems,\n ) as unknown as FeedActivity\n\n // parse activityData if it's a JSON string\n if (typeof activityNode.activityData === 'string') {\n try {\n transformedActivity.activityData = JSON.parse(activityNode.activityData) as FeedActivityData\n } catch (e) {\n console.error('Error parsing JSON field activityData', activityNode.activityData)\n }\n }\n\n activities.push(transformedActivity)\n })\n\n // when there are no activities and hasPreviousPage is false, add an \"createdAt\" activity as the last activity\n // if (pageInfo.hasPreviousPage === false) {\n // activities.push({ hasPreviousPage: false, activityType: 'end', activityId: 'end' })\n // }\n\n return { activities, pageInfo }\n}\n\nexport type EntityTooltip = {\n id: string\n name: string\n title: string\n type: string\n subTitle: string\n status?: string\n thumbnailId?: string\n thumbnailHash?: string\n updatedAt?: string\n taskType?: string\n users?: { name: string; avatarUrl: string }[]\n path?: string\n}\ntype TransformTaskTooltip = (data: BaseTypes & TaskTypes) => EntityTooltip\n\nconst transformTaskTooltip: TransformTaskTooltip = (data) => {\n const {\n id,\n label,\n name,\n status,\n thumbnailId,\n thumbnailHash,\n assignees,\n taskType,\n updatedAt,\n folder,\n } = data || {}\n const tooltip = {\n id,\n name,\n title: label || name,\n type: 'task',\n subTitle: folder?.label || folder?.name || '',\n status,\n thumbnailId,\n thumbnailHash,\n updatedAt,\n taskType,\n users: assignees?.map((name) => ({ name, avatarUrl: `/api/users/${name}/avatar` })) || [],\n path: folder?.path.split('/').splice(-2, 1).join(''),\n }\n\n return tooltip\n}\n\ntype TransformVersionTooltip = (data: BaseTypes & VersionTypes) => EntityTooltip\n\nconst transformVersionTooltip: TransformVersionTooltip = (data) => {\n const { id, name, status, thumbnailId, author, updatedAt, product } = data\n const tooltip = {\n id,\n type: 'version',\n name: name,\n title: name,\n subTitle: product?.name || '',\n status,\n thumbnailId,\n updatedAt,\n users: [{ name: author || '', avatarUrl: `/api/users/${author}/avatar` }],\n productType: product?.productType,\n path: product?.folder?.path?.split('/').pop(),\n }\n\n return tooltip\n}\n\n// different types have different tooltip data, we need to create a single data model\nexport const transformTooltipData = (data: EntityTooltipQuery['data']['project'], type: string) => {\n switch (type) {\n case 'task':\n // @ts-ignore\n return transformTaskTooltip(data.task)\n case 'version':\n // @ts-ignore\n return transformVersionTooltip(data.version)\n default:\n return {}\n }\n}\n\ntype CountCheckLists = (data: GetEntitiesChecklistsQuery) => ChecklistCount\n\nexport const countChecklists: CountCheckLists = (data) => {\n const activities = data?.project?.activities?.edges?.map((edge) => edge?.node)\n // get all bodies from each activity\n const bodies = activities.map((a) => a.body)\n const ids = activities.map((a) => a.activityId)\n\n // count how many checklists are in each body\n\n // count unchecked * [ ] items\n const unChecked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[\\s\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n // count checked * [x] items\n const checked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[x\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n return { total: unChecked + checked, checked, unChecked, ids }\n}\n\ntype Task = { id: string }\n\nexport const taskProvideTags = (result: Task[], type = 'task', entityType = 'task') =>\n result?.length\n ? [\n ...result.map(({ id }: Task) => ({ type, id })),\n { type, id: entityType.toUpperCase() + 'S' },\n {\n type: `kanBan${entityType.charAt(0).toUpperCase() + entityType.slice(1)}`,\n id: entityType.toUpperCase() + 'S',\n },\n ]\n : [{ type, id: entityType.toUpperCase() + 'S' }]\n\nexport const filterKey = (filter: any): string => {\n if (typeof filter === 'string') return filter\n try {\n return JSON.stringify(filter) ?? ''\n } catch {\n return ''\n }\n}\n\n/**\n * Shared helper to generate activity tags for both standard and infinite queries.\n */\nexport const provideSharedActivityTags = (\n result: { activities?: any[]; pages?: Array<{ activities: any[] }> } | undefined,\n _error: unknown,\n // Widened type signatures to allow string[] | string | null | undefined\n arg: {\n entityIds?: string | string[] | null\n activityTypes?: string | string[] | null\n filter?: any\n },\n) => {\n if (!result) {\n return [{ type: 'activity' as const, id: 'LIST' }]\n }\n\n const { entityIds, activityTypes, filter } = arg\n\n // Helper now safely skips null/undefined values\n const normalizeIds = (ids: unknown): string[] =>\n (Array.isArray(ids) ? ids : [ids]).filter(Boolean) as string[]\n\n const cleanEntityIds = normalizeIds(entityIds)\n const cleanActivityTypes = normalizeIds(activityTypes)\n\n const activities = result.pages\n ? result.pages.flatMap((page) => page.activities)\n : result.activities || []\n\n return [\n // Individual Activity Tags\n ...activities.map((a) => ({ type: 'activity' as const, id: a.activityId })),\n { type: 'activity' as const, id: 'LIST' },\n\n // Base Entity Activity Tags\n ...cleanEntityIds.map((id) => ({ type: 'entityActivities' as const, id })),\n { type: 'entityActivities' as const, id: 'LIST' },\n\n // Activity Type Tags\n ...cleanActivityTypes.map((type) => ({ type: 'entityActivities' as const, id: type })),\n\n // Filtered Entity Activity Tags\n ...cleanEntityIds.map((id) => ({\n type: 'entityActivities' as const,\n id: `${id}-${filterKey(filter)}`,\n })),\n\n // Published Version Tags\n ...activities\n .filter((a) => a.activityType === 'version.publish')\n .map((a) => ({\n type: 'entityActivities' as const,\n id: `version.publish-${a.origin.id}`,\n })),\n ]\n}\n\nexport const filterActivityTypes: Record<string, string[]> = {\n activity: [\n 'comment',\n 'version.publish',\n 'status.change',\n 'assignee.add',\n 'assignee.remove',\n 'version.review',\n 'attrib.change',\n 'tags.change',\n 'subtype.change',\n ],\n comments: ['comment'],\n versions: ['version.publish'],\n updates: [\n 'status.change',\n 'assignee.add',\n 'assignee.remove',\n 'attrib.change',\n 'tags.change',\n 'subtype.change',\n ],\n checklists: ['checklist'],\n}\n\nexport const getFilterActivityTypes = (filter: any): string[] | null => {\n // If it's a string, it's one of the legacy pre-set filters\n if (typeof filter === 'string') {\n if (filter in filterActivityTypes) {\n return filterActivityTypes[filter]\n }\n return null\n }\n\n // Handle QueryFilter object\n if (filter && typeof filter === 'object' && filter.conditions) {\n const activeTypes: string[] = []\n let hasExplicitTypeFilter = false\n\n filter.conditions.forEach((condition: any) => {\n // Check if it's a simple condition for one of our known activity types\n if (condition && condition.key && condition.value === true) {\n if (condition.key in filterActivityTypes) {\n activeTypes.push(...filterActivityTypes[condition.key])\n hasExplicitTypeFilter = true\n }\n }\n })\n\n // If no specific activity type filters are selected, return \"activity\" (all)\n if (!hasExplicitTypeFilter) {\n return filterActivityTypes.activity\n }\n\n // Return unique set of activity types\n return Array.from(new Set(activeTypes))\n }\n\n // fallback to all activity\n return filterActivityTypes.activity\n}\n"],"names":["getNestedProperty","obj","path","o","p","deleteNestedProperty","pathParts","lastPart","target","remapNestedProperties","object","remappingItems","transformedObject","key","newKey","value","transformActivityData","edges","pageInfo","activities","edge","data","activityNode","transformedActivity","transformTaskTooltip","id","label","name","status","thumbnailId","thumbnailHash","assignees","taskType","updatedAt","folder","transformVersionTooltip","author","product","transformTooltipData","type","countChecklists","bodies","a","ids","unChecked","acc","body","matches","checked","taskProvideTags","result","entityType","filterKey","filter","provideSharedActivityTags","_error","arg","entityIds","activityTypes","normalizeIds","cleanEntityIds","cleanActivityTypes","page","filterActivityTypes","getFilterActivityTypes","activeTypes","hasExplicitTypeFilter","condition"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"activitiesHelpers.es.js","sources":["../../../../../../../src/api/queries/activities/util/activitiesHelpers.ts"],"sourcesContent":["import type {\n ActivityFragmentFragment,\n GetEntitiesChecklistsQuery,\n PageInfo,\n} from '@shared/api/generated'\nimport { ChecklistCount, FeedActivity, FeedActivityData } from '../types'\nimport { BaseTypes, EntityTooltipQuery, TaskTypes, VersionTypes } from '../activityQueries'\n\n// Helper function to get a nested property of an object using a string path\nconst getNestedProperty = <T extends Record<string, any>, R = any>(\n obj: T,\n path: string,\n): R | undefined =>\n path.split('.').reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n\n// Helper function to delete a nested property of an object using a string path\nconst deleteNestedProperty = <T extends Record<string, any>>(obj: T, path: string): void => {\n const pathParts = path.split('.')\n const lastPart = pathParts.pop()\n const target = pathParts.reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n if (target && lastPart) {\n delete target[lastPart]\n }\n}\n\nfunction remapNestedProperties<T extends Record<string, any>>(\n object: T,\n remappingItems: Record<string, string>,\n): T {\n const transformedObject = { ...object }\n\n for (const [key, newKey] of Object.entries(remappingItems)) {\n const value = getNestedProperty(transformedObject, key)\n if (value !== undefined) {\n // Get deeply nested value from key using \".\" notation\n // @ts-expect-error\n transformedObject[newKey] = value\n // Delete the old key from the object\n deleteNestedProperty(transformedObject, key)\n }\n }\n\n return transformedObject\n}\n\nexport type ActivitiesResult = { activities: FeedActivity[]; pageInfo: PageInfo }\n\ntype TransFormActivityData = (\n edges: { node: ActivityFragmentFragment }[],\n pageInfo: PageInfo,\n) => ActivitiesResult\n\n// we flatten the activity object a little bit\nexport const transformActivityData: TransFormActivityData = (edges = [], pageInfo) => {\n const activities: FeedActivity[] = []\n\n // loop over each activity and remap the nested properties\n edges.forEach((edge) => {\n // remapping keys are the fields path in the object\n // and the values are the new keys to assign the values to\n const data = edge.node\n\n if (!data) {\n return\n }\n\n const activityNode = data\n\n // remapping of nested properties to flat properties\n const remappingItems = {\n 'author.name': 'authorName',\n 'author.attrib.fullName': 'authorFullName',\n 'author.attrib.avatarUrl': 'authorAvatarUrl',\n }\n\n const transformedActivity = remapNestedProperties(\n activityNode,\n remappingItems,\n ) as unknown as FeedActivity\n\n // parse activityData if it's a JSON string\n if (typeof activityNode.activityData === 'string') {\n try {\n transformedActivity.activityData = JSON.parse(activityNode.activityData) as FeedActivityData\n } catch (e) {\n console.error('Error parsing JSON field activityData', activityNode.activityData)\n }\n }\n\n activities.push(transformedActivity)\n })\n\n // when there are no activities and hasPreviousPage is false, add an \"createdAt\" activity as the last activity\n // if (pageInfo.hasPreviousPage === false) {\n // activities.push({ hasPreviousPage: false, activityType: 'end', activityId: 'end' })\n // }\n\n return { activities, pageInfo }\n}\n\nexport type EntityTooltip = {\n id: string\n name: string\n title: string\n type: string\n subTitle: string\n status?: string\n thumbnailId?: string\n thumbnailHash?: string\n updatedAt?: string\n taskType?: string\n users?: { name: string; avatarUrl: string }[]\n path?: string\n}\ntype TransformTaskTooltip = (data: BaseTypes & TaskTypes) => EntityTooltip\n\nconst transformTaskTooltip: TransformTaskTooltip = (data) => {\n const {\n id,\n label,\n name,\n status,\n thumbnailId,\n thumbnailHash,\n assignees,\n taskType,\n updatedAt,\n folder,\n } = data || {}\n const tooltip = {\n id,\n name,\n title: label || name,\n type: 'task',\n subTitle: folder?.label || folder?.name || '',\n status,\n thumbnailId,\n thumbnailHash,\n updatedAt,\n taskType,\n users: assignees?.map((name) => ({ name, avatarUrl: `/api/users/${name}/avatar` })) || [],\n path: folder?.path.split('/').splice(-2, 1).join(''),\n }\n\n return tooltip\n}\n\ntype TransformVersionTooltip = (data: BaseTypes & VersionTypes) => EntityTooltip\n\nconst transformVersionTooltip: TransformVersionTooltip = (data) => {\n const { id, name, status, thumbnailId, author, updatedAt, product } = data\n const tooltip = {\n id,\n type: 'version',\n name: name,\n title: name,\n subTitle: product?.name || '',\n status,\n thumbnailId,\n updatedAt,\n users: [{ name: author || '', avatarUrl: `/api/users/${author}/avatar` }],\n productType: product?.productType,\n path: product?.folder?.path?.split('/').pop(),\n }\n\n return tooltip\n}\n\n// different types have different tooltip data, we need to create a single data model\nexport const transformTooltipData = (data: EntityTooltipQuery['data']['project'], type: string) => {\n switch (type) {\n case 'task':\n // @ts-ignore\n return transformTaskTooltip(data.task)\n case 'version':\n // @ts-ignore\n return transformVersionTooltip(data.version)\n default:\n return {}\n }\n}\n\ntype CountCheckLists = (data: GetEntitiesChecklistsQuery) => ChecklistCount\n\nexport const countChecklists: CountCheckLists = (data) => {\n const activities = data?.project?.activities?.edges?.map((edge) => edge?.node)\n // get all bodies from each activity\n const bodies = activities.map((a) => a.body)\n const ids = activities.map((a) => a.activityId)\n\n // count how many checklists are in each body\n\n // count unchecked * [ ] items\n const unChecked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[\\s\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n // count checked * [x] items\n const checked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[x\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n return { total: unChecked + checked, checked, unChecked, ids }\n}\n\ntype Task = { id: string }\n\nexport const taskProvideTags = (result: Task[], type = 'task', entityType = 'task') =>\n result?.length\n ? [\n ...result.map(({ id }: Task) => ({ type, id })),\n { type, id: entityType.toUpperCase() + 'S' },\n {\n type: `kanBan${entityType.charAt(0).toUpperCase() + entityType.slice(1)}`,\n id: entityType.toUpperCase() + 'S',\n },\n ]\n : [{ type, id: entityType.toUpperCase() + 'S' }]\n\nexport const filterKey = (filter: any): string => {\n if (typeof filter === 'string') return filter\n try {\n return JSON.stringify(filter) ?? ''\n } catch {\n return ''\n }\n}\n\n/**\n * Shared helper to generate activity tags for both standard and infinite queries.\n */\nexport const provideSharedActivityTags = (\n result: { activities?: any[]; pages?: Array<{ activities: any[] }> } | undefined,\n _error: unknown,\n // Widened type signatures to allow string[] | string | null | undefined\n arg: {\n entityIds?: string | string[] | null\n activityTypes?: string | string[] | null\n filter?: any\n },\n) => {\n if (!result) {\n return [{ type: 'activity' as const, id: 'LIST' }]\n }\n\n const { entityIds, activityTypes, filter } = arg\n\n // Helper now safely skips null/undefined values\n const normalizeIds = (ids: unknown): string[] =>\n (Array.isArray(ids) ? ids : [ids]).filter(Boolean) as string[]\n\n const cleanEntityIds = normalizeIds(entityIds)\n const cleanActivityTypes = normalizeIds(activityTypes)\n\n const activities = result.pages\n ? result.pages.flatMap((page) => page.activities)\n : result.activities || []\n\n return [\n // Individual Activity Tags\n ...activities.map((a) => ({ type: 'activity' as const, id: a.activityId })),\n { type: 'activity' as const, id: 'LIST' },\n\n // Base Entity Activity Tags\n ...cleanEntityIds.map((id) => ({ type: 'entityActivities' as const, id })),\n { type: 'entityActivities' as const, id: 'LIST' },\n\n // Activity Type Tags\n ...cleanActivityTypes.map((type) => ({ type: 'entityActivities' as const, id: type })),\n\n // Filtered Entity Activity Tags\n ...cleanEntityIds.map((id) => ({\n type: 'entityActivities' as const,\n id: `${id}-${filterKey(filter)}`,\n })),\n\n // Published Version Tags\n ...activities\n .filter((a) => a.activityType === 'version.publish')\n .map((a) => ({\n type: 'entityActivities' as const,\n id: `version.publish-${a.origin.id}`,\n })),\n ]\n}\n\nexport const filterActivityTypes: Record<string, string[]> = {\n activity: [\n 'comment',\n 'version.publish',\n 'status.change',\n 'assignee.add',\n 'assignee.remove',\n 'version.review',\n 'attrib.change',\n 'tags.change',\n 'subtype.change',\n ],\n comments: ['comment'],\n versions: ['version.publish'],\n updates: [\n 'status.change',\n 'assignee.add',\n 'assignee.remove',\n 'attrib.change',\n 'tags.change',\n 'subtype.change',\n ],\n checklists: ['checklist'],\n}\n\nexport const getFilterActivityTypes = (filter: any): string[] | null => {\n // If it's a string, it's one of the legacy pre-set filters\n if (typeof filter === 'string') {\n if (filter in filterActivityTypes) {\n return filterActivityTypes[filter]\n }\n return null\n }\n\n // Handle QueryFilter object\n if (filter && typeof filter === 'object' && filter.conditions) {\n const activeTypes: string[] = []\n let hasExplicitTypeFilter = false\n\n filter.conditions.forEach((condition: any) => {\n // Check if it's a simple condition for one of our known activity types\n if (condition && condition.key && condition.value === true) {\n if (condition.key in filterActivityTypes) {\n activeTypes.push(...filterActivityTypes[condition.key])\n hasExplicitTypeFilter = true\n }\n }\n })\n\n // If no specific activity type filters are selected, return \"activity\" (all)\n if (!hasExplicitTypeFilter) {\n return filterActivityTypes.activity\n }\n\n // Return unique set of activity types\n return Array.from(new Set(activeTypes))\n }\n\n // fallback to all activity\n return filterActivityTypes.activity\n}\n"],"names":["getNestedProperty","obj","path","o","p","deleteNestedProperty","pathParts","lastPart","target","remapNestedProperties","object","remappingItems","transformedObject","key","newKey","value","transformActivityData","edges","pageInfo","activities","edge","data","activityNode","transformedActivity","transformTaskTooltip","id","label","name","status","thumbnailId","thumbnailHash","assignees","taskType","updatedAt","folder","transformVersionTooltip","author","product","transformTooltipData","type","countChecklists","bodies","a","ids","unChecked","acc","body","matches","checked","taskProvideTags","result","entityType","filterKey","filter","provideSharedActivityTags","_error","arg","entityIds","activityTypes","normalizeIds","cleanEntityIds","cleanActivityTypes","page","filterActivityTypes","getFilterActivityTypes","activeTypes","hasExplicitTypeFilter","condition"],"mappings":"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"}
1
+ {"version":3,"file":"activitiesHelpers.es.js","sources":["../../../../../../../src/api/queries/activities/util/activitiesHelpers.ts"],"sourcesContent":["import type {\n ActivityFragmentFragment,\n GetEntitiesChecklistsQuery,\n PageInfo,\n} from '@shared/api/generated'\nimport type { ChecklistCount, FeedActivity, FeedActivityData } from '../types'\nimport { BaseTypes, EntityTooltipQuery, TaskTypes, VersionTypes } from '../activityQueries'\n\n// Helper function to get a nested property of an object using a string path\nconst getNestedProperty = <T extends Record<string, any>, R = any>(\n obj: T,\n path: string,\n): R | undefined =>\n path.split('.').reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n\n// Helper function to delete a nested property of an object using a string path\nconst deleteNestedProperty = <T extends Record<string, any>>(obj: T, path: string): void => {\n const pathParts = path.split('.')\n const lastPart = pathParts.pop()\n const target = pathParts.reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n if (target && lastPart) {\n delete target[lastPart]\n }\n}\n\nfunction remapNestedProperties<T extends Record<string, any>>(\n object: T,\n remappingItems: Record<string, string>,\n): T {\n const transformedObject = { ...object }\n\n for (const [key, newKey] of Object.entries(remappingItems)) {\n const value = getNestedProperty(transformedObject, key)\n if (value !== undefined) {\n // Get deeply nested value from key using \".\" notation\n // @ts-expect-error\n transformedObject[newKey] = value\n // Delete the old key from the object\n deleteNestedProperty(transformedObject, key)\n }\n }\n\n return transformedObject\n}\n\nexport type ActivitiesResult = { activities: FeedActivity[]; pageInfo: PageInfo }\n\ntype TransFormActivityData = (\n edges: { node: ActivityFragmentFragment }[],\n pageInfo: PageInfo,\n) => ActivitiesResult\n\n// we flatten the activity object a little bit\nexport const transformActivityData: TransFormActivityData = (edges = [], pageInfo) => {\n const activities: FeedActivity[] = []\n\n // loop over each activity and remap the nested properties\n edges.forEach((edge) => {\n // remapping keys are the fields path in the object\n // and the values are the new keys to assign the values to\n const data = edge.node\n\n if (!data) {\n return\n }\n\n const activityNode = data\n\n // remapping of nested properties to flat properties\n const remappingItems = {\n 'author.name': 'authorName',\n 'author.attrib.fullName': 'authorFullName',\n 'author.attrib.avatarUrl': 'authorAvatarUrl',\n }\n\n const transformedActivity = remapNestedProperties(\n activityNode,\n remappingItems,\n ) as unknown as FeedActivity\n\n // parse activityData if it's a JSON string\n if (typeof activityNode.activityData === 'string') {\n try {\n transformedActivity.activityData = JSON.parse(activityNode.activityData) as FeedActivityData\n } catch (e) {\n console.error('Error parsing JSON field activityData', activityNode.activityData)\n }\n }\n\n activities.push(transformedActivity)\n })\n\n // when there are no activities and hasPreviousPage is false, add an \"createdAt\" activity as the last activity\n // if (pageInfo.hasPreviousPage === false) {\n // activities.push({ hasPreviousPage: false, activityType: 'end', activityId: 'end' })\n // }\n\n return { activities, pageInfo }\n}\n\nexport type EntityTooltip = {\n id: string\n name: string\n title: string\n type: string\n subTitle: string\n status?: string\n thumbnailId?: string\n thumbnailHash?: string\n updatedAt?: string\n taskType?: string\n users?: { name: string; avatarUrl: string }[]\n path?: string\n}\ntype TransformTaskTooltip = (data: BaseTypes & TaskTypes) => EntityTooltip\n\nconst transformTaskTooltip: TransformTaskTooltip = (data) => {\n const {\n id,\n label,\n name,\n status,\n thumbnailId,\n thumbnailHash,\n assignees,\n taskType,\n updatedAt,\n folder,\n } = data || {}\n const tooltip = {\n id,\n name,\n title: label || name,\n type: 'task',\n subTitle: folder?.label || folder?.name || '',\n status,\n thumbnailId,\n thumbnailHash,\n updatedAt,\n taskType,\n users: assignees?.map((name) => ({ name, avatarUrl: `/api/users/${name}/avatar` })) || [],\n path: folder?.path.split('/').splice(-2, 1).join(''),\n }\n\n return tooltip\n}\n\ntype TransformVersionTooltip = (data: BaseTypes & VersionTypes) => EntityTooltip\n\nconst transformVersionTooltip: TransformVersionTooltip = (data) => {\n const { id, name, status, thumbnailId, author, updatedAt, product } = data\n const tooltip = {\n id,\n type: 'version',\n name: name,\n title: name,\n subTitle: product?.name || '',\n status,\n thumbnailId,\n updatedAt,\n users: [{ name: author || '', avatarUrl: `/api/users/${author}/avatar` }],\n productType: product?.productType,\n path: product?.folder?.path?.split('/').pop(),\n }\n\n return tooltip\n}\n\n// different types have different tooltip data, we need to create a single data model\nexport const transformTooltipData = (data: EntityTooltipQuery['data']['project'], type: string) => {\n switch (type) {\n case 'task':\n // @ts-ignore\n return transformTaskTooltip(data.task)\n case 'version':\n // @ts-ignore\n return transformVersionTooltip(data.version)\n default:\n return {}\n }\n}\n\ntype CountCheckLists = (data: GetEntitiesChecklistsQuery) => ChecklistCount\n\nexport const countChecklists: CountCheckLists = (data) => {\n const activities = data?.project?.activities?.edges?.map((edge) => edge?.node)\n // get all bodies from each activity\n const bodies = activities.map((a) => a.body)\n const ids = activities.map((a) => a.activityId)\n\n // count how many checklists are in each body\n\n // count unchecked * [ ] items\n const unChecked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[\\s\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n // count checked * [x] items\n const checked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[x\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n return { total: unChecked + checked, checked, unChecked, ids }\n}\n\ntype Task = { id: string }\n\nexport const taskProvideTags = (result: Task[], type = 'task', entityType = 'task') =>\n result?.length\n ? [\n ...result.map(({ id }: Task) => ({ type, id })),\n { type, id: entityType.toUpperCase() + 'S' },\n {\n type: `kanBan${entityType.charAt(0).toUpperCase() + entityType.slice(1)}`,\n id: entityType.toUpperCase() + 'S',\n },\n ]\n : [{ type, id: entityType.toUpperCase() + 'S' }]\n\nexport const filterKey = (filter: any): string => {\n if (typeof filter === 'string') return filter\n try {\n return JSON.stringify(filter) ?? ''\n } catch {\n return ''\n }\n}\n\n/**\n * Shared helper to generate activity tags for both standard and infinite queries.\n */\nexport const provideSharedActivityTags = (\n result: { activities?: any[]; pages?: Array<{ activities: any[] }> } | undefined,\n _error: unknown,\n // Widened type signatures to allow string[] | string | null | undefined\n arg: {\n entityIds?: string | string[] | null\n activityTypes?: string | string[] | null\n filter?: any\n },\n) => {\n if (!result) {\n return [{ type: 'activity' as const, id: 'LIST' }]\n }\n\n const { entityIds, activityTypes, filter } = arg\n\n // Helper now safely skips null/undefined values\n const normalizeIds = (ids: unknown): string[] =>\n (Array.isArray(ids) ? ids : [ids]).filter(Boolean) as string[]\n\n const cleanEntityIds = normalizeIds(entityIds)\n const cleanActivityTypes = normalizeIds(activityTypes)\n\n const activities = result.pages\n ? result.pages.flatMap((page) => page.activities)\n : result.activities || []\n\n return [\n // Individual Activity Tags\n ...activities.map((a) => ({ type: 'activity' as const, id: a.activityId })),\n { type: 'activity' as const, id: 'LIST' },\n\n // Base Entity Activity Tags\n ...cleanEntityIds.map((id) => ({ type: 'entityActivities' as const, id })),\n { type: 'entityActivities' as const, id: 'LIST' },\n\n // Activity Type Tags\n ...cleanActivityTypes.map((type) => ({ type: 'entityActivities' as const, id: type })),\n\n // Filtered Entity Activity Tags\n ...cleanEntityIds.map((id) => ({\n type: 'entityActivities' as const,\n id: `${id}-${filterKey(filter)}`,\n })),\n\n // Published Version Tags\n ...activities\n .filter((a) => a.activityType === 'version.publish')\n .map((a) => ({\n type: 'entityActivities' as const,\n id: `version.publish-${a.origin.id}`,\n })),\n ]\n}\n\nexport const filterActivityTypes: Record<string, string[]> = {\n activity: [\n 'comment',\n 'version.publish',\n 'status.change',\n 'assignee.add',\n 'assignee.remove',\n 'version.review',\n 'attrib.change',\n 'tags.change',\n 'subtype.change',\n ],\n comments: ['comment'],\n versions: ['version.publish'],\n updates: [\n 'status.change',\n 'assignee.add',\n 'assignee.remove',\n 'attrib.change',\n 'tags.change',\n 'subtype.change',\n ],\n checklists: ['checklist'],\n}\n\nexport const getFilterActivityTypes = (filter: any): string[] | null => {\n // If it's a string, it's one of the legacy pre-set filters\n if (typeof filter === 'string') {\n if (filter in filterActivityTypes) {\n return filterActivityTypes[filter]\n }\n return null\n }\n\n // Handle QueryFilter object\n if (filter && typeof filter === 'object' && filter.conditions) {\n const activeTypes: string[] = []\n let hasExplicitTypeFilter = false\n\n filter.conditions.forEach((condition: any) => {\n // Check if it's a simple condition for one of our known activity types\n if (condition && condition.key && condition.value === true) {\n if (condition.key in filterActivityTypes) {\n activeTypes.push(...filterActivityTypes[condition.key])\n hasExplicitTypeFilter = true\n }\n }\n })\n\n // If no specific activity type filters are selected, return \"activity\" (all)\n if (!hasExplicitTypeFilter) {\n return filterActivityTypes.activity\n }\n\n // Return unique set of activity types\n return Array.from(new Set(activeTypes))\n }\n\n // fallback to all activity\n return filterActivityTypes.activity\n}\n"],"names":["getNestedProperty","obj","path","o","p","deleteNestedProperty","pathParts","lastPart","target","remapNestedProperties","object","remappingItems","transformedObject","key","newKey","value","transformActivityData","edges","pageInfo","activities","edge","data","activityNode","transformedActivity","transformTaskTooltip","id","label","name","status","thumbnailId","thumbnailHash","assignees","taskType","updatedAt","folder","transformVersionTooltip","author","product","transformTooltipData","type","countChecklists","bodies","a","ids","unChecked","acc","body","matches","checked","taskProvideTags","result","entityType","filterKey","filter","provideSharedActivityTags","_error","arg","entityIds","activityTypes","normalizeIds","cleanEntityIds","cleanActivityTypes","page","filterActivityTypes","getFilterActivityTypes","activeTypes","hasExplicitTypeFilter","condition"],"mappings":"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"}