@ynput/ayon-frontend-shared 0.3.43 → 0.3.45

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 (1025) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +38 -34
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +236 -223
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Slicer.cjs.js +1 -1
  8. package/dist/Slicer.es.js +29 -26
  9. package/dist/Slicer.es.js.map +1 -1
  10. package/dist/_virtual/index.cjs4.js +1 -1
  11. package/dist/_virtual/index.cjs5.js +1 -1
  12. package/dist/_virtual/index.cjs8.js +1 -1
  13. package/dist/_virtual/index.cjs9.js +1 -1
  14. package/dist/_virtual/index.es4.js +2 -5
  15. package/dist/_virtual/index.es4.js.map +1 -1
  16. package/dist/_virtual/index.es5.js +5 -2
  17. package/dist/_virtual/index.es5.js.map +1 -1
  18. package/dist/_virtual/index.es8.js +5 -2
  19. package/dist/_virtual/index.es8.js.map +1 -1
  20. package/dist/_virtual/index.es9.js +2 -5
  21. package/dist/_virtual/index.es9.js.map +1 -1
  22. package/dist/api.cjs.js +1 -1
  23. package/dist/api.es.js +349 -330
  24. package/dist/api.es.js.map +1 -1
  25. package/dist/components.cjs.js +1 -1
  26. package/dist/components.es.js +149 -144
  27. package/dist/components.es.js.map +1 -1
  28. package/dist/index.cjs.js +1 -1
  29. package/dist/index.es.js +25 -21
  30. package/dist/index.es.js.map +1 -1
  31. package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
  32. package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
  33. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  34. package/dist/node_modules/remove-accents/index.es.js +1 -1
  35. package/dist/shared/node_modules/@module-federation/runtime/dist/index.cjs.js +1 -1
  36. package/dist/shared/node_modules/@module-federation/runtime/dist/index.es.js +1 -1
  37. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
  38. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
  39. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
  40. package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
  41. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
  42. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
  43. package/dist/shared/src/api/generated/graphql.cjs.js +21 -5
  44. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  45. package/dist/shared/src/api/generated/graphql.es.js +18 -2
  46. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  47. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  48. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  49. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
  50. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
  51. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +13 -10
  52. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
  53. package/dist/shared/src/api/queries/bundles/getBundles.cjs.js +2 -0
  54. package/dist/shared/src/api/queries/bundles/getBundles.cjs.js.map +1 -0
  55. package/dist/shared/src/api/queries/bundles/getBundles.es.js +65 -0
  56. package/dist/shared/src/api/queries/bundles/getBundles.es.js.map +1 -0
  57. package/dist/shared/src/api/queries/bundles/updateBundles.cjs.js +2 -0
  58. package/dist/shared/src/api/queries/bundles/updateBundles.cjs.js.map +1 -0
  59. package/dist/shared/src/api/queries/bundles/updateBundles.es.js +159 -0
  60. package/dist/shared/src/api/queries/bundles/updateBundles.es.js.map +1 -0
  61. package/dist/shared/src/api/queries/columnStats/groupCounts.cjs.js +2 -0
  62. package/dist/shared/src/api/queries/columnStats/groupCounts.cjs.js.map +1 -0
  63. package/dist/shared/src/api/queries/columnStats/groupCounts.es.js +83 -0
  64. package/dist/shared/src/api/queries/columnStats/groupCounts.es.js.map +1 -0
  65. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js +1 -1
  66. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js.map +1 -1
  67. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js +60 -41
  68. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js.map +1 -1
  69. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
  70. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
  71. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +6 -3
  72. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  73. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  74. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  75. package/dist/shared/src/api/queries/entityLists/getLists.es.js +45 -42
  76. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  77. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js +1 -1
  78. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js.map +1 -1
  79. package/dist/shared/src/api/queries/entityLists/listFolders.es.js +11 -8
  80. package/dist/shared/src/api/queries/entityLists/listFolders.es.js.map +1 -1
  81. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.cjs.js +1 -1
  82. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.cjs.js.map +1 -1
  83. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.es.js +5 -4
  84. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.es.js.map +1 -1
  85. package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -1
  86. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  87. package/dist/shared/src/api/queries/folders/getFolders.es.js +6 -3
  88. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  89. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
  90. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
  91. package/dist/shared/src/api/queries/links/getEntityLinks.es.js +5 -2
  92. package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
  93. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  94. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  95. package/dist/shared/src/api/queries/overview/getOverview.es.js +280 -247
  96. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  97. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  98. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  99. package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js +1 -1
  100. package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js.map +1 -1
  101. package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js +15 -12
  102. package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js.map +1 -1
  103. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
  104. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  105. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +8 -5
  106. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  107. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
  108. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
  109. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +17 -14
  110. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
  111. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js +1 -1
  112. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js.map +1 -1
  113. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js +11 -8
  114. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js.map +1 -1
  115. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js +1 -1
  116. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js.map +1 -1
  117. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js +6 -3
  118. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
  119. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  120. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  121. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +5 -2
  122. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  123. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +5 -5
  124. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
  125. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +5 -2
  126. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
  127. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  128. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  129. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +15 -11
  130. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  131. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  132. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  133. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +6 -3
  134. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  135. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  136. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  137. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +6 -3
  138. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  139. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js +4 -4
  140. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js.map +1 -1
  141. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js +5 -2
  142. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js.map +1 -1
  143. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js +1 -1
  144. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js.map +1 -1
  145. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js +5 -2
  146. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js.map +1 -1
  147. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  148. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  149. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +6 -3
  150. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  151. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js +1 -1
  152. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js.map +1 -1
  153. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js +5 -2
  154. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js.map +1 -1
  155. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js +1 -1
  156. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js.map +1 -1
  157. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js +5 -2
  158. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js.map +1 -1
  159. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js +1 -1
  160. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js.map +1 -1
  161. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js +6 -3
  162. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js.map +1 -1
  163. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  164. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  165. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +16 -12
  166. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  167. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  168. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  169. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +18 -14
  170. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  171. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  172. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  173. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +6 -3
  174. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  175. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  176. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  177. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +44 -40
  178. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  179. package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.cjs.js +4 -0
  180. package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.cjs.js.map +1 -0
  181. package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.es.js +133 -0
  182. package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.es.js.map +1 -0
  183. package/dist/shared/src/components/InfoMessage/InfoMessage.cjs.js +2 -0
  184. package/dist/shared/src/components/InfoMessage/InfoMessage.cjs.js.map +1 -0
  185. package/dist/shared/src/components/InfoMessage/InfoMessage.es.js +48 -0
  186. package/dist/shared/src/components/InfoMessage/InfoMessage.es.js.map +1 -0
  187. package/dist/shared/src/components/InfoMessage/InfoMessage.styled.cjs.js +77 -0
  188. package/dist/shared/src/components/InfoMessage/InfoMessage.styled.cjs.js.map +1 -0
  189. package/dist/shared/src/components/InfoMessage/InfoMessage.styled.es.js +81 -0
  190. package/dist/shared/src/components/InfoMessage/InfoMessage.styled.es.js.map +1 -0
  191. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  192. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  193. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +6 -3
  194. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  195. package/dist/shared/src/components/LinksManager/CellEditingDialog.cjs.js +1 -1
  196. package/dist/shared/src/components/LinksManager/CellEditingDialog.cjs.js.map +1 -1
  197. package/dist/shared/src/components/LinksManager/CellEditingDialog.es.js +20 -20
  198. package/dist/shared/src/components/LinksManager/CellEditingDialog.es.js.map +1 -1
  199. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  200. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  201. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +5 -2
  202. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  203. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
  204. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
  205. package/dist/shared/src/components/LinksManager/LinksManager.es.js +6 -3
  206. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
  207. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  208. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  209. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +17 -13
  210. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  211. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  212. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  213. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +6 -3
  214. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  215. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
  216. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -1
  217. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +6 -3
  218. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -1
  219. package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
  220. package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -1
  221. package/dist/shared/src/components/Menu/Menu.es.js +6 -3
  222. package/dist/shared/src/components/Menu/Menu.es.js.map +1 -1
  223. package/dist/shared/src/components/Menu/MenuItem.cjs.js +1 -1
  224. package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -1
  225. package/dist/shared/src/components/Menu/MenuItem.es.js +4 -1
  226. package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -1
  227. package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
  228. package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
  229. package/dist/shared/src/components/Menu/MenuList.es.js +24 -21
  230. package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
  231. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
  232. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  233. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +6 -3
  234. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  235. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  236. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  237. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +6 -3
  238. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  239. package/dist/shared/src/components/Powerpack/useFreeTrialLink.cjs.js +1 -1
  240. package/dist/shared/src/components/Powerpack/useFreeTrialLink.cjs.js.map +1 -1
  241. package/dist/shared/src/components/Powerpack/useFreeTrialLink.es.js +5 -2
  242. package/dist/shared/src/components/Powerpack/useFreeTrialLink.es.js.map +1 -1
  243. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
  244. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  245. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +14 -10
  246. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  247. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  248. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  249. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +15 -11
  250. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  251. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  252. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  253. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +6 -3
  254. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  255. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  256. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  257. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +13 -9
  258. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  259. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  260. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  261. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +18 -14
  262. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  263. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  264. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  265. package/dist/shared/src/components/RenameForm/RenameForm.es.js +17 -13
  266. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  267. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  268. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  269. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +5 -2
  270. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  271. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  272. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  273. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +18 -14
  274. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  275. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  276. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  277. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +19 -15
  278. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  279. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  280. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  281. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +18 -14
  282. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  283. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  284. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  285. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +87 -69
  286. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  287. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  288. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  289. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +18 -14
  290. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  291. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  292. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  293. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +112 -109
  294. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  295. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +1 -1
  296. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  297. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +6 -3
  298. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  299. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
  300. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  301. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +20 -16
  302. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  303. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +2 -2
  304. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  305. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +36 -24
  306. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  307. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js +1 -1
  308. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js.map +1 -1
  309. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js +5 -2
  310. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js.map +1 -1
  311. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
  312. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  313. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +6 -3
  314. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  315. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js +1 -1
  316. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js.map +1 -1
  317. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js +5 -2
  318. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js.map +1 -1
  319. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js +1 -1
  320. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js.map +1 -1
  321. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js +5 -2
  322. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js.map +1 -1
  323. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  324. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  325. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +17 -13
  326. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  327. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  328. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  329. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +46 -41
  330. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  331. package/dist/shared/src/components/VersionUploader/context/VersionUploadContextInstance.cjs.js +2 -0
  332. package/dist/shared/src/components/VersionUploader/context/VersionUploadContextInstance.cjs.js.map +1 -0
  333. package/dist/shared/src/components/VersionUploader/context/VersionUploadContextInstance.es.js +6 -0
  334. package/dist/shared/src/components/VersionUploader/context/VersionUploadContextInstance.es.js.map +1 -0
  335. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  336. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  337. package/dist/shared/src/components/Watchers/Watchers.es.js +5 -2
  338. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  339. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  340. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  341. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +18 -14
  342. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  343. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  344. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  345. package/dist/shared/src/containers/Actions/Actions.es.js +117 -102
  346. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  347. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js +2 -2
  348. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js.map +1 -1
  349. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js +47 -46
  350. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js.map +1 -1
  351. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  352. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  353. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +18 -14
  354. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  355. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  356. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  357. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +18 -14
  358. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  359. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  360. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  361. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +18 -14
  362. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  363. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  364. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  365. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +18 -14
  366. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  367. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  368. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  369. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +18 -14
  370. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  371. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js +1 -1
  372. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js.map +1 -1
  373. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js +6 -3
  374. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js.map +1 -1
  375. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  376. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
  377. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +18 -14
  378. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
  379. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js +2 -2
  380. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js.map +1 -1
  381. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js +5 -2
  382. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js.map +1 -1
  383. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  384. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
  385. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +17 -13
  386. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
  387. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  388. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  389. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +6 -3
  390. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  391. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  392. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  393. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +29 -25
  394. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  395. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  396. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  397. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +18 -14
  398. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  399. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  400. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  401. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +18 -14
  402. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  403. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  404. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  405. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +6 -3
  406. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  407. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js +1 -1
  408. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js.map +1 -1
  409. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js +5 -2
  410. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js.map +1 -1
  411. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  412. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  413. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +6 -3
  414. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  415. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +2 -2
  416. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  417. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +75 -69
  418. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  419. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  420. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  421. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +18 -14
  422. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  423. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  424. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  425. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +18 -14
  426. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  427. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  428. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  429. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +18 -14
  430. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  431. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js +1 -1
  432. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js.map +1 -1
  433. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js +5 -2
  434. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js.map +1 -1
  435. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  436. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  437. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +6 -3
  438. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  439. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js +1 -1
  440. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js.map +1 -1
  441. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js +7 -4
  442. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js.map +1 -1
  443. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  444. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  445. package/dist/shared/src/containers/Feed/Feed.es.js +24 -21
  446. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  447. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  448. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  449. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +18 -14
  450. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  451. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  452. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  453. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +18 -14
  454. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  455. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  456. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  457. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +18 -14
  458. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  459. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js +1 -1
  460. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js.map +1 -1
  461. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js +5 -2
  462. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js.map +1 -1
  463. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +1 -1
  464. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js.map +1 -1
  465. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +20 -16
  466. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js.map +1 -1
  467. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  468. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  469. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +6 -3
  470. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  471. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  472. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  473. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +19 -14
  474. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  475. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  476. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  477. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +22 -18
  478. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  479. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  480. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  481. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +6 -3
  482. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  483. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js +1 -1
  484. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js.map +1 -1
  485. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js +5 -2
  486. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js.map +1 -1
  487. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  488. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  489. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +6 -3
  490. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  491. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +1 -1
  492. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js.map +1 -1
  493. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +6 -3
  494. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js.map +1 -1
  495. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  496. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  497. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +6 -3
  498. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  499. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  500. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  501. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +18 -14
  502. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  503. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js +1 -1
  504. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js.map +1 -1
  505. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.es.js +5 -2
  506. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.es.js.map +1 -1
  507. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  508. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  509. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +9 -6
  510. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  511. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.cjs.js +1 -1
  512. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.cjs.js.map +1 -1
  513. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.es.js +5 -2
  514. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.es.js.map +1 -1
  515. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js +1 -1
  516. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js.map +1 -1
  517. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js +5 -2
  518. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js.map +1 -1
  519. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  520. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  521. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +5 -2
  522. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  523. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.cjs.js +1 -1
  524. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.cjs.js.map +1 -1
  525. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.es.js +5 -2
  526. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.es.js.map +1 -1
  527. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js +1 -1
  528. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js.map +1 -1
  529. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js +5 -2
  530. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js.map +1 -1
  531. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js +1 -1
  532. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js.map +1 -1
  533. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js +5 -2
  534. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js.map +1 -1
  535. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  536. package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
  537. package/dist/shared/src/containers/ListTable/ListTable.es.js +188 -175
  538. package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
  539. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  540. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  541. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +15 -11
  542. package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
  543. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  544. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
  545. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +23 -19
  546. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
  547. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  548. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  549. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +801 -761
  550. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  551. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +15 -1
  552. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
  553. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +16 -0
  554. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
  555. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  556. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  557. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +81 -76
  558. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  559. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  560. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  561. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +17 -13
  562. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  563. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  564. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  565. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +19 -15
  566. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  567. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  568. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  569. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +18 -14
  570. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  571. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js +13 -6
  572. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js.map +1 -1
  573. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js +58 -44
  574. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js.map +1 -1
  575. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  576. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  577. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +13 -9
  578. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  579. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +5 -5
  580. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  581. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +94 -88
  582. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  583. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  584. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  585. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +14 -10
  586. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  587. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  588. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  589. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +17 -13
  590. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  591. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContextInstance.cjs.js +2 -0
  592. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContextInstance.cjs.js.map +1 -0
  593. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContextInstance.es.js +6 -0
  594. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContextInstance.es.js.map +1 -0
  595. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +1 -1
  596. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  597. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +338 -7
  598. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  599. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContextInstance.cjs.js +2 -0
  600. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContextInstance.cjs.js.map +1 -0
  601. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContextInstance.es.js +6 -0
  602. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContextInstance.es.js.map +1 -0
  603. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  604. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  605. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +124 -120
  606. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  607. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js +1 -1
  608. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js.map +1 -1
  609. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js +5 -2
  610. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js.map +1 -1
  611. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  612. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  613. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +6 -3
  614. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  615. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  616. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  617. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +162 -134
  618. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  619. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  620. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  621. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +15 -11
  622. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  623. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  624. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  625. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +12 -8
  626. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  627. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  628. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  629. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +13 -9
  630. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  631. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  632. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  633. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +13 -9
  634. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  635. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  636. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  637. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +13 -9
  638. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  639. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  640. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  641. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +454 -237
  642. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  643. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  644. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  645. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +13 -9
  646. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  647. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  648. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  649. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +13 -9
  650. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  651. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupCounts.cjs.js +2 -0
  652. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupCounts.cjs.js.map +1 -0
  653. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupCounts.es.js +141 -0
  654. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupCounts.es.js.map +1 -0
  655. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  656. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  657. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +12 -8
  658. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  659. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  660. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  661. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +12 -8
  662. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  663. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  664. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  665. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +14 -10
  666. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  667. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  668. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  669. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +15 -11
  670. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  671. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  672. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  673. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +13 -9
  674. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  675. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  676. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  677. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +6 -3
  678. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  679. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  680. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  681. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +25 -22
  682. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  683. package/dist/shared/src/containers/ProjectTreeTable/utils/filterError.cjs.js +2 -0
  684. package/dist/shared/src/containers/ProjectTreeTable/utils/filterError.cjs.js.map +1 -0
  685. package/dist/shared/src/containers/ProjectTreeTable/utils/filterError.es.js +30 -0
  686. package/dist/shared/src/containers/ProjectTreeTable/utils/filterError.es.js.map +1 -0
  687. package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.cjs.js +2 -0
  688. package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.cjs.js.map +1 -0
  689. package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.es.js +32 -0
  690. package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.es.js.map +1 -0
  691. package/dist/shared/src/containers/ProjectTreeTable/utils/getGroupQueries.cjs.js +2 -0
  692. package/dist/shared/src/containers/ProjectTreeTable/utils/getGroupQueries.cjs.js.map +1 -0
  693. package/dist/shared/src/containers/ProjectTreeTable/utils/getGroupQueries.es.js +36 -0
  694. package/dist/shared/src/containers/ProjectTreeTable/utils/getGroupQueries.es.js.map +1 -0
  695. package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.cjs.js +1 -1
  696. package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.cjs.js.map +1 -1
  697. package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.es.js +4 -5
  698. package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.es.js.map +1 -1
  699. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  700. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  701. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +18 -14
  702. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  703. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  704. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  705. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +16 -12
  706. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  707. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +1 -1
  708. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
  709. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +18 -14
  710. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
  711. package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js +10 -10
  712. package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js.map +1 -1
  713. package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js +36 -32
  714. package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js.map +1 -1
  715. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +2 -2
  716. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  717. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +26 -22
  718. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  719. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +1 -1
  720. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
  721. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +6 -3
  722. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js.map +1 -1
  723. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  724. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  725. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +16 -12
  726. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  727. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  728. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  729. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +13 -9
  730. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  731. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +1 -1
  732. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
  733. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +6 -3
  734. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
  735. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +1 -1
  736. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
  737. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +5 -2
  738. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
  739. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +1 -1
  740. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -1
  741. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +5 -2
  742. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js.map +1 -1
  743. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  744. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  745. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +75 -49
  746. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  747. package/dist/shared/src/containers/RepresentationsList/versionsToRepresentations.cjs.js +1 -1
  748. package/dist/shared/src/containers/RepresentationsList/versionsToRepresentations.cjs.js.map +1 -1
  749. package/dist/shared/src/containers/RepresentationsList/versionsToRepresentations.es.js +11 -10
  750. package/dist/shared/src/containers/RepresentationsList/versionsToRepresentations.es.js.map +1 -1
  751. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  752. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  753. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +277 -211
  754. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  755. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js +83 -5
  756. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js.map +1 -1
  757. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js +89 -11
  758. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js.map +1 -1
  759. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js +1 -1
  760. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js.map +1 -1
  761. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js +149 -97
  762. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js.map +1 -1
  763. package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.cjs.js +1 -1
  764. package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.cjs.js.map +1 -1
  765. package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.es.js +15 -11
  766. package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.es.js.map +1 -1
  767. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +1 -1
  768. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
  769. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +6 -3
  770. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -1
  771. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  772. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  773. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +18 -14
  774. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  775. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  776. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  777. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +62 -58
  778. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  779. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
  780. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
  781. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +6 -3
  782. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
  783. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +1 -1
  784. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -1
  785. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +6 -3
  786. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
  787. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
  788. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
  789. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +13 -9
  790. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
  791. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +1 -1
  792. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -1
  793. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +6 -3
  794. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -1
  795. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js +1 -1
  796. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js.map +1 -1
  797. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js +6 -3
  798. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js.map +1 -1
  799. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js +1 -1
  800. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js.map +1 -1
  801. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js +6 -3
  802. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js.map +1 -1
  803. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js +1 -1
  804. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js.map +1 -1
  805. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js +6 -3
  806. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js.map +1 -1
  807. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  808. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  809. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +6 -3
  810. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  811. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js +1 -1
  812. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -1
  813. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js +5 -2
  814. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -1
  815. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js +1 -1
  816. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js.map +1 -1
  817. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js +5 -2
  818. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js.map +1 -1
  819. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  820. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  821. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +6 -3
  822. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  823. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  824. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  825. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +16 -12
  826. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  827. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +1 -1
  828. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  829. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +6 -3
  830. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  831. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  832. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  833. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +23 -20
  834. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  835. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js +1 -1
  836. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js.map +1 -1
  837. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js +5 -2
  838. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js.map +1 -1
  839. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -1
  840. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
  841. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +5 -2
  842. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
  843. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js +1 -1
  844. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js.map +1 -1
  845. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js +5 -2
  846. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js.map +1 -1
  847. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  848. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  849. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +9 -6
  850. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  851. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  852. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  853. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +5 -2
  854. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  855. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  856. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  857. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +5 -2
  858. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  859. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  860. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  861. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +5 -2
  862. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  863. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  864. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  865. package/dist/shared/src/context/AddonProjectContext.es.js +7 -4
  866. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  867. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  868. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  869. package/dist/shared/src/context/DetailsPanelContext.es.js +20 -17
  870. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  871. package/dist/shared/src/context/GlobalContext.cjs.js +1 -1
  872. package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -1
  873. package/dist/shared/src/context/GlobalContext.es.js +7 -4
  874. package/dist/shared/src/context/GlobalContext.es.js.map +1 -1
  875. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  876. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  877. package/dist/shared/src/context/PowerpackContext.es.js +10 -7
  878. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  879. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  880. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  881. package/dist/shared/src/context/ProjectContext.es.js +16 -13
  882. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  883. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  884. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  885. package/dist/shared/src/context/ProjectFoldersContext.es.js +36 -32
  886. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  887. package/dist/shared/src/context/ProjectFoldersContextInstance.cjs.js +2 -0
  888. package/dist/shared/src/context/ProjectFoldersContextInstance.cjs.js.map +1 -0
  889. package/dist/shared/src/context/ProjectFoldersContextInstance.es.js +8 -0
  890. package/dist/shared/src/context/ProjectFoldersContextInstance.es.js.map +1 -0
  891. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  892. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  893. package/dist/shared/src/context/RemoteModulesContext.es.js +7 -4
  894. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  895. package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
  896. package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
  897. package/dist/shared/src/context/SubtasksModulesContext.es.js +8 -5
  898. package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
  899. package/dist/shared/src/context/UriContext.cjs.js +1 -1
  900. package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
  901. package/dist/shared/src/context/UriContext.es.js +8 -5
  902. package/dist/shared/src/context/UriContext.es.js.map +1 -1
  903. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  904. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  905. package/dist/shared/src/context/WebsocketContext.es.js +20 -16
  906. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  907. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  908. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  909. package/dist/shared/src/hooks/useActionTriggers.es.js +5 -2
  910. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  911. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  912. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  913. package/dist/shared/src/hooks/useEntityUpdate.es.js +6 -3
  914. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  915. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
  916. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
  917. package/dist/shared/src/hooks/useGetEntityGroups.es.js +5 -2
  918. package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
  919. package/dist/shared/src/hooks/useGetProductionAddon.cjs.js +1 -1
  920. package/dist/shared/src/hooks/useGetProductionAddon.cjs.js.map +1 -1
  921. package/dist/shared/src/hooks/useGetProductionAddon.es.js +5 -2
  922. package/dist/shared/src/hooks/useGetProductionAddon.es.js.map +1 -1
  923. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  924. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  925. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +15 -21
  926. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  927. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  928. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  929. package/dist/shared/src/hooks/useHierarchyTable.es.js +5 -2
  930. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  931. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js +1 -1
  932. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js.map +1 -1
  933. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js +5 -2
  934. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js.map +1 -1
  935. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  936. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  937. package/dist/shared/src/hooks/useScopedStatuses.es.js +7 -4
  938. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  939. package/dist/shared/src/hooks/useScopedTypes.cjs.js +1 -1
  940. package/dist/shared/src/hooks/useScopedTypes.cjs.js.map +1 -1
  941. package/dist/shared/src/hooks/useScopedTypes.es.js +5 -2
  942. package/dist/shared/src/hooks/useScopedTypes.es.js.map +1 -1
  943. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  944. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  945. package/dist/shared/src/hooks/useUserProjectConfig.es.js +6 -3
  946. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  947. package/dist/shared/src/util/getBundleMode.cjs.js +1 -1
  948. package/dist/shared/src/util/getBundleMode.cjs.js.map +1 -1
  949. package/dist/shared/src/util/getBundleMode.es.js +6 -3
  950. package/dist/shared/src/util/getBundleMode.es.js.map +1 -1
  951. package/dist/shared/src/util/replaceRoot.cjs.js +2 -0
  952. package/dist/shared/src/util/replaceRoot.cjs.js.map +1 -0
  953. package/dist/shared/src/util/replaceRoot.es.js +11 -0
  954. package/dist/shared/src/util/replaceRoot.es.js.map +1 -0
  955. package/dist/types/api/generated/graphql.d.ts +20 -0
  956. package/dist/types/api/generated/graphqlLinks.d.ts +1 -0
  957. package/dist/types/api/queries/activities/getActivities.d.ts +6 -0
  958. package/dist/types/api/queries/bundles/getBundles.d.ts +951 -0
  959. package/dist/types/api/queries/bundles/index.d.ts +2 -0
  960. package/dist/types/api/queries/bundles/updateBundles.d.ts +1027 -0
  961. package/dist/types/api/queries/columnStats/groupCounts.d.ts +17 -0
  962. package/dist/types/api/queries/columnStats/index.d.ts +1 -0
  963. package/dist/types/api/queries/columnStats/metricTargets.d.ts +8 -1
  964. package/dist/types/api/queries/entities/getEntity.d.ts +3 -0
  965. package/dist/types/api/queries/entities/getEntityPanel.d.ts +3 -0
  966. package/dist/types/api/queries/entities/updateEntity.d.ts +3 -0
  967. package/dist/types/api/queries/entityLists/getLists.d.ts +3 -0
  968. package/dist/types/api/queries/index.d.ts +1 -0
  969. package/dist/types/api/queries/overview/getOverview.d.ts +95 -38
  970. package/dist/types/api/queries/project/getProject.d.ts +3 -0
  971. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +3 -0
  972. package/dist/types/api/queries/users/getUsers.d.ts +3 -0
  973. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +6 -0
  974. package/dist/types/components/Feedback/FeedbackContext.d.ts +1 -0
  975. package/dist/types/components/FilterErrorActions/FilterErrorActions.d.ts +5 -0
  976. package/dist/types/components/FilterErrorActions/index.d.ts +2 -0
  977. package/dist/types/components/InfoMessage/InfoMessage.d.ts +14 -0
  978. package/dist/types/components/InfoMessage/InfoMessage.styled.d.ts +1 -0
  979. package/dist/types/components/InfoMessage/index.d.ts +3 -0
  980. package/dist/types/components/VersionUploader/context/VersionUploadContext.d.ts +1 -1
  981. package/dist/types/components/VersionUploader/context/VersionUploadContextInstance.d.ts +2 -0
  982. package/dist/types/components/index.d.ts +2 -0
  983. package/dist/types/containers/Actions/ActionsDropdown/ActionsDropdown.d.ts +2 -1
  984. package/dist/types/containers/EntityPickerDialog/EntityPickerDialog.d.ts +1 -0
  985. package/dist/types/containers/ListTable/ListTable.d.ts +1 -1
  986. package/dist/types/containers/ListTable/ListTable.types.d.ts +4 -1
  987. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +2 -1
  988. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.styled.d.ts +1 -0
  989. package/dist/types/containers/ProjectTreeTable/components/TableFooterRow.d.ts +1 -0
  990. package/dist/types/containers/ProjectTreeTable/context/ProjectDataContextInstance.d.ts +2 -0
  991. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +88 -6
  992. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContextInstance.d.ts +2 -0
  993. package/dist/types/containers/ProjectTreeTable/context/index.d.ts +0 -1
  994. package/dist/types/containers/ProjectTreeTable/hooks/index.d.ts +1 -0
  995. package/dist/types/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.d.ts +5 -2
  996. package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +7 -2
  997. package/dist/types/containers/ProjectTreeTable/hooks/useGroupCounts.d.ts +39 -0
  998. package/dist/types/containers/ProjectTreeTable/types/index.d.ts +6 -0
  999. package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +7 -2
  1000. package/dist/types/containers/ProjectTreeTable/utils/filterError.d.ts +11 -0
  1001. package/dist/types/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.d.ts +10 -0
  1002. package/dist/types/containers/ProjectTreeTable/utils/getGroupQueries.d.ts +17 -0
  1003. package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +2 -0
  1004. package/dist/types/containers/ProjectTreeTable/utils/pinningUtils.d.ts +0 -1
  1005. package/dist/types/containers/ProjectTreeTable/widgets/GroupHeaderWidget.d.ts +2 -1
  1006. package/dist/types/containers/RepresentationsList/versionsToRepresentations.d.ts +1 -0
  1007. package/dist/types/containers/SimpleTable/SimpleTable.d.ts +1 -64
  1008. package/dist/types/containers/SimpleTable/SimpleTable.types.d.ts +79 -0
  1009. package/dist/types/containers/SimpleTable/SimpleTableRowTemplate.d.ts +13 -1
  1010. package/dist/types/containers/SimpleTable/hooks/useRowKeydown.d.ts +2 -1
  1011. package/dist/types/containers/SimpleTable/index.d.ts +1 -0
  1012. package/dist/types/containers/Slicer/context/SlicerContext.d.ts +6 -1
  1013. package/dist/types/context/ProjectFoldersContextInstance.d.ts +2 -0
  1014. package/dist/types/hooks/useGroupByRemoteModules.d.ts +0 -17
  1015. package/dist/types/util/index.d.ts +1 -0
  1016. package/dist/types/util/replaceRoot.d.ts +1 -0
  1017. package/dist/util.cjs.js +1 -1
  1018. package/dist/util.es.js +21 -19
  1019. package/dist/util.es.js.map +1 -1
  1020. package/package.json +2 -2
  1021. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +0 -2
  1022. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +0 -1
  1023. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +0 -326
  1024. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +0 -1
  1025. package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +0 -81
