@ynput/ayon-frontend-shared 0.4.1 → 0.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1190) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +37 -201
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +252 -512
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Slicer.cjs.js +1 -1
  8. package/dist/Slicer.es.js +31 -233
  9. package/dist/Slicer.es.js.map +1 -1
  10. package/dist/_virtual/index.cjs22.js +1 -1
  11. package/dist/_virtual/index.cjs23.js +1 -1
  12. package/dist/_virtual/index.cjs24.js +1 -1
  13. package/dist/_virtual/index.cjs4.js +1 -1
  14. package/dist/_virtual/index.cjs5.js +1 -1
  15. package/dist/_virtual/index.cjs6.js +1 -1
  16. package/dist/_virtual/index.cjs8.js +1 -1
  17. package/dist/_virtual/index.es22.js +3 -3
  18. package/dist/_virtual/index.es23.js +5 -5
  19. package/dist/_virtual/index.es24.js +5 -5
  20. package/dist/_virtual/index.es4.js +2 -5
  21. package/dist/_virtual/index.es4.js.map +1 -1
  22. package/dist/_virtual/index.es5.js +5 -2
  23. package/dist/_virtual/index.es5.js.map +1 -1
  24. package/dist/_virtual/index.es6.js +2 -2
  25. package/dist/_virtual/index.es8.js +2 -2
  26. package/dist/api.cjs.js +1 -1
  27. package/dist/api.es.js +446 -445
  28. package/dist/components.cjs.js +1 -1
  29. package/dist/components.es.js +83 -82
  30. package/dist/components.es.js.map +1 -1
  31. package/dist/index.cjs.js +1 -1
  32. package/dist/index.es.js +43 -130
  33. package/dist/index.es.js.map +1 -1
  34. package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
  35. package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
  36. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  37. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  38. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  39. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  40. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  41. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  42. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  43. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  44. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  45. package/dist/node_modules/remove-accents/index.es.js +1 -1
  46. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +1 -1
  47. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +1 -1
  48. package/dist/shared/node_modules/@module-federation/runtime/dist/index.cjs.js +1 -1
  49. package/dist/shared/node_modules/@module-federation/runtime/dist/index.es.js +1 -1
  50. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
  51. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +1 -1
  52. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  53. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  54. package/dist/shared/src/api/generated/graphql.cjs.js +85 -27
  55. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  56. package/dist/shared/src/api/generated/graphql.es.js +126 -64
  57. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  58. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  59. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  60. package/dist/shared/src/api/queries/actions/getActions.cjs.js.map +1 -1
  61. package/dist/shared/src/api/queries/actions/getActions.es.js.map +1 -1
  62. package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
  63. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  64. package/dist/shared/src/api/queries/activities/getCategories.cjs.js.map +1 -1
  65. package/dist/shared/src/api/queries/activities/getCategories.es.js.map +1 -1
  66. package/dist/shared/src/api/queries/activities/patchTableLatestComments.cjs.js.map +1 -1
  67. package/dist/shared/src/api/queries/activities/patchTableLatestComments.es.js.map +1 -1
  68. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js.map +1 -1
  69. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js.map +1 -1
  70. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
  71. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
  72. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +55 -151
  73. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
  74. package/dist/shared/src/api/queries/addons/updateAddons.cjs.js.map +1 -1
  75. package/dist/shared/src/api/queries/addons/updateAddons.es.js.map +1 -1
  76. package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js.map +1 -1
  77. package/dist/shared/src/api/queries/attributes/getAttributes.es.js.map +1 -1
  78. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js.map +1 -1
  79. package/dist/shared/src/api/queries/columnStats/columnStats.es.js.map +1 -1
  80. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js +1 -1
  81. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js.map +1 -1
  82. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js +36 -36
  83. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js.map +1 -1
  84. package/dist/shared/src/api/queries/entities/getEntity.cjs.js.map +1 -1
  85. package/dist/shared/src/api/queries/entities/getEntity.es.js.map +1 -1
  86. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
  87. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
  88. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +58 -113
  89. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  90. package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js.map +1 -1
  91. package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js.map +1 -1
  92. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  93. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  94. package/dist/shared/src/api/queries/entityLists/getLists.es.js +67 -118
  95. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  96. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js +1 -1
  97. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js.map +1 -1
  98. package/dist/shared/src/api/queries/entityLists/listFolders.es.js +40 -95
  99. package/dist/shared/src/api/queries/entityLists/listFolders.es.js.map +1 -1
  100. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
  101. package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
  102. package/dist/shared/src/api/queries/folders/getFolderDeleteInfo.cjs.js.map +1 -1
  103. package/dist/shared/src/api/queries/folders/getFolderDeleteInfo.es.js.map +1 -1
  104. package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -1
  105. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  106. package/dist/shared/src/api/queries/folders/getFolders.es.js +68 -119
  107. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  108. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
  109. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
  110. package/dist/shared/src/api/queries/links/getEntityLinks.es.js +73 -128
  111. package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
  112. package/dist/shared/src/api/queries/links/updateLinks.cjs.js.map +1 -1
  113. package/dist/shared/src/api/queries/links/updateLinks.es.js.map +1 -1
  114. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  115. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  116. package/dist/shared/src/api/queries/overview/getOverview.es.js +229 -282
  117. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  118. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  119. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  120. package/dist/shared/src/api/queries/products/getFolderProducts.cjs.js.map +1 -1
  121. package/dist/shared/src/api/queries/products/getFolderProducts.es.js.map +1 -1
  122. package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js +1 -1
  123. package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js.map +1 -1
  124. package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js +80 -134
  125. package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js.map +1 -1
  126. package/dist/shared/src/api/queries/review/getReview.cjs.js +1 -1
  127. package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
  128. package/dist/shared/src/api/queries/review/getReview.es.js +95 -152
  129. package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
  130. package/dist/shared/src/api/queries/share/share.cjs.js.map +1 -1
  131. package/dist/shared/src/api/queries/share/share.es.js.map +1 -1
  132. package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
  133. package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
  134. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
  135. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  136. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +88 -141
  137. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  138. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  139. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  140. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
  141. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
  142. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +30 -80
  143. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
  144. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.cjs.js.map +1 -1
  145. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.es.js.map +1 -1
  146. package/dist/shared/src/api/queries/versions/updateVersions.cjs.js.map +1 -1
  147. package/dist/shared/src/api/queries/versions/updateVersions.es.js.map +1 -1
  148. package/dist/shared/src/api/queries/views/getViews.cjs.js.map +1 -1
  149. package/dist/shared/src/api/queries/views/getViews.es.js.map +1 -1
  150. package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -1
  151. package/dist/shared/src/api/queries/views/updateViews.es.js.map +1 -1
  152. package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js.map +1 -1
  153. package/dist/shared/src/api/queries/watchers/getWatchers.es.js.map +1 -1
  154. package/dist/shared/src/components/AccessSearchInput/AccessSearchInput.cjs.js.map +1 -1
  155. package/dist/shared/src/components/AccessSearchInput/AccessSearchInput.es.js.map +1 -1
  156. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +1 -1
  157. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
  158. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +28 -30
  159. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
  160. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js +1 -1
  161. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js.map +1 -1
  162. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js +29 -125
  163. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js.map +1 -1
  164. package/dist/shared/src/components/Chips/Chips.cjs.js +12 -6
  165. package/dist/shared/src/components/Chips/Chips.cjs.js.map +1 -1
  166. package/dist/shared/src/components/Chips/Chips.es.js +69 -62
  167. package/dist/shared/src/components/Chips/Chips.es.js.map +1 -1
  168. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js +3 -3
  169. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js.map +1 -1
  170. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js +16 -310
  171. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
  172. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js +5 -5
  173. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js.map +1 -1
  174. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.es.js +49 -145
  175. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.es.js.map +1 -1
  176. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +5 -5
  177. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
  178. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +45 -141
  179. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
  180. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  181. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  182. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +30 -166
  183. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  184. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  185. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  186. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +9 -195
  187. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  188. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +2 -2
  189. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  190. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +5 -200
  191. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  192. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js +4 -4
  193. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js.map +1 -1
  194. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js +18 -114
  195. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js.map +1 -1
  196. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js +2 -2
  197. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js.map +1 -1
  198. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js +13 -109
  199. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js.map +1 -1
  200. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  201. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  202. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +11 -316
  203. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  204. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js +1 -1
  205. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js.map +1 -1
  206. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js +23 -119
  207. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js.map +1 -1
  208. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js +1 -1
  209. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js.map +1 -1
  210. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js +0 -111
  211. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js.map +1 -1
  212. package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.cjs.js +1 -1
  213. package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.cjs.js.map +1 -1
  214. package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.es.js +1 -1
  215. package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.es.js.map +1 -1
  216. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js +1 -1
  217. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js.map +1 -1
  218. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js +12 -314
  219. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js.map +1 -1
  220. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  221. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  222. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +86 -273
  223. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  224. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  225. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  226. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +34 -335
  227. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  228. package/dist/shared/src/components/EntityPath/EntityPath.cjs.js.map +1 -1
  229. package/dist/shared/src/components/EntityPath/EntityPath.es.js.map +1 -1
  230. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  231. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  232. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +15 -310
  233. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  234. package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.cjs.js.map +1 -1
  235. package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.es.js.map +1 -1
  236. package/dist/shared/src/components/EnumEditor/EnumEditorItem.cjs.js.map +1 -1
  237. package/dist/shared/src/components/EnumEditor/EnumEditorItem.es.js.map +1 -1
  238. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  239. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  240. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +89 -293
  241. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  242. package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.cjs.js +2 -2
  243. package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.cjs.js.map +1 -1
  244. package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.es.js +10 -106
  245. package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.es.js.map +1 -1
  246. package/dist/shared/src/components/InfoMessage/InfoMessage.cjs.js +1 -1
  247. package/dist/shared/src/components/InfoMessage/InfoMessage.cjs.js.map +1 -1
  248. package/dist/shared/src/components/InfoMessage/InfoMessage.es.js +6 -5
  249. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  250. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  251. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
  252. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
  253. package/dist/shared/src/components/LinksManager/LinksManager.es.js +51 -346
  254. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
  255. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  256. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  257. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +7 -212
  258. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  259. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  260. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  261. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +2 -205
  262. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  263. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
  264. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -1
  265. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +4 -185
  266. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -1
  267. package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
  268. package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -1
  269. package/dist/shared/src/components/Menu/Menu.es.js +48 -343
  270. package/dist/shared/src/components/Menu/Menu.es.js.map +1 -1
  271. package/dist/shared/src/components/Menu/MenuItem.cjs.js +1 -1
  272. package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -1
  273. package/dist/shared/src/components/Menu/MenuItem.es.js +20 -316
  274. package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -1
  275. package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
  276. package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
  277. package/dist/shared/src/components/Menu/MenuList.es.js +74 -373
  278. package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
  279. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +2 -2
  280. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  281. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +16 -315
  282. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  283. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  284. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  285. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +48 -346
  286. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  287. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +2 -2
  288. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  289. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +134 -304
  290. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  291. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
  292. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  293. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +78 -371
  294. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  295. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  296. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  297. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +3 -299
  298. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  299. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  300. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  301. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +34 -334
  302. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  303. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  304. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  305. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +30 -331
  306. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  307. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +5 -5
  308. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  309. package/dist/shared/src/components/RenameForm/RenameForm.es.js +77 -372
  310. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  311. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  312. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  313. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +114 -309
  314. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  315. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  316. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  317. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +66 -365
  318. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  319. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  320. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  321. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +14 -316
  322. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  323. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  324. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  325. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +70 -72
  326. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  327. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  328. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  329. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +24 -326
  330. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  331. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.cjs.js.map +1 -1
  332. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.es.js.map +1 -1
  333. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  334. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  335. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +335 -534
  336. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  337. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +7 -7
  338. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  339. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +29 -329
  340. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  341. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +4 -4
  342. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  343. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +53 -355
  344. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  345. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +2 -2
  346. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  347. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +95 -394
  348. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  349. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js +1 -1
  350. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js.map +1 -1
  351. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js +39 -8
  352. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js.map +1 -1
  353. package/dist/shared/src/components/SyncButton/SyncButton.cjs.js +2 -2
  354. package/dist/shared/src/components/SyncButton/SyncButton.cjs.js.map +1 -1
  355. package/dist/shared/src/components/SyncButton/SyncButton.es.js +52 -165
  356. package/dist/shared/src/components/SyncButton/SyncButton.es.js.map +1 -1
  357. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +3 -3
  358. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  359. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +35 -334
  360. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  361. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js +1 -1
  362. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js.map +1 -1
  363. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js +26 -122
  364. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js.map +1 -1
  365. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js +3 -3
  366. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js.map +1 -1
  367. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js +22 -118
  368. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js.map +1 -1
  369. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +13 -13
  370. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  371. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +99 -300
  372. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  373. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  374. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  375. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +61 -262
  376. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  377. package/dist/shared/src/config/plannerFeatures.cjs.js.map +1 -1
  378. package/dist/shared/src/config/plannerFeatures.es.js.map +1 -1
  379. package/dist/shared/src/config/powerpackFeatures.cjs.js.map +1 -1
  380. package/dist/shared/src/config/powerpackFeatures.es.js.map +1 -1
  381. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  382. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  383. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +6 -210
  384. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  385. package/dist/shared/src/containers/Actions/ActionIcon.cjs.js.map +1 -1
  386. package/dist/shared/src/containers/Actions/ActionIcon.es.js.map +1 -1
  387. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  388. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  389. package/dist/shared/src/containers/Actions/Actions.es.js +51 -250
  390. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  391. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js.map +1 -1
  392. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js.map +1 -1
  393. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  394. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  395. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +20 -323
  396. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  397. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.cjs.js.map +1 -1
  398. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.es.js.map +1 -1
  399. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.cjs.js.map +1 -1
  400. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.es.js.map +1 -1
  401. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  402. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  403. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +151 -334
  404. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  405. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +3 -3
  406. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  407. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +27 -329
  408. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  409. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  410. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +39 -236
  412. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  413. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  414. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +65 -255
  416. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  417. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js +1 -1
  418. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js +16 -317
  420. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js.map +1 -1
  421. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  422. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +61 -354
  424. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
  425. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js +5 -5
  426. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js +20 -116
  428. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js.map +1 -1
  429. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  430. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
  431. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +2 -306
  432. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
  433. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.cjs.js +1 -1
  434. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.es.js +51 -147
  436. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.es.js.map +1 -1
  437. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  438. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +2 -202
  440. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  441. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.cjs.js.map +1 -1
  442. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.es.js.map +1 -1
  443. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js.map +1 -1
  444. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.es.js.map +1 -1
  445. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.cjs.js.map +1 -1
  446. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.es.js.map +1 -1
  447. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +9 -9
  448. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  449. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +18 -320
  450. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  451. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  452. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  453. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +13 -217
  454. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  455. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  456. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  457. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +22 -323
  458. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  459. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  460. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  461. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +27 -307
  462. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  463. package/dist/shared/src/containers/DetailsPanel/helpers/buildDetailsPanelTitles.cjs.js.map +1 -1
  464. package/dist/shared/src/containers/DetailsPanel/helpers/buildDetailsPanelTitles.es.js.map +1 -1
  465. package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.cjs.js.map +1 -1
  466. package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.es.js.map +1 -1
  467. package/dist/shared/src/containers/DetailsPanel/helpers/getAllProjectsStatuses.cjs.js.map +1 -1
  468. package/dist/shared/src/containers/DetailsPanel/helpers/getAllProjectsStatuses.es.js.map +1 -1
  469. package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.cjs.js.map +1 -1
  470. package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.es.js.map +1 -1
  471. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js +1 -1
  472. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js.map +1 -1
  473. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js +10 -106
  474. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js.map +1 -1
  475. package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.cjs.js.map +1 -1
  476. package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.es.js.map +1 -1
  477. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  478. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  479. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +2 -209
  480. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  481. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +2 -2
  482. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  483. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +74 -373
  484. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  485. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  486. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  487. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +20 -324
  488. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  489. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +6 -6
  490. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  491. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +32 -338
  492. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  493. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +3 -3
  494. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  495. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +12 -318
  496. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  497. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js +1 -1
  498. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js.map +1 -1
  499. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js +11 -107
  500. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js.map +1 -1
  501. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  502. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  503. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +23 -228
  504. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  505. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js +1 -1
  506. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js.map +1 -1
  507. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js +27 -123
  508. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js.map +1 -1
  509. package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.cjs.js.map +1 -1
  510. package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.es.js.map +1 -1
  511. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  512. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  513. package/dist/shared/src/containers/Feed/Feed.es.js +65 -245
  514. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  515. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js.map +1 -1
  516. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.es.js.map +1 -1
  517. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  518. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  519. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +8 -309
  520. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  521. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  522. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  523. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +145 -421
  524. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  525. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  526. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  527. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +18 -317
  528. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  529. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js +1 -1
  530. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js.map +1 -1
  531. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js +24 -120
  532. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js.map +1 -1
  533. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  534. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  535. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +42 -331
  536. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  537. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js.map +1 -1
  538. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.styled.es.js.map +1 -1
  539. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  540. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  541. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +227 -372
  542. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  543. package/dist/shared/src/containers/Feed/components/CommentInput/VersionReviewPill.cjs.js.map +1 -1
  544. package/dist/shared/src/containers/Feed/components/CommentInput/VersionReviewPill.es.js.map +1 -1
  545. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  546. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  547. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +38 -341
  548. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  549. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  550. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  551. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +22 -324
  552. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  553. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js +1 -1
  554. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js.map +1 -1
  555. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js +9 -105
  556. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js.map +1 -1
  557. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  558. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  559. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +21 -324
  560. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  561. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.cjs.js +1 -1
  562. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.cjs.js.map +1 -1
  563. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.es.js +16 -26
  564. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.es.js.map +1 -1
  565. package/dist/shared/src/containers/Feed/components/CommentInput/quillFormats.cjs.js +2 -0
  566. package/dist/shared/src/containers/Feed/components/CommentInput/quillFormats.cjs.js.map +1 -0
  567. package/dist/shared/src/containers/Feed/components/CommentInput/quillFormats.es.js +14 -0
  568. package/dist/shared/src/containers/Feed/components/CommentInput/quillFormats.es.js.map +1 -0
  569. package/dist/shared/src/containers/Feed/components/CommentInput/types.cjs.js +1 -1
  570. package/dist/shared/src/containers/Feed/components/CommentInput/types.cjs.js.map +1 -1
  571. package/dist/shared/src/containers/Feed/components/CommentInput/types.es.js +2 -15
  572. package/dist/shared/src/containers/Feed/components/CommentInput/types.es.js.map +1 -1
  573. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +2 -2
  574. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js.map +1 -1
  575. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +62 -361
  576. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js.map +1 -1
  577. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  578. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  579. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +57 -356
  580. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  581. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  582. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  583. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +14 -310
  584. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  585. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  586. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  587. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +34 -238
  588. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  589. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.cjs.js +1 -1
  590. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.cjs.js.map +1 -1
  591. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.es.js +24 -18
  592. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.es.js.map +1 -1
  593. package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.cjs.js +1 -1
  594. package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.cjs.js.map +1 -1
  595. package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.es.js +26 -25
  596. package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.es.js.map +1 -1
  597. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js +1 -1
  598. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js.map +1 -1
  599. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js +67 -163
  600. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js.map +1 -1
  601. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.cjs.js.map +1 -1
  602. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.es.js +18 -8
  603. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.es.js.map +1 -1
  604. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js +1 -1
  605. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js.map +1 -1
  606. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js +10 -106
  607. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js.map +1 -1
  608. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionUsers.cjs.js.map +1 -1
  609. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionUsers.es.js.map +1 -1
  610. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js +1 -1
  611. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js.map +1 -1
  612. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js +13 -109
  613. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js.map +1 -1
  614. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  615. package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
  616. package/dist/shared/src/containers/ListTable/ListTable.es.js +115 -284
  617. package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
  618. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  619. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  620. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +56 -177
  621. package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
  622. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  623. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
  624. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +46 -343
  625. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
  626. package/dist/shared/src/containers/ListTable/ListTableWidgets.cjs.js.map +1 -1
  627. package/dist/shared/src/containers/ListTable/ListTableWidgets.es.js.map +1 -1
  628. package/dist/shared/src/containers/MoveEntityDialog/MoveEntityDialog.cjs.js.map +1 -1
  629. package/dist/shared/src/containers/MoveEntityDialog/MoveEntityDialog.es.js.map +1 -1
  630. package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js +3 -3
  631. package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js.map +1 -1
  632. package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js +170 -459
  633. package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js.map +1 -1
  634. package/dist/shared/src/containers/NewEntity/components/TypeEditor.cjs.js.map +1 -1
  635. package/dist/shared/src/containers/NewEntity/components/TypeEditor.es.js.map +1 -1
  636. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js +1 -1
  637. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js.map +1 -1
  638. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.es.js +117 -314
  639. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.es.js.map +1 -1
  640. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  641. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  642. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +613 -883
  643. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  644. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +6 -0
  645. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
  646. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +14 -8
  647. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
  648. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  649. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  650. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +289 -413
  651. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  652. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  653. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  654. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +75 -375
  655. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  656. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  657. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  658. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +32 -204
  659. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  660. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  661. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  662. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +38 -124
  663. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  664. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js +7 -7
  665. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js.map +1 -1
  666. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js +35 -131
  667. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js.map +1 -1
  668. package/dist/shared/src/containers/ProjectTreeTable/constants.cjs.js +1 -1
  669. package/dist/shared/src/containers/ProjectTreeTable/constants.cjs.js.map +1 -1
  670. package/dist/shared/src/containers/ProjectTreeTable/constants.es.js +6 -3
  671. package/dist/shared/src/containers/ProjectTreeTable/constants.es.js.map +1 -1
  672. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  673. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  674. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +97 -292
  675. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  676. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +4 -4
  677. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  678. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +243 -441
  679. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  680. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  681. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  682. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +156 -330
  683. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  684. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  685. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  686. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +4 -208
  687. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  688. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +1 -1
  689. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  690. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +120 -420
  691. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  692. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  693. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  694. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +71 -245
  695. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  696. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.cjs.js.map +1 -1
  697. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.es.js +3 -3
  698. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.es.js.map +1 -1
  699. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.cjs.js.map +1 -1
  700. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.es.js.map +1 -1
  701. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.cjs.js.map +1 -1
  702. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.es.js.map +1 -1
  703. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js +1 -1
  704. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js.map +1 -1
  705. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js +83 -179
  706. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js.map +1 -1
  707. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  708. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  709. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +13 -317
  710. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  711. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  712. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  713. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +59 -233
  714. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  715. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  716. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  717. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +74 -248
  718. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  719. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  720. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  721. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +147 -439
  722. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  723. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  724. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  725. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +23 -197
  726. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  727. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  728. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  729. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +32 -206
  730. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  731. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  732. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  733. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +32 -332
  734. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  735. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  736. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  737. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +135 -335
  738. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  739. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js.map +1 -1
  740. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js.map +1 -1
  741. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  742. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  743. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +29 -203
  744. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  745. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  746. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  747. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +36 -204
  748. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  749. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  750. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  751. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +78 -282
  752. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  753. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  754. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  755. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +31 -232
  756. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  757. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  758. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  759. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +24 -198
  760. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  761. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  762. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  763. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +43 -217
  764. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  765. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  766. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  767. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +167 -467
  768. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  769. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  770. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  771. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +41 -215
  772. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  773. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js.map +1 -1
  774. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js.map +1 -1
  775. package/dist/shared/src/containers/ProjectTreeTable/utils/getEntityViewerIds.cjs.js.map +1 -1
  776. package/dist/shared/src/containers/ProjectTreeTable/utils/getEntityViewerIds.es.js.map +1 -1
  777. package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.cjs.js.map +1 -1
  778. package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.es.js.map +1 -1
  779. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js.map +1 -1
  780. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js.map +1 -1
  781. package/dist/shared/src/containers/ProjectTreeTable/utils/getTypeDefaultValue.cjs.js.map +1 -1
  782. package/dist/shared/src/containers/ProjectTreeTable/utils/getTypeDefaultValue.es.js.map +1 -1
  783. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.cjs.js.map +1 -1
  784. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.es.js.map +1 -1
  785. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.cjs.js.map +1 -1
  786. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.es.js.map +1 -1
  787. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
  788. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
  789. package/dist/shared/src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.cjs.js.map +1 -1
  790. package/dist/shared/src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.es.js.map +1 -1
  791. package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.cjs.js.map +1 -1
  792. package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.es.js.map +1 -1
  793. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +2 -2
  794. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  795. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +14 -315
  796. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  797. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +5 -3
  798. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  799. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +159 -441
  800. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  801. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +5 -5
  802. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
  803. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +40 -332
  804. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
  805. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.cjs.js +9 -1
  806. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.cjs.js.map +1 -1
  807. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.es.js +47 -31
  808. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.es.js.map +1 -1
  809. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js +28 -9
  810. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js.map +1 -1
  811. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js +58 -39
  812. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js.map +1 -1
  813. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.cjs.js +1 -1
  814. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.cjs.js.map +1 -1
  815. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.es.js +22 -194
  816. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.es.js.map +1 -1
  817. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js +53 -25
  818. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js.map +1 -1
  819. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js +150 -103
  820. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js.map +1 -1
  821. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +9 -2
  822. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
  823. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +66 -57
  824. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
  825. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +3 -3
  826. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  827. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +52 -348
  828. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  829. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +5 -5
  830. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
  831. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +77 -364
  832. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js.map +1 -1
  833. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  834. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  835. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +28 -202
  836. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  837. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  838. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  839. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +37 -333
  840. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  841. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +5 -5
  842. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
  843. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +130 -424
  844. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
  845. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +19 -3
  846. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
  847. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +119 -196
  848. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
  849. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +5 -5
  850. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -1
  851. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +12 -108
  852. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js.map +1 -1
  853. package/dist/shared/src/containers/ProjectTreeTable/widgets/wrapMode.cjs.js +6 -0
  854. package/dist/shared/src/containers/ProjectTreeTable/widgets/wrapMode.cjs.js.map +1 -0
  855. package/dist/shared/src/containers/ProjectTreeTable/widgets/wrapMode.es.js +11 -0
  856. package/dist/shared/src/containers/ProjectTreeTable/widgets/wrapMode.es.js.map +1 -0
  857. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  858. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  859. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +20 -217
  860. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  861. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  862. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  863. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +231 -527
  864. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  865. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +2 -2
  866. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -1
  867. package/dist/shared/src/containers/Slicer/components/Slicer.es.js +69 -367
  868. package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -1
  869. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +2 -2
  870. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
  871. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +18 -318
  872. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -1
  873. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +2 -2
  874. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  875. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +24 -328
  876. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  877. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  878. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  879. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +69 -370
  880. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  881. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
  882. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
  883. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +27 -228
  884. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
  885. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js +1 -1
  886. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js.map +1 -1
  887. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.es.js +34 -236
  888. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.es.js.map +1 -1
  889. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +1 -1
  890. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -1
  891. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +5 -309
  892. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
  893. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +1 -1
  894. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -1
  895. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +7 -311
  896. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -1
  897. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js +1 -1
  898. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js.map +1 -1
  899. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js +11 -314
  900. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js.map +1 -1
  901. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js +1 -1
  902. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js.map +1 -1
  903. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js +13 -316
  904. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js.map +1 -1
  905. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js +1 -1
  906. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js.map +1 -1
  907. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js +34 -338
  908. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js.map +1 -1
  909. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js +1 -1
  910. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js.map +1 -1
  911. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js +11 -316
  912. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js.map +1 -1
  913. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  914. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  915. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +72 -368
  916. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  917. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -1
  918. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -1
  919. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.cjs.js.map +1 -1
  920. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.es.js.map +1 -1
  921. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js +1 -1
  922. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js.map +1 -1
  923. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js +24 -120
  924. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js.map +1 -1
  925. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.cjs.js.map +1 -1
  926. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.es.js.map +1 -1
  927. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  928. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  929. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +35 -336
  930. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  931. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  932. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  933. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +55 -354
  934. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  935. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +2 -2
  936. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  937. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +40 -335
  938. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  939. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  940. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  941. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +89 -287
  942. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  943. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js +1 -1
  944. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js.map +1 -1
  945. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js +17 -113
  946. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js.map +1 -1
  947. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -1
  948. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
  949. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +45 -141
  950. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
  951. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.cjs.js.map +1 -1
  952. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.es.js.map +1 -1
  953. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  954. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  955. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +22 -216
  956. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  957. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  958. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  959. package/dist/shared/src/containers/Views/types.cjs.js.map +1 -1
  960. package/dist/shared/src/containers/Views/types.es.js.map +1 -1
  961. package/dist/shared/src/containers/Views/utils/generateWorkingView.cjs.js.map +1 -1
  962. package/dist/shared/src/containers/Views/utils/generateWorkingView.es.js.map +1 -1
  963. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  964. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  965. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +47 -46
  966. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  967. package/dist/shared/src/context/AddonContext.cjs.js.map +1 -1
  968. package/dist/shared/src/context/AddonContext.es.js.map +1 -1
  969. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  970. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  971. package/dist/shared/src/context/AddonProjectContext.es.js +19 -115
  972. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  973. package/dist/shared/src/context/DeleteEntitiesContext.cjs.js +1 -1
  974. package/dist/shared/src/context/DeleteEntitiesContext.cjs.js.map +1 -1
  975. package/dist/shared/src/context/DeleteEntitiesContext.es.js +1 -1
  976. package/dist/shared/src/context/DeleteEntitiesContext.es.js.map +1 -1
  977. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  978. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  979. package/dist/shared/src/context/DetailsPanelContext.es.js +66 -362
  980. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  981. package/dist/shared/src/context/EntityUpdatesContext.cjs.js +1 -1
  982. package/dist/shared/src/context/EntityUpdatesContext.cjs.js.map +1 -1
  983. package/dist/shared/src/context/EntityUpdatesContext.es.js +61 -358
  984. package/dist/shared/src/context/EntityUpdatesContext.es.js.map +1 -1
  985. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  986. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  987. package/dist/shared/src/context/PowerpackContext.es.js +42 -344
  988. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  989. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  990. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  991. package/dist/shared/src/context/ProjectContext.es.js +1 -1
  992. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  993. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  994. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  995. package/dist/shared/src/context/ProjectFoldersContext.es.js +26 -231
  996. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  997. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  998. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  999. package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
  1000. package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
  1001. package/dist/shared/src/context/SubtasksModulesContext.es.js +23 -324
  1002. package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
  1003. package/dist/shared/src/context/ThumbnailUploaderContext.cjs.js +1 -1
  1004. package/dist/shared/src/context/ThumbnailUploaderContext.cjs.js.map +1 -1
  1005. package/dist/shared/src/context/ThumbnailUploaderContext.es.js +17 -21
  1006. package/dist/shared/src/context/ThumbnailUploaderContext.es.js.map +1 -1
  1007. package/dist/shared/src/context/UriContext.cjs.js +1 -1
  1008. package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
  1009. package/dist/shared/src/context/UriContext.es.js +2 -2
  1010. package/dist/shared/src/context/UriContext.es.js.map +1 -1
  1011. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  1012. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  1013. package/dist/shared/src/context/WebsocketContext.es.js +28 -229
  1014. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  1015. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  1016. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  1017. package/dist/shared/src/hooks/useEntityUpdate.es.js +2 -208
  1018. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  1019. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  1020. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  1021. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +11 -314
  1022. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  1023. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  1024. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  1025. package/dist/shared/src/hooks/useHierarchyTable.es.js +30 -333
  1026. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  1027. package/dist/shared/src/hooks/useLoadModules.cjs.js.map +1 -1
  1028. package/dist/shared/src/hooks/useLoadModules.es.js.map +1 -1
  1029. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js +1 -1
  1030. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js.map +1 -1
  1031. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js +19 -115
  1032. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js.map +1 -1
  1033. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  1034. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  1035. package/dist/shared/src/hooks/useUserProjectConfig.es.js +6 -212
  1036. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  1037. package/dist/shared/src/util/buildHierarchicalTableRows.cjs.js +1 -1
  1038. package/dist/shared/src/util/buildHierarchicalTableRows.cjs.js.map +1 -1
  1039. package/dist/shared/src/util/buildHierarchicalTableRows.es.js +36 -33
  1040. package/dist/shared/src/util/buildHierarchicalTableRows.es.js.map +1 -1
  1041. package/dist/shared/src/util/checkName.cjs.js.map +1 -1
  1042. package/dist/shared/src/util/checkName.es.js.map +1 -1
  1043. package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
  1044. package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
  1045. package/dist/shared/src/util/getAttributeIcon.cjs.js.map +1 -1
  1046. package/dist/shared/src/util/getAttributeIcon.es.js.map +1 -1
  1047. package/dist/shared/src/util/getBundleMode.cjs.js +1 -1
  1048. package/dist/shared/src/util/getBundleMode.cjs.js.map +1 -1
  1049. package/dist/shared/src/util/getBundleMode.es.js +16 -112
  1050. package/dist/shared/src/util/getBundleMode.es.js.map +1 -1
  1051. package/dist/shared/src/util/getGroupByDataType.cjs.js.map +1 -1
  1052. package/dist/shared/src/util/getGroupByDataType.es.js.map +1 -1
  1053. package/dist/shared/src/util/getPriorityOptions.cjs.js.map +1 -1
  1054. package/dist/shared/src/util/getPriorityOptions.es.js.map +1 -1
  1055. package/dist/shared/src/util/iconUtils.cjs.js.map +1 -1
  1056. package/dist/shared/src/util/iconUtils.es.js.map +1 -1
  1057. package/dist/shared/src/util/mentionTypeOptions.cjs.js +2 -0
  1058. package/dist/shared/src/util/mentionTypeOptions.cjs.js.map +1 -0
  1059. package/dist/shared/src/util/mentionTypeOptions.es.js +16 -0
  1060. package/dist/shared/src/util/mentionTypeOptions.es.js.map +1 -0
  1061. package/dist/shared/src/util/parseFilename.cjs.js +2 -0
  1062. package/dist/shared/src/util/parseFilename.cjs.js.map +1 -0
  1063. package/dist/shared/src/util/parseFilename.es.js +8 -0
  1064. package/dist/shared/src/util/parseFilename.es.js.map +1 -0
  1065. package/dist/shared/src/util/uriUtils.cjs.js.map +1 -1
  1066. package/dist/shared/src/util/uriUtils.es.js.map +1 -1
  1067. package/dist/types/api/base/index.d.ts +1 -1
  1068. package/dist/types/api/generated/graphql.d.ts +76 -2
  1069. package/dist/types/api/generated/graphqlLinks.d.ts +1 -0
  1070. package/dist/types/api/queries/activities/getActivities.d.ts +32 -2
  1071. package/dist/types/api/queries/activities/getCategories.d.ts +1 -1
  1072. package/dist/types/api/queries/activities/util/activityRealtimeHandler.d.ts +1 -1
  1073. package/dist/types/api/queries/entities/getEntity.d.ts +16 -1
  1074. package/dist/types/api/queries/entities/getEntityPanel.d.ts +16 -1
  1075. package/dist/types/api/queries/entities/updateEntity.d.ts +16 -1
  1076. package/dist/types/api/queries/entityLists/getLists.d.ts +319 -305
  1077. package/dist/types/api/queries/overview/getOverview.d.ts +49 -18
  1078. package/dist/types/api/queries/project/getProject.d.ts +76 -61
  1079. package/dist/types/api/queries/system/getSystem.d.ts +1 -1
  1080. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +16 -1
  1081. package/dist/types/api/queries/users/getUsers.d.ts +16 -1
  1082. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +32 -2
  1083. package/dist/types/api/queries/views/getViews.d.ts +1 -1
  1084. package/dist/types/components/DetailsPanelDetails/DetailsSection.d.ts +1 -1
  1085. package/dist/types/components/Menu/Menu.d.ts +1 -1
  1086. package/dist/types/components/Menu/MenuList.d.ts +1 -1
  1087. package/dist/types/components/Powerpack/PowerpackButton.d.ts +1 -1
  1088. package/dist/types/components/ProjectTableSettings/ColumnsSettings.d.ts +1 -1
  1089. package/dist/types/components/ProjectTableSettings/ProjectTableSettings.d.ts +2 -2
  1090. package/dist/types/components/ProjectTableSettings/TableSettingsFallback.d.ts +1 -1
  1091. package/dist/types/components/RemotePage/ProjectPageRemote.d.ts +1 -1
  1092. package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +4 -2
  1093. package/dist/types/components/RenameForm/RenameForm.d.ts +1 -1
  1094. package/dist/types/components/ReviewablesList/SortableReviewableCard.d.ts +1 -1
  1095. package/dist/types/components/ReviewablesList/useReviewablesUpload.d.ts +2 -2
  1096. package/dist/types/components/ReviewablesSelector/Card.d.ts +1 -1
  1097. package/dist/types/components/SearchFilter/filterScopeRegistry.d.ts +1 -1
  1098. package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +1 -1
  1099. package/dist/types/components/SettingsPanel/SettingsPanel.d.ts +1 -1
  1100. package/dist/types/components/SubtasksManager/SubtasksManagerWrapper.d.ts +4 -1
  1101. package/dist/types/components/SyncButton/SyncButton.d.ts +1 -1
  1102. package/dist/types/components/Thumbnail/StackedThumbnails.d.ts +1 -2
  1103. package/dist/types/config/plannerFeatures.d.ts +1 -1
  1104. package/dist/types/config/powerpackFeatures.d.ts +1 -1
  1105. package/dist/types/containers/Actions/Actions.d.ts +2 -2
  1106. package/dist/types/containers/ContextMenu/ContextMenuItem.d.ts +1 -1
  1107. package/dist/types/containers/ContextMenu/useCreateContextMenu.d.ts +1 -1
  1108. package/dist/types/containers/DetailsPanel/DetailsPanel.d.ts +1 -1
  1109. package/dist/types/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.d.ts +2 -2
  1110. package/dist/types/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.d.ts +1 -1
  1111. package/dist/types/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.d.ts +2 -2
  1112. package/dist/types/containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.d.ts +1 -1
  1113. package/dist/types/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.d.ts +3 -3
  1114. package/dist/types/containers/DetailsPanel/containers/DetailsPanelSubtasks.d.ts +1 -1
  1115. package/dist/types/containers/DetailsPanel/helpers/buildEntityTypeIcons.d.ts +1 -1
  1116. package/dist/types/containers/DetailsPanel/helpers/getEntityPathData.d.ts +1 -1
  1117. package/dist/types/containers/DetailsPanel/helpers/mergeProjectInfo.d.ts +1 -1
  1118. package/dist/types/containers/DetailsPanel/hooks/useGetEntityPath.d.ts +1 -1
  1119. package/dist/types/containers/EntityPickerDialog/components/EntityTypeTable.d.ts +1 -1
  1120. package/dist/types/containers/EntityPickerDialog/hooks/useGetEntityPickerData.d.ts +1 -1
  1121. package/dist/types/containers/EntityPickerDialog/util/buildEntityPickerTableData.d.ts +1 -1
  1122. package/dist/types/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.d.ts +1 -1
  1123. package/dist/types/containers/Feed/components/ActivityReference/ActivityReference.styled.d.ts +2 -2
  1124. package/dist/types/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.d.ts +1 -1
  1125. package/dist/types/containers/Feed/components/ActivityVersions/ActivityVersions.styled.d.ts +1 -1
  1126. package/dist/types/containers/Feed/components/CommentInput/modules/index.d.ts +1 -1
  1127. package/dist/types/containers/Feed/components/CommentInput/quillFormats.d.ts +1 -0
  1128. package/dist/types/containers/Feed/components/CommentInput/types.d.ts +1 -12
  1129. package/dist/types/containers/Feed/components/FileUploadCard/FileUploadCard.d.ts +1 -1
  1130. package/dist/types/containers/Feed/context/FeedContext.d.ts +1 -1
  1131. package/dist/types/containers/Feed/helpers/buildBackendFilter.d.ts +1 -0
  1132. package/dist/types/containers/Feed/hooks/useLastVersionReview.d.ts +1 -1
  1133. package/dist/types/containers/Feed/mentionHelpers/getMentionTasks.d.ts +1 -1
  1134. package/dist/types/containers/Feed/mentionHelpers/getMentionUsers.d.ts +1 -1
  1135. package/dist/types/containers/Feed/mentionHelpers/getMentionVersions.d.ts +2 -2
  1136. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +1 -1
  1137. package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +2 -1
  1138. package/dist/types/containers/ProjectTreeTable/constants.d.ts +3 -0
  1139. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +4 -3
  1140. package/dist/types/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +1 -1
  1141. package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +4 -5
  1142. package/dist/types/containers/ProjectTreeTable/hooks/useFolderRelationships.d.ts +1 -1
  1143. package/dist/types/containers/ProjectTreeTable/hooks/useGetEntityTypeData.d.ts +2 -2
  1144. package/dist/types/containers/ProjectTreeTable/hooks/useMoveEntities.d.ts +1 -1
  1145. package/dist/types/containers/ProjectTreeTable/hooks/usePasteLinks.d.ts +1 -1
  1146. package/dist/types/containers/ProjectTreeTable/hooks/useQueryFilters.d.ts +1 -1
  1147. package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +6 -5
  1148. package/dist/types/containers/ProjectTreeTable/utils/getEntityViewerIds.d.ts +1 -1
  1149. package/dist/types/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.d.ts +1 -1
  1150. package/dist/types/containers/ProjectTreeTable/utils/linksToTableData.d.ts +1 -1
  1151. package/dist/types/containers/ProjectTreeTable/utils/sanitizeQueryFilter.d.ts +1 -1
  1152. package/dist/types/containers/ProjectTreeTable/widgets/LinksWidget.d.ts +1 -1
  1153. package/dist/types/containers/ProjectTreeTable/widgets/NameWidget.d.ts +1 -1
  1154. package/dist/types/containers/ProjectTreeTable/widgets/SubtasksWidget.d.ts +1 -0
  1155. package/dist/types/containers/ProjectTreeTable/widgets/TextWidget.d.ts +2 -1
  1156. package/dist/types/containers/ProjectTreeTable/widgets/wrapMode.d.ts +2 -0
  1157. package/dist/types/containers/Slicer/components/Slicer.d.ts +2 -2
  1158. package/dist/types/containers/Slicer/components/SlicerDropdownFallback.d.ts +1 -1
  1159. package/dist/types/containers/Slicer/context/SlicerContext.d.ts +3 -4
  1160. package/dist/types/containers/Slicer/hooks/useEntityListsSlice.d.ts +1 -1
  1161. package/dist/types/containers/Slicer/hooks/useHierarchyContextMenuItems.d.ts +3 -3
  1162. package/dist/types/containers/Slicer/hooks/useProjectAnatomySlices.d.ts +1 -1
  1163. package/dist/types/containers/Slicer/hooks/useSlicerCounts.d.ts +1 -1
  1164. package/dist/types/containers/Slicer/hooks/useUsersTable.d.ts +1 -1
  1165. package/dist/types/containers/Slicer/types.d.ts +1 -1
  1166. package/dist/types/containers/Views/context/ViewsContext.d.ts +1 -0
  1167. package/dist/types/containers/Views/hooks/pages/useListsViewSettings.d.ts +1 -1
  1168. package/dist/types/containers/Views/hooks/pages/useOverviewViewSettings.d.ts +1 -1
  1169. package/dist/types/containers/Views/types.d.ts +1 -1
  1170. package/dist/types/context/AddonContext.d.ts +1 -1
  1171. package/dist/types/context/AddonProjectContext.d.ts +2 -2
  1172. package/dist/types/context/DetailsPanelContext.d.ts +2 -2
  1173. package/dist/types/context/SubtasksModulesContext.d.ts +1 -1
  1174. package/dist/types/hooks/useHierarchyTable.d.ts +1 -1
  1175. package/dist/types/util/buildHierarchicalTableRows.d.ts +3 -1
  1176. package/dist/types/util/columnConfigConverter.d.ts +1 -1
  1177. package/dist/types/util/getBundleMode.d.ts +1 -1
  1178. package/dist/types/util/getGroupByDataType.d.ts +1 -1
  1179. package/dist/types/util/index.d.ts +2 -0
  1180. package/dist/types/util/mentionTypeOptions.d.ts +12 -0
  1181. package/dist/types/util/parseFilename.d.ts +1 -0
  1182. package/dist/types/util/uriUtils.d.ts +1 -1
  1183. package/dist/util.cjs.js +1 -1
  1184. package/dist/util.es.js +24 -20
  1185. package/dist/util.es.js.map +1 -1
  1186. package/package.json +1 -1
  1187. package/dist/shared/src/components/ThumbnailSimple/index.cjs.js +0 -2
  1188. package/dist/shared/src/components/ThumbnailSimple/index.cjs.js.map +0 -1
  1189. package/dist/shared/src/components/ThumbnailSimple/index.es.js +0 -6
  1190. package/dist/shared/src/components/ThumbnailSimple/index.es.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"columnStats.cjs.js","sources":["../../../../../../src/api/queries/columnStats/columnStats.ts"],"sourcesContent":["import { ColumnStats } from '@shared/api/generated'\n// Shape of the backend GraphQL `ColumnStats` (connection.fieldStats).\n// `sum` and `distribution` are typed ahead of backend support so wiring them is a no-op.\nexport interface FieldStats extends ColumnStats {\n primaryCount?: number | null\n secondaryCount?: number | null\n}\n\nconst snakeToCamel = (s: string): string => s.replace(/_([a-z0-9])/g, (_, c) => c.toUpperCase())\n\n// Per-entity \"type\" columns all map to the unified `subType` column in the table.\n// (`product_base_type` is a separate column — productBaseType — so not aliased.)\nconst COLUMN_ALIASES: Record<string, string> = {\n task_type: 'subType',\n folder_type: 'subType',\n product_type: 'subType',\n}\n\n// Canonical frontend column id for a backend column name. Attribute columns keep\n// their `attrib_` form; everything else is snake_case on the backend but camelCase\n// in the table (product_base_type → productBaseType, created_at → createdAt).\nexport const canonicalColumnId = (name: string): string => {\n if (name in COLUMN_ALIASES) return COLUMN_ALIASES[name]\n if (name.startsWith('project_attributes_')) {\n return 'attrib_' + name.slice('project_attributes_'.length)\n }\n if (name.startsWith('inherited_attributes_')) {\n return 'attrib_' + name.slice('inherited_attributes_'.length)\n }\n if (name.startsWith('attrib_')) return name\n return snakeToCamel(name)\n}\n\n// list_of_strings attrs arrive as one bucket keyed by the whole array serialized\n// to text (backend GROUP BY on attrib->>'name'); split it so each element counts.\nconst toDistributionValues = (v: unknown): unknown[] => {\n if (Array.isArray(v)) return v\n if (typeof v === 'string') {\n const t = v.trim()\n if (t.startsWith('[') && t.endsWith(']')) {\n try {\n const parsed = JSON.parse(t)\n if (Array.isArray(parsed)) return parsed\n } catch {}\n }\n }\n return [v]\n}\n\nconst normalizeDistribution = (raw: unknown): FieldStats['distribution'] => {\n if (raw == null) return undefined\n let value = raw\n if (typeof value === 'string') {\n try {\n value = JSON.parse(value)\n } catch {\n return undefined\n }\n }\n if (Array.isArray(value)) {\n // dedupe by value; array buckets (tags/assignees combos) unnest per value\n const byValue = new Map<string, { value: string; count: number }>()\n for (const d of value) {\n if (!d || d.value == null) continue\n const vals = toDistributionValues(d.value)\n for (const raw of vals) {\n const v = String(raw)\n const prev = byValue.get(v)\n byValue.set(v, { ...d, value: v, count: (prev?.count ?? 0) + (Number(d.count) || 0) })\n }\n }\n return [...byValue.values()]\n }\n if (typeof value === 'object') {\n return Object.entries(value as Record<string, unknown>).map(([v, count]) => ({\n value: v,\n count: Number(count) || 0,\n }))\n }\n return undefined\n}\n\nconst sumN = (a?: number | null, b?: number | null): number | undefined =>\n a == null && b == null ? undefined : (a ?? 0) + (b ?? 0)\nconst lowest = <T>(a?: T | null, b?: T | null): T | undefined =>\n a == null ? b ?? undefined : b == null ? a : a < b ? a : b\nconst highest = <T>(a?: T | null, b?: T | null): T | undefined =>\n a == null ? b ?? undefined : b == null ? a : a > b ? a : b\nconst pct = (part?: number, rest?: number): number | undefined =>\n part != null && rest != null && part + rest > 0\n ? Math.round((part / (part + rest)) * 10000) / 100\n : undefined\n\n// Additive combine of one column's stats from two entity sets (e.g. folder +\n// task). Counts sum, min/max widen, percentages recompute, avg is weighted by\n// filled counts when available.\nconst combineTwo = (a: FieldStats, b: FieldStats): FieldStats => {\n const filled = sumN(a.valueFilledCount, b.valueFilledCount)\n const notFilled = sumN(a.valueNotFilledCount, b.valueNotFilledCount)\n const checked = sumN(a.checkedCount, b.checkedCount)\n const notChecked = sumN(a.notCheckedCount, b.notCheckedCount)\n\n let avg: number | undefined\n if (a.avg != null && b.avg != null) {\n const wa = a.valueFilledCount\n const wb = b.valueFilledCount\n avg =\n wa != null && wb != null && wa + wb > 0\n ? (a.avg * wa + b.avg * wb) / (wa + wb)\n : (a.avg + b.avg) / 2\n avg = Math.round(avg * 100) / 100\n } else {\n avg = a.avg ?? b.avg ?? undefined\n }\n\n let distribution: FieldStats['distribution']\n if (a.distribution?.length || b.distribution?.length) {\n const byValue = new Map<string, NonNullable<FieldStats['distribution']>[number]>()\n for (const d of [...(a.distribution ?? []), ...(b.distribution ?? [])]) {\n const prev = byValue.get(d.value)\n byValue.set(d.value, prev ? { ...prev, count: prev.count + d.count } : { ...d })\n }\n distribution = [...byValue.values()]\n }\n\n return {\n columnName: a.columnName,\n min: lowest(a.min, b.min),\n max: highest(a.max, b.max),\n avg,\n sum: sumN(a.sum, b.sum),\n valueFilledCount: filled,\n valueNotFilledCount: notFilled,\n percentageFilled: pct(filled, notFilled),\n percentageNotFilled: pct(notFilled, filled),\n checkedCount: checked,\n notCheckedCount: notChecked,\n checkedPercentage: pct(checked, notChecked),\n notCheckedPercentage: pct(notChecked, checked),\n distribution,\n primaryCount: a.primaryCount ?? b.primaryCount,\n secondaryCount: a.secondaryCount ?? b.secondaryCount,\n }\n}\n\n// Normalize a raw fieldStats response (apply in transformResponse).\nexport const normalizeFieldStats = (stats: FieldStats[]): FieldStats[] =>\n stats.map((s) => ({\n ...s,\n columnName: canonicalColumnId(s.columnName),\n distribution: normalizeDistribution(s.distribution),\n }))\n\n// Merge stats lists by canonical column id, field-wise: overlay's non-null values\n// win, base fills the gaps. A single list also dedupes its own repeated columns.\nexport const mergeFieldStats = (\n overlay: FieldStats[] = [],\n base: FieldStats[] = [],\n): FieldStats[] => {\n const byId = new Map<string, FieldStats>()\n for (const s of base) byId.set(canonicalColumnId(s.columnName), { ...s })\n for (const s of overlay) {\n const id = canonicalColumnId(s.columnName)\n const merged: FieldStats = { ...(byId.get(id) || { columnName: s.columnName }) }\n for (const [k, v] of Object.entries(s)) {\n if (v !== null && v !== undefined) (merged as any)[k] = v\n }\n byId.set(id, merged)\n }\n return [...byId.values()]\n}\n\n// Total row count for an entity set = max(filled + not-filled) across its\n// stat columns. Feeds the main folders/tasks count cell.\nexport const totalRowsFromStats = (stats: FieldStats[]): number =>\n stats.reduce(\n (max, s) => Math.max(max, (s.valueFilledCount ?? 0) + (s.valueNotFilledCount ?? 0)),\n 0,\n )\n\n// Combine primary-entity stats (tasks/versions) with group-entity stats\n// (folders/products) for the \"include groups & folders\" row scope.\nexport const combineFieldStats = (\n primary: FieldStats[],\n group: FieldStats[] = [],\n): FieldStats[] => {\n const byId = new Map<string, FieldStats>()\n for (const s of primary) byId.set(canonicalColumnId(s.columnName), s)\n const out = new Map(byId)\n for (const g of group) {\n const id = canonicalColumnId(g.columnName)\n const p = byId.get(id)\n out.set(id, p ? combineTwo(p, g) : g)\n }\n return [...out.values()]\n}\n\nexport const transformStatsError = (error: any, entityType: string): string => {\n const message = error?.message ?? 'Unknown stats error'\n console.error(`Error fetching ${entityType} stats:`, error)\n return message\n}\n"],"names":["snakeToCamel","s","_","c","COLUMN_ALIASES","canonicalColumnId","name","toDistributionValues","v","t","parsed","normalizeDistribution","raw","value","byValue","d","vals","prev","count","sumN","a","b","lowest","highest","pct","part","rest","combineTwo","filled","notFilled","checked","notChecked","avg","wa","wb","distribution","normalizeFieldStats","stats","mergeFieldStats","overlay","base","byId","id","merged","k","totalRowsFromStats","max","combineFieldStats","primary","group","out","g","p","transformStatsError","error","entityType","message"],"mappings":"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"}
