@ynput/ayon-frontend-shared 0.3.42 → 0.3.44

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 (1133) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +34 -31
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +230 -218
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Slicer.cjs.js +1 -1
  8. package/dist/Slicer.es.js +29 -29
  9. package/dist/Slicer.es.js.map +1 -1
  10. package/dist/_virtual/index.cjs15.js +1 -1
  11. package/dist/_virtual/index.cjs19.js +1 -1
  12. package/dist/_virtual/index.cjs6.js +1 -1
  13. package/dist/_virtual/index.cjs8.js +1 -1
  14. package/dist/_virtual/index.es15.js +2 -2
  15. package/dist/_virtual/index.es16.js +2 -2
  16. package/dist/_virtual/index.es17.js +2 -2
  17. package/dist/_virtual/index.es18.js +2 -2
  18. package/dist/_virtual/index.es19.js +2 -2
  19. package/dist/_virtual/index.es6.js +2 -2
  20. package/dist/_virtual/index.es8.js +2 -2
  21. package/dist/api.cjs.js +1 -1
  22. package/dist/api.es.js +375 -355
  23. package/dist/api.es.js.map +1 -1
  24. package/dist/components.cjs.js +1 -1
  25. package/dist/components.es.js +149 -144
  26. package/dist/components.es.js.map +1 -1
  27. package/dist/hooks.cjs.js +1 -1
  28. package/dist/hooks.es.js +34 -30
  29. package/dist/hooks.es.js.map +1 -1
  30. package/dist/index.cjs.js +1 -1
  31. package/dist/index.es.js +21 -18
  32. package/dist/index.es.js.map +1 -1
  33. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  34. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  35. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  36. package/dist/node_modules/remove-accents/index.es.js +1 -1
  37. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +1 -1
  38. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +1 -1
  39. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
  40. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +1 -1
  41. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs.js +1 -1
  42. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.es.js +1 -1
  43. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.cjs.js +1 -1
  44. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.es.js +1 -1
  45. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.cjs.js +1 -1
  46. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.es.js +1 -1
  47. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs.js +1 -1
  48. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.es.js +1 -1
  49. package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
  50. package/dist/shared/node_modules/prop-types/index.es.js +1 -1
  51. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  52. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  53. package/dist/shared/src/api/generated/graphql.cjs.js +33 -12
  54. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  55. package/dist/shared/src/api/generated/graphql.es.js +93 -215
  56. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  57. package/dist/shared/src/api/generated/graphqlLinks.cjs.js +12 -12
  58. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  59. package/dist/shared/src/api/generated/graphqlLinks.es.js +28 -78
  60. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  61. package/dist/shared/src/api/queries/activities/getActivities.cjs.js +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 +176 -73
  64. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  65. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js.map +1 -1
  66. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js +8 -1
  67. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js.map +1 -1
  68. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
  69. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
  70. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +35 -32
  71. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
  72. package/dist/shared/src/api/queries/bundles/getBundles.cjs.js +2 -0
  73. package/dist/shared/src/api/queries/bundles/getBundles.cjs.js.map +1 -0
  74. package/dist/shared/src/api/queries/bundles/getBundles.es.js +65 -0
  75. package/dist/shared/src/api/queries/bundles/getBundles.es.js.map +1 -0
  76. package/dist/shared/src/api/queries/bundles/updateBundles.cjs.js +2 -0
  77. package/dist/shared/src/api/queries/bundles/updateBundles.cjs.js.map +1 -0
  78. package/dist/shared/src/api/queries/bundles/updateBundles.es.js +159 -0
  79. package/dist/shared/src/api/queries/bundles/updateBundles.es.js.map +1 -0
  80. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js +1 -1
  81. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js.map +1 -1
  82. package/dist/shared/src/api/queries/columnStats/columnStats.es.js +32 -28
  83. package/dist/shared/src/api/queries/columnStats/columnStats.es.js.map +1 -1
  84. package/dist/shared/src/api/queries/columnStats/groupCounts.cjs.js +2 -0
  85. package/dist/shared/src/api/queries/columnStats/groupCounts.cjs.js.map +1 -0
  86. package/dist/shared/src/api/queries/columnStats/groupCounts.es.js +83 -0
  87. package/dist/shared/src/api/queries/columnStats/groupCounts.es.js.map +1 -0
  88. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js +1 -1
  89. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js.map +1 -1
  90. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js +60 -41
  91. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js.map +1 -1
  92. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
  93. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
  94. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +6 -4
  95. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  96. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  97. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  98. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  99. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  100. package/dist/shared/src/api/queries/entityLists/getLists.es.js +45 -43
  101. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  102. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js +1 -1
  103. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js.map +1 -1
  104. package/dist/shared/src/api/queries/entityLists/listFolders.es.js +11 -9
  105. package/dist/shared/src/api/queries/entityLists/listFolders.es.js.map +1 -1
  106. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.cjs.js +1 -1
  107. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.cjs.js.map +1 -1
  108. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.es.js +5 -4
  109. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.es.js.map +1 -1
  110. package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -1
  111. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  112. package/dist/shared/src/api/queries/folders/getFolders.es.js +6 -4
  113. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  114. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
  115. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
  116. package/dist/shared/src/api/queries/links/getEntityLinks.es.js +5 -3
  117. package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
  118. package/dist/shared/src/api/queries/links/getLinks.cjs.js +1 -1
  119. package/dist/shared/src/api/queries/links/getLinks.cjs.js.map +1 -1
  120. package/dist/shared/src/api/queries/links/getLinks.es.js +60 -119
  121. package/dist/shared/src/api/queries/links/getLinks.es.js.map +1 -1
  122. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  123. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  124. package/dist/shared/src/api/queries/overview/getOverview.es.js +276 -239
  125. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  126. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  127. package/dist/shared/src/api/queries/overview/updateOverview.es.js +1 -3
  128. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  129. package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js +1 -1
  130. package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js.map +1 -1
  131. package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js +15 -13
  132. package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js.map +1 -1
  133. package/dist/shared/src/api/queries/review/getReview.cjs.js +1 -1
  134. package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
  135. package/dist/shared/src/api/queries/review/getReview.es.js +78 -133
  136. package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
  137. package/dist/shared/src/api/queries/review/updateReview.cjs.js +1 -1
  138. package/dist/shared/src/api/queries/review/updateReview.cjs.js.map +1 -1
  139. package/dist/shared/src/api/queries/review/updateReview.es.js +1 -1
  140. package/dist/shared/src/api/queries/review/updateReview.es.js.map +1 -1
  141. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
  142. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  143. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +9 -7
  144. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  145. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
  146. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
  147. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +128 -124
  148. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
  149. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js +1 -1
  150. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js.map +1 -1
  151. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js +11 -9
  152. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js.map +1 -1
  153. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js +1 -1
  154. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js.map +1 -1
  155. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js +6 -4
  156. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
  157. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  158. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  159. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +5 -3
  160. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  161. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +5 -5
  162. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
  163. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +5 -3
  164. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
  165. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  166. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  167. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +11 -8
  168. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  169. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  170. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  171. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +6 -4
  172. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  173. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  174. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  175. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +6 -4
  176. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  177. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js +4 -4
  178. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js.map +1 -1
  179. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js +5 -3
  180. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js.map +1 -1
  181. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js +1 -1
  182. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js.map +1 -1
  183. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js +5 -3
  184. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js.map +1 -1
  185. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  186. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  187. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +6 -4
  188. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  189. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js +1 -1
  190. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js.map +1 -1
  191. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js +5 -3
  192. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js.map +1 -1
  193. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js +1 -1
  194. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js.map +1 -1
  195. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js +5 -3
  196. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js.map +1 -1
  197. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js +1 -1
  198. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js.map +1 -1
  199. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js +6 -4
  200. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js.map +1 -1
  201. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  202. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  203. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +12 -9
  204. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  205. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  206. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  207. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +14 -11
  208. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  209. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  210. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  211. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +6 -4
  212. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  213. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  214. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  215. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +44 -41
  216. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  217. package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.cjs.js +4 -0
  218. package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.cjs.js.map +1 -0
  219. package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.es.js +133 -0
  220. package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.es.js.map +1 -0
  221. package/dist/shared/src/components/InfoMessage/InfoMessage.cjs.js +2 -0
  222. package/dist/shared/src/components/InfoMessage/InfoMessage.cjs.js.map +1 -0
  223. package/dist/shared/src/components/InfoMessage/InfoMessage.es.js +48 -0
  224. package/dist/shared/src/components/InfoMessage/InfoMessage.es.js.map +1 -0
  225. package/dist/shared/src/components/InfoMessage/InfoMessage.styled.cjs.js +77 -0
  226. package/dist/shared/src/components/InfoMessage/InfoMessage.styled.cjs.js.map +1 -0
  227. package/dist/shared/src/components/InfoMessage/InfoMessage.styled.es.js +81 -0
  228. package/dist/shared/src/components/InfoMessage/InfoMessage.styled.es.js.map +1 -0
  229. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  230. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  231. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +6 -4
  232. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  233. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  234. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  235. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +5 -3
  236. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  237. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
  238. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
  239. package/dist/shared/src/components/LinksManager/LinksManager.es.js +6 -4
  240. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
  241. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  242. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  243. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +13 -10
  244. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  245. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  246. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  247. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +6 -4
  248. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  249. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
  250. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -1
  251. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +6 -4
  252. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -1
  253. package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
  254. package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -1
  255. package/dist/shared/src/components/Menu/Menu.es.js +6 -4
  256. package/dist/shared/src/components/Menu/Menu.es.js.map +1 -1
  257. package/dist/shared/src/components/Menu/MenuItem.cjs.js +1 -1
  258. package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -1
  259. package/dist/shared/src/components/Menu/MenuItem.es.js +4 -2
  260. package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -1
  261. package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
  262. package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
  263. package/dist/shared/src/components/Menu/MenuList.es.js +24 -22
  264. package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
  265. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
  266. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  267. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +6 -4
  268. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  269. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  270. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  271. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +6 -4
  272. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  273. package/dist/shared/src/components/Powerpack/useFreeTrialLink.cjs.js +1 -1
  274. package/dist/shared/src/components/Powerpack/useFreeTrialLink.cjs.js.map +1 -1
  275. package/dist/shared/src/components/Powerpack/useFreeTrialLink.es.js +5 -3
  276. package/dist/shared/src/components/Powerpack/useFreeTrialLink.es.js.map +1 -1
  277. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
  278. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  279. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +10 -7
  280. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  281. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  282. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  283. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +11 -8
  284. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  285. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  286. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  287. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +6 -4
  288. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  289. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  290. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  291. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +13 -10
  292. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  293. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  294. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  295. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +13 -10
  296. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  297. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  298. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  299. package/dist/shared/src/components/RenameForm/RenameForm.es.js +13 -10
  300. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  301. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  302. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  303. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +5 -3
  304. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  305. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  306. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  307. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +14 -11
  308. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  309. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  310. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  311. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +15 -12
  312. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  313. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  314. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  315. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +14 -11
  316. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  317. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  318. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  319. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +5 -3
  320. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  321. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  322. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  323. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +14 -11
  324. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  325. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  326. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  327. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +112 -110
  328. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  329. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +1 -1
  330. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  331. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +6 -4
  332. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  333. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
  334. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  335. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +16 -13
  336. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  337. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +2 -2
  338. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  339. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +32 -21
  340. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  341. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js +1 -1
  342. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js.map +1 -1
  343. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js +5 -3
  344. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js.map +1 -1
  345. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
  346. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  347. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +6 -4
  348. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  349. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js +1 -1
  350. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js.map +1 -1
  351. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js +5 -3
  352. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js.map +1 -1
  353. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js +1 -1
  354. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js.map +1 -1
  355. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js +5 -3
  356. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js.map +1 -1
  357. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  358. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  359. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +13 -10
  360. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  361. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  362. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  363. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +42 -38
  364. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  365. package/dist/shared/src/components/VersionUploader/context/VersionUploadContextInstance.cjs.js +2 -0
  366. package/dist/shared/src/components/VersionUploader/context/VersionUploadContextInstance.cjs.js.map +1 -0
  367. package/dist/shared/src/components/VersionUploader/context/VersionUploadContextInstance.es.js +6 -0
  368. package/dist/shared/src/components/VersionUploader/context/VersionUploadContextInstance.es.js.map +1 -0
  369. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  370. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  371. package/dist/shared/src/components/Watchers/Watchers.es.js +5 -3
  372. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  373. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  374. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  375. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +14 -11
  376. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  377. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  378. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  379. package/dist/shared/src/containers/Actions/Actions.es.js +117 -103
  380. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  381. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js +2 -2
  382. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js.map +1 -1
  383. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js +47 -46
  384. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js.map +1 -1
  385. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  386. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  387. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +14 -11
  388. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  389. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  390. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  391. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +14 -11
  392. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  393. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  394. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  395. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +14 -11
  396. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  397. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  398. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  399. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +14 -11
  400. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  401. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  402. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  403. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +14 -11
  404. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  405. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js +1 -1
  406. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js.map +1 -1
  407. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js +6 -4
  408. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js.map +1 -1
  409. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  410. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +14 -11
  412. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
  413. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js +1 -1
  414. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js +5 -3
  416. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js.map +1 -1
  417. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  418. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +13 -10
  420. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
  421. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  422. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +6 -4
  424. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  425. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  426. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +25 -22
  428. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  429. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  430. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  431. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +14 -11
  432. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  433. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  434. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +14 -11
  436. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  437. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  438. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +6 -4
  440. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  441. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js +1 -1
  442. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js.map +1 -1
  443. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js +5 -3
  444. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js.map +1 -1
  445. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  446. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  447. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +6 -4
  448. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  449. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +2 -2
  450. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  451. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +74 -69
  452. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  453. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  454. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  455. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +14 -11
  456. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  457. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  458. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  459. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +14 -11
  460. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  461. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  462. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  463. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +14 -11
  464. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  465. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js +1 -1
  466. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js.map +1 -1
  467. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js +5 -3
  468. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js.map +1 -1
  469. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  470. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  471. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +6 -4
  472. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  473. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js +1 -1
  474. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js.map +1 -1
  475. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js +7 -5
  476. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js.map +1 -1
  477. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  478. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  479. package/dist/shared/src/containers/Feed/Feed.es.js +24 -22
  480. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  481. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  482. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  483. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +14 -11
  484. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  485. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  486. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  487. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +14 -11
  488. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  489. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  490. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  491. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +14 -11
  492. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  493. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js +1 -1
  494. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js.map +1 -1
  495. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js +5 -3
  496. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js.map +1 -1
  497. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +1 -1
  498. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js.map +1 -1
  499. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +16 -13
  500. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js.map +1 -1
  501. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  502. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  503. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +6 -4
  504. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  505. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  506. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  507. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +15 -11
  508. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  509. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  510. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  511. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +18 -15
  512. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  513. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  514. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  515. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +6 -4
  516. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  517. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js +1 -1
  518. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js.map +1 -1
  519. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js +5 -3
  520. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js.map +1 -1
  521. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  522. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  523. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +6 -4
  524. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  525. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +1 -1
  526. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js.map +1 -1
  527. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +6 -4
  528. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js.map +1 -1
  529. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  530. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  531. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +6 -4
  532. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  533. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  534. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  535. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +14 -11
  536. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  537. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js +1 -1
  538. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js.map +1 -1
  539. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.es.js +5 -3
  540. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.es.js.map +1 -1
  541. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  542. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  543. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +13 -11
  544. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  545. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.cjs.js +1 -1
  546. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.cjs.js.map +1 -1
  547. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.es.js +5 -3
  548. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.es.js.map +1 -1
  549. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js +1 -1
  550. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js.map +1 -1
  551. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js +5 -3
  552. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js.map +1 -1
  553. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  554. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  555. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +5 -3
  556. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  557. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.cjs.js +1 -1
  558. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.cjs.js.map +1 -1
  559. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.es.js +5 -3
  560. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.es.js.map +1 -1
  561. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js +1 -1
  562. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js.map +1 -1
  563. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js +5 -3
  564. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js.map +1 -1
  565. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js +1 -1
  566. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js.map +1 -1
  567. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js +5 -3
  568. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js.map +1 -1
  569. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  570. package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
  571. package/dist/shared/src/containers/ListTable/ListTable.es.js +184 -172
  572. package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
  573. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  574. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  575. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +11 -8
  576. package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
  577. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  578. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
  579. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +19 -16
  580. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
  581. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  582. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  583. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +824 -787
  584. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  585. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +15 -1
  586. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
  587. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +16 -0
  588. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
  589. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  590. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  591. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +15 -11
  592. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  593. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  594. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  595. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +13 -10
  596. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  597. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  598. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  599. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +15 -12
  600. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  601. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  602. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  603. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +14 -11
  604. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  605. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js +31 -5
  606. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js.map +1 -1
  607. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js +200 -44
  608. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js.map +1 -1
  609. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  610. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  611. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +9 -6
  612. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  613. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +5 -5
  614. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  615. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +139 -130
  616. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  617. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  618. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  619. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +10 -7
  620. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  621. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  622. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  623. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +17 -14
  624. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  625. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContextInstance.cjs.js +2 -0
  626. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContextInstance.cjs.js.map +1 -0
  627. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContextInstance.es.js +6 -0
  628. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContextInstance.es.js.map +1 -0
  629. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +1 -1
  630. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  631. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +338 -7
  632. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  633. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContextInstance.cjs.js +2 -0
  634. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContextInstance.cjs.js.map +1 -0
  635. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContextInstance.es.js +6 -0
  636. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContextInstance.es.js.map +1 -0
  637. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  638. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  639. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +124 -121
  640. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  641. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js +1 -1
  642. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js.map +1 -1
  643. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js +5 -3
  644. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js.map +1 -1
  645. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  646. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  647. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +6 -4
  648. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  649. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  650. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  651. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +158 -131
  652. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  653. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  654. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  655. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +73 -67
  656. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  657. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  658. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  659. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +8 -5
  660. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  661. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  662. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  663. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +9 -6
  664. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  665. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  666. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  667. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +9 -6
  668. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  669. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  670. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  671. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +9 -6
  672. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  673. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  674. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  675. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +456 -260
  676. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  677. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  678. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  679. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +9 -6
  680. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  681. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  682. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  683. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +9 -6
  684. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  685. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupCounts.cjs.js +2 -0
  686. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupCounts.cjs.js.map +1 -0
  687. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupCounts.es.js +141 -0
  688. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupCounts.es.js.map +1 -0
  689. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  690. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  691. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +8 -5
  692. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  693. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  694. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  695. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +8 -5
  696. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  697. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  698. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  699. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +9 -6
  700. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  701. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  702. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  703. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +11 -8
  704. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  705. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.cjs.js +1 -1
  706. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.cjs.js.map +1 -1
  707. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.es.js +8 -8
  708. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.es.js.map +1 -1
  709. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  710. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  711. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +9 -6
  712. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  713. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  714. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  715. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +6 -4
  716. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  717. package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.cjs.js.map +1 -1
  718. package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.es.js.map +1 -1
  719. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  720. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  721. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +21 -19
  722. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  723. package/dist/shared/src/containers/ProjectTreeTable/utils/filterError.cjs.js +2 -0
  724. package/dist/shared/src/containers/ProjectTreeTable/utils/filterError.cjs.js.map +1 -0
  725. package/dist/shared/src/containers/ProjectTreeTable/utils/filterError.es.js +30 -0
  726. package/dist/shared/src/containers/ProjectTreeTable/utils/filterError.es.js.map +1 -0
  727. package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.cjs.js +2 -0
  728. package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.cjs.js.map +1 -0
  729. package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.es.js +22 -0
  730. package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.es.js.map +1 -0
  731. package/dist/shared/src/containers/ProjectTreeTable/utils/getGroupQueries.cjs.js +2 -0
  732. package/dist/shared/src/containers/ProjectTreeTable/utils/getGroupQueries.cjs.js.map +1 -0
  733. package/dist/shared/src/containers/ProjectTreeTable/utils/getGroupQueries.es.js +36 -0
  734. package/dist/shared/src/containers/ProjectTreeTable/utils/getGroupQueries.es.js.map +1 -0
  735. package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.cjs.js +1 -1
  736. package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.cjs.js.map +1 -1
  737. package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.es.js +4 -5
  738. package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.es.js.map +1 -1
  739. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  740. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  741. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +14 -11
  742. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  743. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  744. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  745. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +12 -9
  746. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  747. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +1 -1
  748. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
  749. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +14 -11
  750. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
  751. package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js +10 -10
  752. package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js.map +1 -1
  753. package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js +36 -32
  754. package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js.map +1 -1
  755. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +2 -2
  756. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  757. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +22 -19
  758. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  759. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +1 -1
  760. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
  761. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +6 -4
  762. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js.map +1 -1
  763. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  764. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  765. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +12 -9
  766. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  767. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  768. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  769. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +9 -6
  770. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  771. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +1 -1
  772. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
  773. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +6 -4
  774. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
  775. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +1 -1
  776. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
  777. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +5 -3
  778. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
  779. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +1 -1
  780. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -1
  781. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +5 -3
  782. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js.map +1 -1
  783. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  784. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  785. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +71 -46
  786. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  787. package/dist/shared/src/containers/RepresentationsList/versionsToRepresentations.cjs.js +1 -1
  788. package/dist/shared/src/containers/RepresentationsList/versionsToRepresentations.cjs.js.map +1 -1
  789. package/dist/shared/src/containers/RepresentationsList/versionsToRepresentations.es.js +11 -10
  790. package/dist/shared/src/containers/RepresentationsList/versionsToRepresentations.es.js.map +1 -1
  791. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  792. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  793. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +271 -206
  794. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  795. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js +83 -5
  796. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js.map +1 -1
  797. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js +89 -11
  798. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js.map +1 -1
  799. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js +1 -1
  800. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js.map +1 -1
  801. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js +149 -97
  802. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js.map +1 -1
  803. package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.cjs.js +1 -1
  804. package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.cjs.js.map +1 -1
  805. package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.es.js +14 -10
  806. package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.es.js.map +1 -1
  807. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +2 -2
  808. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -1
  809. package/dist/shared/src/containers/Slicer/components/Slicer.es.js +22 -22
  810. package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -1
  811. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +1 -1
  812. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
  813. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +6 -4
  814. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -1
  815. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  816. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  817. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +14 -11
  818. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  819. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  820. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  821. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +90 -238
  822. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  823. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
  824. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
  825. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +6 -4
  826. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
  827. package/dist/shared/src/containers/Slicer/hooks/useFiltersWithHierarchy.cjs.js +1 -1
  828. package/dist/shared/src/containers/Slicer/hooks/useFiltersWithHierarchy.cjs.js.map +1 -1
  829. package/dist/shared/src/containers/Slicer/hooks/useFiltersWithHierarchy.es.js +11 -14
  830. package/dist/shared/src/containers/Slicer/hooks/useFiltersWithHierarchy.es.js.map +1 -1
  831. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +1 -1
  832. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -1
  833. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +6 -4
  834. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
  835. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
  836. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
  837. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +50 -57
  838. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
  839. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +1 -1
  840. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -1
  841. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +6 -4
  842. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -1
  843. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js +1 -1
  844. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js.map +1 -1
  845. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js +6 -4
  846. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js.map +1 -1
  847. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js +1 -1
  848. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js.map +1 -1
  849. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js +30 -44
  850. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js.map +1 -1
  851. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js +1 -1
  852. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js.map +1 -1
  853. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js +8 -6
  854. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js.map +1 -1
  855. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  856. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  857. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +6 -4
  858. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  859. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js +1 -1
  860. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -1
  861. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js +5 -3
  862. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -1
  863. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.cjs.js +1 -1
  864. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.cjs.js.map +1 -1
  865. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.es.js +7 -7
  866. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.es.js.map +1 -1
  867. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js +1 -1
  868. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js.map +1 -1
  869. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js +5 -3
  870. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js.map +1 -1
  871. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  872. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  873. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +6 -4
  874. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  875. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  876. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  877. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +13 -10
  878. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  879. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +1 -1
  880. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  881. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +6 -4
  882. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  883. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  884. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  885. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +23 -21
  886. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  887. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js +1 -1
  888. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js.map +1 -1
  889. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js +5 -3
  890. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js.map +1 -1
  891. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -1
  892. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
  893. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +5 -3
  894. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
  895. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js +1 -1
  896. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js.map +1 -1
  897. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js +5 -3
  898. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js.map +1 -1
  899. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  900. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  901. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +9 -7
  902. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  903. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  904. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  905. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +5 -3
  906. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  907. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  908. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  909. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +5 -3
  910. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  911. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  912. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  913. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +5 -3
  914. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  915. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  916. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  917. package/dist/shared/src/context/AddonProjectContext.es.js +7 -5
  918. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  919. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  920. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  921. package/dist/shared/src/context/DetailsPanelContext.es.js +28 -25
  922. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  923. package/dist/shared/src/context/GlobalContext.cjs.js +1 -1
  924. package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -1
  925. package/dist/shared/src/context/GlobalContext.es.js +7 -5
  926. package/dist/shared/src/context/GlobalContext.es.js.map +1 -1
  927. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  928. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  929. package/dist/shared/src/context/PowerpackContext.es.js +10 -8
  930. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  931. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  932. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  933. package/dist/shared/src/context/ProjectContext.es.js +16 -14
  934. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  935. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  936. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  937. package/dist/shared/src/context/ProjectFoldersContext.es.js +36 -33
  938. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  939. package/dist/shared/src/context/ProjectFoldersContextInstance.cjs.js +2 -0
  940. package/dist/shared/src/context/ProjectFoldersContextInstance.cjs.js.map +1 -0
  941. package/dist/shared/src/context/ProjectFoldersContextInstance.es.js +8 -0
  942. package/dist/shared/src/context/ProjectFoldersContextInstance.es.js.map +1 -0
  943. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  944. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  945. package/dist/shared/src/context/RemoteModulesContext.es.js +7 -5
  946. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  947. package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
  948. package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
  949. package/dist/shared/src/context/SubtasksModulesContext.es.js +8 -6
  950. package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
  951. package/dist/shared/src/context/UriContext.cjs.js +1 -1
  952. package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
  953. package/dist/shared/src/context/UriContext.es.js +8 -6
  954. package/dist/shared/src/context/UriContext.es.js.map +1 -1
  955. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  956. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  957. package/dist/shared/src/context/WebsocketContext.es.js +50 -44
  958. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  959. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  960. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  961. package/dist/shared/src/hooks/useActionTriggers.es.js +5 -3
  962. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  963. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  964. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  965. package/dist/shared/src/hooks/useEntityUpdate.es.js +6 -4
  966. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  967. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
  968. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
  969. package/dist/shared/src/hooks/useGetEntityGroups.es.js +5 -3
  970. package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
  971. package/dist/shared/src/hooks/useGetProductionAddon.cjs.js +1 -1
  972. package/dist/shared/src/hooks/useGetProductionAddon.cjs.js.map +1 -1
  973. package/dist/shared/src/hooks/useGetProductionAddon.es.js +5 -3
  974. package/dist/shared/src/hooks/useGetProductionAddon.es.js.map +1 -1
  975. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  976. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  977. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +16 -23
  978. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  979. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  980. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  981. package/dist/shared/src/hooks/useHierarchyTable.es.js +5 -3
  982. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  983. package/dist/shared/src/hooks/useLocalStorage.cjs.js +1 -1
  984. package/dist/shared/src/hooks/useLocalStorage.cjs.js.map +1 -1
  985. package/dist/shared/src/hooks/useLocalStorage.es.js +3 -1
  986. package/dist/shared/src/hooks/useLocalStorage.es.js.map +1 -1
  987. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js +1 -1
  988. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js.map +1 -1
  989. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js +5 -3
  990. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js.map +1 -1
  991. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  992. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  993. package/dist/shared/src/hooks/useScopedStatuses.es.js +7 -5
  994. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  995. package/dist/shared/src/hooks/useScopedTypes.cjs.js +1 -1
  996. package/dist/shared/src/hooks/useScopedTypes.cjs.js.map +1 -1
  997. package/dist/shared/src/hooks/useScopedTypes.es.js +5 -3
  998. package/dist/shared/src/hooks/useScopedTypes.es.js.map +1 -1
  999. package/dist/shared/src/hooks/useSessionStorage.cjs.js +2 -0
  1000. package/dist/shared/src/hooks/useSessionStorage.cjs.js.map +1 -0
  1001. package/dist/shared/src/hooks/useSessionStorage.es.js +60 -0
  1002. package/dist/shared/src/hooks/useSessionStorage.es.js.map +1 -0
  1003. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  1004. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  1005. package/dist/shared/src/hooks/useUserProjectConfig.es.js +6 -4
  1006. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  1007. package/dist/shared/src/util/checkName.cjs.js.map +1 -1
  1008. package/dist/shared/src/util/checkName.es.js.map +1 -1
  1009. package/dist/shared/src/util/getAttributeIcon.cjs.js.map +1 -1
  1010. package/dist/shared/src/util/getAttributeIcon.es.js.map +1 -1
  1011. package/dist/shared/src/util/getBundleMode.cjs.js +1 -1
  1012. package/dist/shared/src/util/getBundleMode.cjs.js.map +1 -1
  1013. package/dist/shared/src/util/getBundleMode.es.js +6 -4
  1014. package/dist/shared/src/util/getBundleMode.es.js.map +1 -1
  1015. package/dist/shared/src/util/getGroupByDataType.cjs.js.map +1 -1
  1016. package/dist/shared/src/util/getGroupByDataType.es.js.map +1 -1
  1017. package/dist/shared/src/util/getPriorityOptions.cjs.js.map +1 -1
  1018. package/dist/shared/src/util/getPriorityOptions.es.js.map +1 -1
  1019. package/dist/shared/src/util/iconUtils.cjs.js.map +1 -1
  1020. package/dist/shared/src/util/iconUtils.es.js.map +1 -1
  1021. package/dist/shared/src/util/replaceRoot.cjs.js +2 -0
  1022. package/dist/shared/src/util/replaceRoot.cjs.js.map +1 -0
  1023. package/dist/shared/src/util/replaceRoot.es.js +11 -0
  1024. package/dist/shared/src/util/replaceRoot.es.js.map +1 -0
  1025. package/dist/types/api/generated/graphql.d.ts +228 -273
  1026. package/dist/types/api/generated/graphqlLinks.d.ts +12 -7
  1027. package/dist/types/api/queries/activities/getActivities.d.ts +2303 -1448
  1028. package/dist/types/api/queries/activities/index.d.ts +0 -1
  1029. package/dist/types/api/queries/activities/util/activityRealtimeHandler.d.ts +21 -1
  1030. package/dist/types/api/queries/bundles/getBundles.d.ts +951 -0
  1031. package/dist/types/api/queries/bundles/index.d.ts +2 -0
  1032. package/dist/types/api/queries/bundles/updateBundles.d.ts +1027 -0
  1033. package/dist/types/api/queries/columnStats/columnStats.d.ts +1 -0
  1034. package/dist/types/api/queries/columnStats/groupCounts.d.ts +17 -0
  1035. package/dist/types/api/queries/columnStats/index.d.ts +1 -0
  1036. package/dist/types/api/queries/columnStats/metricTargets.d.ts +8 -1
  1037. package/dist/types/api/queries/entities/getEntity.d.ts +298 -290
  1038. package/dist/types/api/queries/entities/getEntityPanel.d.ts +234 -226
  1039. package/dist/types/api/queries/entities/updateEntity.d.ts +234 -226
  1040. package/dist/types/api/queries/entityLists/getLists.d.ts +1498 -1490
  1041. package/dist/types/api/queries/entityLists/listItemsColumnStats.d.ts +96 -96
  1042. package/dist/types/api/queries/folders/getFolderDeleteInfo.d.ts +65 -65
  1043. package/dist/types/api/queries/index.d.ts +1 -0
  1044. package/dist/types/api/queries/overview/getOverview.d.ts +953 -809
  1045. package/dist/types/api/queries/products/getFolderProducts.d.ts +32 -32
  1046. package/dist/types/api/queries/project/getProject.d.ts +474 -466
  1047. package/dist/types/api/queries/review/getReview.d.ts +2 -2
  1048. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +346 -338
  1049. package/dist/types/api/queries/users/getUsers.d.ts +428 -420
  1050. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +1012 -996
  1051. package/dist/types/api/queries/versions/updateVersions.d.ts +32 -32
  1052. package/dist/types/components/Feedback/FeedbackContext.d.ts +1 -0
  1053. package/dist/types/components/FilterErrorActions/FilterErrorActions.d.ts +5 -0
  1054. package/dist/types/components/FilterErrorActions/index.d.ts +2 -0
  1055. package/dist/types/components/InfoMessage/InfoMessage.d.ts +14 -0
  1056. package/dist/types/components/InfoMessage/InfoMessage.styled.d.ts +1 -0
  1057. package/dist/types/components/InfoMessage/index.d.ts +3 -0
  1058. package/dist/types/components/VersionUploader/context/VersionUploadContext.d.ts +1 -1
  1059. package/dist/types/components/VersionUploader/context/VersionUploadContextInstance.d.ts +2 -0
  1060. package/dist/types/components/index.d.ts +2 -0
  1061. package/dist/types/containers/Actions/ActionsDropdown/ActionsDropdown.d.ts +2 -1
  1062. package/dist/types/containers/EntityPickerDialog/EntityPickerDialog.d.ts +1 -0
  1063. package/dist/types/containers/Feed/hooks/useGetFeedActivitiesData.d.ts +36 -36
  1064. package/dist/types/containers/ListTable/ListTable.d.ts +1 -1
  1065. package/dist/types/containers/ListTable/ListTable.types.d.ts +4 -1
  1066. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +3 -1
  1067. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.styled.d.ts +1 -0
  1068. package/dist/types/containers/ProjectTreeTable/components/TableFooterRow.d.ts +2 -0
  1069. package/dist/types/containers/ProjectTreeTable/context/ProjectDataContextInstance.d.ts +2 -0
  1070. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +88 -6
  1071. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContextInstance.d.ts +2 -0
  1072. package/dist/types/containers/ProjectTreeTable/context/index.d.ts +0 -1
  1073. package/dist/types/containers/ProjectTreeTable/hooks/index.d.ts +1 -0
  1074. package/dist/types/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.d.ts +5 -2
  1075. package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +7 -2
  1076. package/dist/types/containers/ProjectTreeTable/hooks/useGroupCounts.d.ts +39 -0
  1077. package/dist/types/containers/ProjectTreeTable/hooks/useSelectedFolders.d.ts +2 -4
  1078. package/dist/types/containers/ProjectTreeTable/types/index.d.ts +6 -0
  1079. package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +7 -2
  1080. package/dist/types/containers/ProjectTreeTable/types/summaryTypes.d.ts +0 -29
  1081. package/dist/types/containers/ProjectTreeTable/utils/filterError.d.ts +11 -0
  1082. package/dist/types/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.d.ts +3 -0
  1083. package/dist/types/containers/ProjectTreeTable/utils/getGroupQueries.d.ts +17 -0
  1084. package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +2 -0
  1085. package/dist/types/containers/ProjectTreeTable/utils/pinningUtils.d.ts +0 -1
  1086. package/dist/types/containers/ProjectTreeTable/widgets/GroupHeaderWidget.d.ts +2 -1
  1087. package/dist/types/containers/RepresentationsList/versionsToRepresentations.d.ts +1 -0
  1088. package/dist/types/containers/SimpleTable/SimpleTable.d.ts +1 -64
  1089. package/dist/types/containers/SimpleTable/SimpleTable.types.d.ts +79 -0
  1090. package/dist/types/containers/SimpleTable/SimpleTableRowTemplate.d.ts +13 -1
  1091. package/dist/types/containers/SimpleTable/hooks/useRowKeydown.d.ts +2 -1
  1092. package/dist/types/containers/SimpleTable/index.d.ts +1 -0
  1093. package/dist/types/containers/Slicer/context/SlicerContext.d.ts +3 -4
  1094. package/dist/types/containers/Slicer/hooks/useFiltersWithHierarchy.d.ts +2 -2
  1095. package/dist/types/containers/Slicer/hooks/useSlicerRowSelection.d.ts +1 -3
  1096. package/dist/types/containers/Slicer/types.d.ts +0 -10
  1097. package/dist/types/containers/Slicer/util/createFilterFromSlicer.d.ts +3 -2
  1098. package/dist/types/containers/Slicer/util/getSelectionDataState.d.ts +1 -1
  1099. package/dist/types/containers/Slicer/util/index.d.ts +0 -1
  1100. package/dist/types/context/ProjectFoldersContextInstance.d.ts +2 -0
  1101. package/dist/types/hooks/index.d.ts +1 -0
  1102. package/dist/types/hooks/useGroupByRemoteModules.d.ts +0 -17
  1103. package/dist/types/hooks/useSessionStorage.d.ts +4 -0
  1104. package/dist/types/util/checkName.d.ts +1 -1
  1105. package/dist/types/util/getAttributeIcon.d.ts +1 -1
  1106. package/dist/types/util/getGroupByDataType.d.ts +1 -1
  1107. package/dist/types/util/getPriorityOptions.d.ts +2 -1
  1108. package/dist/types/util/iconUtils.d.ts +1 -1
  1109. package/dist/types/util/index.d.ts +1 -0
  1110. package/dist/types/util/replaceRoot.d.ts +1 -0
  1111. package/dist/util.cjs.js +1 -1
  1112. package/dist/util.es.js +21 -19
  1113. package/dist/util.es.js.map +1 -1
  1114. package/package.json +1 -1
  1115. package/dist/shared/src/api/queries/activities/updateActivities.cjs.js +0 -2
  1116. package/dist/shared/src/api/queries/activities/updateActivities.cjs.js.map +0 -1
  1117. package/dist/shared/src/api/queries/activities/updateActivities.es.js +0 -108
  1118. package/dist/shared/src/api/queries/activities/updateActivities.es.js.map +0 -1
  1119. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +0 -2
  1120. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +0 -1
  1121. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +0 -327
  1122. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +0 -1
  1123. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.cjs.js +0 -2
  1124. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.cjs.js.map +0 -1
  1125. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.es.js +0 -27
  1126. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.es.js.map +0 -1
  1127. package/dist/shared/src/containers/Slicer/util/getSelectionDataState.cjs.js +0 -2
  1128. package/dist/shared/src/containers/Slicer/util/getSelectionDataState.cjs.js.map +0 -1
  1129. package/dist/shared/src/containers/Slicer/util/getSelectionDataState.es.js +0 -8
  1130. package/dist/shared/src/containers/Slicer/util/getSelectionDataState.es.js.map +0 -1
  1131. package/dist/types/api/queries/activities/updateActivities.d.ts +0 -1336
  1132. package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +0 -81
  1133. package/dist/types/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.d.ts +0 -4