@@ -1 +1 @@
1
- {"version":3,"file":"useBuildGroupByTableData.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.ts"],"sourcesContent":["// based on the groupBy field we take a flat list of items and group them\n// each group is a root node with subItems as the grouped items\n// any leftover items that do not match the groupBy field are added as a separate group (\"Ungrouped\")\n\nimport { EntityGroup } from '@shared/api'\nimport { TableGroupBy } from '../context'\nimport { EditorTaskNode, EntitiesMap, EntityMap, ProjectTableAttribute, TableRow } from '../types'\nimport { useGetEntityTypeData } from './useGetEntityTypeData'\nimport { useCallback } from 'react'\nimport { linksToTableData } from '../utils'\nimport { ProjectModelWithProducts, useProjectContext } from '@shared/context'\nexport type GroupByEntityType = 'task' | 'folder' | 'version' | 'product'\n\nexport type GroupData = {\n value: string\n label: string\n color?: string\n icon?: string\n img?: string\n count?: number\n}\n\nexport const NEXT_PAGE_ID = 'next-page'\nexport const UNGROUPED_VALUE = '_ungrouped'\nexport const ROW_ID_SEPARATOR = '__'\n\nconst valueToStringArray = (value?: any): string[] =>\n value\n ? Array.isArray(value)\n ? [...new Set(value.map((v) => v.toString()))] // dedup so an entity can't land in the same group twice (keeps row.id unique)\n : [value.toString()]\n : []\n\n// get group label, color and icon\nconst getGroupData = (groupById: string, groupValue: string, groups?: EntityGroup[]): GroupData => {\n if (!groups)\n return {\n value: groupValue,\n label: groupValue,\n }\n\n const group = groups.find((g) => g.value === groupValue)\n if (!group) {\n return {\n value: groupValue,\n label: groupValue,\n }\n } else {\n return {\n value: group.value,\n label: group.label || group.value,\n color: group.color,\n icon: group.icon,\n count: group.count,\n img: groupById === 'assignees' ? `/api/users/${group.value}/avatar` : undefined,\n }\n }\n}\n\nexport const GROUP_BY_ID = '_GROUP_'\nexport const buildGroupId = (value: string) => `${GROUP_BY_ID}${value}`\nexport const parseGroupId = (groupId: string): string | null => {\n if (!groupId.startsWith(GROUP_BY_ID)) return null\n return groupId.slice(GROUP_BY_ID.length) // +1 for the underscore\n}\nexport const isGroupId = (id: string): boolean => id.startsWith(GROUP_BY_ID)\n\ntype BuildGroupByTableProps = {\n entities: EntitiesMap\n entityType: string\n groups?: EntityGroup[]\n attribFields: ProjectTableAttribute[]\n showEmpty?: boolean\n groupRowFunc?: (node: any) => TableRow\n}\n\n// get sorting ids based on the groupBy field\nconst getSortingIds = (\n groupBy: TableGroupBy,\n project?: ProjectModelWithProducts,\n attribFields: ProjectTableAttribute[] = [],\n): string[] => {\n const attributeId = groupBy.id.replace('attrib.', '')\n\n // for status, taskType, folderType use project data order\n if (attributeId === 'status') {\n return project?.statuses?.map((s) => s.name) || []\n } else if (attributeId === 'taskType') {\n return project?.taskTypes?.map((t) => t.name) || []\n } else if (attributeId === 'folderType') {\n return project?.folderTypes?.map((f) => f.name) || []\n } else if (groupBy.id.startsWith('attrib.')) {\n // for other enum attributes, use the enum values order\n return (\n attribFields\n .find((field) => field.name === attributeId)\n ?.data.enum?.map((e) => e.value.toString()) || []\n )\n } else return []\n}\n\nconst defaultEntityToGroupRow = (\n task: EditorTaskNode,\n group: string | undefined,\n entityType: string,\n project: ProjectModelWithProducts,\n getEntityTypeData: ReturnType<typeof useGetEntityTypeData>,\n): TableRow & { subRows: TableRow[] } => {\n const typeData = getEntityTypeData(entityType, task.taskType)\n return {\n id: task.id + ROW_ID_SEPARATOR + group, // unique id for the task in the folder\n entityId: task.id,\n entityType: entityType,\n parentId: task.folderId,\n folderId: task.folderId,\n name: task.name || '',\n label: task.label || task.name || '',\n icon: typeData?.icon || null,\n color: typeData?.color || null,\n status: task.status,\n assignees: task.assignees,\n tags: task.tags,\n img: null,\n subRows: [],\n subType: task.taskType || null,\n attrib: task.attrib,\n ownAttrib: task.ownAttrib,\n parents: task.parents || [],\n folder: task.parents?.[task.parents.length - 1] || undefined,\n createdAt: task.createdAt,\n updatedAt: task.updatedAt,\n hasReviewables: task.hasReviewables || false,\n links: linksToTableData(task.links, entityType, {\n folderTypes: project?.folderTypes || [],\n productTypes: Object.values(project.productTypes) || [],\n taskTypes: project?.taskTypes || [],\n }),\n subtasks: task.subtasks || [],\n latestComments: task.latestComments || [],\n }\n}\n\nconst useBuildGroupByTableData = ({\n entities,\n entityType,\n groups = [],\n attribFields,\n showEmpty,\n groupRowFunc, // for versions etc\n}: BuildGroupByTableProps) => {\n const project = useProjectContext()\n const getEntityTypeData = useGetEntityTypeData({ projectInfo: project })\n\n const entityToGroupRow = useCallback(\n (task: EditorTaskNode, group?: string): TableRow & { subRows: TableRow[] } => {\n // Use provided groupRowFunc or fall back to default\n const baseRow = groupRowFunc\n ? groupRowFunc(task)\n : defaultEntityToGroupRow(task, group, entityType, project, getEntityTypeData)\n\n // Ensure group-specific fields are set\n return {\n ...baseRow,\n id: task.id + ROW_ID_SEPARATOR + group, // unique id for the task in the group\n subRows: baseRow.subRows || [],\n }\n },\n [groupRowFunc, getEntityTypeData, entityType, project],\n )\n\n const buildGroupByTableData = (groupBy: TableGroupBy): TableRow[] => {\n const groupsMap = new Map<string, TableRow>()\n\n for (const group of groups) {\n const groupValue = group.value?.toString() as string\n const groupId = buildGroupId(groupValue)\n const groupData = getGroupData(groupBy.id, groupValue, groups)\n groupsMap.set(groupValue, {\n id: groupId,\n name: groupValue,\n entityType: 'group',\n subRows: [],\n label: groupData.label,\n group: groupData,\n links: {},\n })\n }\n\n const ungroupedId = buildGroupId(UNGROUPED_VALUE)\n // gets the \"Ungrouped\" group, creating it if it doesn't exist\n const getUnGroupedGroup = () => {\n let ungroupedGroup = groupsMap.get(UNGROUPED_VALUE)\n if (!ungroupedGroup) {\n ungroupedGroup = {\n id: ungroupedId,\n name: 'Ungrouped',\n entityType: 'group',\n subRows: [],\n label: 'Ungrouped',\n group: { value: UNGROUPED_VALUE, label: 'Ungrouped' },\n links: {},\n }\n // create ungrouped group if it doesn't exist\n groupsMap.set(UNGROUPED_VALUE, ungroupedGroup)\n }\n return ungroupedGroup\n }\n\n const canHaveUngrouped =\n groupBy.id === 'tags' || groupBy.id === 'assignees' || groupBy.id.startsWith('attrib.')\n if (canHaveUngrouped) getUnGroupedGroup()\n\n for (const [id, entity] of entities) {\n // if the entity is not of the specified type, skip it\n if (entity.entityType !== entityType) continue\n // add entities to specific group\n let groupValues: string[] = []\n if (groupBy.id.startsWith('attrib.')) {\n // for attribute based grouping, get the value of the attribute\n const attributeId = groupBy.id.split('.')[1]\n groupValues = valueToStringArray(entity.attrib?.[attributeId])\n } else if (groupBy.id === 'folderType' && 'folder' in entity) {\n // folderType is nested under folder for task entities (from TaskPropsFragment)\n groupValues = valueToStringArray(\n (entity as EditorTaskNode & { folder?: { folderType?: string } }).folder?.folderType,\n )\n } else {\n groupValues = valueToStringArray(entity[groupBy.id as keyof EntityMap])\n }\n\n // if there are no values, add to \"Ungrouped\" group\n if (groupValues.length === 0) {\n const ungroupedGroup = getUnGroupedGroup()\n ungroupedGroup.subRows?.push(entityToGroupRow(entity as EditorTaskNode, UNGROUPED_VALUE))\n }\n // for each group value, find it's group and add the entity to it\n // if we can't find the group, add it to \"Ungrouped\"\n for (const groupValue of groupValues) {\n const groupRow = groupsMap.get(groupValue)\n if (groupRow) {\n groupRow.subRows?.push(entityToGroupRow(entity as EditorTaskNode, groupValue))\n } else {\n const ungroupedGroup = getUnGroupedGroup()\n ungroupedGroup.subRows?.push(entityToGroupRow(entity as EditorTaskNode, UNGROUPED_VALUE))\n }\n }\n\n // for groups metadata on entity, check if there is a next page\n if ('groups' in entity && Array.isArray(entity.groups)) {\n for (const group of entity.groups) {\n const hasNextPageGroup = group.hasNextPage\n if (hasNextPageGroup && groupsMap.has(group.value)) {\n // add a next page row to the group\n const groupRow = groupsMap.get(group.value)\n if (groupRow) {\n groupRow.subRows?.push({\n id: `${group.value}-next-page`,\n name: `Load more tasks...`,\n entityType: NEXT_PAGE_ID,\n subRows: [],\n label: `Next page for ${group.value}`,\n group: { value: group.value, label: group.value },\n links: {},\n })\n }\n }\n }\n }\n }\n\n const groupsList = Array.from(groupsMap.values())\n\n const attribSortingIds = getSortingIds(groupBy, project, attribFields)\n\n // sort the groups by their label\n // if the group is an attribute with enum values, sort by the enum values\n const sortDirection = groupBy.desc ? -1 : 1\n groupsList.sort((a, b) => {\n if (a.group?.value === UNGROUPED_VALUE) return 1 // \"Ungrouped\" should always be last\n if (b.group?.value === UNGROUPED_VALUE) return -1 // \"Ungrouped\" should always be last\n if (attribSortingIds.length) {\n // sort by index of the enum value\n const indexA = attribSortingIds.indexOf(a.group?.value || '')\n const indexB = attribSortingIds.indexOf(b.group?.value || '')\n if (indexA !== -1 && indexB !== -1) {\n return (indexA - indexB) * sortDirection\n }\n if (indexA !== -1) return -1 // a is in the enum, b is not\n if (indexB !== -1) return 1 // b is in the enum, a is not\n // if both are not in the enum, sort by label\n return (a.group?.label?.localeCompare(b.group?.label || '') || 0) * sortDirection\n } else {\n // for other groupings, sort by the group label\n return (a.group?.label?.localeCompare(b.group?.label || '') || 0) * sortDirection\n }\n })\n\n // filter out empty groups — Ungrouped has no server count, keep it reachable\n const nonEmptyGroups = groupsList.filter(\n (group) =>\n (group.group?.count ?? 0) > 0 ||\n (group.subRows?.length ?? 0) > 0 ||\n group.group?.value === UNGROUPED_VALUE,\n )\n\n return showEmpty ? groupsList : nonEmptyGroups\n }\n\n return buildGroupByTableData\n}\n\nexport default useBuildGroupByTableData\n"],"names":["NEXT_PAGE_ID","UNGROUPED_VALUE","ROW_ID_SEPARATOR","valueToStringArray","value","v","getGroupData","groupById","groupValue","groups","group","g","GROUP_BY_ID","buildGroupId","parseGroupId","groupId","isGroupId","id","getSortingIds","groupBy","project","attribFields","attributeId","s","t","f","field","e","defaultEntityToGroupRow","task","entityType","getEntityTypeData","typeData","linksToTableData","useBuildGroupByTableData","entities","showEmpty","groupRowFunc","useProjectContext","useGetEntityTypeData","entityToGroupRow","useCallback","baseRow","groupsMap","groupData","ungroupedId","getUnGroupedGroup","ungroupedGroup","entity","groupValues","groupRow","groupsList","attribSortingIds","sortDirection","a","b","indexA","indexB","nonEmptyGroups"],"mappings":"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"}
1
+ {"version":3,"file":"useBuildGroupByTableData.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.ts"],"sourcesContent":["// based on the groupBy field we take a flat list of items and group them\n// each group is a root node with subItems as the grouped items\n// any leftover items that do not match the groupBy field are added as a separate group (\"Ungrouped\")\n\nimport type { GroupCountsMap } from '@shared/api'\nimport { EntityGroup } from '@shared/api'\nimport { TableGroupBy } from '../context'\nimport { EditorTaskNode, EntitiesMap, EntityMap, ProjectTableAttribute, TableRow } from '../types'\nimport { useGetEntityTypeData } from './useGetEntityTypeData'\nimport { useCallback } from 'react'\nimport { linksToTableData } from '../utils'\nimport { ProjectModelWithProducts, useProjectContext } from '@shared/context'\n\nexport type GroupByEntityType = 'task' | 'folder' | 'version' | 'product'\n\nexport type GroupData = {\n value: string\n label: string\n color?: string\n icon?: string\n img?: string\n count?: number\n percentage?: number\n}\n\nexport const NEXT_PAGE_ID = 'next-page'\nexport const UNGROUPED_VALUE = '_ungrouped'\nexport const ROW_ID_SEPARATOR = '__'\n\nconst valueToStringArray = (value?: any): string[] =>\n value\n ? Array.isArray(value)\n ? [...new Set(value.map((v) => v.toString()))] // dedup so an entity can't land in the same group twice (keeps row.id unique)\n : [value.toString()]\n : []\n\n// get group label, color and icon; overlay the filter-aware count + percentage\n// from groupCounts when available (falls back to the grouping endpoint count)\nconst getGroupData = (\n groupById: string,\n groupValue: string,\n groups?: EntityGroup[],\n groupCounts?: GroupCountsMap,\n groupCountsComplete?: boolean,\n): GroupData => {\n const stat = groupCounts?.get(groupValue)\n const group = groups?.find((g) => g.value === groupValue)\n\n const base: GroupData = group\n ? {\n value: group.value,\n label: group.label || group.value,\n color: group.color,\n icon: group.icon,\n count: group.count,\n img: groupById === 'assignees' ? `/api/users/${group.value}/avatar` : undefined,\n }\n : { value: groupValue, label: groupValue }\n\n if (stat) {\n base.count = stat.count\n base.percentage = stat.percentage\n } else if (groupCounts && groupCountsComplete) {\n // stats are authoritative: a named group absent from them truly has 0 matches\n base.count = 0\n base.percentage = undefined\n }\n return base\n}\n\nexport const GROUP_BY_ID = '_GROUP_'\nexport const buildGroupId = (value: string) => `${GROUP_BY_ID}${value}`\nexport const parseGroupId = (groupId: string): string | null => {\n if (!groupId.startsWith(GROUP_BY_ID)) return null\n return groupId.slice(GROUP_BY_ID.length) // +1 for the underscore\n}\nexport const isGroupId = (id: string): boolean => id.startsWith(GROUP_BY_ID)\n\ntype BuildGroupByTableProps = {\n entities: EntitiesMap\n entityType: string\n groups?: EntityGroup[]\n attribFields: ProjectTableAttribute[]\n showEmpty?: boolean\n groupRowFunc?: (node: any) => TableRow\n groupCounts?: GroupCountsMap\n groupCountsComplete?: boolean\n}\n\n// get sorting ids based on the groupBy field\nconst getSortingIds = (\n groupBy: TableGroupBy,\n project?: ProjectModelWithProducts,\n attribFields: ProjectTableAttribute[] = [],\n): string[] => {\n const attributeId = groupBy.id.replace('attrib.', '')\n\n // for status, taskType, folderType use project data order\n if (attributeId === 'status') {\n return project?.statuses?.map((s) => s.name) || []\n } else if (attributeId === 'taskType') {\n return project?.taskTypes?.map((t) => t.name) || []\n } else if (attributeId === 'folderType') {\n return project?.folderTypes?.map((f) => f.name) || []\n } else if (groupBy.id.startsWith('attrib.')) {\n // for other enum attributes, use the enum values order\n return (\n attribFields\n .find((field) => field.name === attributeId)\n ?.data.enum?.map((e) => e.value.toString()) || []\n )\n } else return []\n}\n\nconst defaultEntityToGroupRow = (\n task: EditorTaskNode,\n group: string | undefined,\n entityType: string,\n project: ProjectModelWithProducts,\n getEntityTypeData: ReturnType<typeof useGetEntityTypeData>,\n): TableRow & { subRows: TableRow[] } => {\n const typeData = getEntityTypeData(entityType, task.taskType)\n return {\n id: task.id + ROW_ID_SEPARATOR + group, // unique id for the task in the folder\n entityId: task.id,\n entityType: entityType,\n parentId: task.folderId,\n folderId: task.folderId,\n name: task.name || '',\n label: task.label || task.name || '',\n icon: typeData?.icon || null,\n color: typeData?.color || null,\n status: task.status,\n assignees: task.assignees,\n tags: task.tags,\n img: null,\n subRows: [],\n subType: task.taskType || null,\n attrib: task.attrib,\n ownAttrib: task.ownAttrib,\n parents: task.parents || [],\n folder: task.parents?.[task.parents.length - 1] || undefined,\n createdAt: task.createdAt,\n updatedAt: task.updatedAt,\n hasReviewables: task.hasReviewables || false,\n links: linksToTableData(task.links, entityType, {\n folderTypes: project?.folderTypes || [],\n productTypes: Object.values(project.productTypes) || [],\n taskTypes: project?.taskTypes || [],\n }),\n subtasks: task.subtasks || [],\n latestComments: task.latestComments || [],\n }\n}\n\nconst useBuildGroupByTableData = ({\n entities,\n entityType,\n groups = [],\n attribFields,\n showEmpty,\n groupRowFunc, // for versions etc\n groupCounts,\n groupCountsComplete,\n}: BuildGroupByTableProps) => {\n const project = useProjectContext()\n const getEntityTypeData = useGetEntityTypeData({ projectInfo: project })\n\n const entityToGroupRow = useCallback(\n (task: EditorTaskNode, group?: string): TableRow & { subRows: TableRow[] } => {\n // Use provided groupRowFunc or fall back to default\n const baseRow = groupRowFunc\n ? groupRowFunc(task)\n : defaultEntityToGroupRow(task, group, entityType, project, getEntityTypeData)\n\n // Ensure group-specific fields are set\n return {\n ...baseRow,\n id: task.id + ROW_ID_SEPARATOR + group, // unique id for the task in the group\n subRows: baseRow.subRows || [],\n }\n },\n [groupRowFunc, getEntityTypeData, entityType, project],\n )\n\n return useCallback(\n (groupBy: TableGroupBy): TableRow[] => {\n const groupsMap = new Map<string, TableRow>()\n\n for (const group of groups) {\n const groupValue = group.value?.toString() as string\n const groupId = buildGroupId(groupValue)\n const groupData = getGroupData(\n groupBy.id,\n groupValue,\n groups,\n groupCounts,\n groupCountsComplete,\n )\n groupsMap.set(groupValue, {\n id: groupId,\n name: groupValue,\n entityType: 'group',\n subRows: [],\n label: groupData.label,\n group: groupData,\n links: {},\n })\n }\n\n const ungroupedId = buildGroupId(UNGROUPED_VALUE)\n // gets the \"Ungrouped\" group, creating it if it doesn't exist\n const getUnGroupedGroup = () => {\n let ungroupedGroup = groupsMap.get(UNGROUPED_VALUE)\n if (!ungroupedGroup) {\n const stat = groupCounts?.get(UNGROUPED_VALUE)\n ungroupedGroup = {\n id: ungroupedId,\n name: 'Ungrouped',\n entityType: 'group',\n subRows: [],\n label: 'Ungrouped',\n group: {\n value: UNGROUPED_VALUE,\n label: 'Ungrouped',\n count: stat?.count,\n percentage: stat?.percentage,\n },\n links: {},\n }\n // create ungrouped group if it doesn't exist\n groupsMap.set(UNGROUPED_VALUE, ungroupedGroup)\n }\n return ungroupedGroup\n }\n\n const canHaveUngrouped =\n groupBy.id === 'tags' || groupBy.id === 'assignees' || groupBy.id.startsWith('attrib.')\n if (canHaveUngrouped) getUnGroupedGroup()\n\n for (const [, entity] of entities) {\n // if the entity is not of the specified type, skip it\n if (entity.entityType !== entityType) continue\n // add entities to specific group\n let groupValues: string[] = []\n if (groupBy.id.startsWith('attrib.')) {\n // for attribute based grouping, get the value of the attribute\n const attributeId = groupBy.id.split('.')[1]\n groupValues = valueToStringArray(entity.attrib?.[attributeId])\n } else if (groupBy.id === 'folderType' && 'folder' in entity) {\n // folderType is nested under folder for task entities (from TaskPropsFragment)\n groupValues = valueToStringArray(\n (entity as EditorTaskNode & { folder?: { folderType?: string } }).folder?.folderType,\n )\n } else {\n groupValues = valueToStringArray(entity[groupBy.id as keyof EntityMap])\n }\n\n // if there are no values, add to \"Ungrouped\" group\n if (groupValues.length === 0) {\n const ungroupedGroup = getUnGroupedGroup()\n ungroupedGroup.subRows?.push(entityToGroupRow(entity as EditorTaskNode, UNGROUPED_VALUE))\n }\n // for each group value, find it's group and add the entity to it\n // if we can't find the group, add it to \"Ungrouped\"\n for (const groupValue of groupValues) {\n const groupRow = groupsMap.get(groupValue)\n if (groupRow) {\n groupRow.subRows?.push(entityToGroupRow(entity as EditorTaskNode, groupValue))\n } else {\n const ungroupedGroup = getUnGroupedGroup()\n ungroupedGroup.subRows?.push(\n entityToGroupRow(entity as EditorTaskNode, UNGROUPED_VALUE),\n )\n }\n }\n\n // for groups metadata on entity, check if there is a next page\n if ('groups' in entity && Array.isArray(entity.groups)) {\n for (const group of entity.groups) {\n const hasNextPageGroup = group.hasNextPage\n if (hasNextPageGroup && groupsMap.has(group.value)) {\n // add a next page row to the group\n const groupRow = groupsMap.get(group.value)\n if (groupRow) {\n groupRow.subRows?.push({\n id: `${group.value}-next-page`,\n name: `Load more tasks...`,\n entityType: NEXT_PAGE_ID,\n subRows: [],\n label: `Next page for ${group.value}`,\n group: { value: group.value, label: group.value },\n links: {},\n })\n }\n }\n }\n }\n }\n\n const groupsList = Array.from(groupsMap.values())\n\n const attribSortingIds = getSortingIds(groupBy, project, attribFields)\n\n // sort the groups by their label\n // if the group is an attribute with enum values, sort by the enum values\n const sortDirection = groupBy.desc ? -1 : 1\n groupsList.sort((a, b) => {\n if (a.group?.value === UNGROUPED_VALUE) return 1 // \"Ungrouped\" should always be last\n if (b.group?.value === UNGROUPED_VALUE) return -1 // \"Ungrouped\" should always be last\n if (attribSortingIds.length) {\n // sort by index of the enum value\n const indexA = attribSortingIds.indexOf(a.group?.value || '')\n const indexB = attribSortingIds.indexOf(b.group?.value || '')\n if (indexA !== -1 && indexB !== -1) {\n return (indexA - indexB) * sortDirection\n }\n if (indexA !== -1) return -1 // a is in the enum, b is not\n if (indexB !== -1) return 1 // b is in the enum, a is not\n // if both are not in the enum, sort by label\n return (a.group?.label?.localeCompare(b.group?.label || '') || 0) * sortDirection\n } else {\n // for other groupings, sort by the group label\n return (a.group?.label?.localeCompare(b.group?.label || '') || 0) * sortDirection\n }\n })\n\n // filter out empty groups — Ungrouped has no server count, keep it reachable\n const nonEmptyGroups = groupsList.filter(\n (group) =>\n (group.group?.count ?? 0) > 0 ||\n (group.subRows?.length ?? 0) > 0 ||\n group.group?.value === UNGROUPED_VALUE,\n )\n\n return showEmpty ? groupsList : nonEmptyGroups\n },\n [\n entities,\n entityType,\n groups,\n attribFields,\n showEmpty,\n groupCounts,\n groupCountsComplete,\n entityToGroupRow,\n project,\n ],\n )\n}\n\nexport default useBuildGroupByTableData\n"],"names":["NEXT_PAGE_ID","UNGROUPED_VALUE","ROW_ID_SEPARATOR","valueToStringArray","value","v","getGroupData","groupById","groupValue","groups","groupCounts","groupCountsComplete","stat","group","g","base","GROUP_BY_ID","buildGroupId","parseGroupId","groupId","isGroupId","id","getSortingIds","groupBy","project","attribFields","attributeId","s","f","field","e","defaultEntityToGroupRow","task","entityType","getEntityTypeData","typeData","linksToTableData","useBuildGroupByTableData","entities","showEmpty","groupRowFunc","useProjectContext","useGetEntityTypeData","entityToGroupRow","useCallback","baseRow","groupsMap","groupData","ungroupedId","getUnGroupedGroup","ungroupedGroup","entity","groupValues","groupRow","groupsList","attribSortingIds","sortDirection","a","b","indexA","indexB","nonEmptyGroups"],"mappings":"qjiBAyBaA,EAAe,YACfC,EAAkB,aAClBC,EAAmB,KAE1BC,EAAsBC,GAC1BA,EACI,MAAM,QAAQA,CAAK,EACjB,CAAC,GAAG,IAAI,IAAIA,EAAM,IAAKC,GAAMA,EAAE,SAAA,CAAU,CAAC,CAAC,EAC3C,CAACD,EAAM,SAAA,CAAU,EACnB,CAAA,EAIAE,EAAe,CACnBC,EACAC,EACAC,EACAC,EACAC,IACc,CACd,MAAMC,EAAOF,GAAa,IAAIF,CAAU,EAClCK,EAAQJ,GAAQ,KAAMK,GAAMA,EAAE,QAAUN,CAAU,EAElDO,EAAkBF,EACpB,CACE,MAAOA,EAAM,MACb,MAAOA,EAAM,OAASA,EAAM,MAC5B,MAAOA,EAAM,MACb,KAAMA,EAAM,KACZ,MAAOA,EAAM,MACb,IAAKN,IAAc,YAAc,cAAcM,EAAM,KAAK,UAAY,MAAA,EAExE,CAAE,MAAOL,EAAY,MAAOA,CAAA,EAEhC,OAAII,GACFG,EAAK,MAAQH,EAAK,MAClBG,EAAK,WAAaH,EAAK,YACdF,GAAeC,IAExBI,EAAK,MAAQ,EACbA,EAAK,WAAa,QAEbA,CACT,EAEaC,EAAc,UACdC,EAAgBb,GAAkB,GAAGY,CAAW,GAAGZ,CAAK,GACxDc,EAAgBC,GACtBA,EAAQ,WAAWH,CAAW,EAC5BG,EAAQ,MAAMH,EAAY,MAAM,EADM,KAGlCI,EAAaC,GAAwBA,EAAG,WAAWL,CAAW,EAcrEM,EAAgB,CACpBC,EACAC,EACAC,EAAwC,CAAA,IAC3B,CACb,MAAMC,EAAcH,EAAQ,GAAG,QAAQ,UAAW,EAAE,EAGpD,OAAIG,IAAgB,SACXF,GAAS,UAAU,IAAKG,GAAMA,EAAE,IAAI,GAAK,CAAA,EACvCD,IAAgB,WAClBF,GAAS,WAAW,IAAK,GAAM,EAAE,IAAI,GAAK,CAAA,EACxCE,IAAgB,aAClBF,GAAS,aAAa,IAAKI,GAAMA,EAAE,IAAI,GAAK,CAAA,EAC1CL,EAAQ,GAAG,WAAW,SAAS,EAGtCE,EACG,KAAMI,GAAUA,EAAM,OAASH,CAAW,GACzC,KAAK,MAAM,IAAKI,GAAMA,EAAE,MAAM,SAAA,CAAU,GAAK,CAAA,EAEvC,CAAA,CAChB,EAEMC,EAA0B,CAC9BC,EACAnB,EACAoB,EACAT,EACAU,IACuC,CACvC,MAAMC,EAAWD,EAAkBD,EAAYD,EAAK,QAAQ,EAC5D,MAAO,CACL,GAAIA,EAAK,GAAK9B,EAAmBW,EACjC,SAAUmB,EAAK,GACf,WAAAC,EACA,SAAUD,EAAK,SACf,SAAUA,EAAK,SACf,KAAMA,EAAK,MAAQ,GACnB,MAAOA,EAAK,OAASA,EAAK,MAAQ,GAClC,KAAMG,GAAU,MAAQ,KACxB,MAAOA,GAAU,OAAS,KAC1B,OAAQH,EAAK,OACb,UAAWA,EAAK,UAChB,KAAMA,EAAK,KACX,IAAK,KACL,QAAS,CAAA,EACT,QAASA,EAAK,UAAY,KAC1B,OAAQA,EAAK,OACb,UAAWA,EAAK,UAChB,QAASA,EAAK,SAAW,CAAA,EACzB,OAAQA,EAAK,UAAUA,EAAK,QAAQ,OAAS,CAAC,GAAK,OACnD,UAAWA,EAAK,UAChB,UAAWA,EAAK,UAChB,eAAgBA,EAAK,gBAAkB,GACvC,MAAOI,EAAAA,iBAAiBJ,EAAK,MAAOC,EAAY,CAC9C,YAAaT,GAAS,aAAe,CAAA,EACrC,aAAc,OAAO,OAAOA,EAAQ,YAAY,GAAK,CAAA,EACrD,UAAWA,GAAS,WAAa,CAAA,CAAC,CACnC,EACD,SAAUQ,EAAK,UAAY,CAAA,EAC3B,eAAgBA,EAAK,gBAAkB,CAAA,CAAC,CAE5C,EAEMK,EAA2B,CAAC,CAChC,SAAAC,EACA,WAAAL,EACA,OAAAxB,EAAS,CAAA,EACT,aAAAgB,EACA,UAAAc,EACA,aAAAC,EACA,YAAA9B,EACA,oBAAAC,CACF,IAA8B,CAC5B,MAAMa,EAAUiB,EAAAA,kBAAA,EACVP,EAAoBQ,EAAAA,qBAAqB,CAAE,YAAalB,EAAS,EAEjEmB,EAAmBC,EAAAA,YACvB,CAACZ,EAAsBnB,IAAuD,CAE5E,MAAMgC,EAAUL,EACZA,EAAaR,CAAI,EACjBD,EAAwBC,EAAMnB,EAAOoB,EAAYT,EAASU,CAAiB,EAG/E,MAAO,CACL,GAAGW,EACH,GAAIb,EAAK,GAAK9B,EAAmBW,EACjC,QAASgC,EAAQ,SAAW,CAAA,CAAC,CAEjC,EACA,CAACL,EAAcN,EAAmBD,EAAYT,CAAO,CAAA,EAGvD,OAAOoB,EAAAA,YACJrB,GAAsC,CACrC,MAAMuB,MAAgB,IAEtB,UAAWjC,KAASJ,EAAQ,CAC1B,MAAMD,EAAaK,EAAM,OAAO,SAAA,EAC1BM,EAAUF,EAAaT,CAAU,EACjCuC,EAAYzC,EAChBiB,EAAQ,GACRf,EACAC,EACAC,EACAC,CAAA,EAEFmC,EAAU,IAAItC,EAAY,CACxB,GAAIW,EACJ,KAAMX,EACN,WAAY,QACZ,QAAS,CAAA,EACT,MAAOuC,EAAU,MACjB,MAAOA,EACP,MAAO,CAAA,CAAC,CACT,CACH,CAEA,MAAMC,EAAc/B,EAAahB,CAAe,EAE1CgD,EAAoB,IAAM,CAC9B,IAAIC,EAAiBJ,EAAU,IAAI7C,CAAe,EAClD,GAAI,CAACiD,EAAgB,CACnB,MAAMtC,EAAOF,GAAa,IAAIT,CAAe,EAC7CiD,EAAiB,CACf,GAAIF,EACJ,KAAM,YACN,WAAY,QACZ,QAAS,CAAA,EACT,MAAO,YACP,MAAO,CACL,MAAO/C,EACP,MAAO,YACP,MAAOW,GAAM,MACb,WAAYA,GAAM,UAAA,EAEpB,MAAO,CAAA,CAAC,EAGVkC,EAAU,IAAI7C,EAAiBiD,CAAc,CAC/C,CACA,OAAOA,CACT,GAGE3B,EAAQ,KAAO,QAAUA,EAAQ,KAAO,aAAeA,EAAQ,GAAG,WAAW,SAAS,IAClE0B,EAAA,EAEtB,SAAW,CAAA,CAAGE,CAAM,IAAKb,EAAU,CAEjC,GAAIa,EAAO,aAAelB,EAAY,SAEtC,IAAImB,EAAwB,CAAA,EAC5B,GAAI7B,EAAQ,GAAG,WAAW,SAAS,EAAG,CAEpC,MAAMG,EAAcH,EAAQ,GAAG,MAAM,GAAG,EAAE,CAAC,EAC3C6B,EAAcjD,EAAmBgD,EAAO,SAASzB,CAAW,CAAC,CAC/D,MAAWH,EAAQ,KAAO,cAAgB,WAAY4B,EAEpDC,EAAcjD,EACXgD,EAAiE,QAAQ,UAAA,EAG5EC,EAAcjD,EAAmBgD,EAAO5B,EAAQ,EAAqB,CAAC,EAIpE6B,EAAY,SAAW,GACFH,EAAA,EACR,SAAS,KAAKN,EAAiBQ,EAA0BlD,CAAe,CAAC,EAI1F,UAAWO,KAAc4C,EAAa,CACpC,MAAMC,EAAWP,EAAU,IAAItC,CAAU,EACrC6C,EACFA,EAAS,SAAS,KAAKV,EAAiBQ,EAA0B3C,CAAU,CAAC,EAEtDyC,EAAA,EACR,SAAS,KACtBN,EAAiBQ,EAA0BlD,CAAe,CAAA,CAGhE,CAGA,GAAI,WAAYkD,GAAU,MAAM,QAAQA,EAAO,MAAM,GACnD,UAAWtC,KAASsC,EAAO,OAEzB,GADyBtC,EAAM,aACPiC,EAAU,IAAIjC,EAAM,KAAK,EAAG,CAElD,MAAMwC,EAAWP,EAAU,IAAIjC,EAAM,KAAK,EACtCwC,GACFA,EAAS,SAAS,KAAK,CACrB,GAAI,GAAGxC,EAAM,KAAK,aAClB,KAAM,qBACN,WAAYb,EACZ,QAAS,CAAA,EACT,MAAO,iBAAiBa,EAAM,KAAK,GACnC,MAAO,CAAE,MAAOA,EAAM,MAAO,MAAOA,EAAM,KAAA,EAC1C,MAAO,CAAA,CAAC,CACT,CAEL,EAGN,CAEA,MAAMyC,EAAa,MAAM,KAAKR,EAAU,QAAQ,EAE1CS,EAAmBjC,EAAcC,EAASC,EAASC,CAAY,EAI/D+B,EAAgBjC,EAAQ,KAAO,GAAK,EAC1C+B,EAAW,KAAK,CAACG,EAAGC,IAAM,CACxB,GAAID,EAAE,OAAO,QAAUxD,EAAiB,MAAO,GAC/C,GAAIyD,EAAE,OAAO,QAAUzD,EAAiB,MAAO,GAC/C,GAAIsD,EAAiB,OAAQ,CAE3B,MAAMI,EAASJ,EAAiB,QAAQE,EAAE,OAAO,OAAS,EAAE,EACtDG,EAASL,EAAiB,QAAQG,EAAE,OAAO,OAAS,EAAE,EAC5D,OAAIC,IAAW,IAAMC,IAAW,IACtBD,EAASC,GAAUJ,EAEzBG,IAAW,GAAW,GACtBC,IAAW,GAAW,GAElBH,EAAE,OAAO,OAAO,cAAcC,EAAE,OAAO,OAAS,EAAE,GAAK,GAAKF,CACtE,KAEE,QAAQC,EAAE,OAAO,OAAO,cAAcC,EAAE,OAAO,OAAS,EAAE,GAAK,GAAKF,CAExE,CAAC,EAGD,MAAMK,EAAiBP,EAAW,OAC/BzC,IACEA,EAAM,OAAO,OAAS,GAAK,IAC3BA,EAAM,SAAS,QAAU,GAAK,GAC/BA,EAAM,OAAO,QAAUZ,CAAA,EAG3B,OAAOsC,EAAYe,EAAaO,CAClC,EACA,CACEvB,EACAL,EACAxB,EACAgB,EACAc,EACA7B,EACAC,EACAgC,EACAnB,CAAA,CACF,CAEJ"}
@@ -1,5 +1,5 @@
1
- import { useGetEntityTypeData as _ } from "./useGetEntityTypeData.es.js";
2
- import { useCallback as U } from "react";
1
+ import { useGetEntityTypeData as P } from "./useGetEntityTypeData.es.js";
2
+ import { useCallback as x } from "react";
3
3
  import "@ynput/ayon-react-components";