1
+ {"version":3,"file":"columnStats.cjs.js","sources":["../../../../../../src/api/queries/columnStats/columnStats.ts"],"sourcesContent":["import type { ColumnStats } from '@shared/api/generated'\n// Shape of the backend GraphQL `ColumnStats` (connection.fieldStats).\n// `sum` and `distribution` are typed ahead of backend support so wiring them is a no-op.\nexport interface FieldStats extends ColumnStats {\n primaryCount?: number | null\n secondaryCount?: number | null\n}\n\nconst snakeToCamel = (s: string): string => s.replace(/_([a-z0-9])/g, (_, c) => c.toUpperCase())\n\n// Per-entity \"type\" columns all map to the unified `subType` column in the table.\n// (`product_base_type` is a separate column — productBaseType — so not aliased.)\nconst COLUMN_ALIASES: Record<string, string> = {\n task_type: 'subType',\n folder_type: 'subType',\n product_type: 'subType',\n}\n\n// Canonical frontend column id for a backend column name. Attribute columns keep\n// their `attrib_` form; everything else is snake_case on the backend but camelCase\n// in the table (product_base_type → productBaseType, created_at → createdAt).\nexport const canonicalColumnId = (name: string): string => {\n if (name in COLUMN_ALIASES) return COLUMN_ALIASES[name]\n if (name.startsWith('project_attributes_')) {\n return 'attrib_' + name.slice('project_attributes_'.length)\n }\n if (name.startsWith('inherited_attributes_')) {\n return 'attrib_' + name.slice('inherited_attributes_'.length)\n }\n if (name.startsWith('attrib_')) return name\n return snakeToCamel(name)\n}\n\n// list_of_strings attrs arrive as one bucket keyed by the whole array serialized\n// to text (backend GROUP BY on attrib->>'name'); split it so each element counts.\nconst toDistributionValues = (v: unknown): unknown[] => {\n if (Array.isArray(v)) return v\n if (typeof v === 'string') {\n const t = v.trim()\n if (t.startsWith('[') && t.endsWith(']')) {\n try {\n const parsed = JSON.parse(t)\n if (Array.isArray(parsed)) return parsed\n } catch {}\n }\n }\n return [v]\n}\n\nconst normalizeDistribution = (raw: unknown): FieldStats['distribution'] => {\n if (raw == null) return undefined\n let value = raw\n if (typeof value === 'string') {\n try {\n value = JSON.parse(value)\n } catch {\n return undefined\n }\n }\n if (Array.isArray(value)) {\n // dedupe by value; array buckets (tags/assignees combos) unnest per value\n const byValue = new Map<string, { value: string; count: number }>()\n for (const d of value) {\n if (!d || d.value == null) continue\n const vals = toDistributionValues(d.value)\n for (const raw of vals) {\n const v = String(raw)\n const prev = byValue.get(v)\n byValue.set(v, { ...d, value: v, count: (prev?.count ?? 0) + (Number(d.count) || 0) })\n }\n }\n return [...byValue.values()]\n }\n if (typeof value === 'object') {\n return Object.entries(value as Record<string, unknown>).map(([v, count]) => ({\n value: v,\n count: Number(count) || 0,\n }))\n }\n return undefined\n}\n\nconst sumN = (a?: number | null, b?: number | null): number | undefined =>\n a == null && b == null ? undefined : (a ?? 0) + (b ?? 0)\nconst lowest = <T>(a?: T | null, b?: T | null): T | undefined =>\n a == null ? b ?? undefined : b == null ? a : a < b ? a : b\nconst highest = <T>(a?: T | null, b?: T | null): T | undefined =>\n a == null ? b ?? undefined : b == null ? a : a > b ? a : b\nconst pct = (part?: number, rest?: number): number | undefined =>\n part != null && rest != null && part + rest > 0\n ? Math.round((part / (part + rest)) * 10000) / 100\n : undefined\n\n// Additive combine of one column's stats from two entity sets (e.g. folder +\n// task). Counts sum, min/max widen, percentages recompute, avg is weighted by\n// filled counts when available.\nconst combineTwo = (a: FieldStats, b: FieldStats): FieldStats => {\n const filled = sumN(a.valueFilledCount, b.valueFilledCount)\n const notFilled = sumN(a.valueNotFilledCount, b.valueNotFilledCount)\n const checked = sumN(a.checkedCount, b.checkedCount)\n const notChecked = sumN(a.notCheckedCount, b.notCheckedCount)\n\n let avg: number | undefined\n if (a.avg != null && b.avg != null) {\n const wa = a.valueFilledCount\n const wb = b.valueFilledCount\n avg =\n wa != null && wb != null && wa + wb > 0\n ? (a.avg * wa + b.avg * wb) / (wa + wb)\n : (a.avg + b.avg) / 2\n avg = Math.round(avg * 100) / 100\n } else {\n avg = a.avg ?? b.avg ?? undefined\n }\n\n let distribution: FieldStats['distribution']\n if (a.distribution?.length || b.distribution?.length) {\n const byValue = new Map<string, NonNullable<FieldStats['distribution']>[number]>()\n for (const d of [...(a.distribution ?? []), ...(b.distribution ?? [])]) {\n const prev = byValue.get(d.value)\n byValue.set(d.value, prev ? { ...prev, count: prev.count + d.count } : { ...d })\n }\n distribution = [...byValue.values()]\n }\n\n return {\n columnName: a.columnName,\n min: lowest(a.min, b.min),\n max: highest(a.max, b.max),\n avg,\n sum: sumN(a.sum, b.sum),\n valueFilledCount: filled,\n valueNotFilledCount: notFilled,\n percentageFilled: pct(filled, notFilled),\n percentageNotFilled: pct(notFilled, filled),\n checkedCount: checked,\n notCheckedCount: notChecked,\n checkedPercentage: pct(checked, notChecked),\n notCheckedPercentage: pct(notChecked, checked),\n distribution,\n primaryCount: a.primaryCount ?? b.primaryCount,\n secondaryCount: a.secondaryCount ?? b.secondaryCount,\n }\n}\n\n// Normalize a raw fieldStats response (apply in transformResponse).\nexport const normalizeFieldStats = (stats: FieldStats[]): FieldStats[] =>\n stats.map((s) => ({\n ...s,\n columnName: canonicalColumnId(s.columnName),\n distribution: normalizeDistribution(s.distribution),\n }))\n\n// Merge stats lists by canonical column id, field-wise: overlay's non-null values\n// win, base fills the gaps. A single list also dedupes its own repeated columns.\nexport const mergeFieldStats = (\n overlay: FieldStats[] = [],\n base: FieldStats[] = [],\n): FieldStats[] => {\n const byId = new Map<string, FieldStats>()\n for (const s of base) byId.set(canonicalColumnId(s.columnName), { ...s })\n for (const s of overlay) {\n const id = canonicalColumnId(s.columnName)\n const merged: FieldStats = { ...(byId.get(id) || { columnName: s.columnName }) }\n for (const [k, v] of Object.entries(s)) {\n if (v !== null && v !== undefined) (merged as any)[k] = v\n }\n byId.set(id, merged)\n }\n return [...byId.values()]\n}\n\n// Total row count for an entity set = max(filled + not-filled) across its\n// stat columns. Feeds the main folders/tasks count cell.\nexport const totalRowsFromStats = (stats: FieldStats[]): number =>\n stats.reduce(\n (max, s) => Math.max(max, (s.valueFilledCount ?? 0) + (s.valueNotFilledCount ?? 0)),\n 0,\n )\n\n// Combine primary-entity stats (tasks/versions) with group-entity stats\n// (folders/products) for the \"include groups & folders\" row scope.\nexport const combineFieldStats = (\n primary: FieldStats[],\n group: FieldStats[] = [],\n): FieldStats[] => {\n const byId = new Map<string, FieldStats>()\n for (const s of primary) byId.set(canonicalColumnId(s.columnName), s)\n const out = new Map(byId)\n for (const g of group) {\n const id = canonicalColumnId(g.columnName)\n const p = byId.get(id)\n out.set(id, p ? combineTwo(p, g) : g)\n }\n return [...out.values()]\n}\n\nexport const transformStatsError = (error: any, entityType: string): string => {\n const message = error?.message ?? 'Unknown stats error'\n console.error(`Error fetching ${entityType} stats:`, error)\n return message\n}\n"],"names":["snakeToCamel","s","_","c","COLUMN_ALIASES","canonicalColumnId","name","toDistributionValues","v","t","parsed","normalizeDistribution","raw","value","byValue","d","vals","prev","count","sumN","a","b","lowest","highest","pct","part","rest","combineTwo","filled","notFilled","checked","notChecked","avg","wa","wb","distribution","normalizeFieldStats","stats","mergeFieldStats","overlay","base","byId","id","merged","k","totalRowsFromStats","max","combineFieldStats","primary","group","out","g","p","transformStatsError","error","entityType","message"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"columnStats.es.js","sources":["../../../../../../src/api/queries/columnStats/columnStats.ts"],"sourcesContent":["import { ColumnStats } from '@shared/api/generated'\n// Shape of the backend GraphQL `ColumnStats` (connection.fieldStats).\n// `sum` and `distribution` are typed ahead of backend support so wiring them is a no-op.\nexport interface FieldStats extends ColumnStats {\n primaryCount?: number | null\n secondaryCount?: number | null\n}\n\nconst snakeToCamel = (s: string): string => s.replace(/_([a-z0-9])/g, (_, c) => c.toUpperCase())\n\n// Per-entity \"type\" columns all map to the unified `subType` column in the table.\n// (`product_base_type` is a separate column — productBaseType — so not aliased.)\nconst COLUMN_ALIASES: Record<string, string> = {\n task_type: 'subType',\n folder_type: 'subType',\n product_type: 'subType',\n}\n\n// Canonical frontend column id for a backend column name. Attribute columns keep\n// their `attrib_` form; everything else is snake_case on the backend but camelCase\n// in the table (product_base_type → productBaseType, created_at → createdAt).\nexport const canonicalColumnId = (name: string): string => {\n if (name in COLUMN_ALIASES) return COLUMN_ALIASES[name]\n if (name.startsWith('project_attributes_')) {\n return 'attrib_' + name.slice('project_attributes_'.length)\n }\n if (name.startsWith('inherited_attributes_')) {\n return 'attrib_' + name.slice('inherited_attributes_'.length)\n }\n if (name.startsWith('attrib_')) return name\n return snakeToCamel(name)\n}\n\n// list_of_strings attrs arrive as one bucket keyed by the whole array serialized\n// to text (backend GROUP BY on attrib->>'name'); split it so each element counts.\nconst toDistributionValues = (v: unknown): unknown[] => {\n if (Array.isArray(v)) return v\n if (typeof v === 'string') {\n const t = v.trim()\n if (t.startsWith('[') && t.endsWith(']')) {\n try {\n const parsed = JSON.parse(t)\n if (Array.isArray(parsed)) return parsed\n } catch {}\n }\n }\n return [v]\n}\n\nconst normalizeDistribution = (raw: unknown): FieldStats['distribution'] => {\n if (raw == null) return undefined\n let value = raw\n if (typeof value === 'string') {\n try {\n value = JSON.parse(value)\n } catch {\n return undefined\n }\n }\n if (Array.isArray(value)) {\n // dedupe by value; array buckets (tags/assignees combos) unnest per value\n const byValue = new Map<string, { value: string; count: number }>()\n for (const d of value) {\n if (!d || d.value == null) continue\n const vals = toDistributionValues(d.value)\n for (const raw of vals) {\n const v = String(raw)\n const prev = byValue.get(v)\n byValue.set(v, { ...d, value: v, count: (prev?.count ?? 0) + (Number(d.count) || 0) })\n }\n }\n return [...byValue.values()]\n }\n if (typeof value === 'object') {\n return Object.entries(value as Record<string, unknown>).map(([v, count]) => ({\n value: v,\n count: Number(count) || 0,\n }))\n }\n return undefined\n}\n\nconst sumN = (a?: number | null, b?: number | null): number | undefined =>\n a == null && b == null ? undefined : (a ?? 0) + (b ?? 0)\nconst lowest = <T>(a?: T | null, b?: T | null): T | undefined =>\n a == null ? b ?? undefined : b == null ? a : a < b ? a : b\nconst highest = <T>(a?: T | null, b?: T | null): T | undefined =>\n a == null ? b ?? undefined : b == null ? a : a > b ? a : b\nconst pct = (part?: number, rest?: number): number | undefined =>\n part != null && rest != null && part + rest > 0\n ? Math.round((part / (part + rest)) * 10000) / 100\n : undefined\n\n// Additive combine of one column's stats from two entity sets (e.g. folder +\n// task). Counts sum, min/max widen, percentages recompute, avg is weighted by\n// filled counts when available.\nconst combineTwo = (a: FieldStats, b: FieldStats): FieldStats => {\n const filled = sumN(a.valueFilledCount, b.valueFilledCount)\n const notFilled = sumN(a.valueNotFilledCount, b.valueNotFilledCount)\n const checked = sumN(a.checkedCount, b.checkedCount)\n const notChecked = sumN(a.notCheckedCount, b.notCheckedCount)\n\n let avg: number | undefined\n if (a.avg != null && b.avg != null) {\n const wa = a.valueFilledCount\n const wb = b.valueFilledCount\n avg =\n wa != null && wb != null && wa + wb > 0\n ? (a.avg * wa + b.avg * wb) / (wa + wb)\n : (a.avg + b.avg) / 2\n avg = Math.round(avg * 100) / 100\n } else {\n avg = a.avg ?? b.avg ?? undefined\n }\n\n let distribution: FieldStats['distribution']\n if (a.distribution?.length || b.distribution?.length) {\n const byValue = new Map<string, NonNullable<FieldStats['distribution']>[number]>()\n for (const d of [...(a.distribution ?? []), ...(b.distribution ?? [])]) {\n const prev = byValue.get(d.value)\n byValue.set(d.value, prev ? { ...prev, count: prev.count + d.count } : { ...d })\n }\n distribution = [...byValue.values()]\n }\n\n return {\n columnName: a.columnName,\n min: lowest(a.min, b.min),\n max: highest(a.max, b.max),\n avg,\n sum: sumN(a.sum, b.sum),\n valueFilledCount: filled,\n valueNotFilledCount: notFilled,\n percentageFilled: pct(filled, notFilled),\n percentageNotFilled: pct(notFilled, filled),\n checkedCount: checked,\n notCheckedCount: notChecked,\n checkedPercentage: pct(checked, notChecked),\n notCheckedPercentage: pct(notChecked, checked),\n distribution,\n primaryCount: a.primaryCount ?? b.primaryCount,\n secondaryCount: a.secondaryCount ?? b.secondaryCount,\n }\n}\n\n// Normalize a raw fieldStats response (apply in transformResponse).\nexport const normalizeFieldStats = (stats: FieldStats[]): FieldStats[] =>\n stats.map((s) => ({\n ...s,\n columnName: canonicalColumnId(s.columnName),\n distribution: normalizeDistribution(s.distribution),\n }))\n\n// Merge stats lists by canonical column id, field-wise: overlay's non-null values\n// win, base fills the gaps. A single list also dedupes its own repeated columns.\nexport const mergeFieldStats = (\n overlay: FieldStats[] = [],\n base: FieldStats[] = [],\n): FieldStats[] => {\n const byId = new Map<string, FieldStats>()\n for (const s of base) byId.set(canonicalColumnId(s.columnName), { ...s })\n for (const s of overlay) {\n const id = canonicalColumnId(s.columnName)\n const merged: FieldStats = { ...(byId.get(id) || { columnName: s.columnName }) }\n for (const [k, v] of Object.entries(s)) {\n if (v !== null && v !== undefined) (merged as any)[k] = v\n }\n byId.set(id, merged)\n }\n return [...byId.values()]\n}\n\n// Total row count for an entity set = max(filled + not-filled) across its\n// stat columns. Feeds the main folders/tasks count cell.\nexport const totalRowsFromStats = (stats: FieldStats[]): number =>\n stats.reduce(\n (max, s) => Math.max(max, (s.valueFilledCount ?? 0) + (s.valueNotFilledCount ?? 0)),\n 0,\n )\n\n// Combine primary-entity stats (tasks/versions) with group-entity stats\n// (folders/products) for the \"include groups & folders\" row scope.\nexport const combineFieldStats = (\n primary: FieldStats[],\n group: FieldStats[] = [],\n): FieldStats[] => {\n const byId = new Map<string, FieldStats>()\n for (const s of primary) byId.set(canonicalColumnId(s.columnName), s)\n const out = new Map(byId)\n for (const g of group) {\n const id = canonicalColumnId(g.columnName)\n const p = byId.get(id)\n out.set(id, p ? combineTwo(p, g) : g)\n }\n return [...out.values()]\n}\n\nexport const transformStatsError = (error: any, entityType: string): string => {\n const message = error?.message ?? 'Unknown stats error'\n console.error(`Error fetching ${entityType} stats:`, error)\n return message\n}\n"],"names":["snakeToCamel","s","_","c","COLUMN_ALIASES","canonicalColumnId","name","toDistributionValues","v","t","parsed","normalizeDistribution","raw","value","byValue","d","vals","prev","count","sumN","a","b","lowest","highest","pct","part","rest","combineTwo","filled","notFilled","checked","notChecked","avg","wa","wb","distribution","normalizeFieldStats","stats","mergeFieldStats","overlay","base","byId","id","merged","k","totalRowsFromStats","max","combineFieldStats","primary","group","out","g","p","transformStatsError","error","entityType","message"],"mappings":"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"}
1
+ {"version":3,"file":"columnStats.es.js","sources":["../../../../../../src/api/queries/columnStats/columnStats.ts"],"sourcesContent":["import type { ColumnStats } from '@shared/api/generated'\n// Shape of the backend GraphQL `ColumnStats` (connection.fieldStats).\n// `sum` and `distribution` are typed ahead of backend support so wiring them is a no-op.\nexport interface FieldStats extends ColumnStats {\n primaryCount?: number | null\n secondaryCount?: number | null\n}\n\nconst snakeToCamel = (s: string): string => s.replace(/_([a-z0-9])/g, (_, c) => c.toUpperCase())\n\n// Per-entity \"type\" columns all map to the unified `subType` column in the table.\n// (`product_base_type` is a separate column — productBaseType — so not aliased.)\nconst COLUMN_ALIASES: Record<string, string> = {\n task_type: 'subType',\n folder_type: 'subType',\n product_type: 'subType',\n}\n\n// Canonical frontend column id for a backend column name. Attribute columns keep\n// their `attrib_` form; everything else is snake_case on the backend but camelCase\n// in the table (product_base_type → productBaseType, created_at → createdAt).\nexport const canonicalColumnId = (name: string): string => {\n if (name in COLUMN_ALIASES) return COLUMN_ALIASES[name]\n if (name.startsWith('project_attributes_')) {\n return 'attrib_' + name.slice('project_attributes_'.length)\n }\n if (name.startsWith('inherited_attributes_')) {\n return 'attrib_' + name.slice('inherited_attributes_'.length)\n }\n if (name.startsWith('attrib_')) return name\n return snakeToCamel(name)\n}\n\n// list_of_strings attrs arrive as one bucket keyed by the whole array serialized\n// to text (backend GROUP BY on attrib->>'name'); split it so each element counts.\nconst toDistributionValues = (v: unknown): unknown[] => {\n if (Array.isArray(v)) return v\n if (typeof v === 'string') {\n const t = v.trim()\n if (t.startsWith('[') && t.endsWith(']')) {\n try {\n const parsed = JSON.parse(t)\n if (Array.isArray(parsed)) return parsed\n } catch {}\n }\n }\n return [v]\n}\n\nconst normalizeDistribution = (raw: unknown): FieldStats['distribution'] => {\n if (raw == null) return undefined\n let value = raw\n if (typeof value === 'string') {\n try {\n value = JSON.parse(value)\n } catch {\n return undefined\n }\n }\n if (Array.isArray(value)) {\n // dedupe by value; array buckets (tags/assignees combos) unnest per value\n const byValue = new Map<string, { value: string; count: number }>()\n for (const d of value) {\n if (!d || d.value == null) continue\n const vals = toDistributionValues(d.value)\n for (const raw of vals) {\n const v = String(raw)\n const prev = byValue.get(v)\n byValue.set(v, { ...d, value: v, count: (prev?.count ?? 0) + (Number(d.count) || 0) })\n }\n }\n return [...byValue.values()]\n }\n if (typeof value === 'object') {\n return Object.entries(value as Record<string, unknown>).map(([v, count]) => ({\n value: v,\n count: Number(count) || 0,\n }))\n }\n return undefined\n}\n\nconst sumN = (a?: number | null, b?: number | null): number | undefined =>\n a == null && b == null ? undefined : (a ?? 0) + (b ?? 0)\nconst lowest = <T>(a?: T | null, b?: T | null): T | undefined =>\n a == null ? b ?? undefined : b == null ? a : a < b ? a : b\nconst highest = <T>(a?: T | null, b?: T | null): T | undefined =>\n a == null ? b ?? undefined : b == null ? a : a > b ? a : b\nconst pct = (part?: number, rest?: number): number | undefined =>\n part != null && rest != null && part + rest > 0\n ? Math.round((part / (part + rest)) * 10000) / 100\n : undefined\n\n// Additive combine of one column's stats from two entity sets (e.g. folder +\n// task). Counts sum, min/max widen, percentages recompute, avg is weighted by\n// filled counts when available.\nconst combineTwo = (a: FieldStats, b: FieldStats): FieldStats => {\n const filled = sumN(a.valueFilledCount, b.valueFilledCount)\n const notFilled = sumN(a.valueNotFilledCount, b.valueNotFilledCount)\n const checked = sumN(a.checkedCount, b.checkedCount)\n const notChecked = sumN(a.notCheckedCount, b.notCheckedCount)\n\n let avg: number | undefined\n if (a.avg != null && b.avg != null) {\n const wa = a.valueFilledCount\n const wb = b.valueFilledCount\n avg =\n wa != null && wb != null && wa + wb > 0\n ? (a.avg * wa + b.avg * wb) / (wa + wb)\n : (a.avg + b.avg) / 2\n avg = Math.round(avg * 100) / 100\n } else {\n avg = a.avg ?? b.avg ?? undefined\n }\n\n let distribution: FieldStats['distribution']\n if (a.distribution?.length || b.distribution?.length) {\n const byValue = new Map<string, NonNullable<FieldStats['distribution']>[number]>()\n for (const d of [...(a.distribution ?? []), ...(b.distribution ?? [])]) {\n const prev = byValue.get(d.value)\n byValue.set(d.value, prev ? { ...prev, count: prev.count + d.count } : { ...d })\n }\n distribution = [...byValue.values()]\n }\n\n return {\n columnName: a.columnName,\n min: lowest(a.min, b.min),\n max: highest(a.max, b.max),\n avg,\n sum: sumN(a.sum, b.sum),\n valueFilledCount: filled,\n valueNotFilledCount: notFilled,\n percentageFilled: pct(filled, notFilled),\n percentageNotFilled: pct(notFilled, filled),\n checkedCount: checked,\n notCheckedCount: notChecked,\n checkedPercentage: pct(checked, notChecked),\n notCheckedPercentage: pct(notChecked, checked),\n distribution,\n primaryCount: a.primaryCount ?? b.primaryCount,\n secondaryCount: a.secondaryCount ?? b.secondaryCount,\n }\n}\n\n// Normalize a raw fieldStats response (apply in transformResponse).\nexport const normalizeFieldStats = (stats: FieldStats[]): FieldStats[] =>\n stats.map((s) => ({\n ...s,\n columnName: canonicalColumnId(s.columnName),\n distribution: normalizeDistribution(s.distribution),\n }))\n\n// Merge stats lists by canonical column id, field-wise: overlay's non-null values\n// win, base fills the gaps. A single list also dedupes its own repeated columns.\nexport const mergeFieldStats = (\n overlay: FieldStats[] = [],\n base: FieldStats[] = [],\n): FieldStats[] => {\n const byId = new Map<string, FieldStats>()\n for (const s of base) byId.set(canonicalColumnId(s.columnName), { ...s })\n for (const s of overlay) {\n const id = canonicalColumnId(s.columnName)\n const merged: FieldStats = { ...(byId.get(id) || { columnName: s.columnName }) }\n for (const [k, v] of Object.entries(s)) {\n if (v !== null && v !== undefined) (merged as any)[k] = v\n }\n byId.set(id, merged)\n }\n return [...byId.values()]\n}\n\n// Total row count for an entity set = max(filled + not-filled) across its\n// stat columns. Feeds the main folders/tasks count cell.\nexport const totalRowsFromStats = (stats: FieldStats[]): number =>\n stats.reduce(\n (max, s) => Math.max(max, (s.valueFilledCount ?? 0) + (s.valueNotFilledCount ?? 0)),\n 0,\n )\n\n// Combine primary-entity stats (tasks/versions) with group-entity stats\n// (folders/products) for the \"include groups & folders\" row scope.\nexport const combineFieldStats = (\n primary: FieldStats[],\n group: FieldStats[] = [],\n): FieldStats[] => {\n const byId = new Map<string, FieldStats>()\n for (const s of primary) byId.set(canonicalColumnId(s.columnName), s)\n const out = new Map(byId)\n for (const g of group) {\n const id = canonicalColumnId(g.columnName)\n const p = byId.get(id)\n out.set(id, p ? combineTwo(p, g) : g)\n }\n return [...out.values()]\n}\n\nexport const transformStatsError = (error: any, entityType: string): string => {\n const message = error?.message ?? 'Unknown stats error'\n console.error(`Error fetching ${entityType} stats:`, error)\n return message\n}\n"],"names":["snakeToCamel","s","_","c","COLUMN_ALIASES","canonicalColumnId","name","toDistributionValues","v","t","parsed","normalizeDistribution","raw","value","byValue","d","vals","prev","count","sumN","a","b","lowest","highest","pct","part","rest","combineTwo","filled","notFilled","checked","notChecked","avg","wa","wb","distribution","normalizeFieldStats","stats","mergeFieldStats","overlay","base","byId","id","merged","k","totalRowsFromStats","max","combineFieldStats","primary","group","out","g","p","transformStatsError","error","entityType","message"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");const s=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");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 h=require("../../../containers/ProjectTreeTable/utils/checkColumnVisibility.cjs.js"),S=e=>{const r=e?.targets;return Array.isArray(r)?r:r?[r]:[]},d=(e,r,a)=>{const i=r?.[e],o=a?.[e];return i==="none"||o==="none"?!1:i!=null||o!=null},b=(e,r,a,i)=>{const o=new Set([...Object.keys(e??{}),...Object.keys(r??{})]);for(const c of o)if(!(a&&!h.checkColumnVisibility(a,c,i))&&d(c,e,r))return!0;return!1},F=(e,r,a,i)=>r?.name==="none"&&!b(e,r,a,i),k=(e,r)=>{if(!e)return!1;if(!r)return!0;const a=new Set(S(r).map(i=>i.field));return S(e).some(i=>!a.has(i.field))},f=[s.StatsOperation.Filled,s.StatsOperation.NotFilled],m=[s.StatsOperation.Min,s.StatsOperation.Max,s.StatsOperation.Avg,s.StatsOperation.Sum,s.StatsOperation.Filled,s.StatsOperation.NotFilled],u=[s.StatsOperation.Filled,s.StatsOperation.NotFilled,s.StatsOperation.Distribution],v={folder:"folder_type",task:"task_type",product:"product_type",version:null},T=({entity:e,attribs:r,columnVisibility:a,defaultColumnVisibility:i,columnSummaries:o,columnSummaryScopes:c,extraFields:y=[]})=>{const O=t=>h.checkColumnVisibility(a,t,i),l=t=>O(t)&&d(t,o,c),n=[];e==="version"?n.push({field:"status",aggregations:l("status")?u:f}):(n.push({field:"name",aggregations:f}),l("status")&&n.push({field:"status",aggregations:u})),l("tags")&&n.push({field:"tags",aggregations:u}),e==="task"&&l("assignees")&&n.push({field:"assignees",aggregations:u});const p=v[e];p&&l("subType")&&n.push({field:p,aggregations:u});for(const t of y)n.push({field:t,aggregations:u});for(const t of r){if(t.scope&&!t.scope.includes(e)||!l(`attrib_${t.name}`))continue;let g=`attrib.${t.name}`;["folder","task"].includes(e)&&(g=`inherited_attributes.${t.name}`);const q=t.data?.type;q==="integer"||q==="float"?n.push({field:g,aggregations:m}):q==="string"&&n.push({field:g,aggregations:t.data?.enum?.length?u:f})}return n};exports.anySummaryActive=b;exports.buildMetricTargets=T;exports.hasNewTargetFields=k;exports.isSummaryActive=d;exports.shouldSkipColumnStats=F;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");const a=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");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 S=require("../../../containers/ProjectTreeTable/utils/checkColumnVisibility.cjs.js"),h=e=>{const r=e?.targets;return Array.isArray(r)?r:r?[r]:[]},d=(e,r,n)=>{const i=r?.[e],o=n?.[e];return i==="none"||o==="none"?!1:i!=null||o!=null},b=(e,r,n,i)=>{const o=new Set([...Object.keys(e??{}),...Object.keys(r??{})]);for(const c of o)if(!(n&&!S.checkColumnVisibility(n,c,i))&&d(c,e,r))return!0;return!1},F=(e,r,n,i)=>r?.name==="none"&&!b(e,r,n,i),k=(e,r)=>{if(!e)return!1;if(!r)return!0;const n=new Set(h(r).map(i=>i.field));return h(e).some(i=>!n.has(i.field))},q=[a.StatsOperation.Filled,a.StatsOperation.NotFilled],m=[a.StatsOperation.Min,a.StatsOperation.Max,a.StatsOperation.Avg,a.StatsOperation.Sum,a.StatsOperation.Filled,a.StatsOperation.NotFilled],u=[a.StatsOperation.Filled,a.StatsOperation.NotFilled,a.StatsOperation.Distribution],_={folder:"folder_type",task:"task_type",product:"product_type",version:null},v=({entity:e,attribs:r,columnVisibility:n,defaultColumnVisibility:i,columnSummaries:o,columnSummaryScopes:c,extraFields:y=[]})=>{const O=t=>S.checkColumnVisibility(n,t,i),l=t=>O(t)&&d(t,o,c),s=[];e==="version"?s.push({field:"status",aggregations:l("status")?u:q}):(s.push({field:"name",aggregations:q}),l("status")&&s.push({field:"status",aggregations:u})),l("tags")&&s.push({field:"tags",aggregations:u}),e==="task"&&l("assignees")&&s.push({field:"assignees",aggregations:u});const p=_[e];p&&l("subType")&&s.push({field:p,aggregations:u});for(const t of y)s.push({field:t,aggregations:u});for(const t of r){if(t.scope&&!t.scope.includes(e)||!l(`attrib_${t.name}`))continue;let f=`attrib.${t.name}`;["folder","task"].includes(e)&&(f=`inherited_attributes.${t.name}`);const g=t.data?.type;g==="integer"||g==="float"?s.push({field:f,aggregations:m}):g==="string"?s.push({field:f,aggregations:t.data?.enum?.length?u:q}):(g==="list_of_strings"||g==="list_of_integers")&&s.push({field:f,aggregations:u})}return s};exports.anySummaryActive=b;exports.buildMetricTargets=v;exports.hasNewTargetFields=k;exports.isSummaryActive=d;exports.shouldSkipColumnStats=F;
2
2
  //# sourceMappingURL=metricTargets.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metricTargets.cjs.js","sources":["../../../../../../src/api/queries/columnStats/metricTargets.ts"],"sourcesContent":["import type { VisibilityState } from '@tanstack/react-table'\nimport { StatsOperation } from '@shared/api/generated'\nimport { checkColumnVisibility } from '@shared/containers/ProjectTreeTable/utils/checkColumnVisibility'\nimport type { SummaryCalc, RowScope } from '@shared/containers/ProjectTreeTable/types/summaryTypes'\n\nexport type MetricTarget = {\n field: string // column or dot-path for JSONB, e.g. 'status' / 'attrib.fps'\n aggregations: StatsOperation[]\n}\n\nexport type StatsEntity = 'folder' | 'task' | 'product' | 'version'\n\n// matches both MetricTarget[] and the codegen'd single-or-array variables type\ntype TargetsArg = { targets?: { field: string }[] | { field: string } | null }\nconst targetFields = (arg?: TargetsArg): { field: string }[] => {\n const t = arg?.targets\n return Array.isArray(t) ? t : t ? [t] : []\n}\n\nexport const isSummaryActive = (\n columnId: string,\n columnSummaries?: Record<string, SummaryCalc>,\n columnSummaryScopes?: Record<string, RowScope>,\n): boolean => {\n const calc = columnSummaries?.[columnId]\n const scope = columnSummaryScopes?.[columnId]\n if (calc === 'none' || scope === 'none') return false\n return calc != null || scope != null\n}\n\n// True when at least one *visible* column has an active summary — lets callers\n// skip the whole column-stats query when the user has every summary switched off.\n// Visibility matters: a hidden column can still carry a stale summary value, but\n// buildMetricTargets skips it, so it must not keep the query alive either.\nexport const anySummaryActive = (\n columnSummaries?: Record<string, SummaryCalc>,\n columnSummaryScopes?: Record<string, RowScope>,\n columnVisibility?: VisibilityState,\n defaultColumnVisibility?: VisibilityState,\n): boolean => {\n const ids = new Set([\n ...Object.keys(columnSummaries ?? {}),\n ...Object.keys(columnSummaryScopes ?? {}),\n ])\n for (const id of ids) {\n if (columnVisibility && !checkColumnVisibility(columnVisibility, id, defaultColumnVisibility)) {\n continue\n }\n if (isSummaryActive(id, columnSummaries, columnSummaryScopes)) return true\n }\n return false\n}\n\n// The main count (name column) is on by default, so the footer always has at\n// least that to show. Skip the stats fetch only when the user has explicitly\n// turned the name count off too AND no other column has an active summary —\n// otherwise the name cell has no data and can't be re-enabled.\nexport const shouldSkipColumnStats = (\n columnSummaries?: Record<string, SummaryCalc>,\n columnSummaryScopes?: Record<string, RowScope>,\n columnVisibility?: VisibilityState,\n defaultColumnVisibility?: VisibilityState,\n): boolean =>\n columnSummaryScopes?.['name'] === 'none' &&\n !anySummaryActive(columnSummaries, columnSummaryScopes, columnVisibility, defaultColumnVisibility)\n\n// refetch only when a target was added — hiding a column needs no query\nexport const hasNewTargetFields = (current?: TargetsArg, previous?: TargetsArg): boolean => {\n if (!current) return false\n if (!previous) return true\n const prevFields = new Set(targetFields(previous).map((t) => t.field))\n return targetFields(current).some((t) => !prevFields.has(t.field))\n}\n\nconst COUNTS: StatsOperation[] = [StatsOperation.Filled, StatsOperation.NotFilled]\n// FILLED rides along so combined-scope averages can be weighted exactly\nconst NUMERIC: StatsOperation[] = [\n StatsOperation.Min,\n StatsOperation.Max,\n StatsOperation.Avg,\n StatsOperation.Sum,\n StatsOperation.Filled,\n StatsOperation.NotFilled,\n]\n// enum columns: counts power the fallback display, distribution the colored bar\nconst ENUM: StatsOperation[] = [\n StatsOperation.Filled,\n StatsOperation.NotFilled,\n StatsOperation.Distribution,\n]\n\n// The table's unified subType column per entity (result columnName maps back\n// to subType via COLUMN_ALIASES in columnStats).\nconst SUB_TYPE_FIELD: Record<StatsEntity, string | null> = {\n folder: 'folder_type',\n task: 'task_type',\n product: 'product_type',\n version: null,\n}\n\n// Structural subset of ProjectTableAttribute — two near-identical versions of\n// that type exist (types/index vs hooks/useAttributesList, data.type optional\n// in the latter); only these fields are needed here so accept both.\ntype AttribFieldLike = {\n name: string\n scope?: string[] | null\n data?: { type?: string; enum?: unknown[] }\n}\n\ntype BuildMetricTargetsArgs = {\n entity: StatsEntity\n attribs: AttribFieldLike[]\n columnVisibility: VisibilityState\n // resolved the same way the table resolves it (opt-in): a column absent from\n // both maps is hidden, so it must NOT be aggregated\n defaultColumnVisibility?: VisibilityState\n columnSummaries?: Record<string, SummaryCalc>\n columnSummaryScopes?: Record<string, RowScope>\n extraFields?: string[] // visible, summary-active page columns, e.g. 'product_base_type'\n}\n\n// Targets for the footer over the columns the user can actually see.\n// Skipped on purpose (backend SQL can't aggregate them safely yet):\n// datetime (numeric cast fails), boolean attribs (text-vs-bool compare on\n// JSONB), and list-type attribs.\nexport const buildMetricTargets = ({\n entity,\n attribs,\n columnVisibility,\n defaultColumnVisibility,\n columnSummaries,\n columnSummaryScopes,\n extraFields = [],\n}: BuildMetricTargetsArgs): MetricTarget[] => {\n const isVisible = (columnId: string) =>\n checkColumnVisibility(columnVisibility, columnId, defaultColumnVisibility)\n const isActive = (columnId: string) =>\n isVisible(columnId) && isSummaryActive(columnId, columnSummaries, columnSummaryScopes)\n\n const targets: MetricTarget[] = []\n if (entity === 'version') {\n // versions have no `name` column (display name derives from the version\n // number) — status is non-null and doubles as the row-count anchor, so it\n targets.push({ field: 'status', aggregations: isActive('status') ? ENUM : COUNTS })\n } else {\n // name counts always — they feed the main folders/tasks count cell\n targets.push({ field: 'name', aggregations: COUNTS })\n if (isActive('status')) targets.push({ field: 'status', aggregations: ENUM })\n }\n if (isActive('tags')) targets.push({ field: 'tags', aggregations: ENUM })\n if (entity === 'task' && isActive('assignees')) {\n targets.push({ field: 'assignees', aggregations: ENUM })\n }\n\n const subTypeField = SUB_TYPE_FIELD[entity]\n if (subTypeField && isActive('subType')) {\n targets.push({ field: subTypeField, aggregations: ENUM })\n }\n\n for (const field of extraFields) {\n targets.push({ field, aggregations: ENUM })\n }\n\n for (const attrib of attribs) {\n if (attrib.scope && !attrib.scope.includes(entity)) continue\n if (!isActive(`attrib_${attrib.name}`)) continue\n\n let field = `attrib.${attrib.name}`\n if (['folder', 'task'].includes(entity)) {\n field = `inherited_attributes.${attrib.name}`\n }\n const type = attrib.data?.type\n if (type === 'integer' || type === 'float') {\n targets.push({ field, aggregations: NUMERIC })\n } else if (type === 'string') {\n targets.push({ field, aggregations: attrib.data?.enum?.length ? ENUM : COUNTS })\n }\n }\n\n return targets\n}\n"],"names":["targetFields","arg","t","isSummaryActive","columnId","columnSummaries","columnSummaryScopes","calc","scope","anySummaryActive","columnVisibility","defaultColumnVisibility","ids","id","checkColumnVisibility","shouldSkipColumnStats","hasNewTargetFields","current","previous","prevFields","COUNTS","StatsOperation","NUMERIC","ENUM","SUB_TYPE_FIELD","buildMetricTargets","entity","attribs","extraFields","isVisible","isActive","targets","subTypeField","field","attrib","type"],"mappings":"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"}
1
+ {"version":3,"file":"metricTargets.cjs.js","sources":["../../../../../../src/api/queries/columnStats/metricTargets.ts"],"sourcesContent":["import type { VisibilityState } from '@tanstack/react-table'\nimport { StatsOperation } from '@shared/api/generated'\nimport { checkColumnVisibility } from '@shared/containers/ProjectTreeTable/utils/checkColumnVisibility'\nimport type { SummaryCalc, RowScope } from '@shared/containers/ProjectTreeTable/types/summaryTypes'\n\nexport type MetricTarget = {\n field: string // column or dot-path for JSONB, e.g. 'status' / 'attrib.fps'\n aggregations: StatsOperation[]\n}\n\nexport type StatsEntity = 'folder' | 'task' | 'product' | 'version'\n\n// matches both MetricTarget[] and the codegen'd single-or-array variables type\ntype TargetsArg = { targets?: { field: string }[] | { field: string } | null }\nconst targetFields = (arg?: TargetsArg): { field: string }[] => {\n const t = arg?.targets\n return Array.isArray(t) ? t : t ? [t] : []\n}\n\nexport const isSummaryActive = (\n columnId: string,\n columnSummaries?: Record<string, SummaryCalc>,\n columnSummaryScopes?: Record<string, RowScope>,\n): boolean => {\n const calc = columnSummaries?.[columnId]\n const scope = columnSummaryScopes?.[columnId]\n if (calc === 'none' || scope === 'none') return false\n return calc != null || scope != null\n}\n\n// True when at least one *visible* column has an active summary — lets callers\n// skip the whole column-stats query when the user has every summary switched off.\n// Visibility matters: a hidden column can still carry a stale summary value, but\n// buildMetricTargets skips it, so it must not keep the query alive either.\nexport const anySummaryActive = (\n columnSummaries?: Record<string, SummaryCalc>,\n columnSummaryScopes?: Record<string, RowScope>,\n columnVisibility?: VisibilityState,\n defaultColumnVisibility?: VisibilityState,\n): boolean => {\n const ids = new Set([\n ...Object.keys(columnSummaries ?? {}),\n ...Object.keys(columnSummaryScopes ?? {}),\n ])\n for (const id of ids) {\n if (columnVisibility && !checkColumnVisibility(columnVisibility, id, defaultColumnVisibility)) {\n continue\n }\n if (isSummaryActive(id, columnSummaries, columnSummaryScopes)) return true\n }\n return false\n}\n\n// The main count (name column) is on by default, so the footer always has at\n// least that to show. Skip the stats fetch only when the user has explicitly\n// turned the name count off too AND no other column has an active summary —\n// otherwise the name cell has no data and can't be re-enabled.\nexport const shouldSkipColumnStats = (\n columnSummaries?: Record<string, SummaryCalc>,\n columnSummaryScopes?: Record<string, RowScope>,\n columnVisibility?: VisibilityState,\n defaultColumnVisibility?: VisibilityState,\n): boolean =>\n columnSummaryScopes?.['name'] === 'none' &&\n !anySummaryActive(columnSummaries, columnSummaryScopes, columnVisibility, defaultColumnVisibility)\n\n// refetch only when a target was added — hiding a column needs no query\nexport const hasNewTargetFields = (current?: TargetsArg, previous?: TargetsArg): boolean => {\n if (!current) return false\n if (!previous) return true\n const prevFields = new Set(targetFields(previous).map((t) => t.field))\n return targetFields(current).some((t) => !prevFields.has(t.field))\n}\n\nconst COUNTS: StatsOperation[] = [StatsOperation.Filled, StatsOperation.NotFilled]\n// FILLED rides along so combined-scope averages can be weighted exactly\nconst NUMERIC: StatsOperation[] = [\n StatsOperation.Min,\n StatsOperation.Max,\n StatsOperation.Avg,\n StatsOperation.Sum,\n StatsOperation.Filled,\n StatsOperation.NotFilled,\n]\n// enum columns: counts power the fallback display, distribution the colored bar\nconst ENUM: StatsOperation[] = [\n StatsOperation.Filled,\n StatsOperation.NotFilled,\n StatsOperation.Distribution,\n]\n\n// The table's unified subType column per entity (result columnName maps back\n// to subType via COLUMN_ALIASES in columnStats).\nconst SUB_TYPE_FIELD: Record<StatsEntity, string | null> = {\n folder: 'folder_type',\n task: 'task_type',\n product: 'product_type',\n version: null,\n}\n\n// Structural subset of ProjectTableAttribute — two near-identical versions of\n// that type exist (types/index vs hooks/useAttributesList, data.type optional\n// in the latter); only these fields are needed here so accept both.\ntype AttribFieldLike = {\n name: string\n scope?: string[] | null\n data?: { type?: string; enum?: unknown[] }\n}\n\ntype BuildMetricTargetsArgs = {\n entity: StatsEntity\n attribs: AttribFieldLike[]\n columnVisibility: VisibilityState\n // resolved the same way the table resolves it (opt-in): a column absent from\n // both maps is hidden, so it must NOT be aggregated\n defaultColumnVisibility?: VisibilityState\n columnSummaries?: Record<string, SummaryCalc>\n columnSummaryScopes?: Record<string, RowScope>\n extraFields?: string[] // visible, summary-active page columns, e.g. 'product_base_type'\n}\n\n// Targets for the footer over the columns the user can actually see.\n// Skipped on purpose — the backend errors on these, and one bad target fails\n// the whole query, killing every other column's stats too:\n// datetime (\"cannot cast type timestamp with time zone to numeric\") and\n// boolean attribs (\"operator does not exist: text = boolean\").\nexport const buildMetricTargets = ({\n entity,\n attribs,\n columnVisibility,\n defaultColumnVisibility,\n columnSummaries,\n columnSummaryScopes,\n extraFields = [],\n}: BuildMetricTargetsArgs): MetricTarget[] => {\n const isVisible = (columnId: string) =>\n checkColumnVisibility(columnVisibility, columnId, defaultColumnVisibility)\n const isActive = (columnId: string) =>\n isVisible(columnId) && isSummaryActive(columnId, columnSummaries, columnSummaryScopes)\n\n const targets: MetricTarget[] = []\n if (entity === 'version') {\n // versions have no `name` column (display name derives from the version\n // number) — status is non-null and doubles as the row-count anchor, so it\n targets.push({ field: 'status', aggregations: isActive('status') ? ENUM : COUNTS })\n } else {\n // name counts always — they feed the main folders/tasks count cell\n targets.push({ field: 'name', aggregations: COUNTS })\n if (isActive('status')) targets.push({ field: 'status', aggregations: ENUM })\n }\n if (isActive('tags')) targets.push({ field: 'tags', aggregations: ENUM })\n if (entity === 'task' && isActive('assignees')) {\n targets.push({ field: 'assignees', aggregations: ENUM })\n }\n\n const subTypeField = SUB_TYPE_FIELD[entity]\n if (subTypeField && isActive('subType')) {\n targets.push({ field: subTypeField, aggregations: ENUM })\n }\n\n for (const field of extraFields) {\n targets.push({ field, aggregations: ENUM })\n }\n\n for (const attrib of attribs) {\n if (attrib.scope && !attrib.scope.includes(entity)) continue\n if (!isActive(`attrib_${attrib.name}`)) continue\n\n let field = `attrib.${attrib.name}`\n if (['folder', 'task'].includes(entity)) {\n field = `inherited_attributes.${attrib.name}`\n }\n const type = attrib.data?.type\n if (type === 'integer' || type === 'float') {\n targets.push({ field, aggregations: NUMERIC })\n } else if (type === 'string') {\n targets.push({ field, aggregations: attrib.data?.enum?.length ? ENUM : COUNTS })\n } else if (type === 'list_of_strings' || type === 'list_of_integers') {\n // backend buckets the whole array as one serialized value; normalizeDistribution unnests it\n targets.push({ field, aggregations: ENUM })\n }\n }\n\n return targets\n}\n"],"names":["targetFields","arg","t","isSummaryActive","columnId","columnSummaries","columnSummaryScopes","calc","scope","anySummaryActive","columnVisibility","defaultColumnVisibility","ids","id","checkColumnVisibility","shouldSkipColumnStats","hasNewTargetFields","current","previous","prevFields","COUNTS","StatsOperation","NUMERIC","ENUM","SUB_TYPE_FIELD","buildMetricTargets","entity","attribs","extraFields","isVisible","isActive","targets","subTypeField","field","attrib","type"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import "../../base/client.es.js";
2
- import { StatsOperation as r } from "../../generated/graphql.es.js";
2
+ import { StatsOperation as s } from "../../generated/graphql.es.js";
3
3
  import "../../generated/graphqlLinks.es.js";
4
4
  import "../../generated/access.es.js";
5
5
  import "../../generated/actions.es.js";
@@ -42,68 +42,68 @@ import { checkColumnVisibility as h } from "../../../containers/ProjectTreeTable
42
42
  const d = (t) => {
43
43
  const i = t?.targets;
44
44
  return Array.isArray(i) ? i : i ? [i] : [];
45
- }, b = (t, i, s) => {
46
- const o = i?.[t], a = s?.[t];
45
+ }, b = (t, i, n) => {
46
+ const o = i?.[t], a = n?.[t];
47
47
  return o === "none" || a === "none" ? !1 : o != null || a != null;
48
- }, y = (t, i, s, o) => {
48
+ }, k = (t, i, n, o) => {
49
49
  const a = /* @__PURE__ */ new Set([
50
50
  ...Object.keys(t ?? {}),
51
51
  ...Object.keys(i ?? {})
52
52
  ]);
53
- for (const l of a)
54
- if (!(s && !h(s, l, o)) && b(l, t, i))
53
+ for (const g of a)
54
+ if (!(n && !h(n, g, o)) && b(g, t, i))
55
55
  return !0;
56
56
  return !1;
57
- }, lt = (t, i, s, o) => i?.name === "none" && !y(t, i, s, o), ft = (t, i) => {
57
+ }, mt = (t, i, n, o) => i?.name === "none" && !k(t, i, n, o), gt = (t, i) => {
58
58
  if (!t) return !1;
59
59
  if (!i) return !0;
60
- const s = new Set(d(i).map((o) => o.field));
61
- return d(t).some((o) => !s.has(o.field));
62
- }, u = [r.Filled, r.NotFilled], N = [
63
- r.Min,
64
- r.Max,
65
- r.Avg,
66
- r.Sum,
67
- r.Filled,
68
- r.NotFilled
60
+ const n = new Set(d(i).map((o) => o.field));
61
+ return d(t).some((o) => !n.has(o.field));
62
+ }, u = [s.Filled, s.NotFilled], y = [
63
+ s.Min,
64
+ s.Max,
65
+ s.Avg,
66
+ s.Sum,
67
+ s.Filled,
68
+ s.NotFilled
69
69
  ], p = [
70
- r.Filled,
71
- r.NotFilled,
72
- r.Distribution
73
- ], _ = {
70
+ s.Filled,
71
+ s.NotFilled,
72
+ s.Distribution
73
+ ], N = {
74
74
  folder: "folder_type",
75
75
  task: "task_type",
76
76
  product: "product_type",
77
77
  version: null
78
- }, gt = ({
78
+ }, ft = ({
79
79
  entity: t,
80
80
  attribs: i,
81
- columnVisibility: s,
81
+ columnVisibility: n,
82
82
  defaultColumnVisibility: o,
83
83
  columnSummaries: a,
84
- columnSummaryScopes: l,
84
+ columnSummaryScopes: g,
85
85
  extraFields: F = []
86
86
  }) => {
87
- const k = (e) => h(s, e, o), m = (e) => k(e) && b(e, a, l), n = [];
88
- t === "version" ? n.push({ field: "status", aggregations: m("status") ? p : u }) : (n.push({ field: "name", aggregations: u }), m("status") && n.push({ field: "status", aggregations: p })), m("tags") && n.push({ field: "tags", aggregations: p }), t === "task" && m("assignees") && n.push({ field: "assignees", aggregations: p });
89
- const c = _[t];
90
- c && m("subType") && n.push({ field: c, aggregations: p });
87
+ const _ = (e) => h(n, e, o), l = (e) => _(e) && b(e, a, g), r = [];
88
+ t === "version" ? r.push({ field: "status", aggregations: l("status") ? p : u }) : (r.push({ field: "name", aggregations: u }), l("status") && r.push({ field: "status", aggregations: p })), l("tags") && r.push({ field: "tags", aggregations: p }), t === "task" && l("assignees") && r.push({ field: "assignees", aggregations: p });
89
+ const c = N[t];
90
+ c && l("subType") && r.push({ field: c, aggregations: p });
91
91
  for (const e of F)
92
- n.push({ field: e, aggregations: p });
92
+ r.push({ field: e, aggregations: p });
93
93
  for (const e of i) {
94
- if (e.scope && !e.scope.includes(t) || !m(`attrib_${e.name}`)) continue;
94
+ if (e.scope && !e.scope.includes(t) || !l(`attrib_${e.name}`)) continue;
95
95
  let f = `attrib.${e.name}`;
96
96
  ["folder", "task"].includes(t) && (f = `inherited_attributes.${e.name}`);
97
- const g = e.data?.type;
98
- g === "integer" || g === "float" ? n.push({ field: f, aggregations: N }) : g === "string" && n.push({ field: f, aggregations: e.data?.enum?.length ? p : u });
97
+ const m = e.data?.type;
98
+ m === "integer" || m === "float" ? r.push({ field: f, aggregations: y }) : m === "string" ? r.push({ field: f, aggregations: e.data?.enum?.length ? p : u }) : (m === "list_of_strings" || m === "list_of_integers") && r.push({ field: f, aggregations: p });
99
99
  }
100
- return n;
100
+ return r;
101
101
  };
102
102
  export {
103
- y as anySummaryActive,
104
- gt as buildMetricTargets,
105
- ft as hasNewTargetFields,
103
+ k as anySummaryActive,
104
+ ft as buildMetricTargets,
105
+ gt as hasNewTargetFields,
106
106
  b as isSummaryActive,
107
- lt as shouldSkipColumnStats
107
+ mt as shouldSkipColumnStats
108
108
  };
109
109
  //# sourceMappingURL=metricTargets.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metricTargets.es.js","sources":["../../../../../../src/api/queries/columnStats/metricTargets.ts"],"sourcesContent":["import type { VisibilityState } from '@tanstack/react-table'\nimport { StatsOperation } from '@shared/api/generated'\nimport { checkColumnVisibility } from '@shared/containers/ProjectTreeTable/utils/checkColumnVisibility'\nimport type { SummaryCalc, RowScope } from '@shared/containers/ProjectTreeTable/types/summaryTypes'\n\nexport type MetricTarget = {\n field: string // column or dot-path for JSONB, e.g. 'status' / 'attrib.fps'\n aggregations: StatsOperation[]\n}\n\nexport type StatsEntity = 'folder' | 'task' | 'product' | 'version'\n\n// matches both MetricTarget[] and the codegen'd single-or-array variables type\ntype TargetsArg = { targets?: { field: string }[] | { field: string } | null }\nconst targetFields = (arg?: TargetsArg): { field: string }[] => {\n const t = arg?.targets\n return Array.isArray(t) ? t : t ? [t] : []\n}\n\nexport const isSummaryActive = (\n columnId: string,\n columnSummaries?: Record<string, SummaryCalc>,\n columnSummaryScopes?: Record<string, RowScope>,\n): boolean => {\n const calc = columnSummaries?.[columnId]\n const scope = columnSummaryScopes?.[columnId]\n if (calc === 'none' || scope === 'none') return false\n return calc != null || scope != null\n}\n\n// True when at least one *visible* column has an active summary — lets callers\n// skip the whole column-stats query when the user has every summary switched off.\n// Visibility matters: a hidden column can still carry a stale summary value, but\n// buildMetricTargets skips it, so it must not keep the query alive either.\nexport const anySummaryActive = (\n columnSummaries?: Record<string, SummaryCalc>,\n columnSummaryScopes?: Record<string, RowScope>,\n columnVisibility?: VisibilityState,\n defaultColumnVisibility?: VisibilityState,\n): boolean => {\n const ids = new Set([\n ...Object.keys(columnSummaries ?? {}),\n ...Object.keys(columnSummaryScopes ?? {}),\n ])\n for (const id of ids) {\n if (columnVisibility && !checkColumnVisibility(columnVisibility, id, defaultColumnVisibility)) {\n continue\n }\n if (isSummaryActive(id, columnSummaries, columnSummaryScopes)) return true\n }\n return false\n}\n\n// The main count (name column) is on by default, so the footer always has at\n// least that to show. Skip the stats fetch only when the user has explicitly\n// turned the name count off too AND no other column has an active summary —\n// otherwise the name cell has no data and can't be re-enabled.\nexport const shouldSkipColumnStats = (\n columnSummaries?: Record<string, SummaryCalc>,\n columnSummaryScopes?: Record<string, RowScope>,\n columnVisibility?: VisibilityState,\n defaultColumnVisibility?: VisibilityState,\n): boolean =>\n columnSummaryScopes?.['name'] === 'none' &&\n !anySummaryActive(columnSummaries, columnSummaryScopes, columnVisibility, defaultColumnVisibility)\n\n// refetch only when a target was added — hiding a column needs no query\nexport const hasNewTargetFields = (current?: TargetsArg, previous?: TargetsArg): boolean => {\n if (!current) return false\n if (!previous) return true\n const prevFields = new Set(targetFields(previous).map((t) => t.field))\n return targetFields(current).some((t) => !prevFields.has(t.field))\n}\n\nconst COUNTS: StatsOperation[] = [StatsOperation.Filled, StatsOperation.NotFilled]\n// FILLED rides along so combined-scope averages can be weighted exactly\nconst NUMERIC: StatsOperation[] = [\n StatsOperation.Min,\n StatsOperation.Max,\n StatsOperation.Avg,\n StatsOperation.Sum,\n StatsOperation.Filled,\n StatsOperation.NotFilled,\n]\n// enum columns: counts power the fallback display, distribution the colored bar\nconst ENUM: StatsOperation[] = [\n StatsOperation.Filled,\n StatsOperation.NotFilled,\n StatsOperation.Distribution,\n]\n\n// The table's unified subType column per entity (result columnName maps back\n// to subType via COLUMN_ALIASES in columnStats).\nconst SUB_TYPE_FIELD: Record<StatsEntity, string | null> = {\n folder: 'folder_type',\n task: 'task_type',\n product: 'product_type',\n version: null,\n}\n\n// Structural subset of ProjectTableAttribute — two near-identical versions of\n// that type exist (types/index vs hooks/useAttributesList, data.type optional\n// in the latter); only these fields are needed here so accept both.\ntype AttribFieldLike = {\n name: string\n scope?: string[] | null\n data?: { type?: string; enum?: unknown[] }\n}\n\ntype BuildMetricTargetsArgs = {\n entity: StatsEntity\n attribs: AttribFieldLike[]\n columnVisibility: VisibilityState\n // resolved the same way the table resolves it (opt-in): a column absent from\n // both maps is hidden, so it must NOT be aggregated\n defaultColumnVisibility?: VisibilityState\n columnSummaries?: Record<string, SummaryCalc>\n columnSummaryScopes?: Record<string, RowScope>\n extraFields?: string[] // visible, summary-active page columns, e.g. 'product_base_type'\n}\n\n// Targets for the footer over the columns the user can actually see.\n// Skipped on purpose (backend SQL can't aggregate them safely yet):\n// datetime (numeric cast fails), boolean attribs (text-vs-bool compare on\n// JSONB), and list-type attribs.\nexport const buildMetricTargets = ({\n entity,\n attribs,\n columnVisibility,\n defaultColumnVisibility,\n columnSummaries,\n columnSummaryScopes,\n extraFields = [],\n}: BuildMetricTargetsArgs): MetricTarget[] => {\n const isVisible = (columnId: string) =>\n checkColumnVisibility(columnVisibility, columnId, defaultColumnVisibility)\n const isActive = (columnId: string) =>\n isVisible(columnId) && isSummaryActive(columnId, columnSummaries, columnSummaryScopes)\n\n const targets: MetricTarget[] = []\n if (entity === 'version') {\n // versions have no `name` column (display name derives from the version\n // number) — status is non-null and doubles as the row-count anchor, so it\n targets.push({ field: 'status', aggregations: isActive('status') ? ENUM : COUNTS })\n } else {\n // name counts always — they feed the main folders/tasks count cell\n targets.push({ field: 'name', aggregations: COUNTS })\n if (isActive('status')) targets.push({ field: 'status', aggregations: ENUM })\n }\n if (isActive('tags')) targets.push({ field: 'tags', aggregations: ENUM })\n if (entity === 'task' && isActive('assignees')) {\n targets.push({ field: 'assignees', aggregations: ENUM })\n }\n\n const subTypeField = SUB_TYPE_FIELD[entity]\n if (subTypeField && isActive('subType')) {\n targets.push({ field: subTypeField, aggregations: ENUM })\n }\n\n for (const field of extraFields) {\n targets.push({ field, aggregations: ENUM })\n }\n\n for (const attrib of attribs) {\n if (attrib.scope && !attrib.scope.includes(entity)) continue\n if (!isActive(`attrib_${attrib.name}`)) continue\n\n let field = `attrib.${attrib.name}`\n if (['folder', 'task'].includes(entity)) {\n field = `inherited_attributes.${attrib.name}`\n }\n const type = attrib.data?.type\n if (type === 'integer' || type === 'float') {\n targets.push({ field, aggregations: NUMERIC })\n } else if (type === 'string') {\n targets.push({ field, aggregations: attrib.data?.enum?.length ? ENUM : COUNTS })\n }\n }\n\n return targets\n}\n"],"names":["targetFields","arg","t","isSummaryActive","columnId","columnSummaries","columnSummaryScopes","calc","scope","anySummaryActive","columnVisibility","defaultColumnVisibility","ids","id","checkColumnVisibility","shouldSkipColumnStats","hasNewTargetFields","current","previous","prevFields","COUNTS","StatsOperation","NUMERIC","ENUM","SUB_TYPE_FIELD","buildMetricTargets","entity","attribs","extraFields","isVisible","isActive","targets","subTypeField","field","attrib","type"],"mappings":"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"}
1
+ {"version":3,"file":"metricTargets.es.js","sources":["../../../../../../src/api/queries/columnStats/metricTargets.ts"],"sourcesContent":["import type { VisibilityState } from '@tanstack/react-table'\nimport { StatsOperation } from '@shared/api/generated'\nimport { checkColumnVisibility } from '@shared/containers/ProjectTreeTable/utils/checkColumnVisibility'\nimport type { SummaryCalc, RowScope } from '@shared/containers/ProjectTreeTable/types/summaryTypes'\n\nexport type MetricTarget = {\n field: string // column or dot-path for JSONB, e.g. 'status' / 'attrib.fps'\n aggregations: StatsOperation[]\n}\n\nexport type StatsEntity = 'folder' | 'task' | 'product' | 'version'\n\n// matches both MetricTarget[] and the codegen'd single-or-array variables type\ntype TargetsArg = { targets?: { field: string }[] | { field: string } | null }\nconst targetFields = (arg?: TargetsArg): { field: string }[] => {\n const t = arg?.targets\n return Array.isArray(t) ? t : t ? [t] : []\n}\n\nexport const isSummaryActive = (\n columnId: string,\n columnSummaries?: Record<string, SummaryCalc>,\n columnSummaryScopes?: Record<string, RowScope>,\n): boolean => {\n const calc = columnSummaries?.[columnId]\n const scope = columnSummaryScopes?.[columnId]\n if (calc === 'none' || scope === 'none') return false\n return calc != null || scope != null\n}\n\n// True when at least one *visible* column has an active summary — lets callers\n// skip the whole column-stats query when the user has every summary switched off.\n// Visibility matters: a hidden column can still carry a stale summary value, but\n// buildMetricTargets skips it, so it must not keep the query alive either.\nexport const anySummaryActive = (\n columnSummaries?: Record<string, SummaryCalc>,\n columnSummaryScopes?: Record<string, RowScope>,\n columnVisibility?: VisibilityState,\n defaultColumnVisibility?: VisibilityState,\n): boolean => {\n const ids = new Set([\n ...Object.keys(columnSummaries ?? {}),\n ...Object.keys(columnSummaryScopes ?? {}),\n ])\n for (const id of ids) {\n if (columnVisibility && !checkColumnVisibility(columnVisibility, id, defaultColumnVisibility)) {\n continue\n }\n if (isSummaryActive(id, columnSummaries, columnSummaryScopes)) return true\n }\n return false\n}\n\n// The main count (name column) is on by default, so the footer always has at\n// least that to show. Skip the stats fetch only when the user has explicitly\n// turned the name count off too AND no other column has an active summary —\n// otherwise the name cell has no data and can't be re-enabled.\nexport const shouldSkipColumnStats = (\n columnSummaries?: Record<string, SummaryCalc>,\n columnSummaryScopes?: Record<string, RowScope>,\n columnVisibility?: VisibilityState,\n defaultColumnVisibility?: VisibilityState,\n): boolean =>\n columnSummaryScopes?.['name'] === 'none' &&\n !anySummaryActive(columnSummaries, columnSummaryScopes, columnVisibility, defaultColumnVisibility)\n\n// refetch only when a target was added — hiding a column needs no query\nexport const hasNewTargetFields = (current?: TargetsArg, previous?: TargetsArg): boolean => {\n if (!current) return false\n if (!previous) return true\n const prevFields = new Set(targetFields(previous).map((t) => t.field))\n return targetFields(current).some((t) => !prevFields.has(t.field))\n}\n\nconst COUNTS: StatsOperation[] = [StatsOperation.Filled, StatsOperation.NotFilled]\n// FILLED rides along so combined-scope averages can be weighted exactly\nconst NUMERIC: StatsOperation[] = [\n StatsOperation.Min,\n StatsOperation.Max,\n StatsOperation.Avg,\n StatsOperation.Sum,\n StatsOperation.Filled,\n StatsOperation.NotFilled,\n]\n// enum columns: counts power the fallback display, distribution the colored bar\nconst ENUM: StatsOperation[] = [\n StatsOperation.Filled,\n StatsOperation.NotFilled,\n StatsOperation.Distribution,\n]\n\n// The table's unified subType column per entity (result columnName maps back\n// to subType via COLUMN_ALIASES in columnStats).\nconst SUB_TYPE_FIELD: Record<StatsEntity, string | null> = {\n folder: 'folder_type',\n task: 'task_type',\n product: 'product_type',\n version: null,\n}\n\n// Structural subset of ProjectTableAttribute — two near-identical versions of\n// that type exist (types/index vs hooks/useAttributesList, data.type optional\n// in the latter); only these fields are needed here so accept both.\ntype AttribFieldLike = {\n name: string\n scope?: string[] | null\n data?: { type?: string; enum?: unknown[] }\n}\n\ntype BuildMetricTargetsArgs = {\n entity: StatsEntity\n attribs: AttribFieldLike[]\n columnVisibility: VisibilityState\n // resolved the same way the table resolves it (opt-in): a column absent from\n // both maps is hidden, so it must NOT be aggregated\n defaultColumnVisibility?: VisibilityState\n columnSummaries?: Record<string, SummaryCalc>\n columnSummaryScopes?: Record<string, RowScope>\n extraFields?: string[] // visible, summary-active page columns, e.g. 'product_base_type'\n}\n\n// Targets for the footer over the columns the user can actually see.\n// Skipped on purpose — the backend errors on these, and one bad target fails\n// the whole query, killing every other column's stats too:\n// datetime (\"cannot cast type timestamp with time zone to numeric\") and\n// boolean attribs (\"operator does not exist: text = boolean\").\nexport const buildMetricTargets = ({\n entity,\n attribs,\n columnVisibility,\n defaultColumnVisibility,\n columnSummaries,\n columnSummaryScopes,\n extraFields = [],\n}: BuildMetricTargetsArgs): MetricTarget[] => {\n const isVisible = (columnId: string) =>\n checkColumnVisibility(columnVisibility, columnId, defaultColumnVisibility)\n const isActive = (columnId: string) =>\n isVisible(columnId) && isSummaryActive(columnId, columnSummaries, columnSummaryScopes)\n\n const targets: MetricTarget[] = []\n if (entity === 'version') {\n // versions have no `name` column (display name derives from the version\n // number) — status is non-null and doubles as the row-count anchor, so it\n targets.push({ field: 'status', aggregations: isActive('status') ? ENUM : COUNTS })\n } else {\n // name counts always — they feed the main folders/tasks count cell\n targets.push({ field: 'name', aggregations: COUNTS })\n if (isActive('status')) targets.push({ field: 'status', aggregations: ENUM })\n }\n if (isActive('tags')) targets.push({ field: 'tags', aggregations: ENUM })\n if (entity === 'task' && isActive('assignees')) {\n targets.push({ field: 'assignees', aggregations: ENUM })\n }\n\n const subTypeField = SUB_TYPE_FIELD[entity]\n if (subTypeField && isActive('subType')) {\n targets.push({ field: subTypeField, aggregations: ENUM })\n }\n\n for (const field of extraFields) {\n targets.push({ field, aggregations: ENUM })\n }\n\n for (const attrib of attribs) {\n if (attrib.scope && !attrib.scope.includes(entity)) continue\n if (!isActive(`attrib_${attrib.name}`)) continue\n\n let field = `attrib.${attrib.name}`\n if (['folder', 'task'].includes(entity)) {\n field = `inherited_attributes.${attrib.name}`\n }\n const type = attrib.data?.type\n if (type === 'integer' || type === 'float') {\n targets.push({ field, aggregations: NUMERIC })\n } else if (type === 'string') {\n targets.push({ field, aggregations: attrib.data?.enum?.length ? ENUM : COUNTS })\n } else if (type === 'list_of_strings' || type === 'list_of_integers') {\n // backend buckets the whole array as one serialized value; normalizeDistribution unnests it\n targets.push({ field, aggregations: ENUM })\n }\n }\n\n return targets\n}\n"],"names":["targetFields","arg","t","isSummaryActive","columnId","columnSummaries","columnSummaryScopes","calc","scope","anySummaryActive","columnVisibility","defaultColumnVisibility","ids","id","checkColumnVisibility","shouldSkipColumnStats","hasNewTargetFields","current","previous","prevFields","COUNTS","StatsOperation","NUMERIC","ENUM","SUB_TYPE_FIELD","buildMetricTargets","entity","attribs","extraFields","isVisible","isActive","targets","subTypeField","field","attrib","type"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getEntity.cjs.js","sources":["../../../../../../src/api/queries/entities/getEntity.ts"],"sourcesContent":["// @ts-nocheck\nimport { GetSearchedTasksQuery, gqlApi } from '@shared/api/generated'\nimport {\n PRODUCT_TILE_FRAGMENT,\n FOLDER_TILE_FRAGMENT,\n VERSION_TILE_FRAGMENT,\n TASK_TILE_FRAGMENT,\n} from './entityQueries'\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/query'\n\nconst buildEventTileQuery = (type) => {\n return `\n query EventTile($projectName: String!, $id: String!) {\n project(name: $projectName) {\n ${type}(id: $id) {\n id\n name\n status\n updatedAt\n }\n }\n }\n `\n}\n\nconst buildEntityTilesQuery = (entities) => {\n // const entities = {[type]: [id, id, id]}\n\n const typesQuery = Object.entries(entities).reduce(\n (acc, [type, ids]) =>\n acc +\n ` ${type}s(ids: ${JSON.stringify(ids)}) {\n edges {\n node {\n ...${type}TileFragment\n }\n }\n }\n `,\n '',\n )\n\n let query = `\n query EntityTiles($projectName: String!) {\n project(name: $projectName) {\n ${typesQuery}\n }\n }\n `\n\n const fragments = {\n folder: FOLDER_TILE_FRAGMENT,\n product: PRODUCT_TILE_FRAGMENT,\n version: VERSION_TILE_FRAGMENT,\n task: TASK_TILE_FRAGMENT,\n }\n\n // Add fragments\n for (const type in entities) {\n query += fragments[type]\n }\n\n return query\n}\n\nfunction getNonObjectValue(value) {\n if (typeof value !== 'object' || value === null) {\n return value\n }\n\n // If value is an object, get the first non-object value from its properties\n let keys = Object.keys(value)\n if (keys.length > 0) {\n return getNonObjectValue(value[keys[0]])\n }\n\n // If no non-object value found, return undefined\n return undefined\n}\n\nexport const formatEntityTiles = (project, entities) => {\n // data = {project: {folders: {edges: [{node: {id}}]}}}\n\n // if entities is an array, convert to object\n if (Array.isArray(entities)) {\n const obj = {}\n for (const entity of entities) {\n obj[entity] = []\n }\n entities = obj\n }\n\n const allEntities = []\n for (const type in entities) {\n if (!project) continue\n let entities = project[type + 's']\n // If no entities of this type\n if (!entities) continue\n entities = entities.edges.map(({ node }) => ({ ...node, type }))\n allEntities.push(...entities)\n }\n\n // loop through each entity and child and if it is an array or object, use first child value as value\n for (const entity of allEntities) {\n for (const attrib in entity) {\n if (!entity[attrib]) continue\n if (Array.isArray(entity[attrib])) {\n entity[attrib] = entity[attrib][0]\n } else if (typeof entity[attrib] === 'object') {\n entity[attrib] = getNonObjectValue(Object.values(entity[attrib])[0])\n }\n // if entity type is version, add 0 prefix to version number 1 -> v001, 12 -> v012\n if (entity.type === 'version' && attrib === 'version') {\n entity[attrib] = 'v' + entity[attrib].toString().padStart(3, '0')\n }\n }\n entity.thumbnailEntityType = entity.type\n if (entity.type === 'product') {\n entity.thumbnailEntityId = entity.latestVersion.thumbnailEntityId\n entity.thumbnailId = entity.latestVersion.thumbnailId\n entity.thumbnailEntityType = 'version'\n }\n }\n\n return allEntities\n}\n\nconst injectedApi = gqlApi.injectEndpoints({\n endpoints: (build) => ({\n getEventTile: build.query({\n query: ({ projectName, id, type }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: buildEventTileQuery(type),\n variables: { projectName, id },\n },\n }),\n transformResponse: (response, meta, { type }) => response.data?.project[type],\n }),\n getEntityTiles: build.query({\n query: ({ projectName, entities }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: buildEntityTilesQuery(entities),\n variables: { projectName },\n },\n }),\n transformResponse: (response, meta, { entities }) =>\n formatEntityTiles(response.data?.project, entities),\n }),\n getEntity: build.query({\n query: ({ projectName, entityType, entityId }) => ({\n url: `/api/projects/${projectName}/${entityType}s/${entityId}`,\n }),\n providesTags: (res, error, { entityId }) => [{ type: 'entity', id: entityId }],\n }),\n }),\n overrideExisting: true,\n})\n\nconst getEntityApi = injectedApi.enhanceEndpoints({\n endpoints: {\n GetProductVersions: {},\n },\n})\n\nexport const {\n useGetEventTileQuery,\n useGetEntityTilesQuery,\n useGetEntityQuery,\n useLazyGetEntityQuery,\n useGetProductVersionsQuery,\n useGetSearchedEntitiesInfiniteQuery,\n} = getEntityApi\nexport default getEntityApi\n"],"names":["buildEventTileQuery","type","buildEntityTilesQuery","entities","query","acc","ids","fragments","FOLDER_TILE_FRAGMENT","PRODUCT_TILE_FRAGMENT","VERSION_TILE_FRAGMENT","TASK_TILE_FRAGMENT","getNonObjectValue","value","keys","formatEntityTiles","project","obj","entity","allEntities","node","attrib","injectedApi","gqlApi","build","projectName","id","response","meta","entityType","entityId","res","error","getEntityApi","useGetEventTileQuery","useGetEntityTilesQuery","useGetEntityQuery","useLazyGetEntityQuery","useGetProductVersionsQuery","useGetSearchedEntitiesInfiniteQuery"],"mappings":"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"}
1
+ {"version":3,"file":"getEntity.cjs.js","sources":["../../../../../../src/api/queries/entities/getEntity.ts"],"sourcesContent":["// @ts-nocheck\nimport { gqlApi } from '@shared/api/generated'\nimport type { GetSearchedTasksQuery } from '@shared/api/generated'\nimport {\n PRODUCT_TILE_FRAGMENT,\n FOLDER_TILE_FRAGMENT,\n VERSION_TILE_FRAGMENT,\n TASK_TILE_FRAGMENT,\n} from './entityQueries'\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/query'\n\nconst buildEventTileQuery = (type) => {\n return `\n query EventTile($projectName: String!, $id: String!) {\n project(name: $projectName) {\n ${type}(id: $id) {\n id\n name\n status\n updatedAt\n }\n }\n }\n `\n}\n\nconst buildEntityTilesQuery = (entities) => {\n // const entities = {[type]: [id, id, id]}\n\n const typesQuery = Object.entries(entities).reduce(\n (acc, [type, ids]) =>\n acc +\n ` ${type}s(ids: ${JSON.stringify(ids)}) {\n edges {\n node {\n ...${type}TileFragment\n }\n }\n }\n `,\n '',\n )\n\n let query = `\n query EntityTiles($projectName: String!) {\n project(name: $projectName) {\n ${typesQuery}\n }\n }\n `\n\n const fragments = {\n folder: FOLDER_TILE_FRAGMENT,\n product: PRODUCT_TILE_FRAGMENT,\n version: VERSION_TILE_FRAGMENT,\n task: TASK_TILE_FRAGMENT,\n }\n\n // Add fragments\n for (const type in entities) {\n query += fragments[type]\n }\n\n return query\n}\n\nfunction getNonObjectValue(value) {\n if (typeof value !== 'object' || value === null) {\n return value\n }\n\n // If value is an object, get the first non-object value from its properties\n let keys = Object.keys(value)\n if (keys.length > 0) {\n return getNonObjectValue(value[keys[0]])\n }\n\n // If no non-object value found, return undefined\n return undefined\n}\n\nexport const formatEntityTiles = (project, entities) => {\n // data = {project: {folders: {edges: [{node: {id}}]}}}\n\n // if entities is an array, convert to object\n if (Array.isArray(entities)) {\n const obj = {}\n for (const entity of entities) {\n obj[entity] = []\n }\n entities = obj\n }\n\n const allEntities = []\n for (const type in entities) {\n if (!project) continue\n let entities = project[type + 's']\n // If no entities of this type\n if (!entities) continue\n entities = entities.edges.map(({ node }) => ({ ...node, type }))\n allEntities.push(...entities)\n }\n\n // loop through each entity and child and if it is an array or object, use first child value as value\n for (const entity of allEntities) {\n for (const attrib in entity) {\n if (!entity[attrib]) continue\n if (Array.isArray(entity[attrib])) {\n entity[attrib] = entity[attrib][0]\n } else if (typeof entity[attrib] === 'object') {\n entity[attrib] = getNonObjectValue(Object.values(entity[attrib])[0])\n }\n // if entity type is version, add 0 prefix to version number 1 -> v001, 12 -> v012\n if (entity.type === 'version' && attrib === 'version') {\n entity[attrib] = 'v' + entity[attrib].toString().padStart(3, '0')\n }\n }\n entity.thumbnailEntityType = entity.type\n if (entity.type === 'product') {\n entity.thumbnailEntityId = entity.latestVersion.thumbnailEntityId\n entity.thumbnailId = entity.latestVersion.thumbnailId\n entity.thumbnailEntityType = 'version'\n }\n }\n\n return allEntities\n}\n\nconst injectedApi = gqlApi.injectEndpoints({\n endpoints: (build) => ({\n getEventTile: build.query({\n query: ({ projectName, id, type }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: buildEventTileQuery(type),\n variables: { projectName, id },\n },\n }),\n transformResponse: (response, meta, { type }) => response.data?.project[type],\n }),\n getEntityTiles: build.query({\n query: ({ projectName, entities }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: buildEntityTilesQuery(entities),\n variables: { projectName },\n },\n }),\n transformResponse: (response, meta, { entities }) =>\n formatEntityTiles(response.data?.project, entities),\n }),\n getEntity: build.query({\n query: ({ projectName, entityType, entityId }) => ({\n url: `/api/projects/${projectName}/${entityType}s/${entityId}`,\n }),\n providesTags: (res, error, { entityId }) => [{ type: 'entity', id: entityId }],\n }),\n }),\n overrideExisting: true,\n})\n\nconst getEntityApi = injectedApi.enhanceEndpoints({\n endpoints: {\n GetProductVersions: {},\n },\n})\n\nexport const {\n useGetEventTileQuery,\n useGetEntityTilesQuery,\n useGetEntityQuery,\n useLazyGetEntityQuery,\n useGetProductVersionsQuery,\n useGetSearchedEntitiesInfiniteQuery,\n} = getEntityApi\nexport default getEntityApi\n"],"names":["buildEventTileQuery","type","buildEntityTilesQuery","entities","query","acc","ids","fragments","FOLDER_TILE_FRAGMENT","PRODUCT_TILE_FRAGMENT","VERSION_TILE_FRAGMENT","TASK_TILE_FRAGMENT","getNonObjectValue","value","keys","formatEntityTiles","project","obj","entity","allEntities","node","attrib","injectedApi","gqlApi","build","projectName","id","response","meta","entityType","entityId","res","error","getEntityApi","useGetEventTileQuery","useGetEntityTilesQuery","useGetEntityQuery","useLazyGetEntityQuery","useGetProductVersionsQuery","useGetSearchedEntitiesInfiniteQuery"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getEntity.es.js","sources":["../../../../../../src/api/queries/entities/getEntity.ts"],"sourcesContent":["// @ts-nocheck\nimport { GetSearchedTasksQuery, gqlApi } from '@shared/api/generated'\nimport {\n PRODUCT_TILE_FRAGMENT,\n FOLDER_TILE_FRAGMENT,\n VERSION_TILE_FRAGMENT,\n TASK_TILE_FRAGMENT,\n} from './entityQueries'\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/query'\n\nconst buildEventTileQuery = (type) => {\n return `\n query EventTile($projectName: String!, $id: String!) {\n project(name: $projectName) {\n ${type}(id: $id) {\n id\n name\n status\n updatedAt\n }\n }\n }\n `\n}\n\nconst buildEntityTilesQuery = (entities) => {\n // const entities = {[type]: [id, id, id]}\n\n const typesQuery = Object.entries(entities).reduce(\n (acc, [type, ids]) =>\n acc +\n ` ${type}s(ids: ${JSON.stringify(ids)}) {\n edges {\n node {\n ...${type}TileFragment\n }\n }\n }\n `,\n '',\n )\n\n let query = `\n query EntityTiles($projectName: String!) {\n project(name: $projectName) {\n ${typesQuery}\n }\n }\n `\n\n const fragments = {\n folder: FOLDER_TILE_FRAGMENT,\n product: PRODUCT_TILE_FRAGMENT,\n version: VERSION_TILE_FRAGMENT,\n task: TASK_TILE_FRAGMENT,\n }\n\n // Add fragments\n for (const type in entities) {\n query += fragments[type]\n }\n\n return query\n}\n\nfunction getNonObjectValue(value) {\n if (typeof value !== 'object' || value === null) {\n return value\n }\n\n // If value is an object, get the first non-object value from its properties\n let keys = Object.keys(value)\n if (keys.length > 0) {\n return getNonObjectValue(value[keys[0]])\n }\n\n // If no non-object value found, return undefined\n return undefined\n}\n\nexport const formatEntityTiles = (project, entities) => {\n // data = {project: {folders: {edges: [{node: {id}}]}}}\n\n // if entities is an array, convert to object\n if (Array.isArray(entities)) {\n const obj = {}\n for (const entity of entities) {\n obj[entity] = []\n }\n entities = obj\n }\n\n const allEntities = []\n for (const type in entities) {\n if (!project) continue\n let entities = project[type + 's']\n // If no entities of this type\n if (!entities) continue\n entities = entities.edges.map(({ node }) => ({ ...node, type }))\n allEntities.push(...entities)\n }\n\n // loop through each entity and child and if it is an array or object, use first child value as value\n for (const entity of allEntities) {\n for (const attrib in entity) {\n if (!entity[attrib]) continue\n if (Array.isArray(entity[attrib])) {\n entity[attrib] = entity[attrib][0]\n } else if (typeof entity[attrib] === 'object') {\n entity[attrib] = getNonObjectValue(Object.values(entity[attrib])[0])\n }\n // if entity type is version, add 0 prefix to version number 1 -> v001, 12 -> v012\n if (entity.type === 'version' && attrib === 'version') {\n entity[attrib] = 'v' + entity[attrib].toString().padStart(3, '0')\n }\n }\n entity.thumbnailEntityType = entity.type\n if (entity.type === 'product') {\n entity.thumbnailEntityId = entity.latestVersion.thumbnailEntityId\n entity.thumbnailId = entity.latestVersion.thumbnailId\n entity.thumbnailEntityType = 'version'\n }\n }\n\n return allEntities\n}\n\nconst injectedApi = gqlApi.injectEndpoints({\n endpoints: (build) => ({\n getEventTile: build.query({\n query: ({ projectName, id, type }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: buildEventTileQuery(type),\n variables: { projectName, id },\n },\n }),\n transformResponse: (response, meta, { type }) => response.data?.project[type],\n }),\n getEntityTiles: build.query({\n query: ({ projectName, entities }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: buildEntityTilesQuery(entities),\n variables: { projectName },\n },\n }),\n transformResponse: (response, meta, { entities }) =>\n formatEntityTiles(response.data?.project, entities),\n }),\n getEntity: build.query({\n query: ({ projectName, entityType, entityId }) => ({\n url: `/api/projects/${projectName}/${entityType}s/${entityId}`,\n }),\n providesTags: (res, error, { entityId }) => [{ type: 'entity', id: entityId }],\n }),\n }),\n overrideExisting: true,\n})\n\nconst getEntityApi = injectedApi.enhanceEndpoints({\n endpoints: {\n GetProductVersions: {},\n },\n})\n\nexport const {\n useGetEventTileQuery,\n useGetEntityTilesQuery,\n useGetEntityQuery,\n useLazyGetEntityQuery,\n useGetProductVersionsQuery,\n useGetSearchedEntitiesInfiniteQuery,\n} = getEntityApi\nexport default getEntityApi\n"],"names":["buildEventTileQuery","type","buildEntityTilesQuery","entities","query","acc","ids","fragments","FOLDER_TILE_FRAGMENT","PRODUCT_TILE_FRAGMENT","VERSION_TILE_FRAGMENT","TASK_TILE_FRAGMENT","getNonObjectValue","value","keys","formatEntityTiles","project","obj","entity","allEntities","node","attrib","injectedApi","gqlApi","build","projectName","id","response","meta","entityType","entityId","res","error","getEntityApi","useGetEventTileQuery","useGetEntityTilesQuery","useGetEntityQuery","useLazyGetEntityQuery","useGetProductVersionsQuery","useGetSearchedEntitiesInfiniteQuery"],"mappings":"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"}
1
+ {"version":3,"file":"getEntity.es.js","sources":["../../../../../../src/api/queries/entities/getEntity.ts"],"sourcesContent":["// @ts-nocheck\nimport { gqlApi } from '@shared/api/generated'\nimport type { GetSearchedTasksQuery } from '@shared/api/generated'\nimport {\n PRODUCT_TILE_FRAGMENT,\n FOLDER_TILE_FRAGMENT,\n VERSION_TILE_FRAGMENT,\n TASK_TILE_FRAGMENT,\n} from './entityQueries'\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/query'\n\nconst buildEventTileQuery = (type) => {\n return `\n query EventTile($projectName: String!, $id: String!) {\n project(name: $projectName) {\n ${type}(id: $id) {\n id\n name\n status\n updatedAt\n }\n }\n }\n `\n}\n\nconst buildEntityTilesQuery = (entities) => {\n // const entities = {[type]: [id, id, id]}\n\n const typesQuery = Object.entries(entities).reduce(\n (acc, [type, ids]) =>\n acc +\n ` ${type}s(ids: ${JSON.stringify(ids)}) {\n edges {\n node {\n ...${type}TileFragment\n }\n }\n }\n `,\n '',\n )\n\n let query = `\n query EntityTiles($projectName: String!) {\n project(name: $projectName) {\n ${typesQuery}\n }\n }\n `\n\n const fragments = {\n folder: FOLDER_TILE_FRAGMENT,\n product: PRODUCT_TILE_FRAGMENT,\n version: VERSION_TILE_FRAGMENT,\n task: TASK_TILE_FRAGMENT,\n }\n\n // Add fragments\n for (const type in entities) {\n query += fragments[type]\n }\n\n return query\n}\n\nfunction getNonObjectValue(value) {\n if (typeof value !== 'object' || value === null) {\n return value\n }\n\n // If value is an object, get the first non-object value from its properties\n let keys = Object.keys(value)\n if (keys.length > 0) {\n return getNonObjectValue(value[keys[0]])\n }\n\n // If no non-object value found, return undefined\n return undefined\n}\n\nexport const formatEntityTiles = (project, entities) => {\n // data = {project: {folders: {edges: [{node: {id}}]}}}\n\n // if entities is an array, convert to object\n if (Array.isArray(entities)) {\n const obj = {}\n for (const entity of entities) {\n obj[entity] = []\n }\n entities = obj\n }\n\n const allEntities = []\n for (const type in entities) {\n if (!project) continue\n let entities = project[type + 's']\n // If no entities of this type\n if (!entities) continue\n entities = entities.edges.map(({ node }) => ({ ...node, type }))\n allEntities.push(...entities)\n }\n\n // loop through each entity and child and if it is an array or object, use first child value as value\n for (const entity of allEntities) {\n for (const attrib in entity) {\n if (!entity[attrib]) continue\n if (Array.isArray(entity[attrib])) {\n entity[attrib] = entity[attrib][0]\n } else if (typeof entity[attrib] === 'object') {\n entity[attrib] = getNonObjectValue(Object.values(entity[attrib])[0])\n }\n // if entity type is version, add 0 prefix to version number 1 -> v001, 12 -> v012\n if (entity.type === 'version' && attrib === 'version') {\n entity[attrib] = 'v' + entity[attrib].toString().padStart(3, '0')\n }\n }\n entity.thumbnailEntityType = entity.type\n if (entity.type === 'product') {\n entity.thumbnailEntityId = entity.latestVersion.thumbnailEntityId\n entity.thumbnailId = entity.latestVersion.thumbnailId\n entity.thumbnailEntityType = 'version'\n }\n }\n\n return allEntities\n}\n\nconst injectedApi = gqlApi.injectEndpoints({\n endpoints: (build) => ({\n getEventTile: build.query({\n query: ({ projectName, id, type }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: buildEventTileQuery(type),\n variables: { projectName, id },\n },\n }),\n transformResponse: (response, meta, { type }) => response.data?.project[type],\n }),\n getEntityTiles: build.query({\n query: ({ projectName, entities }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: buildEntityTilesQuery(entities),\n variables: { projectName },\n },\n }),\n transformResponse: (response, meta, { entities }) =>\n formatEntityTiles(response.data?.project, entities),\n }),\n getEntity: build.query({\n query: ({ projectName, entityType, entityId }) => ({\n url: `/api/projects/${projectName}/${entityType}s/${entityId}`,\n }),\n providesTags: (res, error, { entityId }) => [{ type: 'entity', id: entityId }],\n }),\n }),\n overrideExisting: true,\n})\n\nconst getEntityApi = injectedApi.enhanceEndpoints({\n endpoints: {\n GetProductVersions: {},\n },\n})\n\nexport const {\n useGetEventTileQuery,\n useGetEntityTilesQuery,\n useGetEntityQuery,\n useLazyGetEntityQuery,\n useGetProductVersionsQuery,\n useGetSearchedEntitiesInfiniteQuery,\n} = getEntityApi\nexport default getEntityApi\n"],"names":["buildEventTileQuery","type","buildEntityTilesQuery","entities","query","acc","ids","fragments","FOLDER_TILE_FRAGMENT","PRODUCT_TILE_FRAGMENT","VERSION_TILE_FRAGMENT","TASK_TILE_FRAGMENT","getNonObjectValue","value","keys","formatEntityTiles","project","obj","entity","allEntities","node","attrib","injectedApi","gqlApi","build","projectName","id","response","meta","entityType","entityId","res","error","getEntityApi","useGetEventTileQuery","useGetEntityTilesQuery","useGetEntityQuery","useLazyGetEntityQuery","useGetProductVersionsQuery","useGetSearchedEntitiesInfiniteQuery"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");const Q=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");require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/projectFolders.cjs.js");require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");require("lodash");require("react-toastify");require("uuid");const w=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("./getEntity.cjs.js");const j=require("./transformDetailsPanelData.cjs.js");require("./updateEntity.cjs.js");require("../entityLists/getLists.cjs.js");require("../entityLists/updateLists.cjs.js");require("../entityLists/getListsAttributes.cjs.js");require("../entityLists/listItemsColumnStats.cjs.js");require("../entityLists/updateListsAttributes.cjs.js");require("../entityLists/listFolders.cjs.js");require("../folders/getFolders.cjs.js");require("../folders/getFolderDeleteInfo.cjs.js");require("../grouping/getGrouping.cjs.js");require("../links/updateLinks.cjs.js");require("../links/getLinks.cjs.js");require("../links/getEntityLinks.cjs.js");require("../overview/getOverview.cjs.js");require("../overview/updateOverview.cjs.js");require("../versions/getVersionsProducts.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 b=require("../../../util/realtimeUpdatesUtils.cjs.js"),k=require("../../../util/pubsub.cjs.js"),N=Q.api.enhanceEndpoints({endpoints:{GetDetailsPanelFolder:{transformResponse:(u,o,t)=>{const{projectName:s}=t,e=u?.project?.folder;return e?j.transformDetailsPanelQueriesData({projectName:s,entity:e,entityType:"folder"}):null}},GetDetailsPanelTask:{transformResponse:(u,o,t)=>{const{projectName:s}=t,e=u?.project?.task;return e?j.transformDetailsPanelQueriesData({projectName:s,entity:e,entityType:"task"}):null}},GetDetailsPanelVersion:{transformResponse:(u,o,t)=>{const{projectName:s}=t,e=u?.project?.version;return e?j.transformDetailsPanelQueriesData({projectName:s,entity:e,entityType:"version"}):null}},GetDetailsPanelRepresentation:{transformResponse:(u,o,t)=>{const{projectName:s}=t,e=u?.project?.representation;return e?j.transformDetailsPanelQueriesData({projectName:s,entity:e,entityType:"representation"}):null}}}}),G=u=>{switch(u){case"task":return"GetDetailsPanelTask";case"version":return"GetDetailsPanelVersion";case"folder":return"GetDetailsPanelFolder";case"representation":return"GetDetailsPanelRepresentation"}},S=N.injectEndpoints({endpoints:u=>({getEntitiesDetailsPanel:u.query({async queryFn({entities:o=[],entityType:t},{dispatch:s}){if(!j.detailsPanelEntityTypes.includes(t))return{error:{status:"CUSTOM_ERROR",error:"Entity type not supported"}};try{const e=o.map(l=>s(N.endpoints[G(t)].initiate({projectName:l.projectName,entityId:l.id},{forceRefetch:!0})));return{data:(await Promise.all(e)).filter(l=>!!l.data).map(l=>l.data)}}catch(e){return console.error(e),{error:{status:"FETCH_ERROR",error:e.message}}}},async onCacheEntryAdded({entityType:o},{updateCachedData:t,cacheDataLoaded:s,cacheEntryRemoved:e,dispatch:T,getCacheEntry:R}){let l,I;const g=async(h,m)=>{const E=R().data??[],d=new Set(E.map(i=>`${i.projectName}:${i.id}`)),P=new Map,c=[];h.forEach(({topic:i,message:r})=>{const a=r.summary?.entityId,n=r.project;if(!a||!n)return;const y=`${n}:${a}`;if(!d.has(y))return;const p=i.split(".")[2]?.replace("_changed",""),f=b.getSupportedEntityPatch(p,r.summary,b.REALTIME_TASK_SUPPORTED_VALUE_FIELDS);f?c.push({id:a,projectName:n,field:f.field,value:f.value}):P.set(y,{id:a,projectName:n})}),c.length&&t(i=>{c.forEach(({id:r,projectName:a,field:n,value:y})=>{const p=i.find(f=>f.id===r&&f.projectName===a);p&&(Object.assign(p,{...n==="status"||n==="tags"?{[n]:y}:{},...n==="type"?{entitySubType:y}:{}}),n==="assignees"&&p.task&&(p.task.assignees=y),n==="type"&&p.task&&(p.task.taskType=y))})});const q=Array.from(P.values());if(!q.length||q.length>b.REALTIME_REST_CALL_LIMIT)return;await b.waitForRealtimeJitter();const D=await Promise.all(q.map(async i=>{try{const r=await T(N.endpoints[G(o)].initiate({projectName:i.projectName,entityId:i.id},{forceRefetch:!0}));if(r.status!=="fulfilled")return console.error(r?.error||"No entity found"),null;const a=r.data;return a||(console.error("No entity found"),null)}catch(r){return console.error("Entity task realtime update failed",r),null}}));m()&&t(i=>{D.forEach(r=>{if(!r)return;const a=i.findIndex(n=>n.id===r.id&&n.projectName===r.projectName);if(a===-1){console.error("Entity not found in cache");return}i[a]=r})})},_=b.createRealtimeBatcher(g,({topic:h,message:m})=>`${m.project}:${m.summary?.entityId}:${h}`);try{await s,I=w.subscribeToThumbnailUpdates(E=>{const d=R().data??[],P=E.filter(c=>d.some(q=>q.id===c.summary.entityId&&q.projectName===c.project));P.length!==0&&t(c=>{P.forEach(q=>{const D=c.findIndex(i=>i.id===q.summary.entityId);D!==-1&&c[D]&&q.summary.thumbnailHash&&(c[D].thumbnailHash=q.summary.thumbnailHash)})})},[o]);const h=(E,d)=>{!d?.project||!d?.summary?.entityId||_.add({topic:E,message:d})},m=`entity.${o}`;l=k.subscribe(m,h)}catch{}await e,k.unsubscribe(l),I&&I(),_.clear()},providesTags:(o,t,{entities:s,entityType:e})=>[...s.map(({id:T})=>({id:T,type:"entities"})),{type:"entities",id:e.toUpperCase()},{type:"entities",id:"LIST"}]})})}),{useGetEntitiesDetailsPanelQuery:L,useLazyGetEntitiesDetailsPanelQuery:A}=S;exports.detailsPanelQueries=S;exports.useGetEntitiesDetailsPanelQuery=L;exports.useLazyGetEntitiesDetailsPanelQuery=A;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");const Q=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");require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/projectFolders.cjs.js");require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");require("lodash");require("react-toastify");require("uuid");const w=require("../../../util/thumbnailWebsocket.cjs.js");require("../users/updateUsers.cjs.js");const b=require("../../../util/realtimeUpdatesUtils.cjs.js"),k=require("../../../util/pubsub.cjs.js"),j=require("./transformDetailsPanelData.cjs.js"),N=Q.api.enhanceEndpoints({endpoints:{GetDetailsPanelFolder:{transformResponse:(o,u,r)=>{const{projectName:s}=r,e=o?.project?.folder;return e?j.transformDetailsPanelQueriesData({projectName:s,entity:e,entityType:"folder"}):null}},GetDetailsPanelTask:{transformResponse:(o,u,r)=>{const{projectName:s}=r,e=o?.project?.task;return e?j.transformDetailsPanelQueriesData({projectName:s,entity:e,entityType:"task"}):null}},GetDetailsPanelVersion:{transformResponse:(o,u,r)=>{const{projectName:s}=r,e=o?.project?.version;return e?j.transformDetailsPanelQueriesData({projectName:s,entity:e,entityType:"version"}):null}},GetDetailsPanelRepresentation:{transformResponse:(o,u,r)=>{const{projectName:s}=r,e=o?.project?.representation;return e?j.transformDetailsPanelQueriesData({projectName:s,entity:e,entityType:"representation"}):null}}}}),G=o=>{switch(o){case"task":return"GetDetailsPanelTask";case"version":return"GetDetailsPanelVersion";case"folder":return"GetDetailsPanelFolder";case"representation":return"GetDetailsPanelRepresentation"}},S=N.injectEndpoints({endpoints:o=>({getEntitiesDetailsPanel:o.query({async queryFn({entities:u=[],entityType:r},{dispatch:s}){if(!j.detailsPanelEntityTypes.includes(r))return{error:{status:"CUSTOM_ERROR",error:"Entity type not supported"}};try{const e=u.map(p=>s(N.endpoints[G(r)].initiate({projectName:p.projectName,entityId:p.id},{forceRefetch:!0})));return{data:(await Promise.all(e)).filter(p=>!!p.data).map(p=>p.data)}}catch(e){return console.error(e),{error:{status:"FETCH_ERROR",error:e.message}}}},async onCacheEntryAdded({entityType:u},{updateCachedData:r,cacheDataLoaded:s,cacheEntryRemoved:e,dispatch:T,getCacheEntry:R}){let p,I;const g=async(h,f)=>{const E=R().data??[],y=new Set(E.map(i=>`${i.projectName}:${i.id}`)),P=new Map,c=[];h.forEach(({topic:i,message:t})=>{const a=t.summary?.entityId,n=t.project;if(!a||!n)return;const m=`${n}:${a}`;if(!y.has(m))return;const d=i.split(".")[2]?.replace("_changed",""),q=b.getSupportedEntityPatch(d,t.summary,b.REALTIME_TASK_SUPPORTED_VALUE_FIELDS);q?c.push({id:a,projectName:n,field:q.field,value:q.value}):P.set(m,{id:a,projectName:n})}),c.length&&r(i=>{c.forEach(({id:t,projectName:a,field:n,value:m})=>{const d=i.find(q=>q.id===t&&q.projectName===a);d&&(Object.assign(d,{...n==="status"||n==="tags"?{[n]:m}:{},...n==="type"?{entitySubType:m}:{}}),n==="assignees"&&d.task&&(d.task.assignees=m),n==="type"&&d.task&&(d.task.taskType=m))})});const l=Array.from(P.values());if(!l.length||l.length>b.REALTIME_REST_CALL_LIMIT)return;await b.waitForRealtimeJitter();const D=await Promise.all(l.map(async i=>{try{const t=await T(N.endpoints[G(u)].initiate({projectName:i.projectName,entityId:i.id},{forceRefetch:!0}));if(t.status!=="fulfilled")return console.error(t?.error||"No entity found"),null;const a=t.data;return a||(console.error("No entity found"),null)}catch(t){return console.error("Entity task realtime update failed",t),null}}));f()&&r(i=>{D.forEach(t=>{if(!t)return;const a=i.findIndex(n=>n.id===t.id&&n.projectName===t.projectName);if(a===-1){console.error("Entity not found in cache");return}i[a]=t})})},_=b.createRealtimeBatcher(g,({topic:h,message:f})=>`${f.project}:${f.summary?.entityId}:${h}`);try{await s,I=w.subscribeToThumbnailUpdates(E=>{const y=R().data??[],P=E.filter(c=>y.some(l=>l.id===c.summary.entityId&&l.projectName===c.project));P.length!==0&&r(c=>{P.forEach(l=>{const D=c.findIndex(i=>i.id===l.summary.entityId);D!==-1&&c[D]&&l.summary.thumbnailHash&&(c[D].thumbnailHash=l.summary.thumbnailHash)})})},[u]);const h=(E,y)=>{!y?.project||!y?.summary?.entityId||_.add({topic:E,message:y})},f=`entity.${u}`;p=k.subscribe(f,h)}catch{}await e,k.unsubscribe(p),I&&I(),_.clear()},providesTags:(u,r,{entities:s,entityType:e})=>[...s.map(({id:T})=>({id:T,type:"entities"})),{type:"entities",id:e.toUpperCase()},{type:"entities",id:"LIST"}]})})}),{useGetEntitiesDetailsPanelQuery:L,useLazyGetEntitiesDetailsPanelQuery:A}=S;exports.detailsPanelQueries=S;exports.useGetEntitiesDetailsPanelQuery=L;exports.useLazyGetEntitiesDetailsPanelQuery=A;
2
2
  //# sourceMappingURL=getEntityPanel.cjs.js.map