@@ -1 +1 @@
1
- {"version":3,"file":"updateEntity.cjs.js","sources":["../../../../../../src/api/queries/entities/updateEntity.ts"],"sourcesContent":["// @ts-nocheck\n\nimport api from './getEntity'\nimport { detailsPanelQueries } from '@shared/api/queries'\nimport { toast } from 'react-toastify'\nimport { dashboardQueries, getKanbanTasks } from '@shared/api/queries/userDashboard'\nimport { patchOverviewFolders, patchOverviewTasks } from '@shared/api/queries/overview'\nimport { patchDetailsPanel } from './patchDetailsPanel'\n\nconst patchKanban = (\n { assignees = [], projects = [] },\n { newAssignees, taskId, data, taskData },\n { dispatch },\n) => {\n let kanbanPatched = false\n const patchResult = dispatch(\n dashboardQueries.util.updateQueryData(\n 'GetKanban',\n { projects: projects, assignees: assignees },\n (draft) => {\n const taskIndex = draft.findIndex((task) => task.id === taskId)\n let patchData = { ...data }\n // if the data include attrib.priority it needs to be transformed to just priority\n // this is because priority is a top level field on kanban query\n if (data?.attrib?.priority) {\n const { priority } = patchData.attrib\n patchData = { ...patchData, priority }\n }\n // if the data include attrib.endDate it needs to be transformed to dueDate\n // this is because dueDate is a top level field on kanban query\n // NOTE TO SELF: Lets try to do these transforms after the cache the future.\n if (data?.attrib?.endDate) {\n const { endDate } = patchData.attrib\n patchData = { ...patchData, dueDate: endDate }\n delete patchData.attrib.endDate\n }\n\n if (taskIndex === -1) {\n // task not found, assignee must have just been added\n if (taskData) {\n // add the task to the cache\n draft.push(taskData)\n } else {\n // we don't have the task data, so we can't add it to the cache\n // we might add it later\n kanbanPatched = false\n }\n } else {\n kanbanPatched = true\n // first check that the task assignees still has a intersection with dashAssignees\n const hasSomeAssignees = newAssignees?.some((assignee) => assignees.includes(assignee))\n\n if (!hasSomeAssignees && newAssignees) {\n // remove from cache\n draft.splice(taskIndex, 1)\n } else {\n // task found: update the task in the cache\n const newData = { ...draft[taskIndex], ...patchData }\n draft[taskIndex] = newData\n }\n }\n },\n ),\n )\n\n return [patchResult, kanbanPatched]\n}\n\n// try to patch the progress view if there are queries that need to be updated\nconst patchProgressView = ({ operations = [], state, dispatch, entityType }) => {\n // create invalidation tags for progress view\n const invalidationTags = operations.map((o) => ({ type: 'progress', id: o.id }))\n // find the entries that need to be updated\n let entries = api.util.selectInvalidatedBy(state, invalidationTags)\n // if there are no entries, return\n if (!entries.length) return []\n\n try {\n // patch each entry with updated task data\n const patches = entries.map((entry) =>\n dispatch(\n api.util.updateQueryData(entry.endpointName, entry.originalArgs, (draft) => {\n for (const operation of operations) {\n const entityId = operation.id\n const patch = operation.data\n\n // patch the updated task data\n if (entityType === 'task') {\n const folderId = operation.meta?.folderId\n const folder = draft.find((folder) => folder.id === folderId)\n if (!folder) throw new Error('Patching progress view: folder not found')\n const task = folder.tasks?.find((task) => task.id === entityId)\n if (!task) throw new Error('Patching progress view: task not found')\n // update task\n const newTask = { ...task, ...patch }\n // update folder\n const newFolder = {\n ...folder,\n tasks: folder.tasks.map((t) => (t.id === entityId ? newTask : t)),\n }\n // update query\n const folderIndex = draft.findIndex((f) => f.id === folderId)\n draft[folderIndex] = newFolder\n } else if (entityType === 'folder') {\n const folder = draft.find((folder) => folder.id === entityId)\n if (!folder) throw new Error('Patching progress view: folder not found')\n\n // If name is being updated, also update the path\n let updatedPatch = { ...patch }\n if (patch.name && folder.path) {\n // Construct new path by replacing the last segment with the new name\n const pathParts = folder.path.split('/')\n pathParts[pathParts.length - 1] = patch.name\n updatedPatch.path = pathParts.join('/')\n }\n\n // update folder\n const newFolder = { ...folder, ...updatedPatch }\n // update query\n const folderIndex = draft.findIndex((f) => f.id === entityId)\n draft[folderIndex] = newFolder\n }\n }\n }),\n ),\n )\n return patches\n } catch (error) {\n console.error(error)\n // invalidate the progress view queries instead\n dispatch(api.util.invalidateTags(invalidationTags))\n return []\n }\n}\n\nconst updateEntity = api.injectEndpoints({\n endpoints: (build) => ({\n updateEntity: build.mutation({\n query: ({ projectName, entityId, data, entityType }) => ({\n url: `/api/projects/${projectName}/${entityType}s/${entityId}`,\n method: 'PATCH',\n body: data,\n }),\n invalidatesTags: (result, error, { entityId, entityType }) => {\n const tags = []\n if (entityType === 'product') {\n tags.push({ type: 'product', id: entityId })\n }\n if (entityType === 'version') {\n tags.push({ type: 'version', id: entityId })\n }\n return tags\n },\n async onQueryStarted(\n { projectName, entityId, data, currentAssignees, entityType },\n { dispatch, queryFulfilled, getState },\n ) {\n const state = getState()\n const patchResults = []\n\n let invalidationTagsAfterComplete = []\n // if task, patch the GetKanban query\n if (entityType === 'task') {\n const dashboardProjects = getState().dashboard?.selectedProjects || []\n const dashboardUsers = getState().dashboard?.tasks.assignees || []\n const dashboardAssigneesIsMe = getState().dashboard?.tasks.assigneesFilter === 'me'\n const newAssignees = data.assignees\n\n const cacheUsers = dashboardAssigneesIsMe ? [getState().user?.name] : dashboardUsers\n\n const entityAssignees = [...new Set([...currentAssignees, ...(newAssignees || [])])]\n const hasSomeAssignees = entityAssignees.some((assignee) => cacheUsers.includes(assignee))\n const hasSomeProjects = dashboardProjects.some((project) => project === projectName)\n const currentDashNeedsUpdating = hasSomeAssignees && hasSomeProjects\n\n if (currentDashNeedsUpdating) {\n const [result, wasPatched] = patchKanban(\n { assignees: cacheUsers, projects: dashboardProjects },\n { newAssignees, taskId: entityId, data },\n { dispatch },\n )\n\n if (wasPatched) patchResults.push(result)\n\n if (!wasPatched) {\n // this means the task is not in the current kanban and it needs to be added\n\n // get the new task data\n getKanbanTasks({ projects: [projectName], taskIds: [entityId] }, dispatch).then(\n // use .then so that the rest of the code can run\n (response) => {\n let newTask = response.find((task) => task.id === entityId)\n if (newTask) {\n // add newAssignees as the actual DB hasn't been updated yet\n newTask = { ...newTask, assignees: newAssignees }\n\n patchKanban(\n { assignees: cacheUsers, projects: dashboardProjects },\n { newAssignees, taskId: entityId, taskData: newTask },\n { dispatch },\n )\n }\n },\n )\n }\n }\n\n // always update the kanban if task id matches\n const tags = [{ type: 'task', id: entityId }]\n\n // are we changing the assignees?\n if (newAssignees?.length) {\n const currentAssigneesSet = new Set(currentAssignees)\n const newAssigneesSet = new Set(newAssignees)\n\n const removedAssignees = [...currentAssigneesSet].filter(\n (assignee) => !newAssigneesSet.has(assignee),\n )\n const addedAssignees = [...newAssigneesSet].filter(\n (assignee) => !currentAssigneesSet.has(assignee),\n )\n\n const changedAssignees = [...new Set([...removedAssignees, ...addedAssignees])]\n\n // any query that has those changed assignees, needs to be updated\n // we are changing the assignees\n const assigneesTags = changedAssignees.map((assignee) => ({\n type: 'kanban',\n id: 'user-' + assignee + '-project-' + projectName,\n }))\n\n tags.push(...assigneesTags)\n\n // invalidate the watchers query\n dispatch(\n dashboardQueries.util.invalidateTags([\n {\n type: 'watchers',\n id: entityId,\n },\n ]),\n )\n }\n\n // invalidate any other caches\n let entries = dashboardQueries.util.selectInvalidatedBy(state, tags)\n let entriesToInvalidate = []\n\n // for each entry try to patch the data into the cache first\n for (const entry of entries) {\n const [patchResult, wasPatched] = patchKanban(\n {\n assignees: entry.originalArgs.assignees,\n projects: entry.originalArgs.projects,\n },\n {\n newAssignees,\n taskId: entityId,\n data,\n },\n { dispatch },\n )\n\n if (wasPatched) {\n patchResults.push(patchResult)\n } else {\n // if we couldn't patch, we need to invalidate the cache\n entriesToInvalidate.push(entry)\n }\n }\n\n // filter out current kanban query if we were able to patch it\n const currentKanbanCacheArgs = { projects: dashboardProjects, assignees: cacheUsers }\n entriesToInvalidate = entriesToInvalidate.filter(\n (entry) =>\n JSON.stringify(entry.originalArgs) !== JSON.stringify(currentKanbanCacheArgs),\n )\n\n // create the invalidation tags from originalArgs\n const invalidationTags = entries.map((entry) => ({\n type: 'kanban',\n id: JSON.stringify(entry.originalArgs),\n }))\n\n // invalidate the tags later, once the query is complete\n invalidationTagsAfterComplete.push(...invalidationTags)\n }\n\n // get all details panel caches that would be affected by this update\n patchDetailsPanel([{ entityId, data, entityType }], { state, dispatch }, patchResults)\n\n try {\n await queryFulfilled\n\n // now invalidate any tags\n if (invalidationTagsAfterComplete.length) {\n dispatch(dashboardQueries.util.invalidateTags(invalidationTagsAfterComplete))\n }\n } catch (error) {\n console.error('error updating ' + entityType, error)\n toast.error(error?.error?.data?.detail || 'Failed to update task')\n patchResults.forEach((result) => result?.undo())\n }\n },\n }),\n updateEntities: build.mutation({\n async queryFn({ operations = [], entityType }, { dispatch, getState }) {\n try {\n const state = getState()\n const promises = []\n for (const { projectName, data, id, currentAssignees = [] } of operations) {\n const promise = dispatch(\n updateEntity.endpoints.updateEntity.initiate({\n projectName: projectName,\n entityId: id,\n data,\n entityType,\n currentAssignees,\n }),\n )\n promises.push(promise)\n }\n\n let progressPatches = []\n if (entityType === 'task' || entityType === 'folder') {\n // patch the progress page\n progressPatches = patchProgressView({ operations, state, dispatch, entityType })\n }\n\n const overviewPatches = []\n // convert id in operations to entityId\n const operationsWithEntityId = operations.map((o) => ({ ...o, entityId: o.id }))\n if (entityType === 'task' || entityType === 'folder') {\n // patch the overview page\n if (entityType === 'task') {\n patchOverviewTasks(operationsWithEntityId, { state, dispatch }, overviewPatches)\n }\n if (entityType === 'folder') {\n // patch the overview page\n patchOverviewFolders(operationsWithEntityId, { state, dispatch }, overviewPatches)\n console.log('invalidate overview folders')\n // invalidate overview folders query\n dispatch(api.util.invalidateTags([{ type: 'folder', id: 'LIST' }]))\n // invalidate overview tasks with folder as a parent\n dispatch(\n api.util.invalidateTags(\n operationsWithEntityId.map((o) => ({ type: 'overviewTask', id: o.entityId })),\n ),\n )\n }\n }\n\n // check if any of the requests failed and invalidate the tasks cache again to refetch\n const results = await Promise.allSettled(promises)\n\n // did any of the requests fail?\n const someError = results.some((result) => result.value?.error)\n if (someError) {\n dispatch(\n api.util.invalidateTags(operations.map((o) => ({ type: 'kanBanTask', id: o.id }))),\n )\n\n // revert the progress view patches\n progressPatches.forEach((patch) => patch?.undo())\n\n // revert the overview patches\n overviewPatches.forEach((patch) => patch?.undo())\n\n throw 'Failed to update some tasks'\n }\n\n const activityTags = []\n\n if (activityTags.length) {\n dispatch(api.util.invalidateTags(activityTags))\n }\n\n return { data: operations }\n } catch (error) {\n console.error(error)\n return { error }\n }\n },\n invalidatesTags: (result, error, { operations, entityType }) => {\n const tags = operations.map((o) => ({ id: o.id, type: 'review' }))\n\n if (entityType === 'product') {\n tags.push({ type: 'product', id: 'LIST' }, { type: 'version', id: 'LIST' })\n operations.forEach((o) => tags.push({ type: 'product', id: o.id }))\n }\n if (entityType === 'version') {\n tags.push({ type: 'version', id: 'LIST' }, { type: 'product', id: 'LIST' })\n operations.forEach((o) => tags.push({ type: 'version', id: o.id }))\n }\n\n return tags\n },\n }),\n }),\n overrideExisting: true,\n})\n\nexport const { useUpdateEntitiesMutation, useUpdateEntityMutation } = updateEntity\nexport { updateEntity as entitiesQueries }\n"],"names":["patchKanban","assignees","projects","newAssignees","taskId","data","taskData","dispatch","kanbanPatched","dashboardQueries","draft","taskIndex","task","patchData","priority","endDate","assignee","newData","patchProgressView","operations","state","entityType","invalidationTags","o","entries","api","entry","operation","entityId","patch","folderId","folder","newTask","newFolder","t","folderIndex","f","updatedPatch","pathParts","error","updateEntity","build","projectName","result","tags","currentAssignees","queryFulfilled","getState","patchResults","invalidationTagsAfterComplete","dashboardProjects","dashboardUsers","dashboardAssigneesIsMe","cacheUsers","hasSomeAssignees","hasSomeProjects","project","wasPatched","getKanbanTasks","response","currentAssigneesSet","newAssigneesSet","removedAssignees","addedAssignees","assigneesTags","entriesToInvalidate","patchResult","currentKanbanCacheArgs","patchDetailsPanel","toast","promises","id","promise","progressPatches","overviewPatches","operationsWithEntityId","patchOverviewTasks","patchOverviewFolders","activityTags","useUpdateEntitiesMutation","useUpdateEntityMutation"],"mappings":"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"}
1
+ {"version":3,"file":"updateEntity.cjs.js","sources":["../../../../../../src/api/queries/entities/updateEntity.ts"],"sourcesContent":["// @ts-nocheck\n\nimport api from './getEntity'\nimport { toast } from 'react-toastify'\nimport { detailsPanelQueries } from './getEntityPanel'\nimport { dashboardQueries, getKanbanTasks } from '../userDashboard'\nimport { patchOverviewFolders, patchOverviewTasks } from '../overview'\nimport { patchDetailsPanel } from './patchDetailsPanel'\n\nconst patchKanban = (\n { assignees = [], projects = [] },\n { newAssignees, taskId, data, taskData },\n { dispatch },\n) => {\n let kanbanPatched = false\n const patchResult = dispatch(\n dashboardQueries.util.updateQueryData(\n 'GetKanban',\n { projects: projects, assignees: assignees },\n (draft) => {\n const taskIndex = draft.findIndex((task) => task.id === taskId)\n let patchData = { ...data }\n // if the data include attrib.priority it needs to be transformed to just priority\n // this is because priority is a top level field on kanban query\n if (data?.attrib?.priority) {\n const { priority } = patchData.attrib\n patchData = { ...patchData, priority }\n }\n // if the data include attrib.endDate it needs to be transformed to dueDate\n // this is because dueDate is a top level field on kanban query\n // NOTE TO SELF: Lets try to do these transforms after the cache the future.\n if (data?.attrib?.endDate) {\n const { endDate } = patchData.attrib\n patchData = { ...patchData, dueDate: endDate }\n delete patchData.attrib.endDate\n }\n\n if (taskIndex === -1) {\n // task not found, assignee must have just been added\n if (taskData) {\n // add the task to the cache\n draft.push(taskData)\n } else {\n // we don't have the task data, so we can't add it to the cache\n // we might add it later\n kanbanPatched = false\n }\n } else {\n kanbanPatched = true\n // first check that the task assignees still has a intersection with dashAssignees\n const hasSomeAssignees = newAssignees?.some((assignee) => assignees.includes(assignee))\n\n if (!hasSomeAssignees && newAssignees) {\n // remove from cache\n draft.splice(taskIndex, 1)\n } else {\n // task found: update the task in the cache\n const newData = { ...draft[taskIndex], ...patchData }\n draft[taskIndex] = newData\n }\n }\n },\n ),\n )\n\n return [patchResult, kanbanPatched]\n}\n\n// try to patch the progress view if there are queries that need to be updated\nconst patchProgressView = ({ operations = [], state, dispatch, entityType }) => {\n // create invalidation tags for progress view\n const invalidationTags = operations.map((o) => ({ type: 'progress', id: o.id }))\n // find the entries that need to be updated\n let entries = api.util.selectInvalidatedBy(state, invalidationTags)\n // if there are no entries, return\n if (!entries.length) return []\n\n try {\n // patch each entry with updated task data\n const patches = entries.map((entry) =>\n dispatch(\n api.util.updateQueryData(entry.endpointName, entry.originalArgs, (draft) => {\n for (const operation of operations) {\n const entityId = operation.id\n const patch = operation.data\n\n // patch the updated task data\n if (entityType === 'task') {\n const folderId = operation.meta?.folderId\n const folder = draft.find((folder) => folder.id === folderId)\n if (!folder) throw new Error('Patching progress view: folder not found')\n const task = folder.tasks?.find((task) => task.id === entityId)\n if (!task) throw new Error('Patching progress view: task not found')\n // update task\n const newTask = { ...task, ...patch }\n // update folder\n const newFolder = {\n ...folder,\n tasks: folder.tasks.map((t) => (t.id === entityId ? newTask : t)),\n }\n // update query\n const folderIndex = draft.findIndex((f) => f.id === folderId)\n draft[folderIndex] = newFolder\n } else if (entityType === 'folder') {\n const folder = draft.find((folder) => folder.id === entityId)\n if (!folder) throw new Error('Patching progress view: folder not found')\n\n // If name is being updated, also update the path\n let updatedPatch = { ...patch }\n if (patch.name && folder.path) {\n // Construct new path by replacing the last segment with the new name\n const pathParts = folder.path.split('/')\n pathParts[pathParts.length - 1] = patch.name\n updatedPatch.path = pathParts.join('/')\n }\n\n // update folder\n const newFolder = { ...folder, ...updatedPatch }\n // update query\n const folderIndex = draft.findIndex((f) => f.id === entityId)\n draft[folderIndex] = newFolder\n }\n }\n }),\n ),\n )\n return patches\n } catch (error) {\n console.error(error)\n // invalidate the progress view queries instead\n dispatch(api.util.invalidateTags(invalidationTags))\n return []\n }\n}\n\nconst updateEntity = api.injectEndpoints({\n endpoints: (build) => ({\n updateEntity: build.mutation({\n query: ({ projectName, entityId, data, entityType }) => ({\n url: `/api/projects/${projectName}/${entityType}s/${entityId}`,\n method: 'PATCH',\n body: data,\n }),\n invalidatesTags: (result, error, { entityId, entityType }) => {\n const tags = []\n if (entityType === 'product') {\n tags.push({ type: 'product', id: entityId })\n }\n if (entityType === 'version') {\n tags.push({ type: 'version', id: entityId })\n }\n return tags\n },\n async onQueryStarted(\n { projectName, entityId, data, currentAssignees, entityType },\n { dispatch, queryFulfilled, getState },\n ) {\n const state = getState()\n const patchResults = []\n\n let invalidationTagsAfterComplete = []\n // if task, patch the GetKanban query\n if (entityType === 'task') {\n const dashboardProjects = getState().dashboard?.selectedProjects || []\n const dashboardUsers = getState().dashboard?.tasks.assignees || []\n const dashboardAssigneesIsMe = getState().dashboard?.tasks.assigneesFilter === 'me'\n const newAssignees = data.assignees\n\n const cacheUsers = dashboardAssigneesIsMe ? [getState().user?.name] : dashboardUsers\n\n const entityAssignees = [...new Set([...currentAssignees, ...(newAssignees || [])])]\n const hasSomeAssignees = entityAssignees.some((assignee) => cacheUsers.includes(assignee))\n const hasSomeProjects = dashboardProjects.some((project) => project === projectName)\n const currentDashNeedsUpdating = hasSomeAssignees && hasSomeProjects\n\n if (currentDashNeedsUpdating) {\n const [result, wasPatched] = patchKanban(\n { assignees: cacheUsers, projects: dashboardProjects },\n { newAssignees, taskId: entityId, data },\n { dispatch },\n )\n\n if (wasPatched) patchResults.push(result)\n\n if (!wasPatched) {\n // this means the task is not in the current kanban and it needs to be added\n\n // get the new task data\n getKanbanTasks({ projects: [projectName], taskIds: [entityId] }, dispatch).then(\n // use .then so that the rest of the code can run\n (response) => {\n let newTask = response.find((task) => task.id === entityId)\n if (newTask) {\n // add newAssignees as the actual DB hasn't been updated yet\n newTask = { ...newTask, assignees: newAssignees }\n\n patchKanban(\n { assignees: cacheUsers, projects: dashboardProjects },\n { newAssignees, taskId: entityId, taskData: newTask },\n { dispatch },\n )\n }\n },\n )\n }\n }\n\n // always update the kanban if task id matches\n const tags = [{ type: 'task', id: entityId }]\n\n // are we changing the assignees?\n if (newAssignees?.length) {\n const currentAssigneesSet = new Set(currentAssignees)\n const newAssigneesSet = new Set(newAssignees)\n\n const removedAssignees = [...currentAssigneesSet].filter(\n (assignee) => !newAssigneesSet.has(assignee),\n )\n const addedAssignees = [...newAssigneesSet].filter(\n (assignee) => !currentAssigneesSet.has(assignee),\n )\n\n const changedAssignees = [...new Set([...removedAssignees, ...addedAssignees])]\n\n // any query that has those changed assignees, needs to be updated\n // we are changing the assignees\n const assigneesTags = changedAssignees.map((assignee) => ({\n type: 'kanban',\n id: 'user-' + assignee + '-project-' + projectName,\n }))\n\n tags.push(...assigneesTags)\n\n // invalidate the watchers query\n dispatch(\n dashboardQueries.util.invalidateTags([\n {\n type: 'watchers',\n id: entityId,\n },\n ]),\n )\n }\n\n // invalidate any other caches\n let entries = dashboardQueries.util.selectInvalidatedBy(state, tags)\n let entriesToInvalidate = []\n\n // for each entry try to patch the data into the cache first\n for (const entry of entries) {\n const [patchResult, wasPatched] = patchKanban(\n {\n assignees: entry.originalArgs.assignees,\n projects: entry.originalArgs.projects,\n },\n {\n newAssignees,\n taskId: entityId,\n data,\n },\n { dispatch },\n )\n\n if (wasPatched) {\n patchResults.push(patchResult)\n } else {\n // if we couldn't patch, we need to invalidate the cache\n entriesToInvalidate.push(entry)\n }\n }\n\n // filter out current kanban query if we were able to patch it\n const currentKanbanCacheArgs = { projects: dashboardProjects, assignees: cacheUsers }\n entriesToInvalidate = entriesToInvalidate.filter(\n (entry) =>\n JSON.stringify(entry.originalArgs) !== JSON.stringify(currentKanbanCacheArgs),\n )\n\n // create the invalidation tags from originalArgs\n const invalidationTags = entries.map((entry) => ({\n type: 'kanban',\n id: JSON.stringify(entry.originalArgs),\n }))\n\n // invalidate the tags later, once the query is complete\n invalidationTagsAfterComplete.push(...invalidationTags)\n }\n\n // get all details panel caches that would be affected by this update\n patchDetailsPanel([{ entityId, data, entityType }], { state, dispatch }, patchResults)\n\n try {\n await queryFulfilled\n\n // now invalidate any tags\n if (invalidationTagsAfterComplete.length) {\n dispatch(dashboardQueries.util.invalidateTags(invalidationTagsAfterComplete))\n }\n } catch (error) {\n console.error('error updating ' + entityType, error)\n toast.error(error?.error?.data?.detail || 'Failed to update task')\n patchResults.forEach((result) => result?.undo())\n }\n },\n }),\n updateEntities: build.mutation({\n async queryFn({ operations = [], entityType }, { dispatch, getState }) {\n try {\n const state = getState()\n const promises = []\n for (const { projectName, data, id, currentAssignees = [] } of operations) {\n const promise = dispatch(\n updateEntity.endpoints.updateEntity.initiate({\n projectName: projectName,\n entityId: id,\n data,\n entityType,\n currentAssignees,\n }),\n )\n promises.push(promise)\n }\n\n let progressPatches = []\n if (entityType === 'task' || entityType === 'folder') {\n // patch the progress page\n progressPatches = patchProgressView({ operations, state, dispatch, entityType })\n }\n\n const overviewPatches = []\n // convert id in operations to entityId\n const operationsWithEntityId = operations.map((o) => ({ ...o, entityId: o.id }))\n if (entityType === 'task' || entityType === 'folder') {\n // patch the overview page\n if (entityType === 'task') {\n patchOverviewTasks(operationsWithEntityId, { state, dispatch }, overviewPatches)\n }\n if (entityType === 'folder') {\n // patch the overview page\n patchOverviewFolders(operationsWithEntityId, { state, dispatch }, overviewPatches)\n console.log('invalidate overview folders')\n // invalidate overview folders query\n dispatch(api.util.invalidateTags([{ type: 'folder', id: 'LIST' }]))\n // invalidate overview tasks with folder as a parent\n dispatch(\n api.util.invalidateTags(\n operationsWithEntityId.map((o) => ({ type: 'overviewTask', id: o.entityId })),\n ),\n )\n }\n }\n\n // check if any of the requests failed and invalidate the tasks cache again to refetch\n const results = await Promise.allSettled(promises)\n\n // did any of the requests fail?\n const someError = results.some((result) => result.value?.error)\n if (someError) {\n dispatch(\n api.util.invalidateTags(operations.map((o) => ({ type: 'kanBanTask', id: o.id }))),\n )\n\n // revert the progress view patches\n progressPatches.forEach((patch) => patch?.undo())\n\n // revert the overview patches\n overviewPatches.forEach((patch) => patch?.undo())\n\n throw 'Failed to update some tasks'\n }\n\n const activityTags = []\n\n if (activityTags.length) {\n dispatch(api.util.invalidateTags(activityTags))\n }\n\n return { data: operations }\n } catch (error) {\n console.error(error)\n return { error }\n }\n },\n invalidatesTags: (result, error, { operations, entityType }) => {\n const tags = operations.map((o) => ({ id: o.id, type: 'review' }))\n\n if (entityType === 'product') {\n tags.push({ type: 'product', id: 'LIST' }, { type: 'version', id: 'LIST' })\n operations.forEach((o) => tags.push({ type: 'product', id: o.id }))\n }\n if (entityType === 'version') {\n tags.push({ type: 'version', id: 'LIST' }, { type: 'product', id: 'LIST' })\n operations.forEach((o) => tags.push({ type: 'version', id: o.id }))\n }\n\n return tags\n },\n }),\n }),\n overrideExisting: true,\n})\n\nexport const { useUpdateEntitiesMutation, useUpdateEntityMutation } = updateEntity\nexport { updateEntity as entitiesQueries }\n"],"names":["patchKanban","assignees","projects","newAssignees","taskId","data","taskData","dispatch","kanbanPatched","dashboardQueries","draft","taskIndex","task","patchData","priority","endDate","assignee","newData","patchProgressView","operations","state","entityType","invalidationTags","o","entries","api","entry","operation","entityId","patch","folderId","folder","newTask","newFolder","t","folderIndex","f","updatedPatch","pathParts","error","updateEntity","build","projectName","result","tags","currentAssignees","queryFulfilled","getState","patchResults","invalidationTagsAfterComplete","dashboardProjects","dashboardUsers","dashboardAssigneesIsMe","cacheUsers","hasSomeAssignees","hasSomeProjects","project","wasPatched","getKanbanTasks","response","currentAssigneesSet","newAssigneesSet","removedAssignees","addedAssignees","assigneesTags","entriesToInvalidate","patchResult","currentKanbanCacheArgs","patchDetailsPanel","toast","promises","id","promise","progressPatches","overviewPatches","operationsWithEntityId","patchOverviewTasks","patchOverviewFolders","activityTags","useUpdateEntitiesMutation","useUpdateEntityMutation"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"updateEntity.es.js","sources":["../../../../../../src/api/queries/entities/updateEntity.ts"],"sourcesContent":["// @ts-nocheck\n\nimport api from './getEntity'\nimport { detailsPanelQueries } from '@shared/api/queries'\nimport { toast } from 'react-toastify'\nimport { dashboardQueries, getKanbanTasks } from '@shared/api/queries/userDashboard'\nimport { patchOverviewFolders, patchOverviewTasks } from '@shared/api/queries/overview'\nimport { patchDetailsPanel } from './patchDetailsPanel'\n\nconst patchKanban = (\n { assignees = [], projects = [] },\n { newAssignees, taskId, data, taskData },\n { dispatch },\n) => {\n let kanbanPatched = false\n const patchResult = dispatch(\n dashboardQueries.util.updateQueryData(\n 'GetKanban',\n { projects: projects, assignees: assignees },\n (draft) => {\n const taskIndex = draft.findIndex((task) => task.id === taskId)\n let patchData = { ...data }\n // if the data include attrib.priority it needs to be transformed to just priority\n // this is because priority is a top level field on kanban query\n if (data?.attrib?.priority) {\n const { priority } = patchData.attrib\n patchData = { ...patchData, priority }\n }\n // if the data include attrib.endDate it needs to be transformed to dueDate\n // this is because dueDate is a top level field on kanban query\n // NOTE TO SELF: Lets try to do these transforms after the cache the future.\n if (data?.attrib?.endDate) {\n const { endDate } = patchData.attrib\n patchData = { ...patchData, dueDate: endDate }\n delete patchData.attrib.endDate\n }\n\n if (taskIndex === -1) {\n // task not found, assignee must have just been added\n if (taskData) {\n // add the task to the cache\n draft.push(taskData)\n } else {\n // we don't have the task data, so we can't add it to the cache\n // we might add it later\n kanbanPatched = false\n }\n } else {\n kanbanPatched = true\n // first check that the task assignees still has a intersection with dashAssignees\n const hasSomeAssignees = newAssignees?.some((assignee) => assignees.includes(assignee))\n\n if (!hasSomeAssignees && newAssignees) {\n // remove from cache\n draft.splice(taskIndex, 1)\n } else {\n // task found: update the task in the cache\n const newData = { ...draft[taskIndex], ...patchData }\n draft[taskIndex] = newData\n }\n }\n },\n ),\n )\n\n return [patchResult, kanbanPatched]\n}\n\n// try to patch the progress view if there are queries that need to be updated\nconst patchProgressView = ({ operations = [], state, dispatch, entityType }) => {\n // create invalidation tags for progress view\n const invalidationTags = operations.map((o) => ({ type: 'progress', id: o.id }))\n // find the entries that need to be updated\n let entries = api.util.selectInvalidatedBy(state, invalidationTags)\n // if there are no entries, return\n if (!entries.length) return []\n\n try {\n // patch each entry with updated task data\n const patches = entries.map((entry) =>\n dispatch(\n api.util.updateQueryData(entry.endpointName, entry.originalArgs, (draft) => {\n for (const operation of operations) {\n const entityId = operation.id\n const patch = operation.data\n\n // patch the updated task data\n if (entityType === 'task') {\n const folderId = operation.meta?.folderId\n const folder = draft.find((folder) => folder.id === folderId)\n if (!folder) throw new Error('Patching progress view: folder not found')\n const task = folder.tasks?.find((task) => task.id === entityId)\n if (!task) throw new Error('Patching progress view: task not found')\n // update task\n const newTask = { ...task, ...patch }\n // update folder\n const newFolder = {\n ...folder,\n tasks: folder.tasks.map((t) => (t.id === entityId ? newTask : t)),\n }\n // update query\n const folderIndex = draft.findIndex((f) => f.id === folderId)\n draft[folderIndex] = newFolder\n } else if (entityType === 'folder') {\n const folder = draft.find((folder) => folder.id === entityId)\n if (!folder) throw new Error('Patching progress view: folder not found')\n\n // If name is being updated, also update the path\n let updatedPatch = { ...patch }\n if (patch.name && folder.path) {\n // Construct new path by replacing the last segment with the new name\n const pathParts = folder.path.split('/')\n pathParts[pathParts.length - 1] = patch.name\n updatedPatch.path = pathParts.join('/')\n }\n\n // update folder\n const newFolder = { ...folder, ...updatedPatch }\n // update query\n const folderIndex = draft.findIndex((f) => f.id === entityId)\n draft[folderIndex] = newFolder\n }\n }\n }),\n ),\n )\n return patches\n } catch (error) {\n console.error(error)\n // invalidate the progress view queries instead\n dispatch(api.util.invalidateTags(invalidationTags))\n return []\n }\n}\n\nconst updateEntity = api.injectEndpoints({\n endpoints: (build) => ({\n updateEntity: build.mutation({\n query: ({ projectName, entityId, data, entityType }) => ({\n url: `/api/projects/${projectName}/${entityType}s/${entityId}`,\n method: 'PATCH',\n body: data,\n }),\n invalidatesTags: (result, error, { entityId, entityType }) => {\n const tags = []\n if (entityType === 'product') {\n tags.push({ type: 'product', id: entityId })\n }\n if (entityType === 'version') {\n tags.push({ type: 'version', id: entityId })\n }\n return tags\n },\n async onQueryStarted(\n { projectName, entityId, data, currentAssignees, entityType },\n { dispatch, queryFulfilled, getState },\n ) {\n const state = getState()\n const patchResults = []\n\n let invalidationTagsAfterComplete = []\n // if task, patch the GetKanban query\n if (entityType === 'task') {\n const dashboardProjects = getState().dashboard?.selectedProjects || []\n const dashboardUsers = getState().dashboard?.tasks.assignees || []\n const dashboardAssigneesIsMe = getState().dashboard?.tasks.assigneesFilter === 'me'\n const newAssignees = data.assignees\n\n const cacheUsers = dashboardAssigneesIsMe ? [getState().user?.name] : dashboardUsers\n\n const entityAssignees = [...new Set([...currentAssignees, ...(newAssignees || [])])]\n const hasSomeAssignees = entityAssignees.some((assignee) => cacheUsers.includes(assignee))\n const hasSomeProjects = dashboardProjects.some((project) => project === projectName)\n const currentDashNeedsUpdating = hasSomeAssignees && hasSomeProjects\n\n if (currentDashNeedsUpdating) {\n const [result, wasPatched] = patchKanban(\n { assignees: cacheUsers, projects: dashboardProjects },\n { newAssignees, taskId: entityId, data },\n { dispatch },\n )\n\n if (wasPatched) patchResults.push(result)\n\n if (!wasPatched) {\n // this means the task is not in the current kanban and it needs to be added\n\n // get the new task data\n getKanbanTasks({ projects: [projectName], taskIds: [entityId] }, dispatch).then(\n // use .then so that the rest of the code can run\n (response) => {\n let newTask = response.find((task) => task.id === entityId)\n if (newTask) {\n // add newAssignees as the actual DB hasn't been updated yet\n newTask = { ...newTask, assignees: newAssignees }\n\n patchKanban(\n { assignees: cacheUsers, projects: dashboardProjects },\n { newAssignees, taskId: entityId, taskData: newTask },\n { dispatch },\n )\n }\n },\n )\n }\n }\n\n // always update the kanban if task id matches\n const tags = [{ type: 'task', id: entityId }]\n\n // are we changing the assignees?\n if (newAssignees?.length) {\n const currentAssigneesSet = new Set(currentAssignees)\n const newAssigneesSet = new Set(newAssignees)\n\n const removedAssignees = [...currentAssigneesSet].filter(\n (assignee) => !newAssigneesSet.has(assignee),\n )\n const addedAssignees = [...newAssigneesSet].filter(\n (assignee) => !currentAssigneesSet.has(assignee),\n )\n\n const changedAssignees = [...new Set([...removedAssignees, ...addedAssignees])]\n\n // any query that has those changed assignees, needs to be updated\n // we are changing the assignees\n const assigneesTags = changedAssignees.map((assignee) => ({\n type: 'kanban',\n id: 'user-' + assignee + '-project-' + projectName,\n }))\n\n tags.push(...assigneesTags)\n\n // invalidate the watchers query\n dispatch(\n dashboardQueries.util.invalidateTags([\n {\n type: 'watchers',\n id: entityId,\n },\n ]),\n )\n }\n\n // invalidate any other caches\n let entries = dashboardQueries.util.selectInvalidatedBy(state, tags)\n let entriesToInvalidate = []\n\n // for each entry try to patch the data into the cache first\n for (const entry of entries) {\n const [patchResult, wasPatched] = patchKanban(\n {\n assignees: entry.originalArgs.assignees,\n projects: entry.originalArgs.projects,\n },\n {\n newAssignees,\n taskId: entityId,\n data,\n },\n { dispatch },\n )\n\n if (wasPatched) {\n patchResults.push(patchResult)\n } else {\n // if we couldn't patch, we need to invalidate the cache\n entriesToInvalidate.push(entry)\n }\n }\n\n // filter out current kanban query if we were able to patch it\n const currentKanbanCacheArgs = { projects: dashboardProjects, assignees: cacheUsers }\n entriesToInvalidate = entriesToInvalidate.filter(\n (entry) =>\n JSON.stringify(entry.originalArgs) !== JSON.stringify(currentKanbanCacheArgs),\n )\n\n // create the invalidation tags from originalArgs\n const invalidationTags = entries.map((entry) => ({\n type: 'kanban',\n id: JSON.stringify(entry.originalArgs),\n }))\n\n // invalidate the tags later, once the query is complete\n invalidationTagsAfterComplete.push(...invalidationTags)\n }\n\n // get all details panel caches that would be affected by this update\n patchDetailsPanel([{ entityId, data, entityType }], { state, dispatch }, patchResults)\n\n try {\n await queryFulfilled\n\n // now invalidate any tags\n if (invalidationTagsAfterComplete.length) {\n dispatch(dashboardQueries.util.invalidateTags(invalidationTagsAfterComplete))\n }\n } catch (error) {\n console.error('error updating ' + entityType, error)\n toast.error(error?.error?.data?.detail || 'Failed to update task')\n patchResults.forEach((result) => result?.undo())\n }\n },\n }),\n updateEntities: build.mutation({\n async queryFn({ operations = [], entityType }, { dispatch, getState }) {\n try {\n const state = getState()\n const promises = []\n for (const { projectName, data, id, currentAssignees = [] } of operations) {\n const promise = dispatch(\n updateEntity.endpoints.updateEntity.initiate({\n projectName: projectName,\n entityId: id,\n data,\n entityType,\n currentAssignees,\n }),\n )\n promises.push(promise)\n }\n\n let progressPatches = []\n if (entityType === 'task' || entityType === 'folder') {\n // patch the progress page\n progressPatches = patchProgressView({ operations, state, dispatch, entityType })\n }\n\n const overviewPatches = []\n // convert id in operations to entityId\n const operationsWithEntityId = operations.map((o) => ({ ...o, entityId: o.id }))\n if (entityType === 'task' || entityType === 'folder') {\n // patch the overview page\n if (entityType === 'task') {\n patchOverviewTasks(operationsWithEntityId, { state, dispatch }, overviewPatches)\n }\n if (entityType === 'folder') {\n // patch the overview page\n patchOverviewFolders(operationsWithEntityId, { state, dispatch }, overviewPatches)\n console.log('invalidate overview folders')\n // invalidate overview folders query\n dispatch(api.util.invalidateTags([{ type: 'folder', id: 'LIST' }]))\n // invalidate overview tasks with folder as a parent\n dispatch(\n api.util.invalidateTags(\n operationsWithEntityId.map((o) => ({ type: 'overviewTask', id: o.entityId })),\n ),\n )\n }\n }\n\n // check if any of the requests failed and invalidate the tasks cache again to refetch\n const results = await Promise.allSettled(promises)\n\n // did any of the requests fail?\n const someError = results.some((result) => result.value?.error)\n if (someError) {\n dispatch(\n api.util.invalidateTags(operations.map((o) => ({ type: 'kanBanTask', id: o.id }))),\n )\n\n // revert the progress view patches\n progressPatches.forEach((patch) => patch?.undo())\n\n // revert the overview patches\n overviewPatches.forEach((patch) => patch?.undo())\n\n throw 'Failed to update some tasks'\n }\n\n const activityTags = []\n\n if (activityTags.length) {\n dispatch(api.util.invalidateTags(activityTags))\n }\n\n return { data: operations }\n } catch (error) {\n console.error(error)\n return { error }\n }\n },\n invalidatesTags: (result, error, { operations, entityType }) => {\n const tags = operations.map((o) => ({ id: o.id, type: 'review' }))\n\n if (entityType === 'product') {\n tags.push({ type: 'product', id: 'LIST' }, { type: 'version', id: 'LIST' })\n operations.forEach((o) => tags.push({ type: 'product', id: o.id }))\n }\n if (entityType === 'version') {\n tags.push({ type: 'version', id: 'LIST' }, { type: 'product', id: 'LIST' })\n operations.forEach((o) => tags.push({ type: 'version', id: o.id }))\n }\n\n return tags\n },\n }),\n }),\n overrideExisting: true,\n})\n\nexport const { useUpdateEntitiesMutation, useUpdateEntityMutation } = updateEntity\nexport { updateEntity as entitiesQueries }\n"],"names":["patchKanban","assignees","projects","newAssignees","taskId","data","taskData","dispatch","kanbanPatched","dashboardQueries","draft","taskIndex","task","patchData","priority","endDate","assignee","newData","patchProgressView","operations","state","entityType","invalidationTags","o","entries","api","entry","operation","entityId","patch","folderId","folder","newTask","newFolder","t","folderIndex","f","updatedPatch","pathParts","error","updateEntity","build","projectName","result","tags","currentAssignees","queryFulfilled","getState","patchResults","invalidationTagsAfterComplete","dashboardProjects","dashboardUsers","dashboardAssigneesIsMe","cacheUsers","hasSomeAssignees","hasSomeProjects","project","wasPatched","getKanbanTasks","response","currentAssigneesSet","newAssigneesSet","removedAssignees","addedAssignees","assigneesTags","entriesToInvalidate","patchResult","currentKanbanCacheArgs","patchDetailsPanel","toast","promises","id","promise","progressPatches","overviewPatches","operationsWithEntityId","patchOverviewTasks","patchOverviewFolders","activityTags","useUpdateEntitiesMutation","useUpdateEntityMutation"],"mappings":"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"}
1
+ {"version":3,"file":"updateEntity.es.js","sources":["../../../../../../src/api/queries/entities/updateEntity.ts"],"sourcesContent":["// @ts-nocheck\n\nimport api from './getEntity'\nimport { toast } from 'react-toastify'\nimport { detailsPanelQueries } from './getEntityPanel'\nimport { dashboardQueries, getKanbanTasks } from '../userDashboard'\nimport { patchOverviewFolders, patchOverviewTasks } from '../overview'\nimport { patchDetailsPanel } from './patchDetailsPanel'\n\nconst patchKanban = (\n { assignees = [], projects = [] },\n { newAssignees, taskId, data, taskData },\n { dispatch },\n) => {\n let kanbanPatched = false\n const patchResult = dispatch(\n dashboardQueries.util.updateQueryData(\n 'GetKanban',\n { projects: projects, assignees: assignees },\n (draft) => {\n const taskIndex = draft.findIndex((task) => task.id === taskId)\n let patchData = { ...data }\n // if the data include attrib.priority it needs to be transformed to just priority\n // this is because priority is a top level field on kanban query\n if (data?.attrib?.priority) {\n const { priority } = patchData.attrib\n patchData = { ...patchData, priority }\n }\n // if the data include attrib.endDate it needs to be transformed to dueDate\n // this is because dueDate is a top level field on kanban query\n // NOTE TO SELF: Lets try to do these transforms after the cache the future.\n if (data?.attrib?.endDate) {\n const { endDate } = patchData.attrib\n patchData = { ...patchData, dueDate: endDate }\n delete patchData.attrib.endDate\n }\n\n if (taskIndex === -1) {\n // task not found, assignee must have just been added\n if (taskData) {\n // add the task to the cache\n draft.push(taskData)\n } else {\n // we don't have the task data, so we can't add it to the cache\n // we might add it later\n kanbanPatched = false\n }\n } else {\n kanbanPatched = true\n // first check that the task assignees still has a intersection with dashAssignees\n const hasSomeAssignees = newAssignees?.some((assignee) => assignees.includes(assignee))\n\n if (!hasSomeAssignees && newAssignees) {\n // remove from cache\n draft.splice(taskIndex, 1)\n } else {\n // task found: update the task in the cache\n const newData = { ...draft[taskIndex], ...patchData }\n draft[taskIndex] = newData\n }\n }\n },\n ),\n )\n\n return [patchResult, kanbanPatched]\n}\n\n// try to patch the progress view if there are queries that need to be updated\nconst patchProgressView = ({ operations = [], state, dispatch, entityType }) => {\n // create invalidation tags for progress view\n const invalidationTags = operations.map((o) => ({ type: 'progress', id: o.id }))\n // find the entries that need to be updated\n let entries = api.util.selectInvalidatedBy(state, invalidationTags)\n // if there are no entries, return\n if (!entries.length) return []\n\n try {\n // patch each entry with updated task data\n const patches = entries.map((entry) =>\n dispatch(\n api.util.updateQueryData(entry.endpointName, entry.originalArgs, (draft) => {\n for (const operation of operations) {\n const entityId = operation.id\n const patch = operation.data\n\n // patch the updated task data\n if (entityType === 'task') {\n const folderId = operation.meta?.folderId\n const folder = draft.find((folder) => folder.id === folderId)\n if (!folder) throw new Error('Patching progress view: folder not found')\n const task = folder.tasks?.find((task) => task.id === entityId)\n if (!task) throw new Error('Patching progress view: task not found')\n // update task\n const newTask = { ...task, ...patch }\n // update folder\n const newFolder = {\n ...folder,\n tasks: folder.tasks.map((t) => (t.id === entityId ? newTask : t)),\n }\n // update query\n const folderIndex = draft.findIndex((f) => f.id === folderId)\n draft[folderIndex] = newFolder\n } else if (entityType === 'folder') {\n const folder = draft.find((folder) => folder.id === entityId)\n if (!folder) throw new Error('Patching progress view: folder not found')\n\n // If name is being updated, also update the path\n let updatedPatch = { ...patch }\n if (patch.name && folder.path) {\n // Construct new path by replacing the last segment with the new name\n const pathParts = folder.path.split('/')\n pathParts[pathParts.length - 1] = patch.name\n updatedPatch.path = pathParts.join('/')\n }\n\n // update folder\n const newFolder = { ...folder, ...updatedPatch }\n // update query\n const folderIndex = draft.findIndex((f) => f.id === entityId)\n draft[folderIndex] = newFolder\n }\n }\n }),\n ),\n )\n return patches\n } catch (error) {\n console.error(error)\n // invalidate the progress view queries instead\n dispatch(api.util.invalidateTags(invalidationTags))\n return []\n }\n}\n\nconst updateEntity = api.injectEndpoints({\n endpoints: (build) => ({\n updateEntity: build.mutation({\n query: ({ projectName, entityId, data, entityType }) => ({\n url: `/api/projects/${projectName}/${entityType}s/${entityId}`,\n method: 'PATCH',\n body: data,\n }),\n invalidatesTags: (result, error, { entityId, entityType }) => {\n const tags = []\n if (entityType === 'product') {\n tags.push({ type: 'product', id: entityId })\n }\n if (entityType === 'version') {\n tags.push({ type: 'version', id: entityId })\n }\n return tags\n },\n async onQueryStarted(\n { projectName, entityId, data, currentAssignees, entityType },\n { dispatch, queryFulfilled, getState },\n ) {\n const state = getState()\n const patchResults = []\n\n let invalidationTagsAfterComplete = []\n // if task, patch the GetKanban query\n if (entityType === 'task') {\n const dashboardProjects = getState().dashboard?.selectedProjects || []\n const dashboardUsers = getState().dashboard?.tasks.assignees || []\n const dashboardAssigneesIsMe = getState().dashboard?.tasks.assigneesFilter === 'me'\n const newAssignees = data.assignees\n\n const cacheUsers = dashboardAssigneesIsMe ? [getState().user?.name] : dashboardUsers\n\n const entityAssignees = [...new Set([...currentAssignees, ...(newAssignees || [])])]\n const hasSomeAssignees = entityAssignees.some((assignee) => cacheUsers.includes(assignee))\n const hasSomeProjects = dashboardProjects.some((project) => project === projectName)\n const currentDashNeedsUpdating = hasSomeAssignees && hasSomeProjects\n\n if (currentDashNeedsUpdating) {\n const [result, wasPatched] = patchKanban(\n { assignees: cacheUsers, projects: dashboardProjects },\n { newAssignees, taskId: entityId, data },\n { dispatch },\n )\n\n if (wasPatched) patchResults.push(result)\n\n if (!wasPatched) {\n // this means the task is not in the current kanban and it needs to be added\n\n // get the new task data\n getKanbanTasks({ projects: [projectName], taskIds: [entityId] }, dispatch).then(\n // use .then so that the rest of the code can run\n (response) => {\n let newTask = response.find((task) => task.id === entityId)\n if (newTask) {\n // add newAssignees as the actual DB hasn't been updated yet\n newTask = { ...newTask, assignees: newAssignees }\n\n patchKanban(\n { assignees: cacheUsers, projects: dashboardProjects },\n { newAssignees, taskId: entityId, taskData: newTask },\n { dispatch },\n )\n }\n },\n )\n }\n }\n\n // always update the kanban if task id matches\n const tags = [{ type: 'task', id: entityId }]\n\n // are we changing the assignees?\n if (newAssignees?.length) {\n const currentAssigneesSet = new Set(currentAssignees)\n const newAssigneesSet = new Set(newAssignees)\n\n const removedAssignees = [...currentAssigneesSet].filter(\n (assignee) => !newAssigneesSet.has(assignee),\n )\n const addedAssignees = [...newAssigneesSet].filter(\n (assignee) => !currentAssigneesSet.has(assignee),\n )\n\n const changedAssignees = [...new Set([...removedAssignees, ...addedAssignees])]\n\n // any query that has those changed assignees, needs to be updated\n // we are changing the assignees\n const assigneesTags = changedAssignees.map((assignee) => ({\n type: 'kanban',\n id: 'user-' + assignee + '-project-' + projectName,\n }))\n\n tags.push(...assigneesTags)\n\n // invalidate the watchers query\n dispatch(\n dashboardQueries.util.invalidateTags([\n {\n type: 'watchers',\n id: entityId,\n },\n ]),\n )\n }\n\n // invalidate any other caches\n let entries = dashboardQueries.util.selectInvalidatedBy(state, tags)\n let entriesToInvalidate = []\n\n // for each entry try to patch the data into the cache first\n for (const entry of entries) {\n const [patchResult, wasPatched] = patchKanban(\n {\n assignees: entry.originalArgs.assignees,\n projects: entry.originalArgs.projects,\n },\n {\n newAssignees,\n taskId: entityId,\n data,\n },\n { dispatch },\n )\n\n if (wasPatched) {\n patchResults.push(patchResult)\n } else {\n // if we couldn't patch, we need to invalidate the cache\n entriesToInvalidate.push(entry)\n }\n }\n\n // filter out current kanban query if we were able to patch it\n const currentKanbanCacheArgs = { projects: dashboardProjects, assignees: cacheUsers }\n entriesToInvalidate = entriesToInvalidate.filter(\n (entry) =>\n JSON.stringify(entry.originalArgs) !== JSON.stringify(currentKanbanCacheArgs),\n )\n\n // create the invalidation tags from originalArgs\n const invalidationTags = entries.map((entry) => ({\n type: 'kanban',\n id: JSON.stringify(entry.originalArgs),\n }))\n\n // invalidate the tags later, once the query is complete\n invalidationTagsAfterComplete.push(...invalidationTags)\n }\n\n // get all details panel caches that would be affected by this update\n patchDetailsPanel([{ entityId, data, entityType }], { state, dispatch }, patchResults)\n\n try {\n await queryFulfilled\n\n // now invalidate any tags\n if (invalidationTagsAfterComplete.length) {\n dispatch(dashboardQueries.util.invalidateTags(invalidationTagsAfterComplete))\n }\n } catch (error) {\n console.error('error updating ' + entityType, error)\n toast.error(error?.error?.data?.detail || 'Failed to update task')\n patchResults.forEach((result) => result?.undo())\n }\n },\n }),\n updateEntities: build.mutation({\n async queryFn({ operations = [], entityType }, { dispatch, getState }) {\n try {\n const state = getState()\n const promises = []\n for (const { projectName, data, id, currentAssignees = [] } of operations) {\n const promise = dispatch(\n updateEntity.endpoints.updateEntity.initiate({\n projectName: projectName,\n entityId: id,\n data,\n entityType,\n currentAssignees,\n }),\n )\n promises.push(promise)\n }\n\n let progressPatches = []\n if (entityType === 'task' || entityType === 'folder') {\n // patch the progress page\n progressPatches = patchProgressView({ operations, state, dispatch, entityType })\n }\n\n const overviewPatches = []\n // convert id in operations to entityId\n const operationsWithEntityId = operations.map((o) => ({ ...o, entityId: o.id }))\n if (entityType === 'task' || entityType === 'folder') {\n // patch the overview page\n if (entityType === 'task') {\n patchOverviewTasks(operationsWithEntityId, { state, dispatch }, overviewPatches)\n }\n if (entityType === 'folder') {\n // patch the overview page\n patchOverviewFolders(operationsWithEntityId, { state, dispatch }, overviewPatches)\n console.log('invalidate overview folders')\n // invalidate overview folders query\n dispatch(api.util.invalidateTags([{ type: 'folder', id: 'LIST' }]))\n // invalidate overview tasks with folder as a parent\n dispatch(\n api.util.invalidateTags(\n operationsWithEntityId.map((o) => ({ type: 'overviewTask', id: o.entityId })),\n ),\n )\n }\n }\n\n // check if any of the requests failed and invalidate the tasks cache again to refetch\n const results = await Promise.allSettled(promises)\n\n // did any of the requests fail?\n const someError = results.some((result) => result.value?.error)\n if (someError) {\n dispatch(\n api.util.invalidateTags(operations.map((o) => ({ type: 'kanBanTask', id: o.id }))),\n )\n\n // revert the progress view patches\n progressPatches.forEach((patch) => patch?.undo())\n\n // revert the overview patches\n overviewPatches.forEach((patch) => patch?.undo())\n\n throw 'Failed to update some tasks'\n }\n\n const activityTags = []\n\n if (activityTags.length) {\n dispatch(api.util.invalidateTags(activityTags))\n }\n\n return { data: operations }\n } catch (error) {\n console.error(error)\n return { error }\n }\n },\n invalidatesTags: (result, error, { operations, entityType }) => {\n const tags = operations.map((o) => ({ id: o.id, type: 'review' }))\n\n if (entityType === 'product') {\n tags.push({ type: 'product', id: 'LIST' }, { type: 'version', id: 'LIST' })\n operations.forEach((o) => tags.push({ type: 'product', id: o.id }))\n }\n if (entityType === 'version') {\n tags.push({ type: 'version', id: 'LIST' }, { type: 'product', id: 'LIST' })\n operations.forEach((o) => tags.push({ type: 'version', id: o.id }))\n }\n\n return tags\n },\n }),\n }),\n overrideExisting: true,\n})\n\nexport const { useUpdateEntitiesMutation, useUpdateEntityMutation } = updateEntity\nexport { updateEntity as entitiesQueries }\n"],"names":["patchKanban","assignees","projects","newAssignees","taskId","data","taskData","dispatch","kanbanPatched","dashboardQueries","draft","taskIndex","task","patchData","priority","endDate","assignee","newData","patchProgressView","operations","state","entityType","invalidationTags","o","entries","api","entry","operation","entityId","patch","folderId","folder","newTask","newFolder","t","folderIndex","f","updatedPatch","pathParts","error","updateEntity","build","projectName","result","tags","currentAssignees","queryFulfilled","getState","patchResults","invalidationTagsAfterComplete","dashboardProjects","dashboardUsers","dashboardAssigneesIsMe","cacheUsers","hasSomeAssignees","hasSomeProjects","project","wasPatched","getKanbanTasks","response","currentAssigneesSet","newAssigneesSet","removedAssignees","addedAssignees","assigneesTags","entriesToInvalidate","patchResult","currentKanbanCacheArgs","patchDetailsPanel","toast","promises","id","promise","progressPatches","overviewPatches","operationsWithEntityId","patchOverviewTasks","patchOverviewFolders","activityTags","useUpdateEntitiesMutation","useUpdateEntityMutation"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("../../base/client.cjs.js");const R=require("../../generated/graphql.cjs.js");require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/dataImport.cjs.js");require("../../generated/desktop.cjs.js");const C=require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/projectFolders.cjs.js");require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");const Q=require("../overview/getOverview.cjs.js");require("../overview/updateOverview.cjs.js");require("../versions/getVersionsProducts.cjs.js");require("../links/getEntityLinks.cjs.js");require("lodash");require("react-toastify");require("uuid");const A=require("../../../util/thumbnailWebsocket.cjs.js");require("../actions/getActions.cjs.js");require("../activities/getActivities.cjs.js");require("../activities/updateActivities.cjs.js");require("../activities/updateReaction.cjs.js");require("../activities/getMentions.cjs.js");require("../activities/getCategories.cjs.js");require("../addons/getAddons.cjs.js");require("../addons/updateAddons.cjs.js");require("../attributes/getAttributes.cjs.js");require("../attributes/updateAttributes.cjs.js");require("../authentication/getAuthentication.cjs.js");require("../cloud/cloud.cjs.js");require("../columnStats/metricTargets.cjs.js");require("../config/getConfig.cjs.js");require("../config/updateConfig.cjs.js");require("../entities/getEntity.cjs.js");require("../entities/getEntityPanel.cjs.js");require("../entities/updateEntity.cjs.js");require("./updateLists.cjs.js");require("./getListsAttributes.cjs.js");require("./listItemsColumnStats.cjs.js");require("./updateListsAttributes.cjs.js");require("./listFolders.cjs.js");require("../folders/getFolders.cjs.js");require("../folders/getFolderDeleteInfo.cjs.js");require("../grouping/getGrouping.cjs.js");require("../links/updateLinks.cjs.js");require("../links/getLinks.cjs.js");require("../permissions/getPermissions.cjs.js");require("../products/createProduct.cjs.js");require("../products/getFolderProducts.cjs.js");require("../project/getProject.cjs.js");require("../project/updateProject.cjs.js");require("../projectFolders/projectFolders.cjs.js");require("../review/getReview.cjs.js");require("../review/updateReview.cjs.js");require("../share/share.cjs.js");require("../system/getSystem.cjs.js");require("../tasks/getTasks.cjs.js");require("../tasks/updateTasks.cjs.js");require("../teams/getTeams.cjs.js");require("../userDashboard/getUserDashboard.cjs.js");require("../users/getUsers.cjs.js");require("../users/updateUsers.cjs.js");require("../users/guests.cjs.js");require("../versions/updateVersions.cjs.js");require("../views/getViews.cjs.js");require("../views/updateViews.cjs.js");require("../watchers/getWatchers.cjs.js");require("../uris/getUris.cjs.js");const L=require("../../../util/pubsub.cjs.js");function S(s,t,e=5e3){let i=[],r=null;const n=(u,a)=>{i.push({topic:u,message:a}),r||(r=setTimeout(()=>{const o=[...i];i=[],r=null,o.length>0&&s(y=>t(y,o))},e))};return n.clear=()=>{r&&(clearTimeout(r),r=null),i=[]},n}const _=s=>{if(!s)return{};try{return typeof s!="string"?s??{}:JSON.parse(s)}catch(t){return console.warn("Failed to parse entity list data field:",t,s),{}}},T=1e4,b=100,E=R.api.enhanceEndpoints({endpoints:{GetLists:{transformResponse:s=>({lists:s.project.entityLists.edges.map(t=>({...t.node,data:_(t.node.data),attrib:_(t.node.allAttrib)})),pageInfo:s.project.entityLists.pageInfo})},GetListItems:{transformResponse:s=>{const t=s.project.entityLists.edges[0];if(!t)throw new Error("List does not exist, was it deleted?");return{items:s.project.entityLists.edges.flatMap(e=>e.node.items.edges.map(({node:i,...r})=>({...i,...r,attrib:Q.parseAllAttribs(r.allAttrib)}))),pageInfo:t.node.items.pageInfo}}},GetListsItemsForReviewSession:{transformResponse:s=>({lists:s.project.entityLists.edges.map(t=>t.node),pageInfo:s.project.entityLists.pageInfo})}}}),G=E.injectEndpoints({endpoints:s=>({getListsInfinite:s.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:""},getNextPageParam:t=>{const{pageInfo:e}=t;if(!(!e.hasNextPage||!e.endCursor))return{cursor:e.endCursor}}},queryFn:async({queryArg:t,pageParam:e},i)=>{try{const{cursor:r}=e,n={...t,first:T,after:r||void 0},u=await i.dispatch(E.endpoints.GetLists.initiate(n,{forceRefetch:!0}));return u.error?{error:u.error}:{data:u.data||{lists:[],pageInfo:{hasNextPage:!1,endCursor:null,startCursor:null,hasPreviousPage:!1}}}}catch(r){return console.error("Error in getListsInfinite queryFn:",r),{error:{status:"FETCH_ERROR",error:r.message}}}},providesTags:t=>{const e=t?.pages.flatMap(i=>i.lists)||[];return[{type:"entityList",id:"LIST"},...e.flatMap(i=>[{type:"entityList",id:i.id},{type:"entityList",id:i.entityListType},{type:"entityList",id:i.entityListFolderId||"NO_FOLDER"}])]},async onCacheEntryAdded({projectName:t},{cacheDataLoaded:e,cacheEntryRemoved:i,updateCachedData:r}){const n=["entity_list.changed","entity_list.created","entity_list.deleted"];let u=null;try{await e,u=S(r,(a,o)=>{o.forEach(({topic:y,message:v})=>{const l=v.summary,f=l.id;if(!f)return;const h=c=>({projectName:t,tags:[],data:{},allAttrib:"",attrib:{},createdAt:new Date().toISOString(),updatedAt:"",active:!0,access:"",accessLevel:30,...c||{},id:l.id,label:l.label,entityType:l.entity_type,entityListType:l.entity_list_type,count:l.count});if(y==="entity_list.changed"){const c=a.pages.flatMap(I=>I.lists).find(I=>I.id===f);if(!c)return;const p=h(c);Object.assign(c,p)}else if(y==="entity_list.created"){const c=h();a.pages.length!==0&&a.pages[0].lists.unshift(c)}else y==="entity_list.deleted"&&a.pages.forEach(c=>{c.lists=c.lists.filter(p=>p.id!==f)})})},1e4),n.forEach(a=>L.subscribe(a,u))}catch{}await i,n.forEach(a=>L.unsubscribe(a)),u&&typeof u.clear=="function"&&u.clear()}}),getListItemsInfinite:s.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:""},getNextPageParam:t=>{const{pageInfo:e}=t;if(!(!(e.hasNextPage||e.hasPreviousPage)||!e.endCursor))return{cursor:e.endCursor}}},queryFn:async({queryArg:t,pageParam:e},i)=>{try{const{sortBy:r,desc:n,...u}=t,{cursor:a}=e,o={...u,first:b,after:a||void 0};o.after=a||void 0,o.first=b,r&&(o.sortBy=r,n&&(o.before=a||void 0,o.after=void 0,o.last=b,o.first=void 0));const y=await i.dispatch(E.endpoints.GetListItems.initiate(o,{forceRefetch:!0}));return y.error?{error:y.error}:{data:y.data||{items:[],pageInfo:{hasNextPage:!1,endCursor:null,startCursor:null,hasPreviousPage:!1}}}}catch(r){return console.error("Error in getListsInfinite queryFn:",r),{error:{status:"FETCH_ERROR",error:r.message}}}},providesTags:(t,e,{listId:i,projectName:r})=>[{type:"entityListItem",id:"LIST"},{type:"entityListItem",id:i},{type:"entityListItem",id:r},...(t?.pages.flatMap(n=>n.items)||[]).filter(n=>!!n).flatMap(n=>[{type:"entityListItem",id:n.id},{type:"entityListItem",id:n.entityId}])],async onCacheEntryAdded(t,{cacheDataLoaded:e,cacheEntryRemoved:i,dispatch:r,updateCachedData:n}){let u,a,o;try{const f=(await e).data.pages.flatMap(d=>d.items)[0]?.entityType;o=A.subscribeToThumbnailUpdates(d=>{n(m=>{m?.pages&&d.forEach(g=>{m.pages.forEach(q=>{(q.items||[]).forEach(P=>{P.entityId===g.summary.entityId&&P.entityType===g.summary.entityType&&g.summary.thumbnailHash&&(P.thumbnailHash=g.summary.thumbnailHash)})})})})});const h="entity_list.changed",c=`entity.${f}`,p=d=>{r(R.api.util.invalidateTags([{type:"entityListItem",id:d}]))},I=(d,m)=>{if(d!==h)return;const q=m.summary.id;q&&p(q)},F=(d,m)=>{if(!d.startsWith(c))return;const q=m.summary.entityId;q&&p(q)};u=L.subscribe(h,I),f&&(a=L.subscribe(c,F))}catch{}await i,L.unsubscribe(u),L.unsubscribe(a),o&&o()}}),getListsItemsForReviewSession:s.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:""},getNextPageParam:t=>{const{pageInfo:e}=t;if(!(!e.hasNextPage||!e.endCursor))return{cursor:e.endCursor}}},queryFn:async({queryArg:t,pageParam:e},i)=>{try{const{cursor:r}=e,n={...t,first:T,after:r||void 0},u=await i.dispatch(E.endpoints.GetListsItemsForReviewSession.initiate(n,{forceRefetch:!0}));return u.error?{error:u.error}:{data:u.data||{lists:[],pageInfo:{hasNextPage:!1,endCursor:null,startCursor:null,hasPreviousPage:!1}}}}catch(r){return console.error("Error in getListsInfinite queryFn:",r),{error:{status:"FETCH_ERROR",error:r.message}}}},providesTags:t=>[{type:"entityList",id:"LIST"},...(t?.pages.flatMap(e=>e.lists)||[]).map(e=>({type:"entityList",id:e.id}))]})})}),w=C.api.enhanceEndpoints({endpoints:{getEntityList:{providesTags:(s,t,{listId:e,projectName:i})=>[{type:"entityList",id:e},{type:"entityList",id:i},...s?[{type:"entityList",id:s.entityListType},{type:"entityList",id:s.entityListFolderId||"NO_FOLDER"}]:[]]}}}),{useGetListsInfiniteInfiniteQuery:M,useGetListItemsInfiniteInfiniteQuery:O,useGetListsItemsForReviewSessionInfiniteQuery:N,useLazyGetListsItemsForReviewSessionQuery:j,useLazyGetListItemsQuery:x}=G,{useGetEntityListQuery:H}=w;exports.LISTS_PER_PAGE=T;exports.LIST_ITEMS_PER_PAGE=b;exports.createBatchedCacheUpdater=S;exports.default=G;exports.getListsApiEnhanced=w;exports.useGetEntityListQuery=H;exports.useGetListItemsInfiniteInfiniteQuery=O;exports.useGetListsInfiniteInfiniteQuery=M;exports.useGetListsItemsForReviewSessionInfiniteQuery=N;exports.useLazyGetListItemsQuery=x;exports.useLazyGetListsItemsForReviewSessionQuery=j;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("../../base/client.cjs.js");const R=require("../../generated/graphql.cjs.js");require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/dataImport.cjs.js");require("../../generated/desktop.cjs.js");const C=require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/projectFolders.cjs.js");require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");const Q=require("../overview/getOverview.cjs.js");require("../overview/updateOverview.cjs.js");require("../versions/getVersionsProducts.cjs.js");require("../links/getEntityLinks.cjs.js");require("lodash");require("react-toastify");require("uuid");const A=require("../../../util/thumbnailWebsocket.cjs.js");require("../actions/getActions.cjs.js");require("../activities/getActivities.cjs.js");require("../activities/updateReaction.cjs.js");require("../activities/getMentions.cjs.js");require("../activities/getCategories.cjs.js");require("../addons/getAddons.cjs.js");require("../addons/updateAddons.cjs.js");require("../attributes/getAttributes.cjs.js");require("../attributes/updateAttributes.cjs.js");require("../authentication/getAuthentication.cjs.js");require("../bundles/getBundles.cjs.js");require("../bundles/updateBundles.cjs.js");require("../cloud/cloud.cjs.js");require("../columnStats/metricTargets.cjs.js");require("../columnStats/groupCounts.cjs.js");require("../config/getConfig.cjs.js");require("../config/updateConfig.cjs.js");require("../entities/getEntity.cjs.js");require("../entities/getEntityPanel.cjs.js");require("../entities/updateEntity.cjs.js");require("./updateLists.cjs.js");require("./getListsAttributes.cjs.js");require("./listItemsColumnStats.cjs.js");require("./updateListsAttributes.cjs.js");require("./listFolders.cjs.js");require("../folders/getFolders.cjs.js");require("../folders/getFolderDeleteInfo.cjs.js");require("../grouping/getGrouping.cjs.js");require("../links/updateLinks.cjs.js");require("../links/getLinks.cjs.js");require("../permissions/getPermissions.cjs.js");require("../products/createProduct.cjs.js");require("../products/getFolderProducts.cjs.js");require("../project/getProject.cjs.js");require("../project/updateProject.cjs.js");require("../projectFolders/projectFolders.cjs.js");require("../review/getReview.cjs.js");require("../review/updateReview.cjs.js");require("../share/share.cjs.js");require("../system/getSystem.cjs.js");require("../tasks/getTasks.cjs.js");require("../tasks/updateTasks.cjs.js");require("../teams/getTeams.cjs.js");require("../userDashboard/getUserDashboard.cjs.js");require("../users/getUsers.cjs.js");require("../users/updateUsers.cjs.js");require("../users/guests.cjs.js");require("../versions/updateVersions.cjs.js");require("../views/getViews.cjs.js");require("../views/updateViews.cjs.js");require("../watchers/getWatchers.cjs.js");require("../uris/getUris.cjs.js");const L=require("../../../util/pubsub.cjs.js");function S(s,t,e=5e3){let i=[],r=null;const n=(u,a)=>{i.push({topic:u,message:a}),r||(r=setTimeout(()=>{const o=[...i];i=[],r=null,o.length>0&&s(y=>t(y,o))},e))};return n.clear=()=>{r&&(clearTimeout(r),r=null),i=[]},n}const _=s=>{if(!s)return{};try{return typeof s!="string"?s??{}:JSON.parse(s)}catch(t){return console.warn("Failed to parse entity list data field:",t,s),{}}},T=1e4,b=100,E=R.api.enhanceEndpoints({endpoints:{GetLists:{transformResponse:s=>({lists:s.project.entityLists.edges.map(t=>({...t.node,data:_(t.node.data),attrib:_(t.node.allAttrib)})),pageInfo:s.project.entityLists.pageInfo})},GetListItems:{transformResponse:s=>{const t=s.project.entityLists.edges[0];if(!t)throw new Error("List does not exist, was it deleted?");return{items:s.project.entityLists.edges.flatMap(e=>e.node.items.edges.map(({node:i,...r})=>({...i,...r,attrib:Q.parseAllAttribs(r.allAttrib)}))),pageInfo:t.node.items.pageInfo}}},GetListsItemsForReviewSession:{transformResponse:s=>({lists:s.project.entityLists.edges.map(t=>t.node),pageInfo:s.project.entityLists.pageInfo})}}}),G=E.injectEndpoints({endpoints:s=>({getListsInfinite:s.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:""},getNextPageParam:t=>{const{pageInfo:e}=t;if(!(!e.hasNextPage||!e.endCursor))return{cursor:e.endCursor}}},queryFn:async({queryArg:t,pageParam:e},i)=>{try{const{cursor:r}=e,n={...t,first:T,after:r||void 0},u=await i.dispatch(E.endpoints.GetLists.initiate(n,{forceRefetch:!0}));return u.error?{error:u.error}:{data:u.data||{lists:[],pageInfo:{hasNextPage:!1,endCursor:null,startCursor:null,hasPreviousPage:!1}}}}catch(r){return console.error("Error in getListsInfinite queryFn:",r),{error:{status:"FETCH_ERROR",error:r.message}}}},providesTags:t=>{const e=t?.pages.flatMap(i=>i.lists)||[];return[{type:"entityList",id:"LIST"},...e.flatMap(i=>[{type:"entityList",id:i.id},{type:"entityList",id:i.entityListType},{type:"entityList",id:i.entityListFolderId||"NO_FOLDER"}])]},async onCacheEntryAdded({projectName:t},{cacheDataLoaded:e,cacheEntryRemoved:i,updateCachedData:r}){const n=["entity_list.changed","entity_list.created","entity_list.deleted"];let u=null;try{await e,u=S(r,(a,o)=>{o.forEach(({topic:y,message:v})=>{const l=v.summary,f=l.id;if(!f)return;const h=c=>({projectName:t,tags:[],data:{},allAttrib:"",attrib:{},createdAt:new Date().toISOString(),updatedAt:"",active:!0,access:"",accessLevel:30,...c||{},id:l.id,label:l.label,entityType:l.entity_type,entityListType:l.entity_list_type,count:l.count});if(y==="entity_list.changed"){const c=a.pages.flatMap(I=>I.lists).find(I=>I.id===f);if(!c)return;const p=h(c);Object.assign(c,p)}else if(y==="entity_list.created"){const c=h();a.pages.length!==0&&a.pages[0].lists.unshift(c)}else y==="entity_list.deleted"&&a.pages.forEach(c=>{c.lists=c.lists.filter(p=>p.id!==f)})})},1e4),n.forEach(a=>L.subscribe(a,u))}catch{}await i,n.forEach(a=>L.unsubscribe(a)),u&&typeof u.clear=="function"&&u.clear()}}),getListItemsInfinite:s.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:""},getNextPageParam:t=>{const{pageInfo:e}=t;if(!(!(e.hasNextPage||e.hasPreviousPage)||!e.endCursor))return{cursor:e.endCursor}}},queryFn:async({queryArg:t,pageParam:e},i)=>{try{const{sortBy:r,desc:n,...u}=t,{cursor:a}=e,o={...u,first:b,after:a||void 0};o.after=a||void 0,o.first=b,r&&(o.sortBy=r,n&&(o.before=a||void 0,o.after=void 0,o.last=b,o.first=void 0));const y=await i.dispatch(E.endpoints.GetListItems.initiate(o,{forceRefetch:!0}));return y.error?{error:y.error}:{data:y.data||{items:[],pageInfo:{hasNextPage:!1,endCursor:null,startCursor:null,hasPreviousPage:!1}}}}catch(r){return console.error("Error in getListsInfinite queryFn:",r),{error:{status:"FETCH_ERROR",error:r.message}}}},providesTags:(t,e,{listId:i,projectName:r})=>[{type:"entityListItem",id:"LIST"},{type:"entityListItem",id:i},{type:"entityListItem",id:r},...(t?.pages.flatMap(n=>n.items)||[]).filter(n=>!!n).flatMap(n=>[{type:"entityListItem",id:n.id},{type:"entityListItem",id:n.entityId}])],async onCacheEntryAdded(t,{cacheDataLoaded:e,cacheEntryRemoved:i,dispatch:r,updateCachedData:n}){let u,a,o;try{const f=(await e).data.pages.flatMap(d=>d.items)[0]?.entityType;o=A.subscribeToThumbnailUpdates(d=>{n(m=>{m?.pages&&d.forEach(g=>{m.pages.forEach(q=>{(q.items||[]).forEach(P=>{P.entityId===g.summary.entityId&&P.entityType===g.summary.entityType&&g.summary.thumbnailHash&&(P.thumbnailHash=g.summary.thumbnailHash)})})})})});const h="entity_list.changed",c=`entity.${f}`,p=d=>{r(R.api.util.invalidateTags([{type:"entityListItem",id:d}]))},I=(d,m)=>{if(d!==h)return;const q=m.summary.id;q&&p(q)},F=(d,m)=>{if(!d.startsWith(c))return;const q=m.summary.entityId;q&&p(q)};u=L.subscribe(h,I),f&&(a=L.subscribe(c,F))}catch{}await i,L.unsubscribe(u),L.unsubscribe(a),o&&o()}}),getListsItemsForReviewSession:s.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:""},getNextPageParam:t=>{const{pageInfo:e}=t;if(!(!e.hasNextPage||!e.endCursor))return{cursor:e.endCursor}}},queryFn:async({queryArg:t,pageParam:e},i)=>{try{const{cursor:r}=e,n={...t,first:T,after:r||void 0},u=await i.dispatch(E.endpoints.GetListsItemsForReviewSession.initiate(n,{forceRefetch:!0}));return u.error?{error:u.error}:{data:u.data||{lists:[],pageInfo:{hasNextPage:!1,endCursor:null,startCursor:null,hasPreviousPage:!1}}}}catch(r){return console.error("Error in getListsInfinite queryFn:",r),{error:{status:"FETCH_ERROR",error:r.message}}}},providesTags:t=>[{type:"entityList",id:"LIST"},...(t?.pages.flatMap(e=>e.lists)||[]).map(e=>({type:"entityList",id:e.id}))]})})}),w=C.api.enhanceEndpoints({endpoints:{getEntityList:{providesTags:(s,t,{listId:e,projectName:i})=>[{type:"entityList",id:e},{type:"entityList",id:i},...s?[{type:"entityList",id:s.entityListType},{type:"entityList",id:s.entityListFolderId||"NO_FOLDER"}]:[]]}}}),{useGetListsInfiniteInfiniteQuery:M,useGetListItemsInfiniteInfiniteQuery:O,useGetListsItemsForReviewSessionInfiniteQuery:N,useLazyGetListsItemsForReviewSessionQuery:j,useLazyGetListItemsQuery:x}=G,{useGetEntityListQuery:H}=w;exports.LISTS_PER_PAGE=T;exports.LIST_ITEMS_PER_PAGE=b;exports.createBatchedCacheUpdater=S;exports.default=G;exports.getListsApiEnhanced=w;exports.useGetEntityListQuery=H;exports.useGetListItemsInfiniteInfiniteQuery=O;exports.useGetListsInfiniteInfiniteQuery=M;exports.useGetListsItemsForReviewSessionInfiniteQuery=N;exports.useLazyGetListItemsQuery=x;exports.useLazyGetListsItemsForReviewSessionQuery=j;
2
2
  //# sourceMappingURL=getLists.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getLists.cjs.js","sources":["../../../../../../src/api/queries/entityLists/getLists.ts"],"sourcesContent":["import { entityListsApi, gqlApi } from '@shared/api/generated'\nimport {\n FetchBaseQueryError,\n DefinitionsFromApi,\n OverrideResultType,\n TagTypesFromApi,\n} from '@reduxjs/toolkit/query'\nimport type {\n EntityList,\n GetListItemsQuery,\n GetListItemsQueryVariables,\n GetListsItemsForReviewSessionQuery,\n GetListsItemsForReviewSessionResult,\n GetListsQuery,\n GetListsQueryVariables,\n} from '@shared/api'\nimport { parseAllAttribs } from '../overview'\nimport { PubSub, subscribeToThumbnailUpdates, ThumbnailUpdateMessage } from '@shared/util'\nimport {\n GetListItemsResult,\n GetListsResult,\n ListItemMessage,\n ListItemsPageParam,\n ListsPageParam,\n} from './types'\n\n// Helper function to batch pub/sub messages to avoid constant cache updates\nexport function createBatchedCacheUpdater<TMessage, TDraft>(\n updateCachedData: (updater: (draft: TDraft) => void) => void,\n applyBatch: (draft: TDraft, batch: { topic: string; message: TMessage }[]) => void,\n delay = 5000,\n) {\n let queue: { topic: string; message: TMessage }[] = []\n let timeout: ReturnType<typeof setTimeout> | null = null\n\n const handler = (topic: string, message: TMessage) => {\n queue.push({ topic, message })\n if (!timeout) {\n timeout = setTimeout(() => {\n const batch = [...queue]\n queue = []\n timeout = null\n if (batch.length > 0) {\n updateCachedData((draft) => applyBatch(draft, batch))\n }\n }, delay)\n }\n }\n\n handler.clear = () => {\n if (timeout) {\n clearTimeout(timeout)\n timeout = null\n }\n queue = []\n }\n\n return handler\n}\n\n// Helper function to safely parse entity list data field from JSON string to object\nconst parseJSON = (data: string | null | undefined): Record<string, any> => {\n if (!data) return {}\n\n try {\n if (typeof data !== 'string') {\n return (data as unknown as Record<string, any>) ?? {}\n }\n return JSON.parse(data)\n } catch (e) {\n console.warn('Failed to parse entity list data field:', e, data)\n return {}\n }\n}\n\n// GRAPHQL API (getLists and getListItems)\n// Define the LISTS_PER_PAGE constant for pagination\nexport const LISTS_PER_PAGE = 10000\nexport const LIST_ITEMS_PER_PAGE = 100\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetLists' | 'GetListItems'> & {\n GetLists: OverrideResultType<Definitions['GetLists'], GetListsResult>\n GetListItems: OverrideResultType<Definitions['GetListItems'], GetListItemsResult>\n GetListsItemsForReviewSession: OverrideResultType<\n Definitions['GetListsItemsForReviewSession'],\n GetListsItemsForReviewSessionResult\n >\n}\n\nconst getListsGqlApiEnhanced = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetLists: {\n transformResponse: (response: GetListsQuery): GetListsResult => {\n return {\n // @ts-expect-error - entityType is string\n lists: response.project.entityLists.edges.map((edge) => ({\n ...edge.node,\n data: parseJSON(edge.node.data),\n attrib: parseJSON(edge.node.allAttrib),\n })),\n pageInfo: response.project.entityLists.pageInfo,\n }\n },\n },\n GetListItems: {\n transformResponse: (response: GetListItemsQuery): GetListItemsResult => {\n const firstEdge = response.project.entityLists.edges[0]\n if (!firstEdge) {\n throw new Error('List does not exist, was it deleted?')\n }\n return {\n items: response.project.entityLists.edges.flatMap((listEdge) =>\n listEdge.node.items.edges.map(({ node, ...edge }) => {\n return {\n ...node,\n ...edge,\n attrib: parseAllAttribs(edge.allAttrib),\n } as GetListItemsResult['items'][number]\n }),\n ),\n pageInfo: firstEdge.node.items.pageInfo,\n }\n },\n },\n GetListsItemsForReviewSession: {\n transformResponse: (\n response: GetListsItemsForReviewSessionQuery,\n ): GetListsItemsForReviewSessionResult => {\n return {\n lists: response.project.entityLists.edges.map((edge) => edge.node),\n pageInfo: response.project.entityLists.pageInfo,\n }\n },\n },\n },\n})\n\nconst getListsGqlApiInjected = getListsGqlApiEnhanced.injectEndpoints({\n endpoints: (build) => ({\n getListsInfinite: build.infiniteQuery<\n GetListsResult,\n Omit<GetListsQueryVariables, 'first' | 'after' | 'before'>,\n ListsPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '' },\n getNextPageParam: (lastPage) => {\n const { pageInfo } = lastPage\n if (!pageInfo.hasNextPage || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { cursor } = pageParam\n\n // Build the query parameters for GetLists\n const queryParams = {\n ...queryArg,\n first: LISTS_PER_PAGE,\n after: cursor || undefined,\n }\n\n // Call the existing GetLists endpoint\n const result = await api.dispatch(\n getListsGqlApiEnhanced.endpoints.GetLists.initiate(queryParams, { forceRefetch: true }),\n )\n\n if (result.error) {\n // Preserve original error (e.g. 403) so the UI can react accordingly\n return { error: result.error as FetchBaseQueryError }\n }\n\n return {\n data: result.data || {\n lists: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n },\n }\n } catch (e: any) {\n console.error('Error in getListsInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n providesTags: (result) => {\n const lists = result?.pages.flatMap((page) => page.lists) || []\n return [\n { type: 'entityList', id: 'LIST' },\n ...lists.flatMap((list) => [\n { type: 'entityList' as const, id: list.id },\n { type: 'entityList' as const, id: list.entityListType },\n { type: 'entityList' as const, id: list.entityListFolderId || 'NO_FOLDER' },\n ]),\n ]\n },\n async onCacheEntryAdded(\n { projectName },\n { cacheDataLoaded, cacheEntryRemoved, updateCachedData },\n ) {\n const topics = ['entity_list.changed', 'entity_list.created', 'entity_list.deleted']\n let handlePubSub: any = null\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n handlePubSub = createBatchedCacheUpdater<ListItemMessage, any>(\n updateCachedData,\n (draft, batch) => {\n batch.forEach(({ topic, message }) => {\n const summary = message.summary\n const id = summary.id\n if (!id) return\n\n const getListFromSummary = (list?: EntityList): EntityList => {\n return {\n // defaults\n projectName: projectName,\n tags: [],\n data: {},\n allAttrib: '',\n attrib: {},\n createdAt: new Date().toISOString(),\n updatedAt: '',\n active: true,\n access: '',\n accessLevel: 30, // default admin\n // existing data\n ...(list || {}),\n // new data\n id: summary.id as string,\n label: summary.label,\n entityType: summary.entity_type,\n entityListType: summary.entity_list_type,\n count: summary.count,\n }\n }\n\n if (topic === 'entity_list.changed') {\n // update the data of existing list in cache\n const list = draft.pages\n .flatMap((page: any) => page.lists)\n .find((l: any) => l.id === id)\n if (!list) return\n const newList = getListFromSummary(list)\n\n Object.assign(list, newList)\n } else if (topic === 'entity_list.created') {\n // Add new list to the cache using basic summary\n const newList = getListFromSummary()\n // Insert the new list at the beginning of the first page\n if (draft.pages.length !== 0) {\n draft.pages[0].lists.unshift(newList)\n }\n } else if (topic === 'entity_list.deleted') {\n // delete the list from the cache\n draft.pages.forEach((page: any) => {\n page.lists = page.lists.filter((l: any) => l.id !== id)\n })\n }\n })\n },\n 10000, // 10 seconds debounce/batch window\n )\n\n topics.forEach((topic) => PubSub.subscribe(topic, handlePubSub))\n } catch {\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n topics.forEach((t) => PubSub.unsubscribe(t))\n if (handlePubSub && typeof handlePubSub.clear === 'function') handlePubSub.clear()\n },\n }),\n getListItemsInfinite: build.infiniteQuery<\n GetListItemsResult,\n Omit<GetListItemsQueryVariables, 'first' | 'after' | 'before' | 'last'> & { desc?: boolean },\n ListItemsPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '' },\n getNextPageParam: (lastPage) => {\n const { pageInfo } = lastPage\n // ascending paginates via hasNextPage, descending (last/before) via\n // hasPreviousPage — the backend only sets one depending on direction\n const hasMore = pageInfo.hasNextPage || pageInfo.hasPreviousPage\n if (!hasMore || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { sortBy, desc, ...rest } = queryArg\n const { cursor } = pageParam\n\n // Build the query parameters for GetLists\n const queryParams: GetListItemsQueryVariables = {\n ...rest,\n first: LIST_ITEMS_PER_PAGE,\n after: cursor || undefined,\n }\n\n // Add cursor-based pagination\n queryParams.after = cursor || undefined\n queryParams.first = LIST_ITEMS_PER_PAGE\n\n if (sortBy) {\n queryParams.sortBy = sortBy\n if (desc) {\n queryParams.before = cursor || undefined\n queryParams.after = undefined\n queryParams.last = LIST_ITEMS_PER_PAGE\n queryParams.first = undefined\n }\n }\n\n // Call the existing GetLists endpoint\n const result = await api.dispatch(\n getListsGqlApiEnhanced.endpoints.GetListItems.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) {\n return { error: result.error as FetchBaseQueryError }\n }\n\n return {\n data: result.data || {\n items: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n },\n }\n } catch (e: any) {\n console.error('Error in getListsInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n providesTags: (result, _e, { listId, projectName }) => [\n { type: 'entityListItem', id: 'LIST' },\n { type: 'entityListItem', id: listId },\n { type: 'entityListItem', id: projectName },\n ...(result?.pages.flatMap((page) => page.items) || [])\n .filter((i) => !!i)\n .flatMap((item) => [\n {\n type: 'entityListItem',\n id: item.id,\n },\n {\n type: 'entityListItem',\n id: item.entityId,\n },\n ]),\n ],\n async onCacheEntryAdded(\n _args,\n { cacheDataLoaded, cacheEntryRemoved, dispatch, updateCachedData },\n ) {\n let token, token2\n let unsubscribeThumbnails: (() => void) | undefined\n try {\n // wait for the initial query to resolve before proceeding\n const cache = await cacheDataLoaded\n const pages = cache.data.pages\n const items = pages.flatMap((page) => page.items)\n // get entityType of first item\n const entityType = items[0]?.entityType\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n updateCachedData((draft: any) => {\n if (!draft?.pages) return\n messages.forEach((message) => {\n draft.pages.forEach((page: any) => {\n const pageItems = page.items || []\n pageItems.forEach((item: any) => {\n if (\n item.entityId === message.summary.entityId &&\n item.entityType === message.summary.entityType &&\n message.summary.thumbnailHash\n ) {\n item.thumbnailHash = message.summary.thumbnailHash\n }\n })\n })\n })\n })\n },\n )\n\n const listTopic = `entity_list.changed`\n const entityTypeTopic = `entity.${entityType}`\n\n const invalidateListItems = (id: string) => {\n dispatch(gqlApi.util.invalidateTags([{ type: 'entityListItem', id: id }]))\n }\n\n const handleListMessage = (topic: string, message: ListItemMessage) => {\n if (topic !== listTopic) return\n const summary = message.summary\n const id = summary.id\n if (!id) return\n invalidateListItems(id)\n }\n\n const handleEntityMessage = (topic: string, message: ListItemMessage) => {\n if (!topic.startsWith(entityTypeTopic)) return\n const summary = message.summary\n const id = summary.entityId\n // check for id\n if (!id) return\n invalidateListItems(id)\n }\n\n // sub to websocket topic\n token = PubSub.subscribe(listTopic, handleListMessage)\n if (entityType) token2 = PubSub.subscribe(entityTypeTopic, handleEntityMessage)\n } catch {\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n PubSub.unsubscribe(token)\n PubSub.unsubscribe(token2)\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n },\n }),\n getListsItemsForReviewSession: build.infiniteQuery<\n GetListsItemsForReviewSessionResult,\n Omit<GetListsQueryVariables, 'first' | 'after' | 'before' | 'filter'>,\n ListsPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '' },\n getNextPageParam: (lastPage) => {\n const { pageInfo } = lastPage\n if (!pageInfo.hasNextPage || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { cursor } = pageParam\n\n // Build the query parameters for GetLists\n const queryParams = {\n ...queryArg,\n first: LISTS_PER_PAGE,\n after: cursor || undefined,\n }\n\n // Call the existing GetLists endpoint\n const result = await api.dispatch(\n getListsGqlApiEnhanced.endpoints.GetListsItemsForReviewSession.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) {\n return { error: result.error as FetchBaseQueryError }\n }\n\n return {\n data: result.data || {\n lists: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n },\n }\n } catch (e: any) {\n console.error('Error in getListsInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n providesTags: (result) => [\n { type: 'entityList', id: 'LIST' },\n ...(result?.pages.flatMap((page) => page.lists) || []).map((list) => ({\n type: 'entityList' as const,\n id: list.id,\n })),\n ],\n }),\n }),\n})\n\nexport const getListsApiEnhanced = entityListsApi.enhanceEndpoints({\n endpoints: {\n getEntityList: {\n providesTags: (result, _e, { listId, projectName }) => [\n { type: 'entityList', id: listId },\n { type: 'entityList', id: projectName },\n ...(result\n ? [\n { type: 'entityList', id: result.entityListType },\n {\n type: 'entityList',\n id: result.entityListFolderId || 'NO_FOLDER',\n },\n ]\n : []),\n ],\n },\n },\n})\n\nexport default getListsGqlApiInjected\n\nexport const {\n useGetListsInfiniteInfiniteQuery,\n useGetListItemsInfiniteInfiniteQuery,\n useGetListsItemsForReviewSessionInfiniteQuery,\n useLazyGetListsItemsForReviewSessionQuery,\n useLazyGetListItemsQuery,\n} = getListsGqlApiInjected\n\nexport const { useGetEntityListQuery } = getListsApiEnhanced\n"],"names":["createBatchedCacheUpdater","updateCachedData","applyBatch","delay","queue","timeout","handler","topic","message","batch","draft","parseJSON","data","e","LISTS_PER_PAGE","LIST_ITEMS_PER_PAGE","getListsGqlApiEnhanced","gqlApi","response","edge","firstEdge","listEdge","node","parseAllAttribs","getListsGqlApiInjected","build","lastPage","pageInfo","queryArg","pageParam","api","cursor","queryParams","result","lists","page","list","projectName","cacheDataLoaded","cacheEntryRemoved","topics","handlePubSub","summary","id","getListFromSummary","l","newList","PubSub","t","sortBy","desc","rest","_e","listId","i","item","_args","dispatch","token","token2","unsubscribeThumbnails","entityType","subscribeToThumbnailUpdates","messages","listTopic","entityTypeTopic","invalidateListItems","handleListMessage","handleEntityMessage","getListsApiEnhanced","entityListsApi","useGetListsInfiniteInfiniteQuery","useGetListItemsInfiniteInfiniteQuery","useGetListsItemsForReviewSessionInfiniteQuery","useLazyGetListsItemsForReviewSessionQuery","useLazyGetListItemsQuery","useGetEntityListQuery"],"mappings":"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"}