4
4
  import "../../../components/SearchFilter/filterDates.es.js";
5
5
  import "date-fns";
@@ -57,8 +57,11 @@ import "../../../api/queries/addons/updateAddons.es.js";
57
57
  import "../../../api/queries/attributes/getAttributes.es.js";
58
58
  import "../../../api/queries/attributes/updateAttributes.es.js";
59
59
  import "../../../api/queries/authentication/getAuthentication.es.js";
60
+ import "../../../api/queries/bundles/getBundles.es.js";
61
+ import "../../../api/queries/bundles/updateBundles.es.js";
60
62
  import "../../../api/queries/cloud/cloud.es.js";
61
63
  import "../../../api/queries/columnStats/metricTargets.es.js";
64
+ import "../../../api/queries/columnStats/groupCounts.es.js";
62
65
  import "../../../api/queries/config/getConfig.es.js";
63
66
  import "../../../api/queries/config/updateConfig.es.js";
64
67
  import "../../../api/queries/entities/getEntity.es.js";
@@ -149,8 +152,8 @@ import "../../../context/MoveEntityContext.es.js";
149
152
  import "../../../context/MenuContext.es.js";
150
153
  import "../../../context/WebsocketContext.es.js";
151
154
  import "../../../context/GlobalContext.es.js";
152
- import { useProjectContext as E } from "../../../context/ProjectContext.es.js";
153
- import "../../../context/ProjectFoldersContext.es.js";
155
+ import { useProjectContext as S } from "../../../context/ProjectContext.es.js";
156
+ import "../../../context/ProjectFoldersContextInstance.es.js";
154
157
  import "react-redux";
155
158
  import "custom-protocol-check";
156
159
  import "../components/GroupSettingsFallback.es.js";
@@ -160,6 +163,7 @@ import "../../../components/DoneCheckbox/DoneCheckbox.es.js";
160
163
  import "../../../components/EarlyPreview/EarlyPreview.es.js";
161
164
  import "../../../components/EmptyPlaceholder/EmptyPlaceholder.es.js";
162
165
  import "../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.es.js";
166
+ import "../../../components/InfoMessage/InfoMessage.es.js";
163
167
  import "@dnd-kit/core";
164
168
  import "@dnd-kit/sortable";
165
169
  import "../../../components/EnumEditor/EnumEditor.styled.es.js";
@@ -209,7 +213,8 @@ import "../widgets/GroupHeaderWidget.es.js";
209
213
  import "../widgets/ThumbnailWidget.es.js";
210
214
  import "../widgets/LinksWidget.es.js";
211
215
  import "../../../components/LinksManager/LinksManager.styled.es.js";