1
+ {"version":3,"file":"getLists.cjs.js","sources":["../../../../../../src/api/queries/entityLists/getLists.ts"],"sourcesContent":["import { entityListsApi, gqlApi } from '@shared/api/generated'\nimport {\n FetchBaseQueryError,\n DefinitionsFromApi,\n OverrideResultType,\n TagTypesFromApi,\n} from '@reduxjs/toolkit/query'\nimport type {\n EntityList,\n GetListItemsQuery,\n GetListItemsQueryVariables,\n GetListsItemsForReviewSessionQuery,\n GetListsItemsForReviewSessionResult,\n GetListsQuery,\n GetListsQueryVariables,\n} from '@shared/api'\nimport { parseAllAttribs } from '../overview'\nimport { PubSub, subscribeToThumbnailUpdates, ThumbnailUpdateMessage } from '@shared/util'\nimport {\n GetListItemsResult,\n GetListsResult,\n ListItemMessage,\n ListItemsPageParam,\n ListsPageParam,\n} from './types'\n\n// Helper function to batch pub/sub messages to avoid constant cache updates\nexport function createBatchedCacheUpdater<TMessage, TDraft>(\n updateCachedData: (updater: (draft: TDraft) => void) => void,\n applyBatch: (draft: TDraft, batch: { topic: string; message: TMessage }[]) => void,\n delay = 5000,\n) {\n let queue: { topic: string; message: TMessage }[] = []\n let timeout: ReturnType<typeof setTimeout> | null = null\n\n const handler = (topic: string, message: TMessage) => {\n queue.push({ topic, message })\n if (!timeout) {\n timeout = setTimeout(() => {\n const batch = [...queue]\n queue = []\n timeout = null\n if (batch.length > 0) {\n updateCachedData((draft) => applyBatch(draft, batch))\n }\n }, delay)\n }\n }\n\n handler.clear = () => {\n if (timeout) {\n clearTimeout(timeout)\n timeout = null\n }\n queue = []\n }\n\n return handler\n}\n\n// Helper function to safely parse entity list data field from JSON string to object\nconst parseJSON = (data: string | null | undefined): Record<string, any> => {\n if (!data) return {}\n\n try {\n if (typeof data !== 'string') {\n return (data as unknown as Record<string, any>) ?? {}\n }\n return JSON.parse(data)\n } catch (e) {\n console.warn('Failed to parse entity list data field:', e, data)\n return {}\n }\n}\n\n// GRAPHQL API (getLists and getListItems)\n// Define the LISTS_PER_PAGE constant for pagination\nexport const LISTS_PER_PAGE = 10000\nexport const LIST_ITEMS_PER_PAGE = 100\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetLists' | 'GetListItems'> & {\n GetLists: OverrideResultType<Definitions['GetLists'], GetListsResult>\n GetListItems: OverrideResultType<Definitions['GetListItems'], GetListItemsResult>\n GetListsItemsForReviewSession: OverrideResultType<\n Definitions['GetListsItemsForReviewSession'],\n GetListsItemsForReviewSessionResult\n >\n}\n\nconst getListsGqlApiEnhanced = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetLists: {\n transformResponse: (response: GetListsQuery): GetListsResult => {\n return {\n // @ts-expect-error - entityType is string\n lists: response.project.entityLists.edges.map((edge) => ({\n ...edge.node,\n data: parseJSON(edge.node.data),\n attrib: parseJSON(edge.node.allAttrib),\n })),\n pageInfo: response.project.entityLists.pageInfo,\n }\n },\n },\n GetListItems: {\n transformResponse: (response: GetListItemsQuery): GetListItemsResult => {\n const firstEdge = response.project.entityLists.edges[0]\n if (!firstEdge) {\n throw new Error('List does not exist, was it deleted?')\n }\n return {\n items: response.project.entityLists.edges.flatMap((listEdge) =>\n listEdge.node.items.edges.map(({ node, ...edge }) => {\n return {\n ...node,\n ...edge,\n attrib: parseAllAttribs(edge.allAttrib),\n } as GetListItemsResult['items'][number]\n }),\n ),\n pageInfo: firstEdge.node.items.pageInfo,\n }\n },\n },\n GetListsItemsForReviewSession: {\n transformResponse: (\n response: GetListsItemsForReviewSessionQuery,\n ): GetListsItemsForReviewSessionResult => {\n return {\n lists: response.project.entityLists.edges.map((edge) => edge.node),\n pageInfo: response.project.entityLists.pageInfo,\n }\n },\n },\n },\n})\n\nconst getListsGqlApiInjected = getListsGqlApiEnhanced.injectEndpoints({\n endpoints: (build) => ({\n getListsInfinite: build.infiniteQuery<\n GetListsResult,\n Omit<GetListsQueryVariables, 'first' | 'after' | 'before'>,\n ListsPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '' },\n getNextPageParam: (lastPage) => {\n const { pageInfo } = lastPage\n if (!pageInfo.hasNextPage || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { cursor } = pageParam\n\n // Build the query parameters for GetLists\n const queryParams = {\n ...queryArg,\n first: LISTS_PER_PAGE,\n after: cursor || undefined,\n }\n\n // Call the existing GetLists endpoint\n const result = await api.dispatch(\n getListsGqlApiEnhanced.endpoints.GetLists.initiate(queryParams, { forceRefetch: true }),\n )\n\n if (result.error) {\n // Preserve original error (e.g. 403) so the UI can react accordingly\n return { error: result.error as FetchBaseQueryError }\n }\n\n return {\n data: result.data || {\n lists: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n },\n }\n } catch (e: any) {\n console.error('Error in getListsInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n providesTags: (result) => {\n const lists = result?.pages.flatMap((page) => page.lists) || []\n return [\n { type: 'entityList', id: 'LIST' },\n ...lists.flatMap((list) => [\n { type: 'entityList' as const, id: list.id },\n { type: 'entityList' as const, id: list.entityListType },\n { type: 'entityList' as const, id: list.entityListFolderId || 'NO_FOLDER' },\n ]),\n ]\n },\n async onCacheEntryAdded(\n { projectName },\n { cacheDataLoaded, cacheEntryRemoved, updateCachedData },\n ) {\n const topics = ['entity_list.changed', 'entity_list.created', 'entity_list.deleted']\n let handlePubSub: any = null\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n handlePubSub = createBatchedCacheUpdater<ListItemMessage, any>(\n updateCachedData,\n (draft, batch) => {\n batch.forEach(({ topic, message }) => {\n const summary = message.summary\n const id = summary.id\n if (!id) return\n\n const getListFromSummary = (list?: EntityList): EntityList => {\n return {\n // defaults\n projectName: projectName,\n tags: [],\n data: {},\n allAttrib: '',\n attrib: {},\n createdAt: new Date().toISOString(),\n updatedAt: '',\n active: true,\n access: '',\n accessLevel: 30, // default admin\n // existing data\n ...(list || {}),\n // new data\n id: summary.id as string,\n label: summary.label,\n entityType: summary.entity_type,\n entityListType: summary.entity_list_type,\n count: summary.count,\n }\n }\n\n if (topic === 'entity_list.changed') {\n // update the data of existing list in cache\n const list = draft.pages\n .flatMap((page: any) => page.lists)\n .find((l: any) => l.id === id)\n if (!list) return\n const newList = getListFromSummary(list)\n\n Object.assign(list, newList)\n } else if (topic === 'entity_list.created') {\n // Add new list to the cache using basic summary\n const newList = getListFromSummary()\n // Insert the new list at the beginning of the first page\n if (draft.pages.length !== 0) {\n draft.pages[0].lists.unshift(newList)\n }\n } else if (topic === 'entity_list.deleted') {\n // delete the list from the cache\n draft.pages.forEach((page: any) => {\n page.lists = page.lists.filter((l: any) => l.id !== id)\n })\n }\n })\n },\n 10000, // 10 seconds debounce/batch window\n )\n\n topics.forEach((topic) => PubSub.subscribe(topic, handlePubSub))\n } catch {\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n topics.forEach((t) => PubSub.unsubscribe(t))\n if (handlePubSub && typeof handlePubSub.clear === 'function') handlePubSub.clear()\n },\n }),\n getListItemsInfinite: build.infiniteQuery<\n GetListItemsResult,\n Omit<GetListItemsQueryVariables, 'first' | 'after' | 'before' | 'last'> & { desc?: boolean },\n ListItemsPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '' },\n getNextPageParam: (lastPage) => {\n const { pageInfo } = lastPage\n // ascending paginates via hasNextPage, descending (last/before) via\n // hasPreviousPage — the backend only sets one depending on direction\n const hasMore = pageInfo.hasNextPage || pageInfo.hasPreviousPage\n if (!hasMore || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { sortBy, desc, ...rest } = queryArg\n const { cursor } = pageParam\n\n // Build the query parameters for GetLists\n const queryParams: GetListItemsQueryVariables = {\n ...rest,\n first: LIST_ITEMS_PER_PAGE,\n after: cursor || undefined,\n }\n\n // Add cursor-based pagination\n queryParams.after = cursor || undefined\n queryParams.first = LIST_ITEMS_PER_PAGE\n\n if (sortBy) {\n queryParams.sortBy = sortBy\n if (desc) {\n queryParams.before = cursor || undefined\n queryParams.after = undefined\n queryParams.last = LIST_ITEMS_PER_PAGE\n queryParams.first = undefined\n }\n }\n\n // Call the existing GetLists endpoint\n const result = await api.dispatch(\n getListsGqlApiEnhanced.endpoints.GetListItems.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) {\n return { error: result.error as FetchBaseQueryError }\n }\n\n return {\n data: result.data || {\n items: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n },\n }\n } catch (e: any) {\n console.error('Error in getListsInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n providesTags: (result, _e, { listId, projectName }) => [\n { type: 'entityListItem', id: 'LIST' },\n { type: 'entityListItem', id: listId },\n { type: 'entityListItem', id: projectName },\n ...(result?.pages.flatMap((page) => page.items) || [])\n .filter((i) => !!i)\n .flatMap((item) => [\n {\n type: 'entityListItem',\n id: item.id,\n },\n {\n type: 'entityListItem',\n id: item.entityId,\n },\n ]),\n ],\n async onCacheEntryAdded(\n _args,\n { cacheDataLoaded, cacheEntryRemoved, dispatch, updateCachedData },\n ) {\n let token, token2\n let unsubscribeThumbnails: (() => void) | undefined\n try {\n // wait for the initial query to resolve before proceeding\n const cache = await cacheDataLoaded\n const pages = cache.data.pages\n const items = pages.flatMap((page) => page.items)\n // get entityType of first item\n const entityType = items[0]?.entityType\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n updateCachedData((draft: any) => {\n if (!draft?.pages) return\n messages.forEach((message) => {\n draft.pages.forEach((page: any) => {\n const pageItems = page.items || []\n pageItems.forEach((item: any) => {\n if (\n item.entityId === message.summary.entityId &&\n item.entityType === message.summary.entityType &&\n message.summary.thumbnailHash\n ) {\n item.thumbnailHash = message.summary.thumbnailHash\n }\n })\n })\n })\n })\n },\n )\n\n const listTopic = `entity_list.changed`\n const entityTypeTopic = `entity.${entityType}`\n\n const invalidateListItems = (id: string) => {\n dispatch(gqlApi.util.invalidateTags([{ type: 'entityListItem', id: id }]))\n }\n\n const handleListMessage = (topic: string, message: ListItemMessage) => {\n if (topic !== listTopic) return\n const summary = message.summary\n const id = summary.id\n if (!id) return\n invalidateListItems(id)\n }\n\n const handleEntityMessage = (topic: string, message: ListItemMessage) => {\n if (!topic.startsWith(entityTypeTopic)) return\n const summary = message.summary\n const id = summary.entityId\n // check for id\n if (!id) return\n invalidateListItems(id)\n }\n\n // sub to websocket topic\n token = PubSub.subscribe(listTopic, handleListMessage)\n if (entityType) token2 = PubSub.subscribe(entityTypeTopic, handleEntityMessage)\n } catch {\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n PubSub.unsubscribe(token)\n PubSub.unsubscribe(token2)\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n },\n }),\n getListsItemsForReviewSession: build.infiniteQuery<\n GetListsItemsForReviewSessionResult,\n Omit<GetListsQueryVariables, 'first' | 'after' | 'before' | 'filter'>,\n ListsPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '' },\n getNextPageParam: (lastPage) => {\n const { pageInfo } = lastPage\n if (!pageInfo.hasNextPage || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { cursor } = pageParam\n\n // Build the query parameters for GetLists\n const queryParams = {\n ...queryArg,\n first: LISTS_PER_PAGE,\n after: cursor || undefined,\n }\n\n // Call the existing GetLists endpoint\n const result = await api.dispatch(\n getListsGqlApiEnhanced.endpoints.GetListsItemsForReviewSession.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) {\n return { error: result.error as FetchBaseQueryError }\n }\n\n return {\n data: result.data || {\n lists: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n },\n }\n } catch (e: any) {\n console.error('Error in getListsInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n providesTags: (result) => [\n { type: 'entityList', id: 'LIST' },\n ...(result?.pages.flatMap((page) => page.lists) || []).map((list) => ({\n type: 'entityList' as const,\n id: list.id,\n })),\n ],\n }),\n }),\n})\n\nexport const getListsApiEnhanced = entityListsApi.enhanceEndpoints({\n endpoints: {\n getEntityList: {\n providesTags: (result, _e, { listId, projectName }) => [\n { type: 'entityList', id: listId },\n { type: 'entityList', id: projectName },\n ...(result\n ? [\n { type: 'entityList', id: result.entityListType },\n {\n type: 'entityList',\n id: result.entityListFolderId || 'NO_FOLDER',\n },\n ]\n : []),\n ],\n },\n },\n})\n\nexport default getListsGqlApiInjected\n\nexport const {\n useGetListsInfiniteInfiniteQuery,\n useGetListItemsInfiniteInfiniteQuery,\n useGetListsItemsForReviewSessionInfiniteQuery,\n useLazyGetListsItemsForReviewSessionQuery,\n useLazyGetListItemsQuery,\n} = getListsGqlApiInjected\n\nexport const { useGetEntityListQuery } = getListsApiEnhanced\n"],"names":["createBatchedCacheUpdater","updateCachedData","applyBatch","delay","queue","timeout","handler","topic","message","batch","draft","parseJSON","data","e","LISTS_PER_PAGE","LIST_ITEMS_PER_PAGE","getListsGqlApiEnhanced","gqlApi","response","edge","firstEdge","listEdge","node","parseAllAttribs","getListsGqlApiInjected","build","lastPage","pageInfo","queryArg","pageParam","api","cursor","queryParams","result","lists","page","list","projectName","cacheDataLoaded","cacheEntryRemoved","topics","handlePubSub","summary","id","getListFromSummary","l","newList","PubSub","t","sortBy","desc","rest","_e","listId","i","item","_args","dispatch","token","token2","unsubscribeThumbnails","entityType","subscribeToThumbnailUpdates","messages","listTopic","entityTypeTopic","invalidateListItems","handleListMessage","handleEntityMessage","getListsApiEnhanced","entityListsApi","useGetListsInfiniteInfiniteQuery","useGetListItemsInfiniteInfiniteQuery","useGetListsItemsForReviewSessionInfiniteQuery","useLazyGetListsItemsForReviewSessionQuery","useLazyGetListItemsQuery","useGetEntityListQuery"],"mappings":"+vIA2BO,SAASA,EACdC,EACAC,EACAC,EAAQ,IACR,CACA,IAAIC,EAAgD,CAAA,EAChDC,EAAgD,KAEpD,MAAMC,EAAU,CAACC,EAAeC,IAAsB,CACpDJ,EAAM,KAAK,CAAE,MAAAG,EAAO,QAAAC,CAAA,CAAS,EACxBH,IACHA,EAAU,WAAW,IAAM,CACzB,MAAMI,EAAQ,CAAC,GAAGL,CAAK,EACvBA,EAAQ,CAAA,EACRC,EAAU,KACNI,EAAM,OAAS,GACjBR,EAAkBS,GAAUR,EAAWQ,EAAOD,CAAK,CAAC,CAExD,EAAGN,CAAK,EAEZ,EAEA,OAAAG,EAAQ,MAAQ,IAAM,CAChBD,IACF,aAAaA,CAAO,EACpBA,EAAU,MAEZD,EAAQ,CAAA,CACV,EAEOE,CACT,CAGA,MAAMK,EAAaC,GAAyD,CAC1E,GAAI,CAACA,EAAM,MAAO,CAAA,EAElB,GAAI,CACF,OAAI,OAAOA,GAAS,SACVA,GAA2C,CAAA,EAE9C,KAAK,MAAMA,CAAI,CACxB,OAASC,EAAG,CACV,eAAQ,KAAK,0CAA2CA,EAAGD,CAAI,EACxD,CAAA,CACT,CACF,EAIaE,EAAiB,IACjBC,EAAsB,IAc7BC,EAAyBC,EAAAA,IAAO,iBAA+C,CACnF,UAAW,CACT,SAAU,CACR,kBAAoBC,IACX,CAEL,MAAOA,EAAS,QAAQ,YAAY,MAAM,IAAKC,IAAU,CACvD,GAAGA,EAAK,KACR,KAAMR,EAAUQ,EAAK,KAAK,IAAI,EAC9B,OAAQR,EAAUQ,EAAK,KAAK,SAAS,CAAA,EACrC,EACF,SAAUD,EAAS,QAAQ,YAAY,QAAA,EAE3C,EAEF,aAAc,CACZ,kBAAoBA,GAAoD,CACtE,MAAME,EAAYF,EAAS,QAAQ,YAAY,MAAM,CAAC,EACtD,GAAI,CAACE,EACH,MAAM,IAAI,MAAM,sCAAsC,EAExD,MAAO,CACL,MAAOF,EAAS,QAAQ,YAAY,MAAM,QAASG,GACjDA,EAAS,KAAK,MAAM,MAAM,IAAI,CAAC,CAAE,KAAAC,EAAM,GAAGH,MACjC,CACL,GAAGG,EACH,GAAGH,EACH,OAAQI,EAAAA,gBAAgBJ,EAAK,SAAS,CAAA,EAEzC,CAAA,EAEH,SAAUC,EAAU,KAAK,MAAM,QAAA,CAEnC,CAAA,EAEF,8BAA+B,CAC7B,kBACEF,IAEO,CACL,MAAOA,EAAS,QAAQ,YAAY,MAAM,IAAKC,GAASA,EAAK,IAAI,EACjE,SAAUD,EAAS,QAAQ,YAAY,QAAA,EAE3C,CACF,CAEJ,CAAC,EAEKM,EAAyBR,EAAuB,gBAAgB,CACpE,UAAYS,IAAW,CACrB,iBAAkBA,EAAM,cAItB,CACA,qBAAsB,CACpB,iBAAkB,CAAE,OAAQ,EAAA,EAC5B,iBAAmBC,GAAa,CAC9B,KAAM,CAAE,SAAAC,GAAaD,EACrB,GAAI,GAACC,EAAS,aAAe,CAACA,EAAS,WAEvC,MAAO,CACL,OAAQA,EAAS,SAAA,CAErB,CAAA,EAEF,QAAS,MAAO,CAAE,SAAAC,EAAU,UAAAC,CAAA,EAAaC,IAAQ,CAC/C,GAAI,CACF,KAAM,CAAE,OAAAC,GAAWF,EAGbG,EAAc,CAClB,GAAGJ,EACH,MAAOd,EACP,MAAOiB,GAAU,MAAA,EAIbE,EAAS,MAAMH,EAAI,SACvBd,EAAuB,UAAU,SAAS,SAASgB,EAAa,CAAE,aAAc,GAAM,CAAA,EAGxF,OAAIC,EAAO,MAEF,CAAE,MAAOA,EAAO,KAAA,EAGlB,CACL,KAAMA,EAAO,MAAQ,CACnB,MAAO,CAAA,EACP,SAAU,CACR,YAAa,GACb,UAAW,KACX,YAAa,KACb,gBAAiB,EAAA,CACnB,CACF,CAEJ,OAASpB,EAAQ,CACf,eAAQ,MAAM,qCAAsCA,CAAC,EAC9C,CAAE,MAAO,CAAE,OAAQ,cAAe,MAAOA,EAAE,QAAQ,CAC5D,CACF,EACA,aAAeoB,GAAW,CACxB,MAAMC,EAAQD,GAAQ,MAAM,QAASE,GAASA,EAAK,KAAK,GAAK,CAAA,EAC7D,MAAO,CACL,CAAE,KAAM,aAAc,GAAI,MAAA,EAC1B,GAAGD,EAAM,QAASE,GAAS,CACzB,CAAE,KAAM,aAAuB,GAAIA,EAAK,EAAA,EACxC,CAAE,KAAM,aAAuB,GAAIA,EAAK,cAAA,EACxC,CAAE,KAAM,aAAuB,GAAIA,EAAK,oBAAsB,WAAA,CAAY,CAC3E,CAAA,CAEL,EACA,MAAM,kBACJ,CAAE,YAAAC,CAAA,EACF,CAAE,gBAAAC,EAAiB,kBAAAC,EAAmB,iBAAAtC,GACtC,CACA,MAAMuC,EAAS,CAAC,sBAAuB,sBAAuB,qBAAqB,EACnF,IAAIC,EAAoB,KACxB,GAAI,CAEF,MAAMH,EAENG,EAAezC,EACbC,EACA,CAACS,EAAOD,IAAU,CAChBA,EAAM,QAAQ,CAAC,CAAE,MAAAF,EAAO,QAAAC,KAAc,CACpC,MAAMkC,EAAUlC,EAAQ,QAClBmC,EAAKD,EAAQ,GACnB,GAAI,CAACC,EAAI,OAET,MAAMC,EAAsBR,IACnB,CAEL,YAAAC,EACA,KAAM,CAAA,EACN,KAAM,CAAA,EACN,UAAW,GACX,OAAQ,CAAA,EACR,UAAW,IAAI,KAAA,EAAO,YAAA,EACtB,UAAW,GACX,OAAQ,GACR,OAAQ,GACR,YAAa,GAEb,GAAID,GAAQ,CAAA,EAEZ,GAAIM,EAAQ,GACZ,MAAOA,EAAQ,MACf,WAAYA,EAAQ,YACpB,eAAgBA,EAAQ,iBACxB,MAAOA,EAAQ,KAAA,GAInB,GAAInC,IAAU,sBAAuB,CAEnC,MAAM6B,EAAO1B,EAAM,MAChB,QAASyB,GAAcA,EAAK,KAAK,EACjC,KAAMU,GAAWA,EAAE,KAAOF,CAAE,EAC/B,GAAI,CAACP,EAAM,OACX,MAAMU,EAAUF,EAAmBR,CAAI,EAEvC,OAAO,OAAOA,EAAMU,CAAO,CAC7B,SAAWvC,IAAU,sBAAuB,CAE1C,MAAMuC,EAAUF,EAAA,EAEZlC,EAAM,MAAM,SAAW,GACzBA,EAAM,MAAM,CAAC,EAAE,MAAM,QAAQoC,CAAO,CAExC,MAAWvC,IAAU,uBAEnBG,EAAM,MAAM,QAASyB,GAAc,CACjCA,EAAK,MAAQA,EAAK,MAAM,OAAQU,GAAWA,EAAE,KAAOF,CAAE,CACxD,CAAC,CAEL,CAAC,CACH,EACA,GAAA,EAGFH,EAAO,QAASjC,GAAUwC,EAAO,UAAUxC,EAAOkC,CAAY,CAAC,CACjE,MAAQ,CAGR,CAEA,MAAMF,EAENC,EAAO,QAASQ,GAAMD,EAAO,YAAYC,CAAC,CAAC,EACvCP,GAAgB,OAAOA,EAAa,OAAU,cAAyB,MAAA,CAC7E,CAAA,CACD,EACD,qBAAsBhB,EAAM,cAI1B,CACA,qBAAsB,CACpB,iBAAkB,CAAE,OAAQ,EAAA,EAC5B,iBAAmBC,GAAa,CAC9B,KAAM,CAAE,SAAAC,GAAaD,EAIrB,GAAI,IADYC,EAAS,aAAeA,EAAS,kBACjC,CAACA,EAAS,WAE1B,MAAO,CACL,OAAQA,EAAS,SAAA,CAErB,CAAA,EAEF,QAAS,MAAO,CAAE,SAAAC,EAAU,UAAAC,CAAA,EAAaC,IAAQ,CAC/C,GAAI,CACF,KAAM,CAAE,OAAAmB,EAAQ,KAAAC,EAAM,GAAGC,GAASvB,EAC5B,CAAE,OAAAG,GAAWF,EAGbG,EAA0C,CAC9C,GAAGmB,EACH,MAAOpC,EACP,MAAOgB,GAAU,MAAA,EAInBC,EAAY,MAAQD,GAAU,OAC9BC,EAAY,MAAQjB,EAEhBkC,IACFjB,EAAY,OAASiB,EACjBC,IACFlB,EAAY,OAASD,GAAU,OAC/BC,EAAY,MAAQ,OACpBA,EAAY,KAAOjB,EACnBiB,EAAY,MAAQ,SAKxB,MAAMC,EAAS,MAAMH,EAAI,SACvBd,EAAuB,UAAU,aAAa,SAASgB,EAAa,CAClE,aAAc,EAAA,CACf,CAAA,EAGH,OAAIC,EAAO,MACF,CAAE,MAAOA,EAAO,KAAA,EAGlB,CACL,KAAMA,EAAO,MAAQ,CACnB,MAAO,CAAA,EACP,SAAU,CACR,YAAa,GACb,UAAW,KACX,YAAa,KACb,gBAAiB,EAAA,CACnB,CACF,CAEJ,OAASpB,EAAQ,CACf,eAAQ,MAAM,qCAAsCA,CAAC,EAC9C,CAAE,MAAO,CAAE,OAAQ,cAAe,MAAOA,EAAE,QAAQ,CAC5D,CACF,EACA,aAAc,CAACoB,EAAQmB,EAAI,CAAE,OAAAC,EAAQ,YAAAhB,KAAkB,CACrD,CAAE,KAAM,iBAAkB,GAAI,MAAA,EAC9B,CAAE,KAAM,iBAAkB,GAAIgB,CAAA,EAC9B,CAAE,KAAM,iBAAkB,GAAIhB,CAAA,EAC9B,IAAIJ,GAAQ,MAAM,QAASE,GAASA,EAAK,KAAK,GAAK,CAAA,GAChD,OAAQmB,GAAM,CAAC,CAACA,CAAC,EACjB,QAASC,GAAS,CACjB,CACE,KAAM,iBACN,GAAIA,EAAK,EAAA,EAEX,CACE,KAAM,iBACN,GAAIA,EAAK,QAAA,CACX,CACD,CAAA,EAEL,MAAM,kBACJC,EACA,CAAE,gBAAAlB,EAAiB,kBAAAC,EAAmB,SAAAkB,EAAU,iBAAAxD,GAChD,CACA,IAAIyD,EAAOC,EACPC,EACJ,GAAI,CAMF,MAAMC,GAJQ,MAAMvB,GACA,KAAK,MACL,QAASH,GAASA,EAAK,KAAK,EAEvB,CAAC,GAAG,WAE7ByB,EAAwBE,EAAAA,4BACrBC,GAAuC,CACtC9D,EAAkBS,GAAe,CAC1BA,GAAO,OACZqD,EAAS,QAASvD,GAAY,CAC5BE,EAAM,MAAM,QAASyB,GAAc,EACfA,EAAK,OAAS,CAAA,GACtB,QAASoB,GAAc,CAE7BA,EAAK,WAAa/C,EAAQ,QAAQ,UAClC+C,EAAK,aAAe/C,EAAQ,QAAQ,YACpCA,EAAQ,QAAQ,gBAEhB+C,EAAK,cAAgB/C,EAAQ,QAAQ,cAEzC,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAA,EAGF,MAAMwD,EAAY,sBACZC,EAAkB,UAAUJ,CAAU,GAEtCK,EAAuBvB,GAAe,CAC1Cc,EAASxC,EAAAA,IAAO,KAAK,eAAe,CAAC,CAAE,KAAM,iBAAkB,GAAA0B,CAAA,CAAQ,CAAC,CAAC,CAC3E,EAEMwB,EAAoB,CAAC5D,EAAeC,IAA6B,CACrE,GAAID,IAAUyD,EAAW,OAEzB,MAAMrB,EADUnC,EAAQ,QACL,GACdmC,GACLuB,EAAoBvB,CAAE,CACxB,EAEMyB,EAAsB,CAAC7D,EAAeC,IAA6B,CACvE,GAAI,CAACD,EAAM,WAAW0D,CAAe,EAAG,OAExC,MAAMtB,EADUnC,EAAQ,QACL,SAEdmC,GACLuB,EAAoBvB,CAAE,CACxB,EAGAe,EAAQX,EAAO,UAAUiB,EAAWG,CAAiB,EACjDN,IAAYF,EAASZ,EAAO,UAAUkB,EAAiBG,CAAmB,EAChF,MAAQ,CAGR,CAEA,MAAM7B,EAENQ,EAAO,YAAYW,CAAK,EACxBX,EAAO,YAAYY,CAAM,EACrBC,GACFA,EAAA,CAEJ,CAAA,CACD,EACD,8BAA+BnC,EAAM,cAInC,CACA,qBAAsB,CACpB,iBAAkB,CAAE,OAAQ,EAAA,EAC5B,iBAAmBC,GAAa,CAC9B,KAAM,CAAE,SAAAC,GAAaD,EACrB,GAAI,GAACC,EAAS,aAAe,CAACA,EAAS,WAEvC,MAAO,CACL,OAAQA,EAAS,SAAA,CAErB,CAAA,EAEF,QAAS,MAAO,CAAE,SAAAC,EAAU,UAAAC,CAAA,EAAaC,IAAQ,CAC/C,GAAI,CACF,KAAM,CAAE,OAAAC,GAAWF,EAGbG,EAAc,CAClB,GAAGJ,EACH,MAAOd,EACP,MAAOiB,GAAU,MAAA,EAIbE,EAAS,MAAMH,EAAI,SACvBd,EAAuB,UAAU,8BAA8B,SAASgB,EAAa,CACnF,aAAc,EAAA,CACf,CAAA,EAGH,OAAIC,EAAO,MACF,CAAE,MAAOA,EAAO,KAAA,EAGlB,CACL,KAAMA,EAAO,MAAQ,CACnB,MAAO,CAAA,EACP,SAAU,CACR,YAAa,GACb,UAAW,KACX,YAAa,KACb,gBAAiB,EAAA,CACnB,CACF,CAEJ,OAASpB,EAAQ,CACf,eAAQ,MAAM,qCAAsCA,CAAC,EAC9C,CAAE,MAAO,CAAE,OAAQ,cAAe,MAAOA,EAAE,QAAQ,CAC5D,CACF,EACA,aAAeoB,GAAW,CACxB,CAAE,KAAM,aAAc,GAAI,MAAA,EAC1B,IAAIA,GAAQ,MAAM,QAASE,GAASA,EAAK,KAAK,GAAK,CAAA,GAAI,IAAKC,IAAU,CACpE,KAAM,aACN,GAAIA,EAAK,EAAA,EACT,CAAA,CACJ,CACD,CAAA,EAEL,CAAC,EAEYiC,EAAsBC,EAAAA,IAAe,iBAAiB,CACjE,UAAW,CACT,cAAe,CACb,aAAc,CAACrC,EAAQmB,EAAI,CAAE,OAAAC,EAAQ,YAAAhB,KAAkB,CACrD,CAAE,KAAM,aAAc,GAAIgB,CAAA,EAC1B,CAAE,KAAM,aAAc,GAAIhB,CAAA,EAC1B,GAAIJ,EACA,CACE,CAAE,KAAM,aAAc,GAAIA,EAAO,cAAA,EACjC,CACE,KAAM,aACN,GAAIA,EAAO,oBAAsB,WAAA,CACnC,EAEF,CAAA,CAAC,CACP,CACF,CAEJ,CAAC,EAIY,CACX,iCAAAsC,EACA,qCAAAC,EACA,8CAAAC,EACA,0CAAAC,EACA,yBAAAC,CACF,EAAInD,EAES,CAAE,sBAAAoD,GAA0BP"}