212
- import "../context/ProjectTableContext.es.js";
216
+ import "../context/ColumnSettingsContext.es.js";
217
+ import "../context/ProjectTableContextInstance.es.js";
213
218
  import "../widgets/EmptyWidget.es.js";
214
219
  import "../widgets/ErrorWidget.es.js";
215
220
  import "../ProjectTreeTable.styled.es.js";
@@ -221,18 +226,13 @@ import "../context/ProjectTableQueriesContext.es.js";
221
226
  import "../components/DeleteConfirmContent.es.js";
222
227
  import "../context/ClipboardContext.es.js";
223
228
  import "../context/SelectionCellsContext.es.js";
224
- import "../context/ProjectDataContext.es.js";
229
+ import "../context/ProjectDataContextInstance.es.js";
225
230
  import "../context/CellEditingContext.es.js";
226
231
  import "../components/TableFooterRow.es.js";
227
232
  import "../context/SelectedRowsContext.es.js";
228
- import "../context/ColumnSettingsContext.es.js";
229
233
  import "../context/DetailsPanelEntityContext.es.js";
230
234
  import "../../EntityPickerDialog/EntityPickerDialog.es.js";
231
235
  import "../../Slicer/components/Slicer.es.js";
232
- import "../../Views/ViewsMenu/ViewsMenu.es.js";
233
- import "../../Views/context/ViewsContextInstance.es.js";
234
- import "../../Views/Views.styled.es.js";
235
- import "../../Views/ViewsMenuContainer/ViewsMenuContainer.es.js";
236
236
  import "../../Slicer/context/SlicerContextInstance.es.js";
237
237
  import "../../Slicer/components/SlicerDropdownFallback.es.js";
238
238
  import "../../Slicer/hooks/useTableDataBySlice.es.js";
@@ -250,6 +250,10 @@ import "../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.
250
250
  import "../../Actions/Actions.styled.es.js";
251
251
  import "../../Actions/ActionsDropdown/ActionsDropdown.es.js";
252
252
  import "../../Actions/ActionIcon.es.js";
253
+ import "../../Views/ViewsMenu/ViewsMenu.es.js";
254
+ import "../../Views/context/ViewsContextInstance.es.js";
255
+ import "../../Views/Views.styled.es.js";
256
+ import "../../Views/ViewsMenuContainer/ViewsMenuContainer.es.js";
253
257
  import "../../ListTable/ListTableRow.es.js";
254
258
  import "../../ListTable/ListTable.styled.es.js";
255
259
  import "../../../components/EntityPanelUploader/EntityPanelUploader.styled.es.js";
@@ -284,47 +288,39 @@ import "../../../components/Thumbnail/Thumbnail.styled.es.js";
284
288
  import "../../../components/Thumbnail/StackedThumbnails.es.js";
285
289
  import "../../../components/ThumbnailSimple/ThumbnailSimple.es.js";
286
290
  import "../../../components/VersionUploader/components/UploadVersionDialog.es.js";
287
- import "../../../components/VersionUploader/context/VersionUploadContext.es.js";
291
+ import "../../../components/VersionUploader/context/VersionUploadContextInstance.es.js";
288
292
  import "../../../components/Watchers/Watchers.es.js";
289
293
  import "../../../components/Menu/Menu.styled.es.js";
290
294
  import "../../../components/Menu/MenuItem.es.js";
291
295
  import "../../../components/ReviewablesSelector/ReviewablesSelector.es.js";
292
296
  import "../../../components/ColumnHeaderMenuUI.es.js";
293
- import { linksToTableData as P } from "../utils/linksToTableData.es.js";
294
- const S = "next-page", l = "_ungrouped", D = "__", w = (t) => t ? Array.isArray(t) ? [...new Set(t.map((p) => p.toString()))] : [t.toString()] : [], O = (t, p, n) => {
295
- if (!n)
296
- return {
297
- value: p,
298
- label: p
299
- };
300
- const i = n.find((e) => e.value === p);
301
- return i ? {
302
- value: i.value,
303
- label: i.label || i.value,
304
- color: i.color,
305
- icon: i.icon,
306
- count: i.count,
307
- img: t === "assignees" ? `/api/users/${i.value}/avatar` : void 0
308
- } : {
309
- value: p,
310
- label: p
311
- };
312
- }, g = "_GROUP_", I = (t) => `${g}${t}`, nm = (t) => t.startsWith(g) ? t.slice(g.length) : null, am = (t) => t.startsWith(g), C = (t, p, n = []) => {
313
- const i = t.id.replace("attrib.", "");
314
- return i === "status" ? p?.statuses?.map((e) => e.name) || [] : i === "taskType" ? p?.taskTypes?.map((e) => e.name) || [] : i === "folderType" ? p?.folderTypes?.map((e) => e.name) || [] : t.id.startsWith("attrib.") ? n.find((e) => e.name === i)?.data.enum?.map((e) => e.value.toString()) || [] : [];
315
- }, N = (t, p, n, i, e) => {
316
- const d = e(n, t.taskType);
297
+ import { linksToTableData as E } from "../utils/linksToTableData.es.js";
298
+ const O = "next-page", c = "_ungrouped", _ = "__", A = (t) => t ? Array.isArray(t) ? [...new Set(t.map((p) => p.toString()))] : [t.toString()] : [], N = (t, p, a, e, m) => {
299
+ const u = e?.get(p), s = a?.find((g) => g.value === p), f = s ? {
300
+ value: s.value,
301
+ label: s.label || s.value,
302
+ color: s.color,
303
+ icon: s.icon,
304
+ count: s.count,
305
+ img: t === "assignees" ? `/api/users/${s.value}/avatar` : void 0
306
+ } : { value: p, label: p };
307
+ return u ? (f.count = u.count, f.percentage = u.percentage) : e && m && (f.count = 0, f.percentage = void 0), f;
308
+ }, T = "_GROUP_", D = (t) => `${T}${t}`, dm = (t) => t.startsWith(T) ? t.slice(T.length) : null, cm = (t) => t.startsWith(T), W = (t, p, a = []) => {
309
+ const e = t.id.replace("attrib.", "");
310
+ return e === "status" ? p?.statuses?.map((m) => m.name) || [] : e === "taskType" ? p?.taskTypes?.map((m) => m.name) || [] : e === "folderType" ? p?.folderTypes?.map((m) => m.name) || [] : t.id.startsWith("attrib.") ? a.find((m) => m.name === e)?.data.enum?.map((m) => m.value.toString()) || [] : [];
311
+ }, $ = (t, p, a, e, m) => {
312
+ const u = m(a, t.taskType);
317
313
  return {
318
- id: t.id + D + p,
314
+ id: t.id + _ + p,
319
315
  // unique id for the task in the folder
320
316
  entityId: t.id,
321
- entityType: n,
317
+ entityType: a,
322
318
  parentId: t.folderId,
323
319
  folderId: t.folderId,
324
320
  name: t.name || "",
325
321
  label: t.label || t.name || "",
326
- icon: d?.icon || null,
327
- color: d?.color || null,
322
+ icon: u?.icon || null,
323
+ color: u?.color || null,
328
324
  status: t.status,
329
325
  assignees: t.assignees,
330
326
  tags: t.tags,
@@ -338,116 +334,148 @@ const S = "next-page", l = "_ungrouped", D = "__", w = (t) => t ? Array.isArray(
338
334
  createdAt: t.createdAt,
339
335
  updatedAt: t.updatedAt,
340
336
  hasReviewables: t.hasReviewables || !1,
341
- links: P(t.links, n, {
342
- folderTypes: i?.folderTypes || [],
343
- productTypes: Object.values(i.productTypes) || [],
344
- taskTypes: i?.taskTypes || []
337
+ links: E(t.links, a, {
338
+ folderTypes: e?.folderTypes || [],
339
+ productTypes: Object.values(e.productTypes) || [],
340
+ taskTypes: e?.taskTypes || []
345
341
  }),
346
342
  subtasks: t.subtasks || [],
347
343
  latestComments: t.latestComments || []
348
344
  };
349
- }, um = ({
345
+ }, fm = ({
350
346
  entities: t,
351
347
  entityType: p,
352
- groups: n = [],
353
- attribFields: i,
354
- showEmpty: e,
355
- groupRowFunc: d
348
+ groups: a = [],
349
+ attribFields: e,
350
+ showEmpty: m,
351
+ groupRowFunc: u,
356
352
  // for versions etc
353
+ groupCounts: s,
354
+ groupCountsComplete: f
357
355
  }) => {
358
- const c = E(), A = _({ projectInfo: c }), b = U(
359
- (s, u) => {
360
- const f = d ? d(s) : N(s, u, p, c, A);
356
+ const g = S(), I = P({ projectInfo: g }), b = x(
357
+ (n, l) => {
358
+ const v = u ? u(n) : $(n, l, p, g, I);
361
359
  return {
362
- ...f,
363
- id: s.id + D + u,
360
+ ...v,
361
+ id: n.id + _ + l,
364
362
  // unique id for the task in the group
365
- subRows: f.subRows || []
363
+ subRows: v.subRows || []
366
364
  };
367
365
  },
368
- [d, A, p, c]
366
+ [u, I, p, g]
369
367
  );
370
- return (s) => {
371
- const u = /* @__PURE__ */ new Map();
372
- for (const m of n) {
373
- const o = m.value?.toString(), a = I(o), r = O(s.id, o, n);
374
- u.set(o, {
375
- id: a,
376
- name: o,
377
- entityType: "group",
378
- subRows: [],
379
- label: r.label,
380
- group: r,
381
- links: {}
382
- });
383
- }
384
- const f = I(l), v = () => {
385
- let m = u.get(l);
386
- return m || (m = {
387
- id: f,
388
- name: "Ungrouped",
389
- entityType: "group",
390
- subRows: [],
391
- label: "Ungrouped",
392
- group: { value: l, label: "Ungrouped" },
393
- links: {}
394
- }, u.set(l, m)), m;
395
- };
396
- (s.id === "tags" || s.id === "assignees" || s.id.startsWith("attrib.")) && v();
397
- for (const [m, o] of t) {
398
- if (o.entityType !== p) continue;
399
- let a = [];
400
- if (s.id.startsWith("attrib.")) {
401
- const r = s.id.split(".")[1];
402
- a = w(o.attrib?.[r]);
403
- } else s.id === "folderType" && "folder" in o ? a = w(
404
- o.folder?.folderType
405
- ) : a = w(o[s.id]);
406
- a.length === 0 && v().subRows?.push(b(o, l));
407
- for (const r of a) {
408
- const R = u.get(r);
409
- R ? R.subRows?.push(b(o, r)) : v().subRows?.push(b(o, l));
368
+ return x(
369
+ (n) => {
370
+ const l = /* @__PURE__ */ new Map();
371
+ for (const o of a) {
372
+ const i = o.value?.toString(), r = D(i), d = N(
373
+ n.id,
374
+ i,
375
+ a,
376
+ s,
377
+ f
378
+ );
379
+ l.set(i, {
380
+ id: r,
381
+ name: i,
382
+ entityType: "group",
383
+ subRows: [],
384
+ label: d.label,
385
+ group: d,
386
+ links: {}
387
+ });
410
388
  }
411
- if ("groups" in o && Array.isArray(o.groups)) {
412
- for (const r of o.groups)
413
- if (r.hasNextPage && u.has(r.value)) {
414
- const h = u.get(r.value);
415
- h && h.subRows?.push({
416
- id: `${r.value}-next-page`,
417
- name: "Load more tasks...",
418
- entityType: S,
419
- subRows: [],
420
- label: `Next page for ${r.value}`,
421
- group: { value: r.value, label: r.value },
422
- links: {}
423
- });
424
- }
389
+ const v = D(c), G = () => {
390
+ let o = l.get(c);
391
+ if (!o) {
392
+ const i = s?.get(c);
393
+ o = {
394
+ id: v,
395
+ name: "Ungrouped",
396
+ entityType: "group",
397
+ subRows: [],
398
+ label: "Ungrouped",
399
+ group: {
400
+ value: c,
401
+ label: "Ungrouped",
402
+ count: i?.count,
403
+ percentage: i?.percentage
404
+ },
405
+ links: {}
406
+ }, l.set(c, o);
407
+ }
408
+ return o;
409
+ };
410
+ (n.id === "tags" || n.id === "assignees" || n.id.startsWith("attrib.")) && G();
411
+ for (const [, o] of t) {
412
+ if (o.entityType !== p) continue;
413
+ let i = [];
414
+ if (n.id.startsWith("attrib.")) {
415
+ const r = n.id.split(".")[1];
416
+ i = A(o.attrib?.[r]);
417
+ } else n.id === "folderType" && "folder" in o ? i = A(
418
+ o.folder?.folderType
419
+ ) : i = A(o[n.id]);
420
+ i.length === 0 && G().subRows?.push(b(o, c));
421
+ for (const r of i) {
422
+ const d = l.get(r);
423
+ d ? d.subRows?.push(b(o, r)) : G().subRows?.push(
424
+ b(o, c)
425
+ );
426
+ }
427
+ if ("groups" in o && Array.isArray(o.groups)) {
428
+ for (const r of o.groups)
429
+ if (r.hasNextPage && l.has(r.value)) {
430
+ const y = l.get(r.value);
431
+ y && y.subRows?.push({
432
+ id: `${r.value}-next-page`,
433
+ name: "Load more tasks...",
434
+ entityType: O,
435
+ subRows: [],
436
+ label: `Next page for ${r.value}`,
437
+ group: { value: r.value, label: r.value },
438
+ links: {}
439
+ });
440
+ }
441
+ }
425
442
  }
426
- }
427
- const T = Array.from(u.values()), y = C(s, c, i), G = s.desc ? -1 : 1;
428
- T.sort((m, o) => {
429
- if (m.group?.value === l) return 1;
430
- if (o.group?.value === l) return -1;
431
- if (y.length) {
432
- const a = y.indexOf(m.group?.value || ""), r = y.indexOf(o.group?.value || "");
433
- return a !== -1 && r !== -1 ? (a - r) * G : a !== -1 ? -1 : r !== -1 ? 1 : (m.group?.label?.localeCompare(o.group?.label || "") || 0) * G;
434
- } else
435
- return (m.group?.label?.localeCompare(o.group?.label || "") || 0) * G;
436
- });
437
- const x = T.filter(
438
- (m) => (m.group?.count ?? 0) > 0 || (m.subRows?.length ?? 0) > 0 || m.group?.value === l
439
- );
440
- return e ? T : x;
441
- };
443
+ const R = Array.from(l.values()), h = W(n, g, e), w = n.desc ? -1 : 1;
444
+ R.sort((o, i) => {
445
+ if (o.group?.value === c) return 1;
446
+ if (i.group?.value === c) return -1;
447
+ if (h.length) {
448
+ const r = h.indexOf(o.group?.value || ""), d = h.indexOf(i.group?.value || "");
449
+ return r !== -1 && d !== -1 ? (r - d) * w : r !== -1 ? -1 : d !== -1 ? 1 : (o.group?.label?.localeCompare(i.group?.label || "") || 0) * w;
450
+ } else
451
+ return (o.group?.label?.localeCompare(i.group?.label || "") || 0) * w;
452
+ });
453
+ const U = R.filter(
454
+ (o) => (o.group?.count ?? 0) > 0 || (o.subRows?.length ?? 0) > 0 || o.group?.value === c
455
+ );
456
+ return m ? R : U;
457
+ },
458
+ [
459
+ t,
460
+ p,
461
+ a,
462
+ e,
463
+ m,
464
+ s,
465
+ f,
466
+ b,
467
+ g
468
+ ]
469
+ );
442
470
  };
443
471
  export {
444
- g as GROUP_BY_ID,
445
- S as NEXT_PAGE_ID,
446
- D as ROW_ID_SEPARATOR,
447
- l as UNGROUPED_VALUE,
448
- I as buildGroupId,
449
- um as default,
450
- am as isGroupId,
451
- nm as parseGroupId
472
+ T as GROUP_BY_ID,
473
+ O as NEXT_PAGE_ID,
474
+ _ as ROW_ID_SEPARATOR,
475
+ c as UNGROUPED_VALUE,
476
+ D as buildGroupId,
477
+ fm as default,
478
+ cm as isGroupId,
479
+ dm as parseGroupId
452
480
  };
453
481
  //# sourceMappingURL=useBuildGroupByTableData.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useBuildGroupByTableData.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.ts"],"sourcesContent":["// based on the groupBy field we take a flat list of items and group them\n// each group is a root node with subItems as the grouped items\n// any leftover items that do not match the groupBy field are added as a separate group (\"Ungrouped\")\n\nimport { EntityGroup } from '@shared/api'\nimport { TableGroupBy } from '../context'\nimport { EditorTaskNode, EntitiesMap, EntityMap, ProjectTableAttribute, TableRow } from '../types'\nimport { useGetEntityTypeData } from './useGetEntityTypeData'\nimport { useCallback } from 'react'\nimport { linksToTableData } from '../utils'\nimport { ProjectModelWithProducts, useProjectContext } from '@shared/context'\nexport type GroupByEntityType = 'task' | 'folder' | 'version' | 'product'\n\nexport type GroupData = {\n value: string\n label: string\n color?: string\n icon?: string\n img?: string\n count?: number\n}\n\nexport const NEXT_PAGE_ID = 'next-page'\nexport const UNGROUPED_VALUE = '_ungrouped'\nexport const ROW_ID_SEPARATOR = '__'\n\nconst valueToStringArray = (value?: any): string[] =>\n value\n ? Array.isArray(value)\n ? [...new Set(value.map((v) => v.toString()))] // dedup so an entity can't land in the same group twice (keeps row.id unique)\n : [value.toString()]\n : []\n\n// get group label, color and icon\nconst getGroupData = (groupById: string, groupValue: string, groups?: EntityGroup[]): GroupData => {\n if (!groups)\n return {\n value: groupValue,\n label: groupValue,\n }\n\n const group = groups.find((g) => g.value === groupValue)\n if (!group) {\n return {\n value: groupValue,\n label: groupValue,\n }\n } else {\n return {\n value: group.value,\n label: group.label || group.value,\n color: group.color,\n icon: group.icon,\n count: group.count,\n img: groupById === 'assignees' ? `/api/users/${group.value}/avatar` : undefined,\n }\n }\n}\n\nexport const GROUP_BY_ID = '_GROUP_'\nexport const buildGroupId = (value: string) => `${GROUP_BY_ID}${value}`\nexport const parseGroupId = (groupId: string): string | null => {\n if (!groupId.startsWith(GROUP_BY_ID)) return null\n return groupId.slice(GROUP_BY_ID.length) // +1 for the underscore\n}\nexport const isGroupId = (id: string): boolean => id.startsWith(GROUP_BY_ID)\n\ntype BuildGroupByTableProps = {\n entities: EntitiesMap\n entityType: string\n groups?: EntityGroup[]\n attribFields: ProjectTableAttribute[]\n showEmpty?: boolean\n groupRowFunc?: (node: any) => TableRow\n}\n\n// get sorting ids based on the groupBy field\nconst getSortingIds = (\n groupBy: TableGroupBy,\n project?: ProjectModelWithProducts,\n attribFields: ProjectTableAttribute[] = [],\n): string[] => {\n const attributeId = groupBy.id.replace('attrib.', '')\n\n // for status, taskType, folderType use project data order\n if (attributeId === 'status') {\n return project?.statuses?.map((s) => s.name) || []\n } else if (attributeId === 'taskType') {\n return project?.taskTypes?.map((t) => t.name) || []\n } else if (attributeId === 'folderType') {\n return project?.folderTypes?.map((f) => f.name) || []\n } else if (groupBy.id.startsWith('attrib.')) {\n // for other enum attributes, use the enum values order\n return (\n attribFields\n .find((field) => field.name === attributeId)\n ?.data.enum?.map((e) => e.value.toString()) || []\n )\n } else return []\n}\n\nconst defaultEntityToGroupRow = (\n task: EditorTaskNode,\n group: string | undefined,\n entityType: string,\n project: ProjectModelWithProducts,\n getEntityTypeData: ReturnType<typeof useGetEntityTypeData>,\n): TableRow & { subRows: TableRow[] } => {\n const typeData = getEntityTypeData(entityType, task.taskType)\n return {\n id: task.id + ROW_ID_SEPARATOR + group, // unique id for the task in the folder\n entityId: task.id,\n entityType: entityType,\n parentId: task.folderId,\n folderId: task.folderId,\n name: task.name || '',\n label: task.label || task.name || '',\n icon: typeData?.icon || null,\n color: typeData?.color || null,\n status: task.status,\n assignees: task.assignees,\n tags: task.tags,\n img: null,\n subRows: [],\n subType: task.taskType || null,\n attrib: task.attrib,\n ownAttrib: task.ownAttrib,\n parents: task.parents || [],\n folder: task.parents?.[task.parents.length - 1] || undefined,\n createdAt: task.createdAt,\n updatedAt: task.updatedAt,\n hasReviewables: task.hasReviewables || false,\n links: linksToTableData(task.links, entityType, {\n folderTypes: project?.folderTypes || [],\n productTypes: Object.values(project.productTypes) || [],\n taskTypes: project?.taskTypes || [],\n }),\n subtasks: task.subtasks || [],\n latestComments: task.latestComments || [],\n }\n}\n\nconst useBuildGroupByTableData = ({\n entities,\n entityType,\n groups = [],\n attribFields,\n showEmpty,\n groupRowFunc, // for versions etc\n}: BuildGroupByTableProps) => {\n const project = useProjectContext()\n const getEntityTypeData = useGetEntityTypeData({ projectInfo: project })\n\n const entityToGroupRow = useCallback(\n (task: EditorTaskNode, group?: string): TableRow & { subRows: TableRow[] } => {\n // Use provided groupRowFunc or fall back to default\n const baseRow = groupRowFunc\n ? groupRowFunc(task)\n : defaultEntityToGroupRow(task, group, entityType, project, getEntityTypeData)\n\n // Ensure group-specific fields are set\n return {\n ...baseRow,\n id: task.id + ROW_ID_SEPARATOR + group, // unique id for the task in the group\n subRows: baseRow.subRows || [],\n }\n },\n [groupRowFunc, getEntityTypeData, entityType, project],\n )\n\n const buildGroupByTableData = (groupBy: TableGroupBy): TableRow[] => {\n const groupsMap = new Map<string, TableRow>()\n\n for (const group of groups) {\n const groupValue = group.value?.toString() as string\n const groupId = buildGroupId(groupValue)\n const groupData = getGroupData(groupBy.id, groupValue, groups)\n groupsMap.set(groupValue, {\n id: groupId,\n name: groupValue,\n entityType: 'group',\n subRows: [],\n label: groupData.label,\n group: groupData,\n links: {},\n })\n }\n\n const ungroupedId = buildGroupId(UNGROUPED_VALUE)\n // gets the \"Ungrouped\" group, creating it if it doesn't exist\n const getUnGroupedGroup = () => {\n let ungroupedGroup = groupsMap.get(UNGROUPED_VALUE)\n if (!ungroupedGroup) {\n ungroupedGroup = {\n id: ungroupedId,\n name: 'Ungrouped',\n entityType: 'group',\n subRows: [],\n label: 'Ungrouped',\n group: { value: UNGROUPED_VALUE, label: 'Ungrouped' },\n links: {},\n }\n // create ungrouped group if it doesn't exist\n groupsMap.set(UNGROUPED_VALUE, ungroupedGroup)\n }\n return ungroupedGroup\n }\n\n const canHaveUngrouped =\n groupBy.id === 'tags' || groupBy.id === 'assignees' || groupBy.id.startsWith('attrib.')\n if (canHaveUngrouped) getUnGroupedGroup()\n\n for (const [id, entity] of entities) {\n // if the entity is not of the specified type, skip it\n if (entity.entityType !== entityType) continue\n // add entities to specific group\n let groupValues: string[] = []\n if (groupBy.id.startsWith('attrib.')) {\n // for attribute based grouping, get the value of the attribute\n const attributeId = groupBy.id.split('.')[1]\n groupValues = valueToStringArray(entity.attrib?.[attributeId])\n } else if (groupBy.id === 'folderType' && 'folder' in entity) {\n // folderType is nested under folder for task entities (from TaskPropsFragment)\n groupValues = valueToStringArray(\n (entity as EditorTaskNode & { folder?: { folderType?: string } }).folder?.folderType,\n )\n } else {\n groupValues = valueToStringArray(entity[groupBy.id as keyof EntityMap])\n }\n\n // if there are no values, add to \"Ungrouped\" group\n if (groupValues.length === 0) {\n const ungroupedGroup = getUnGroupedGroup()\n ungroupedGroup.subRows?.push(entityToGroupRow(entity as EditorTaskNode, UNGROUPED_VALUE))\n }\n // for each group value, find it's group and add the entity to it\n // if we can't find the group, add it to \"Ungrouped\"\n for (const groupValue of groupValues) {\n const groupRow = groupsMap.get(groupValue)\n if (groupRow) {\n groupRow.subRows?.push(entityToGroupRow(entity as EditorTaskNode, groupValue))\n } else {\n const ungroupedGroup = getUnGroupedGroup()\n ungroupedGroup.subRows?.push(entityToGroupRow(entity as EditorTaskNode, UNGROUPED_VALUE))\n }\n }\n\n // for groups metadata on entity, check if there is a next page\n if ('groups' in entity && Array.isArray(entity.groups)) {\n for (const group of entity.groups) {\n const hasNextPageGroup = group.hasNextPage\n if (hasNextPageGroup && groupsMap.has(group.value)) {\n // add a next page row to the group\n const groupRow = groupsMap.get(group.value)\n if (groupRow) {\n groupRow.subRows?.push({\n id: `${group.value}-next-page`,\n name: `Load more tasks...`,\n entityType: NEXT_PAGE_ID,\n subRows: [],\n label: `Next page for ${group.value}`,\n group: { value: group.value, label: group.value },\n links: {},\n })\n }\n }\n }\n }\n }\n\n const groupsList = Array.from(groupsMap.values())\n\n const attribSortingIds = getSortingIds(groupBy, project, attribFields)\n\n // sort the groups by their label\n // if the group is an attribute with enum values, sort by the enum values\n const sortDirection = groupBy.desc ? -1 : 1\n groupsList.sort((a, b) => {\n if (a.group?.value === UNGROUPED_VALUE) return 1 // \"Ungrouped\" should always be last\n if (b.group?.value === UNGROUPED_VALUE) return -1 // \"Ungrouped\" should always be last\n if (attribSortingIds.length) {\n // sort by index of the enum value\n const indexA = attribSortingIds.indexOf(a.group?.value || '')\n const indexB = attribSortingIds.indexOf(b.group?.value || '')\n if (indexA !== -1 && indexB !== -1) {\n return (indexA - indexB) * sortDirection\n }\n if (indexA !== -1) return -1 // a is in the enum, b is not\n if (indexB !== -1) return 1 // b is in the enum, a is not\n // if both are not in the enum, sort by label\n return (a.group?.label?.localeCompare(b.group?.label || '') || 0) * sortDirection\n } else {\n // for other groupings, sort by the group label\n return (a.group?.label?.localeCompare(b.group?.label || '') || 0) * sortDirection\n }\n })\n\n // filter out empty groups — Ungrouped has no server count, keep it reachable\n const nonEmptyGroups = groupsList.filter(\n (group) =>\n (group.group?.count ?? 0) > 0 ||\n (group.subRows?.length ?? 0) > 0 ||\n group.group?.value === UNGROUPED_VALUE,\n )\n\n return showEmpty ? groupsList : nonEmptyGroups\n }\n\n return buildGroupByTableData\n}\n\nexport default useBuildGroupByTableData\n"],"names":["NEXT_PAGE_ID","UNGROUPED_VALUE","ROW_ID_SEPARATOR","valueToStringArray","value","v","getGroupData","groupById","groupValue","groups","group","g","GROUP_BY_ID","buildGroupId","parseGroupId","groupId","isGroupId","id","getSortingIds","groupBy","project","attribFields","attributeId","s","t","f","field","defaultEntityToGroupRow","task","entityType","getEntityTypeData","typeData","linksToTableData","useBuildGroupByTableData","entities","showEmpty","groupRowFunc","useProjectContext","useGetEntityTypeData","entityToGroupRow","useCallback","baseRow","groupsMap","groupData","ungroupedId","getUnGroupedGroup","ungroupedGroup","entity","groupValues","groupRow","groupsList","attribSortingIds","sortDirection","a","b","indexA","indexB","nonEmptyGroups"],"mappings":"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"}
1
+ {"version":3,"file":"useBuildGroupByTableData.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.ts"],"sourcesContent":["// based on the groupBy field we take a flat list of items and group them\n// each group is a root node with subItems as the grouped items\n// any leftover items that do not match the groupBy field are added as a separate group (\"Ungrouped\")\n\nimport type { GroupCountsMap } from '@shared/api'\nimport { EntityGroup } from '@shared/api'\nimport { TableGroupBy } from '../context'\nimport { EditorTaskNode, EntitiesMap, EntityMap, ProjectTableAttribute, TableRow } from '../types'\nimport { useGetEntityTypeData } from './useGetEntityTypeData'\nimport { useCallback } from 'react'\nimport { linksToTableData } from '../utils'\nimport { ProjectModelWithProducts, useProjectContext } from '@shared/context'\n\nexport type GroupByEntityType = 'task' | 'folder' | 'version' | 'product'\n\nexport type GroupData = {\n value: string\n label: string\n color?: string\n icon?: string\n img?: string\n count?: number\n percentage?: number\n}\n\nexport const NEXT_PAGE_ID = 'next-page'\nexport const UNGROUPED_VALUE = '_ungrouped'\nexport const ROW_ID_SEPARATOR = '__'\n\nconst valueToStringArray = (value?: any): string[] =>\n value\n ? Array.isArray(value)\n ? [...new Set(value.map((v) => v.toString()))] // dedup so an entity can't land in the same group twice (keeps row.id unique)\n : [value.toString()]\n : []\n\n// get group label, color and icon; overlay the filter-aware count + percentage\n// from groupCounts when available (falls back to the grouping endpoint count)\nconst getGroupData = (\n groupById: string,\n groupValue: string,\n groups?: EntityGroup[],\n groupCounts?: GroupCountsMap,\n groupCountsComplete?: boolean,\n): GroupData => {\n const stat = groupCounts?.get(groupValue)\n const group = groups?.find((g) => g.value === groupValue)\n\n const base: GroupData = group\n ? {\n value: group.value,\n label: group.label || group.value,\n color: group.color,\n icon: group.icon,\n count: group.count,\n img: groupById === 'assignees' ? `/api/users/${group.value}/avatar` : undefined,\n }\n : { value: groupValue, label: groupValue }\n\n if (stat) {\n base.count = stat.count\n base.percentage = stat.percentage\n } else if (groupCounts && groupCountsComplete) {\n // stats are authoritative: a named group absent from them truly has 0 matches\n base.count = 0\n base.percentage = undefined\n }\n return base\n}\n\nexport const GROUP_BY_ID = '_GROUP_'\nexport const buildGroupId = (value: string) => `${GROUP_BY_ID}${value}`\nexport const parseGroupId = (groupId: string): string | null => {\n if (!groupId.startsWith(GROUP_BY_ID)) return null\n return groupId.slice(GROUP_BY_ID.length) // +1 for the underscore\n}\nexport const isGroupId = (id: string): boolean => id.startsWith(GROUP_BY_ID)\n\ntype BuildGroupByTableProps = {\n entities: EntitiesMap\n entityType: string\n groups?: EntityGroup[]\n attribFields: ProjectTableAttribute[]\n showEmpty?: boolean\n groupRowFunc?: (node: any) => TableRow\n groupCounts?: GroupCountsMap\n groupCountsComplete?: boolean\n}\n\n// get sorting ids based on the groupBy field\nconst getSortingIds = (\n groupBy: TableGroupBy,\n project?: ProjectModelWithProducts,\n attribFields: ProjectTableAttribute[] = [],\n): string[] => {\n const attributeId = groupBy.id.replace('attrib.', '')\n\n // for status, taskType, folderType use project data order\n if (attributeId === 'status') {\n return project?.statuses?.map((s) => s.name) || []\n } else if (attributeId === 'taskType') {\n return project?.taskTypes?.map((t) => t.name) || []\n } else if (attributeId === 'folderType') {\n return project?.folderTypes?.map((f) => f.name) || []\n } else if (groupBy.id.startsWith('attrib.')) {\n // for other enum attributes, use the enum values order\n return (\n attribFields\n .find((field) => field.name === attributeId)\n ?.data.enum?.map((e) => e.value.toString()) || []\n )\n } else return []\n}\n\nconst defaultEntityToGroupRow = (\n task: EditorTaskNode,\n group: string | undefined,\n entityType: string,\n project: ProjectModelWithProducts,\n getEntityTypeData: ReturnType<typeof useGetEntityTypeData>,\n): TableRow & { subRows: TableRow[] } => {\n const typeData = getEntityTypeData(entityType, task.taskType)\n return {\n id: task.id + ROW_ID_SEPARATOR + group, // unique id for the task in the folder\n entityId: task.id,\n entityType: entityType,\n parentId: task.folderId,\n folderId: task.folderId,\n name: task.name || '',\n label: task.label || task.name || '',\n icon: typeData?.icon || null,\n color: typeData?.color || null,\n status: task.status,\n assignees: task.assignees,\n tags: task.tags,\n img: null,\n subRows: [],\n subType: task.taskType || null,\n attrib: task.attrib,\n ownAttrib: task.ownAttrib,\n parents: task.parents || [],\n folder: task.parents?.[task.parents.length - 1] || undefined,\n createdAt: task.createdAt,\n updatedAt: task.updatedAt,\n hasReviewables: task.hasReviewables || false,\n links: linksToTableData(task.links, entityType, {\n folderTypes: project?.folderTypes || [],\n productTypes: Object.values(project.productTypes) || [],\n taskTypes: project?.taskTypes || [],\n }),\n subtasks: task.subtasks || [],\n latestComments: task.latestComments || [],\n }\n}\n\nconst useBuildGroupByTableData = ({\n entities,\n entityType,\n groups = [],\n attribFields,\n showEmpty,\n groupRowFunc, // for versions etc\n groupCounts,\n groupCountsComplete,\n}: BuildGroupByTableProps) => {\n const project = useProjectContext()\n const getEntityTypeData = useGetEntityTypeData({ projectInfo: project })\n\n const entityToGroupRow = useCallback(\n (task: EditorTaskNode, group?: string): TableRow & { subRows: TableRow[] } => {\n // Use provided groupRowFunc or fall back to default\n const baseRow = groupRowFunc\n ? groupRowFunc(task)\n : defaultEntityToGroupRow(task, group, entityType, project, getEntityTypeData)\n\n // Ensure group-specific fields are set\n return {\n ...baseRow,\n id: task.id + ROW_ID_SEPARATOR + group, // unique id for the task in the group\n subRows: baseRow.subRows || [],\n }\n },\n [groupRowFunc, getEntityTypeData, entityType, project],\n )\n\n return useCallback(\n (groupBy: TableGroupBy): TableRow[] => {\n const groupsMap = new Map<string, TableRow>()\n\n for (const group of groups) {\n const groupValue = group.value?.toString() as string\n const groupId = buildGroupId(groupValue)\n const groupData = getGroupData(\n groupBy.id,\n groupValue,\n groups,\n groupCounts,\n groupCountsComplete,\n )\n groupsMap.set(groupValue, {\n id: groupId,\n name: groupValue,\n entityType: 'group',\n subRows: [],\n label: groupData.label,\n group: groupData,\n links: {},\n })\n }\n\n const ungroupedId = buildGroupId(UNGROUPED_VALUE)\n // gets the \"Ungrouped\" group, creating it if it doesn't exist\n const getUnGroupedGroup = () => {\n let ungroupedGroup = groupsMap.get(UNGROUPED_VALUE)\n if (!ungroupedGroup) {\n const stat = groupCounts?.get(UNGROUPED_VALUE)\n ungroupedGroup = {\n id: ungroupedId,\n name: 'Ungrouped',\n entityType: 'group',\n subRows: [],\n label: 'Ungrouped',\n group: {\n value: UNGROUPED_VALUE,\n label: 'Ungrouped',\n count: stat?.count,\n percentage: stat?.percentage,\n },\n links: {},\n }\n // create ungrouped group if it doesn't exist\n groupsMap.set(UNGROUPED_VALUE, ungroupedGroup)\n }\n return ungroupedGroup\n }\n\n const canHaveUngrouped =\n groupBy.id === 'tags' || groupBy.id === 'assignees' || groupBy.id.startsWith('attrib.')\n if (canHaveUngrouped) getUnGroupedGroup()\n\n for (const [, entity] of entities) {\n // if the entity is not of the specified type, skip it\n if (entity.entityType !== entityType) continue\n // add entities to specific group\n let groupValues: string[] = []\n if (groupBy.id.startsWith('attrib.')) {\n // for attribute based grouping, get the value of the attribute\n const attributeId = groupBy.id.split('.')[1]\n groupValues = valueToStringArray(entity.attrib?.[attributeId])\n } else if (groupBy.id === 'folderType' && 'folder' in entity) {\n // folderType is nested under folder for task entities (from TaskPropsFragment)\n groupValues = valueToStringArray(\n (entity as EditorTaskNode & { folder?: { folderType?: string } }).folder?.folderType,\n )\n } else {\n groupValues = valueToStringArray(entity[groupBy.id as keyof EntityMap])\n }\n\n // if there are no values, add to \"Ungrouped\" group\n if (groupValues.length === 0) {\n const ungroupedGroup = getUnGroupedGroup()\n ungroupedGroup.subRows?.push(entityToGroupRow(entity as EditorTaskNode, UNGROUPED_VALUE))\n }\n // for each group value, find it's group and add the entity to it\n // if we can't find the group, add it to \"Ungrouped\"\n for (const groupValue of groupValues) {\n const groupRow = groupsMap.get(groupValue)\n if (groupRow) {\n groupRow.subRows?.push(entityToGroupRow(entity as EditorTaskNode, groupValue))\n } else {\n const ungroupedGroup = getUnGroupedGroup()\n ungroupedGroup.subRows?.push(\n entityToGroupRow(entity as EditorTaskNode, UNGROUPED_VALUE),\n )\n }\n }\n\n // for groups metadata on entity, check if there is a next page\n if ('groups' in entity && Array.isArray(entity.groups)) {\n for (const group of entity.groups) {\n const hasNextPageGroup = group.hasNextPage\n if (hasNextPageGroup && groupsMap.has(group.value)) {\n // add a next page row to the group\n const groupRow = groupsMap.get(group.value)\n if (groupRow) {\n groupRow.subRows?.push({\n id: `${group.value}-next-page`,\n name: `Load more tasks...`,\n entityType: NEXT_PAGE_ID,\n subRows: [],\n label: `Next page for ${group.value}`,\n group: { value: group.value, label: group.value },\n links: {},\n })\n }\n }\n }\n }\n }\n\n const groupsList = Array.from(groupsMap.values())\n\n const attribSortingIds = getSortingIds(groupBy, project, attribFields)\n\n // sort the groups by their label\n // if the group is an attribute with enum values, sort by the enum values\n const sortDirection = groupBy.desc ? -1 : 1\n groupsList.sort((a, b) => {\n if (a.group?.value === UNGROUPED_VALUE) return 1 // \"Ungrouped\" should always be last\n if (b.group?.value === UNGROUPED_VALUE) return -1 // \"Ungrouped\" should always be last\n if (attribSortingIds.length) {\n // sort by index of the enum value\n const indexA = attribSortingIds.indexOf(a.group?.value || '')\n const indexB = attribSortingIds.indexOf(b.group?.value || '')\n if (indexA !== -1 && indexB !== -1) {\n return (indexA - indexB) * sortDirection\n }\n if (indexA !== -1) return -1 // a is in the enum, b is not\n if (indexB !== -1) return 1 // b is in the enum, a is not\n // if both are not in the enum, sort by label\n return (a.group?.label?.localeCompare(b.group?.label || '') || 0) * sortDirection\n } else {\n // for other groupings, sort by the group label\n return (a.group?.label?.localeCompare(b.group?.label || '') || 0) * sortDirection\n }\n })\n\n // filter out empty groups — Ungrouped has no server count, keep it reachable\n const nonEmptyGroups = groupsList.filter(\n (group) =>\n (group.group?.count ?? 0) > 0 ||\n (group.subRows?.length ?? 0) > 0 ||\n group.group?.value === UNGROUPED_VALUE,\n )\n\n return showEmpty ? groupsList : nonEmptyGroups\n },\n [\n entities,\n entityType,\n groups,\n attribFields,\n showEmpty,\n groupCounts,\n groupCountsComplete,\n entityToGroupRow,\n project,\n ],\n )\n}\n\nexport default useBuildGroupByTableData\n"],"names":["NEXT_PAGE_ID","UNGROUPED_VALUE","ROW_ID_SEPARATOR","valueToStringArray","value","v","getGroupData","groupById","groupValue","groups","groupCounts","groupCountsComplete","stat","group","base","GROUP_BY_ID","buildGroupId","parseGroupId","groupId","isGroupId","id","getSortingIds","groupBy","project","attribFields","attributeId","s","t","f","field","e","defaultEntityToGroupRow","task","entityType","getEntityTypeData","typeData","linksToTableData","useBuildGroupByTableData","entities","showEmpty","groupRowFunc","useProjectContext","useGetEntityTypeData","entityToGroupRow","useCallback","baseRow","groupsMap","groupData","ungroupedId","getUnGroupedGroup","ungroupedGroup","entity","groupValues","groupRow","groupsList","attribSortingIds","sortDirection","a","b","indexA","indexB","nonEmptyGroups"],"mappings":"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"}