@ynput/ayon-frontend-shared 0.2.15 → 0.2.17

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 (575) hide show
  1. package/dist/DetailsPanel.cjs.js +12 -10
  2. package/dist/DetailsPanel.cjs.js.map +1 -1
  3. package/dist/DetailsPanel.es.js +12 -10
  4. package/dist/DetailsPanel.es.js.map +1 -1
  5. package/dist/ProjectTreeTable.cjs.js +71 -34
  6. package/dist/ProjectTreeTable.cjs.js.map +1 -1
  7. package/dist/ProjectTreeTable.es.js +55 -18
  8. package/dist/ProjectTreeTable.es.js.map +1 -1
  9. package/dist/_virtual/index.cjs10.js +5 -3
  10. package/dist/_virtual/index.cjs10.js.map +1 -1
  11. package/dist/_virtual/index.cjs4.js +4 -4
  12. package/dist/_virtual/index.cjs5.js +4 -4
  13. package/dist/_virtual/index.cjs6.js +2 -2
  14. package/dist/_virtual/index.cjs7.js +3 -5
  15. package/dist/_virtual/index.cjs7.js.map +1 -1
  16. package/dist/_virtual/index.es10.js +5 -2
  17. package/dist/_virtual/index.es10.js.map +1 -1
  18. package/dist/_virtual/index.es4.js +4 -4
  19. package/dist/_virtual/index.es5.js +4 -4
  20. package/dist/_virtual/index.es6.js +2 -2
  21. package/dist/_virtual/index.es7.js +2 -5
  22. package/dist/_virtual/index.es7.js.map +1 -1
  23. package/dist/api.cjs.js +6 -1
  24. package/dist/api.cjs.js.map +1 -1
  25. package/dist/api.es.js +8 -3
  26. package/dist/api.es.js.map +1 -1
  27. package/dist/components.cjs.js +3 -0
  28. package/dist/components.cjs.js.map +1 -1
  29. package/dist/components.es.js +3 -0
  30. package/dist/components.es.js.map +1 -1
  31. package/dist/index.cjs.js +9 -7
  32. package/dist/index.cjs.js.map +1 -1
  33. package/dist/index.es.js +9 -7
  34. package/dist/index.es.js.map +1 -1
  35. package/dist/node_modules/graphql-request/build/legacy/helpers/analyzeDocument.cjs.js +1 -2
  36. package/dist/node_modules/graphql-request/build/legacy/helpers/analyzeDocument.cjs.js.map +1 -1
  37. package/dist/node_modules/graphql-request/build/legacy/helpers/analyzeDocument.es.js +1 -2
  38. package/dist/node_modules/graphql-request/build/legacy/helpers/analyzeDocument.es.js.map +1 -1
  39. package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
  40. package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
  41. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  42. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  43. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  44. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  45. package/dist/node_modules/rehype-prism-plus/dist/index.es.cjs.js +1 -1
  46. package/dist/node_modules/rehype-prism-plus/dist/index.es.es.js +1 -1
  47. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  48. package/dist/node_modules/remove-accents/index.es.js +1 -1
  49. package/dist/shared/src/api/generated/graphql.cjs.js +24 -0
  50. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  51. package/dist/shared/src/api/generated/graphql.es.js +24 -0
  52. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  53. package/dist/shared/src/api/generated/grouping.cjs.js +18 -0
  54. package/dist/shared/src/api/generated/grouping.cjs.js.map +1 -0
  55. package/dist/shared/src/api/generated/grouping.es.js +18 -0
  56. package/dist/shared/src/api/generated/grouping.es.js.map +1 -0
  57. package/dist/shared/src/api/generated/tasks.cjs.js +0 -8
  58. package/dist/shared/src/api/generated/tasks.cjs.js.map +1 -1
  59. package/dist/shared/src/api/generated/tasks.es.js +0 -8
  60. package/dist/shared/src/api/generated/tasks.es.js.map +1 -1
  61. package/dist/shared/src/api/queries/actions/getActions.cjs.js +1 -0
  62. package/dist/shared/src/api/queries/actions/getActions.cjs.js.map +1 -1
  63. package/dist/shared/src/api/queries/actions/getActions.es.js +1 -0
  64. package/dist/shared/src/api/queries/actions/getActions.es.js.map +1 -1
  65. package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -0
  66. package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
  67. package/dist/shared/src/api/queries/activities/getActivities.es.js +1 -0
  68. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  69. package/dist/shared/src/api/queries/activities/getMentions.cjs.js +1 -0
  70. package/dist/shared/src/api/queries/activities/getMentions.cjs.js.map +1 -1
  71. package/dist/shared/src/api/queries/activities/getMentions.es.js +1 -0
  72. package/dist/shared/src/api/queries/activities/getMentions.es.js.map +1 -1
  73. package/dist/shared/src/api/queries/activities/updateReaction.cjs.js +1 -0
  74. package/dist/shared/src/api/queries/activities/updateReaction.cjs.js.map +1 -1
  75. package/dist/shared/src/api/queries/activities/updateReaction.es.js +1 -0
  76. package/dist/shared/src/api/queries/activities/updateReaction.es.js.map +1 -1
  77. package/dist/shared/src/api/queries/addons/getAddons.cjs.js +1 -0
  78. package/dist/shared/src/api/queries/addons/getAddons.cjs.js.map +1 -1
  79. package/dist/shared/src/api/queries/addons/getAddons.es.js +1 -0
  80. package/dist/shared/src/api/queries/addons/getAddons.es.js.map +1 -1
  81. package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js +1 -0
  82. package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js.map +1 -1
  83. package/dist/shared/src/api/queries/attributes/getAttributes.es.js +1 -0
  84. package/dist/shared/src/api/queries/attributes/getAttributes.es.js.map +1 -1
  85. package/dist/shared/src/api/queries/authentication/getAuthentication.cjs.js +1 -0
  86. package/dist/shared/src/api/queries/authentication/getAuthentication.cjs.js.map +1 -1
  87. package/dist/shared/src/api/queries/authentication/getAuthentication.es.js +1 -0
  88. package/dist/shared/src/api/queries/authentication/getAuthentication.es.js.map +1 -1
  89. package/dist/shared/src/api/queries/entities/getEntity.cjs.js +1 -0
  90. package/dist/shared/src/api/queries/entities/getEntity.cjs.js.map +1 -1
  91. package/dist/shared/src/api/queries/entities/getEntity.es.js +1 -0
  92. package/dist/shared/src/api/queries/entities/getEntity.es.js.map +1 -1
  93. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -0
  94. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
  95. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +1 -0
  96. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  97. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +2 -0
  98. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  99. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +2 -0
  100. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  101. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +2 -0
  102. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  103. package/dist/shared/src/api/queries/entities/updateEntity.es.js +2 -0
  104. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  105. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -0
  106. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  107. package/dist/shared/src/api/queries/entityLists/getLists.es.js +1 -0
  108. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  109. package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js +1 -0
  110. package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js.map +1 -1
  111. package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js +1 -0
  112. package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js.map +1 -1
  113. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -0
  114. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
  115. package/dist/shared/src/api/queries/entityLists/updateLists.es.js +1 -0
  116. package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
  117. package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -0
  118. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  119. package/dist/shared/src/api/queries/folders/getFolders.es.js +1 -0
  120. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  121. package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js +47 -0
  122. package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js.map +1 -0
  123. package/dist/shared/src/api/queries/grouping/getGrouping.es.js +47 -0
  124. package/dist/shared/src/api/queries/grouping/getGrouping.es.js.map +1 -0
  125. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +4 -5
  126. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  127. package/dist/shared/src/api/queries/overview/getOverview.es.js +4 -5
  128. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  129. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +2 -0
  130. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  131. package/dist/shared/src/api/queries/overview/updateOverview.es.js +2 -0
  132. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  133. package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js +1 -0
  134. package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js.map +1 -1
  135. package/dist/shared/src/api/queries/permissions/getPermissions.es.js +1 -0
  136. package/dist/shared/src/api/queries/permissions/getPermissions.es.js.map +1 -1
  137. package/dist/shared/src/api/queries/project/getProject.cjs.js +1 -0
  138. package/dist/shared/src/api/queries/project/getProject.cjs.js.map +1 -1
  139. package/dist/shared/src/api/queries/project/getProject.es.js +1 -0
  140. package/dist/shared/src/api/queries/project/getProject.es.js.map +1 -1
  141. package/dist/shared/src/api/queries/review/getReview.cjs.js +1 -0
  142. package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
  143. package/dist/shared/src/api/queries/review/getReview.es.js +1 -0
  144. package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
  145. package/dist/shared/src/api/queries/review/updateReview.cjs.js +1 -0
  146. package/dist/shared/src/api/queries/review/updateReview.cjs.js.map +1 -1
  147. package/dist/shared/src/api/queries/review/updateReview.es.js +1 -0
  148. package/dist/shared/src/api/queries/review/updateReview.es.js.map +1 -1
  149. package/dist/shared/src/api/queries/system/getSystem.cjs.js +1 -0
  150. package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
  151. package/dist/shared/src/api/queries/system/getSystem.es.js +1 -0
  152. package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
  153. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -0
  154. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  155. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +1 -0
  156. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  157. package/dist/shared/src/api/queries/users/getUsers.cjs.js +2 -0
  158. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  159. package/dist/shared/src/api/queries/users/getUsers.es.js +2 -0
  160. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  161. package/dist/shared/src/api/queries/users/updateUsers.cjs.js +1 -0
  162. package/dist/shared/src/api/queries/users/updateUsers.cjs.js.map +1 -1
  163. package/dist/shared/src/api/queries/users/updateUsers.es.js +1 -0
  164. package/dist/shared/src/api/queries/users/updateUsers.es.js.map +1 -1
  165. package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js +1 -0
  166. package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js.map +1 -1
  167. package/dist/shared/src/api/queries/watchers/getWatchers.es.js +1 -0
  168. package/dist/shared/src/api/queries/watchers/getWatchers.es.js.map +1 -1
  169. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +2 -2
  170. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
  171. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +2 -2
  172. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
  173. package/dist/shared/src/components/Badge/Badge.cjs.js +31 -0
  174. package/dist/shared/src/components/Badge/Badge.cjs.js.map +1 -0
  175. package/dist/shared/src/components/Badge/Badge.es.js +31 -0
  176. package/dist/shared/src/components/Badge/Badge.es.js.map +1 -0
  177. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +2 -0
  178. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  179. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +2 -0
  180. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  181. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js +2 -0
  182. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js.map +1 -1
  183. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js +2 -0
  184. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js.map +1 -1
  185. package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.cjs.js +9 -7
  186. package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.cjs.js.map +1 -1
  187. package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.es.js +9 -7
  188. package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.es.js.map +1 -1
  189. package/dist/shared/src/components/ProjectTableSettings/ColumnItem.cjs.js +2 -0
  190. package/dist/shared/src/components/ProjectTableSettings/ColumnItem.cjs.js.map +1 -1
  191. package/dist/shared/src/components/ProjectTableSettings/ColumnItem.es.js +2 -0
  192. package/dist/shared/src/components/ProjectTableSettings/ColumnItem.es.js.map +1 -1
  193. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +5 -1
  194. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  195. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +5 -1
  196. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  197. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +83 -13
  198. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  199. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +83 -13
  200. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  201. package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.cjs.js +2 -0
  202. package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.cjs.js.map +1 -1
  203. package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.es.js +2 -0
  204. package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.es.js.map +1 -1
  205. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.cjs.js +5 -1
  206. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.cjs.js.map +1 -1
  207. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.es.js +5 -1
  208. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.es.js.map +1 -1
  209. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js +5 -5
  210. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js.map +1 -1
  211. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js +5 -5
  212. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js.map +1 -1
  213. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +2 -0
  214. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  215. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +2 -0
  216. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  217. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +99 -86
  218. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  219. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +99 -86
  220. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  221. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +93 -24
  222. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  223. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +94 -25
  224. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  225. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.styled.cjs.js +4 -0
  226. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.styled.cjs.js.map +1 -1
  227. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.styled.es.js +4 -0
  228. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.styled.es.js.map +1 -1
  229. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +9 -7
  230. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  231. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +9 -7
  232. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  233. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +2 -0
  234. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  235. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +2 -0
  236. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  237. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js +27 -6
  238. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js.map +1 -1
  239. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js +27 -6
  240. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js.map +1 -1
  241. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +222 -19
  242. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  243. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +223 -20
  244. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  245. package/dist/shared/src/components/Watchers/Watchers.cjs.js +2 -0
  246. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  247. package/dist/shared/src/components/Watchers/Watchers.es.js +2 -0
  248. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  249. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +9 -7
  250. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  251. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +9 -7
  252. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  253. package/dist/shared/src/containers/Actions/Actions.cjs.js +2 -0
  254. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  255. package/dist/shared/src/containers/Actions/Actions.es.js +2 -0
  256. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  257. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +9 -7
  258. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  259. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +9 -7
  260. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  261. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.cjs.js +22 -0
  262. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.cjs.js.map +1 -1
  263. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.es.js +22 -0
  264. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.es.js.map +1 -1
  265. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.cjs.js +26 -7
  266. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.cjs.js.map +1 -1
  267. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.es.js +26 -7
  268. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.es.js.map +1 -1
  269. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +12 -10
  270. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  271. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +12 -10
  272. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  273. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +19 -17
  274. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  275. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +19 -17
  276. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  277. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +9 -7
  278. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  279. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +9 -7
  280. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  281. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +8 -6
  282. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  283. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +8 -6
  284. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  285. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +2 -0
  286. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  287. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +2 -0
  288. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  289. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +2 -0
  290. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  291. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +2 -0
  292. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  293. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  294. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  295. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +1 -1
  296. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  297. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.cjs.js +8 -1
  298. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.cjs.js.map +1 -1
  299. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.es.js +9 -2
  300. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.es.js.map +1 -1
  301. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js +9 -0
  302. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js.map +1 -1
  303. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.es.js +10 -1
  304. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.es.js.map +1 -1
  305. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +2 -0
  306. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  307. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +2 -0
  308. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  309. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +2 -0
  310. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  311. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +2 -0
  312. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  313. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +40 -34
  314. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  315. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +41 -35
  316. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  317. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +7 -0
  318. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
  319. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +7 -0
  320. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
  321. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +9 -8
  322. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  323. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +9 -8
  324. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  325. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +8 -7
  326. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  327. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +8 -7
  328. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  329. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +11 -6
  330. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  331. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +11 -6
  332. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  333. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js +1 -174
  334. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js.map +1 -1
  335. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js +2 -175
  336. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js.map +1 -1
  337. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +212 -0
  338. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -0
  339. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +212 -0
  340. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -0
  341. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +2 -0
  342. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  343. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +2 -0
  344. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  345. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +1 -161
  346. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  347. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +2 -162
  348. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  349. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +191 -0
  350. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -0
  351. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +191 -0
  352. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -0
  353. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js +1 -79
  354. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js.map +1 -1
  355. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsContext.es.js +2 -80
  356. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsContext.es.js.map +1 -1
  357. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js +84 -0
  358. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js.map +1 -0
  359. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js +84 -0
  360. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js.map +1 -0
  361. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js +1 -277
  362. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js.map +1 -1
  363. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js +2 -278
  364. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js.map +1 -1
  365. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +282 -0
  366. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -0
  367. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +282 -0
  368. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -0
  369. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +2 -0
  370. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  371. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +2 -0
  372. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  373. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +85 -34
  374. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  375. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +86 -35
  376. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  377. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  378. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  379. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +1 -1
  380. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  381. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +26 -13
  382. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  383. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +26 -13
  384. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  385. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnSorting.cjs.js +24 -0
  386. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnSorting.cjs.js.map +1 -0
  387. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnSorting.es.js +24 -0
  388. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnSorting.es.js.map +1 -0
  389. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +16 -9
  390. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  391. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +16 -9
  392. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  393. package/dist/shared/src/containers/ProjectTreeTable/hooks/useEntitiesMap.cjs.js +17 -0
  394. package/dist/shared/src/containers/ProjectTreeTable/hooks/useEntitiesMap.cjs.js.map +1 -0
  395. package/dist/shared/src/containers/ProjectTreeTable/hooks/useEntitiesMap.es.js +17 -0
  396. package/dist/shared/src/containers/ProjectTreeTable/hooks/useEntitiesMap.es.js.map +1 -0
  397. package/dist/shared/src/containers/ProjectTreeTable/hooks/useExpandedState.cjs.js +30 -0
  398. package/dist/shared/src/containers/ProjectTreeTable/hooks/useExpandedState.cjs.js.map +1 -0
  399. package/dist/shared/src/containers/ProjectTreeTable/hooks/useExpandedState.es.js +30 -0
  400. package/dist/shared/src/containers/ProjectTreeTable/hooks/useExpandedState.es.js.map +1 -0
  401. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +363 -0
  402. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -0
  403. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +363 -0
  404. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -0
  405. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js +16 -12
  406. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js.map +1 -1
  407. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js +16 -13
  408. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js.map +1 -1
  409. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +72 -0
  410. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -0
  411. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +72 -0
  412. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -0
  413. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js +82 -0
  414. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js.map +1 -0
  415. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js +82 -0
  416. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js.map +1 -0
  417. package/dist/shared/src/containers/ProjectTreeTable/{context/ProjectTableModulesContext.cjs.js → hooks/useProjectTableModules.cjs.js} +22 -23
  418. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js.map +1 -0
  419. package/dist/shared/src/containers/ProjectTreeTable/{context/ProjectTableModulesContext.es.js → hooks/useProjectTableModules.es.js} +22 -23
  420. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js.map +1 -0
  421. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +41 -0
  422. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -0
  423. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +41 -0
  424. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -0
  425. package/dist/shared/src/containers/ProjectTreeTable/hooks/useScopedAttributeFields.cjs.js +19 -0
  426. package/dist/shared/src/containers/ProjectTreeTable/hooks/useScopedAttributeFields.cjs.js.map +1 -0
  427. package/dist/shared/src/containers/ProjectTreeTable/hooks/useScopedAttributeFields.es.js +19 -0
  428. package/dist/shared/src/containers/ProjectTreeTable/hooks/useScopedAttributeFields.es.js.map +1 -0
  429. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.cjs.js +26 -0
  430. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.cjs.js.map +1 -0
  431. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.es.js +26 -0
  432. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.es.js.map +1 -0
  433. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +7 -4
  434. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +7 -4
  436. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  437. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +15 -1
  438. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +15 -1
  440. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  441. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js.map +1 -1
  442. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js.map +1 -1
  443. package/dist/shared/src/containers/ProjectTreeTable/utils/errorExtraction.cjs.js +8 -0
  444. package/dist/shared/src/containers/ProjectTreeTable/utils/errorExtraction.cjs.js.map +1 -0
  445. package/dist/shared/src/containers/ProjectTreeTable/utils/errorExtraction.es.js +8 -0
  446. package/dist/shared/src/containers/ProjectTreeTable/utils/errorExtraction.es.js.map +1 -0
  447. package/dist/shared/src/containers/ProjectTreeTable/utils/localStorageKeys.cjs.js +7 -0
  448. package/dist/shared/src/containers/ProjectTreeTable/utils/localStorageKeys.cjs.js.map +1 -0
  449. package/dist/shared/src/containers/ProjectTreeTable/utils/localStorageKeys.es.js +7 -0
  450. package/dist/shared/src/containers/ProjectTreeTable/utils/localStorageKeys.es.js.map +1 -0
  451. package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.cjs.js +0 -1
  452. package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.cjs.js.map +1 -1
  453. package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.es.js +0 -1
  454. package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.es.js.map +1 -1
  455. package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js +2 -1
  456. package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js.map +1 -1
  457. package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js +2 -1
  458. package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js.map +1 -1
  459. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +0 -8
  460. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -1
  461. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +0 -8
  462. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js.map +1 -1
  463. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +10 -8
  464. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  465. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +10 -8
  466. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  467. package/dist/shared/src/context/AddonProjectContext.cjs.js +2 -0
  468. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  469. package/dist/shared/src/context/AddonProjectContext.es.js +2 -0
  470. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  471. package/dist/shared/src/context/DetailsPanelContext.cjs.js +2 -0
  472. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  473. package/dist/shared/src/context/DetailsPanelContext.es.js +2 -0
  474. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  475. package/dist/shared/src/context/PowerpackContext.cjs.js +122 -17
  476. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  477. package/dist/shared/src/context/PowerpackContext.es.js +123 -18
  478. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  479. package/dist/shared/src/context/RemoteModulesContext.cjs.js +7 -1
  480. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  481. package/dist/shared/src/context/RemoteModulesContext.es.js +7 -1
  482. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  483. package/dist/shared/src/hooks/useActionTriggers.cjs.js +2 -0
  484. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  485. package/dist/shared/src/hooks/useActionTriggers.es.js +2 -0
  486. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  487. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +2 -0
  488. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  489. package/dist/shared/src/hooks/useEntityUpdate.es.js +2 -0
  490. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  491. package/dist/shared/src/hooks/useLoadModule.cjs.js +11 -5
  492. package/dist/shared/src/hooks/useLoadModule.cjs.js.map +1 -1
  493. package/dist/shared/src/hooks/useLoadModule.es.js +11 -5
  494. package/dist/shared/src/hooks/useLoadModule.es.js.map +1 -1
  495. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +2 -0
  496. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  497. package/dist/shared/src/hooks/useScopedStatuses.es.js +2 -0
  498. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  499. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +2 -0
  500. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  501. package/dist/shared/src/hooks/useUserProjectConfig.es.js +2 -0
  502. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  503. package/dist/types/api/generated/graphql.d.ts +33 -38
  504. package/dist/types/api/generated/grouping.d.ts +40 -0
  505. package/dist/types/api/generated/index.d.ts +3 -1
  506. package/dist/types/api/generated/tasks.d.ts +8 -33
  507. package/dist/types/api/queries/activities/getActivities.d.ts +4 -0
  508. package/dist/types/api/queries/activities/updateActivities.d.ts +8 -0
  509. package/dist/types/api/queries/entities/getEntity.d.ts +4 -0
  510. package/dist/types/api/queries/entities/getEntityPanel.d.ts +4 -0
  511. package/dist/types/api/queries/entities/updateEntity.d.ts +4 -0
  512. package/dist/types/api/queries/entityLists/getLists.d.ts +4 -0
  513. package/dist/types/api/queries/grouping/getGrouping.d.ts +137 -0
  514. package/dist/types/api/queries/grouping/index.d.ts +1 -0
  515. package/dist/types/api/queries/index.d.ts +1 -0
  516. package/dist/types/api/queries/overview/getOverview.d.ts +5 -133
  517. package/dist/types/api/queries/project/getProject.d.ts +2 -2
  518. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +4 -0
  519. package/dist/types/api/queries/users/getUsers.d.ts +4 -0
  520. package/dist/types/components/Badge/Badge.d.ts +10 -0
  521. package/dist/types/components/Badge/index.d.ts +1 -0
  522. package/dist/types/components/ProjectTableSettings/ColumnItem.d.ts +1 -0
  523. package/dist/types/components/ProjectTableSettings/ProjectTableSettings.d.ts +1 -1
  524. package/dist/types/components/ProjectTableSettings/SortableColumnItem.d.ts +1 -0
  525. package/dist/types/components/ReviewableProgressCard/ReviewableProgressCard.d.ts +1 -1
  526. package/dist/types/components/ReviewablesList/ReviewablesUpload.d.ts +19 -3
  527. package/dist/types/components/SettingsPanel/SettingsPanelItemTemplate.d.ts +1 -0
  528. package/dist/types/components/index.d.ts +1 -0
  529. package/dist/types/containers/ContextMenu/ContextMenuItem.d.ts +4 -0
  530. package/dist/types/containers/ContextMenu/useCreateContextMenu.d.ts +2 -1
  531. package/dist/types/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.d.ts +1 -0
  532. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +1 -5
  533. package/dist/types/containers/ProjectTreeTable/components/GroupSettingsFallback.d.ts +9 -2
  534. package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsContext.d.ts +16 -16
  535. package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsProvider.d.ts +9 -0
  536. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +7 -52
  537. package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +59 -0
  538. package/dist/types/containers/ProjectTreeTable/context/SelectedRowsContext.d.ts +3 -8
  539. package/dist/types/containers/ProjectTreeTable/context/SelectedRowsProvider.d.ts +6 -0
  540. package/dist/types/containers/ProjectTreeTable/context/SelectionCellsContext.d.ts +2 -4
  541. package/dist/types/containers/ProjectTreeTable/context/SelectionCellsProvider.d.ts +4 -0
  542. package/dist/types/containers/ProjectTreeTable/context/index.d.ts +4 -2
  543. package/dist/types/containers/ProjectTreeTable/hooks/index.d.ts +14 -0
  544. package/dist/types/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.d.ts +7 -3
  545. package/dist/types/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +13 -2
  546. package/dist/types/containers/ProjectTreeTable/hooks/useColumnSorting.d.ts +12 -0
  547. package/dist/types/containers/ProjectTreeTable/hooks/useEntitiesMap.d.ts +7 -0
  548. package/dist/types/containers/ProjectTreeTable/hooks/useExpandedState.d.ts +11 -0
  549. package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +38 -0
  550. package/dist/types/containers/ProjectTreeTable/hooks/useGetEntityTypeData.d.ts +2 -2
  551. package/dist/types/containers/ProjectTreeTable/hooks/useGetGroupedFields.d.ts +9 -0
  552. package/dist/types/containers/ProjectTreeTable/hooks/useGetTaskGroups.d.ts +10 -0
  553. package/dist/types/containers/ProjectTreeTable/hooks/useProjectTableModules.d.ts +25 -0
  554. package/dist/types/containers/ProjectTreeTable/hooks/useQueryFilters.d.ts +14 -0
  555. package/dist/types/containers/ProjectTreeTable/hooks/useScopedAttributeFields.d.ts +10 -0
  556. package/dist/types/containers/ProjectTreeTable/hooks/useSelectedFolders.d.ts +10 -0
  557. package/dist/types/containers/ProjectTreeTable/index.d.ts +2 -14
  558. package/dist/types/containers/ProjectTreeTable/types/index.d.ts +1 -0
  559. package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +46 -0
  560. package/dist/types/containers/ProjectTreeTable/utils/errorExtraction.d.ts +4 -0
  561. package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +2 -0
  562. package/dist/types/containers/ProjectTreeTable/utils/localStorageKeys.d.ts +4 -0
  563. package/dist/types/containers/ProjectTreeTable/widgets/GroupHeaderWidget.d.ts +2 -1
  564. package/dist/types/context/PowerpackContext.d.ts +2 -1
  565. package/dist/types/hooks/useLoadModule.d.ts +2 -1
  566. package/dist/types/utils/extractVersionFromFilename.d.ts +5 -0
  567. package/package.json +1 -1
  568. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableModulesContext.cjs.js.map +0 -1
  569. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableModulesContext.es.js.map +0 -1
  570. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableSelectionContext.cjs.js +0 -33
  571. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableSelectionContext.cjs.js.map +0 -1
  572. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableSelectionContext.es.js +0 -33
  573. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableSelectionContext.es.js.map +0 -1
  574. package/dist/types/containers/ProjectTreeTable/context/ProjectTableModulesContext.d.ts +0 -12
  575. package/dist/types/containers/ProjectTreeTable/context/ProjectTableSelectionContext.d.ts +0 -11
@@ -1 +1 @@
1
- {"version":3,"file":"useActionTriggers.es.js","sources":["../../../../src/hooks/useActionTriggers.ts"],"sourcesContent":["import { useDispatch } from 'react-redux'\nimport customProtocolCheck from 'custom-protocol-check'\nimport { api } from '@shared/api'\n\n\nexport type ActionTriggersProps = {\n searchParams: URLSearchParams\n onSetSearchParams: (params: URLSearchParams) => void\n onNavigate: (uri: string) => void\n}\n\ninterface QueryParams {\n [key: string]: string\n}\n\ninterface ActionPayload {\n query?: QueryParams // adds query params to the URL\n uri?: string // navigates to a different page\n new_tab?: boolean // opens a new tab\n extra_download?: string // triggers a file download from a URL\n extra_clipboard?: string // copies string content to clipboard\n extra_reload?: string[] // list of tags to invalidate\n [key: string]: any\n}\n\nexport const useActionTriggers = ({\n searchParams,\n onSetSearchParams,\n onNavigate,\n}: ActionTriggersProps) => {\n const dispatch = useDispatch()\n const handleActionPayload = (actionType: string, payload: ActionPayload | null): void => {\n if (!payload) return\n\n if (actionType === 'launcher') {\n if (payload?.uri) {\n customProtocolCheck(\n payload.uri,\n () => {},\n () => {},\n 2000,\n )\n }\n } else if (actionType === 'query') {\n // Validate it is an object of key:value pairs with value being string\n const isValid = Object.values(payload.query as QueryParams).every((value) => {\n return typeof value === 'string'\n })\n\n if (!isValid) {\n throw new Error('Invalid payload: query')\n } else {\n // Add query params to URL\n for (const [key, value] of Object.entries(payload.query as QueryParams)) {\n searchParams.set(key, value)\n }\n onSetSearchParams(searchParams)\n }\n } else if (actionType === 'navigate') {\n // Validate it is a string\n if (typeof payload.uri !== 'string') {\n throw new Error('Invalid payload: navigate')\n } else {\n // Navigate to the specified page\n onNavigate(payload.uri)\n }\n } else if (actionType === 'redirect') {\n // Validate it is a string\n if (typeof payload.uri !== 'string') {\n throw new Error('Invalid payload: redirect')\n } else {\n const newTab = payload?.new_tab || false\n window.open(payload.uri, newTab ? '_blank' : '_self')\n }\n }\n\n //\n // Sub-actions\n //\n\n if ('extra_download' in payload) {\n // Validate it is a string\n if (typeof payload.extra_download !== 'string') {\n throw new Error('Invalid payload: extra_download')\n } else {\n // Trigger file download from the URL\n const downloadUrl = new URL(payload.extra_download, window.location.origin).href\n console.log(downloadUrl)\n // Create a hidden anchor element\n const link = document.createElement('a')\n link.href = downloadUrl\n link.target = '_blank'\n link.rel = 'noopener noreferrer'\n // Set download attribute if it's a direct file download\n // If it's an API endpoint that handles the download, this is still good\n link.download = ''\n // Append to document, click and then remove\n document.body.appendChild(link)\n link.click()\n document.body.removeChild(link)\n }\n }\n\n if ('extra_clipboard' in payload) {\n // Validate it is a string\n if (typeof payload.extra_clipboard !== 'string') {\n throw new Error('Invalid payload: extra_clipboard')\n } else {\n // Copy content to clipboard\n navigator.clipboard.writeText(payload.extra_clipboard).catch((err) => {\n console.error('Failed to copy text to clipboard:', err)\n })\n }\n }\n\n if ('extra_reload' in payload) {\n if (!Array.isArray(payload.extra_reload)) {\n throw new Error('Invalid payload: extra_reload')\n }\n\n if (payload.extra_reload.length) {\n dispatch(api.util.invalidateTags(payload.extra_reload))\n }\n }\n\n }\n\n return { handleActionPayload }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBO,MAAM,oBAAoB,CAAC;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AACF,MAA2B;AACzB,QAAM,WAAW,YAAY;AACvB,QAAA,sBAAsB,CAAC,YAAoB,YAAwC;AACvF,QAAI,CAAC,QAAS;AAEd,QAAI,eAAe,YAAY;AAC7B,UAAI,mCAAS,KAAK;AAChB;AAAA,UACE,QAAQ;AAAA,UACR,MAAM;AAAA,UAAC;AAAA,UACP,MAAM;AAAA,UAAC;AAAA,UACP;AAAA,QACF;AAAA,MAAA;AAAA,IACF,WACS,eAAe,SAAS;AAE3B,YAAA,UAAU,OAAO,OAAO,QAAQ,KAAoB,EAAE,MAAM,CAAC,UAAU;AAC3E,eAAO,OAAO,UAAU;AAAA,MAAA,CACzB;AAED,UAAI,CAAC,SAAS;AACN,cAAA,IAAI,MAAM,wBAAwB;AAAA,MAAA,OACnC;AAEM,mBAAA,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,QAAQ,KAAoB,GAAG;AAC1D,uBAAA,IAAI,KAAK,KAAK;AAAA,QAAA;AAE7B,0BAAkB,YAAY;AAAA,MAAA;AAAA,IAChC,WACS,eAAe,YAAY;AAEhC,UAAA,OAAO,QAAQ,QAAQ,UAAU;AAC7B,cAAA,IAAI,MAAM,2BAA2B;AAAA,MAAA,OACtC;AAEL,mBAAW,QAAQ,GAAG;AAAA,MAAA;AAAA,IACxB,WACS,eAAe,YAAY;AAEhC,UAAA,OAAO,QAAQ,QAAQ,UAAU;AAC7B,cAAA,IAAI,MAAM,2BAA2B;AAAA,MAAA,OACtC;AACC,cAAA,UAAS,mCAAS,YAAW;AACnC,eAAO,KAAK,QAAQ,KAAK,SAAS,WAAW,OAAO;AAAA,MAAA;AAAA,IACtD;AAOF,QAAI,oBAAoB,SAAS;AAE3B,UAAA,OAAO,QAAQ,mBAAmB,UAAU;AACxC,cAAA,IAAI,MAAM,iCAAiC;AAAA,MAAA,OAC5C;AAEC,cAAA,cAAc,IAAI,IAAI,QAAQ,gBAAgB,OAAO,SAAS,MAAM,EAAE;AAC5E,gBAAQ,IAAI,WAAW;AAEjB,cAAA,OAAO,SAAS,cAAc,GAAG;AACvC,aAAK,OAAO;AACZ,aAAK,SAAS;AACd,aAAK,MAAM;AAGX,aAAK,WAAW;AAEP,iBAAA,KAAK,YAAY,IAAI;AAC9B,aAAK,MAAM;AACF,iBAAA,KAAK,YAAY,IAAI;AAAA,MAAA;AAAA,IAChC;AAGF,QAAI,qBAAqB,SAAS;AAE5B,UAAA,OAAO,QAAQ,oBAAoB,UAAU;AACzC,cAAA,IAAI,MAAM,kCAAkC;AAAA,MAAA,OAC7C;AAEL,kBAAU,UAAU,UAAU,QAAQ,eAAe,EAAE,MAAM,CAAC,QAAQ;AAC5D,kBAAA,MAAM,qCAAqC,GAAG;AAAA,QAAA,CACvD;AAAA,MAAA;AAAA,IACH;AAGF,QAAI,kBAAkB,SAAS;AAC7B,UAAI,CAAC,MAAM,QAAQ,QAAQ,YAAY,GAAG;AAClC,cAAA,IAAI,MAAM,+BAA+B;AAAA,MAAA;AAG7C,UAAA,QAAQ,aAAa,QAAQ;AAC/B,iBAAS,IAAI,KAAK,eAAe,QAAQ,YAAY,CAAC;AAAA,MAAA;AAAA,IACxD;AAAA,EAGJ;AAEA,SAAO,EAAE,oBAAoB;AAC/B;"}
1
+ {"version":3,"file":"useActionTriggers.es.js","sources":["../../../../src/hooks/useActionTriggers.ts"],"sourcesContent":["import { useDispatch } from 'react-redux'\nimport customProtocolCheck from 'custom-protocol-check'\nimport { api } from '@shared/api'\n\n\nexport type ActionTriggersProps = {\n searchParams: URLSearchParams\n onSetSearchParams: (params: URLSearchParams) => void\n onNavigate: (uri: string) => void\n}\n\ninterface QueryParams {\n [key: string]: string\n}\n\ninterface ActionPayload {\n query?: QueryParams // adds query params to the URL\n uri?: string // navigates to a different page\n new_tab?: boolean // opens a new tab\n extra_download?: string // triggers a file download from a URL\n extra_clipboard?: string // copies string content to clipboard\n extra_reload?: string[] // list of tags to invalidate\n [key: string]: any\n}\n\nexport const useActionTriggers = ({\n searchParams,\n onSetSearchParams,\n onNavigate,\n}: ActionTriggersProps) => {\n const dispatch = useDispatch()\n const handleActionPayload = (actionType: string, payload: ActionPayload | null): void => {\n if (!payload) return\n\n if (actionType === 'launcher') {\n if (payload?.uri) {\n customProtocolCheck(\n payload.uri,\n () => {},\n () => {},\n 2000,\n )\n }\n } else if (actionType === 'query') {\n // Validate it is an object of key:value pairs with value being string\n const isValid = Object.values(payload.query as QueryParams).every((value) => {\n return typeof value === 'string'\n })\n\n if (!isValid) {\n throw new Error('Invalid payload: query')\n } else {\n // Add query params to URL\n for (const [key, value] of Object.entries(payload.query as QueryParams)) {\n searchParams.set(key, value)\n }\n onSetSearchParams(searchParams)\n }\n } else if (actionType === 'navigate') {\n // Validate it is a string\n if (typeof payload.uri !== 'string') {\n throw new Error('Invalid payload: navigate')\n } else {\n // Navigate to the specified page\n onNavigate(payload.uri)\n }\n } else if (actionType === 'redirect') {\n // Validate it is a string\n if (typeof payload.uri !== 'string') {\n throw new Error('Invalid payload: redirect')\n } else {\n const newTab = payload?.new_tab || false\n window.open(payload.uri, newTab ? '_blank' : '_self')\n }\n }\n\n //\n // Sub-actions\n //\n\n if ('extra_download' in payload) {\n // Validate it is a string\n if (typeof payload.extra_download !== 'string') {\n throw new Error('Invalid payload: extra_download')\n } else {\n // Trigger file download from the URL\n const downloadUrl = new URL(payload.extra_download, window.location.origin).href\n console.log(downloadUrl)\n // Create a hidden anchor element\n const link = document.createElement('a')\n link.href = downloadUrl\n link.target = '_blank'\n link.rel = 'noopener noreferrer'\n // Set download attribute if it's a direct file download\n // If it's an API endpoint that handles the download, this is still good\n link.download = ''\n // Append to document, click and then remove\n document.body.appendChild(link)\n link.click()\n document.body.removeChild(link)\n }\n }\n\n if ('extra_clipboard' in payload) {\n // Validate it is a string\n if (typeof payload.extra_clipboard !== 'string') {\n throw new Error('Invalid payload: extra_clipboard')\n } else {\n // Copy content to clipboard\n navigator.clipboard.writeText(payload.extra_clipboard).catch((err) => {\n console.error('Failed to copy text to clipboard:', err)\n })\n }\n }\n\n if ('extra_reload' in payload) {\n if (!Array.isArray(payload.extra_reload)) {\n throw new Error('Invalid payload: extra_reload')\n }\n\n if (payload.extra_reload.length) {\n dispatch(api.util.invalidateTags(payload.extra_reload))\n }\n }\n\n }\n\n return { handleActionPayload }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBO,MAAM,oBAAoB,CAAC;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AACF,MAA2B;AACzB,QAAM,WAAW,YAAY;AACvB,QAAA,sBAAsB,CAAC,YAAoB,YAAwC;AACvF,QAAI,CAAC,QAAS;AAEd,QAAI,eAAe,YAAY;AAC7B,UAAI,mCAAS,KAAK;AAChB;AAAA,UACE,QAAQ;AAAA,UACR,MAAM;AAAA,UAAC;AAAA,UACP,MAAM;AAAA,UAAC;AAAA,UACP;AAAA,QACF;AAAA,MAAA;AAAA,IACF,WACS,eAAe,SAAS;AAE3B,YAAA,UAAU,OAAO,OAAO,QAAQ,KAAoB,EAAE,MAAM,CAAC,UAAU;AAC3E,eAAO,OAAO,UAAU;AAAA,MAAA,CACzB;AAED,UAAI,CAAC,SAAS;AACN,cAAA,IAAI,MAAM,wBAAwB;AAAA,MAAA,OACnC;AAEM,mBAAA,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,QAAQ,KAAoB,GAAG;AAC1D,uBAAA,IAAI,KAAK,KAAK;AAAA,QAAA;AAE7B,0BAAkB,YAAY;AAAA,MAAA;AAAA,IAChC,WACS,eAAe,YAAY;AAEhC,UAAA,OAAO,QAAQ,QAAQ,UAAU;AAC7B,cAAA,IAAI,MAAM,2BAA2B;AAAA,MAAA,OACtC;AAEL,mBAAW,QAAQ,GAAG;AAAA,MAAA;AAAA,IACxB,WACS,eAAe,YAAY;AAEhC,UAAA,OAAO,QAAQ,QAAQ,UAAU;AAC7B,cAAA,IAAI,MAAM,2BAA2B;AAAA,MAAA,OACtC;AACC,cAAA,UAAS,mCAAS,YAAW;AACnC,eAAO,KAAK,QAAQ,KAAK,SAAS,WAAW,OAAO;AAAA,MAAA;AAAA,IACtD;AAOF,QAAI,oBAAoB,SAAS;AAE3B,UAAA,OAAO,QAAQ,mBAAmB,UAAU;AACxC,cAAA,IAAI,MAAM,iCAAiC;AAAA,MAAA,OAC5C;AAEC,cAAA,cAAc,IAAI,IAAI,QAAQ,gBAAgB,OAAO,SAAS,MAAM,EAAE;AAC5E,gBAAQ,IAAI,WAAW;AAEjB,cAAA,OAAO,SAAS,cAAc,GAAG;AACvC,aAAK,OAAO;AACZ,aAAK,SAAS;AACd,aAAK,MAAM;AAGX,aAAK,WAAW;AAEP,iBAAA,KAAK,YAAY,IAAI;AAC9B,aAAK,MAAM;AACF,iBAAA,KAAK,YAAY,IAAI;AAAA,MAAA;AAAA,IAChC;AAGF,QAAI,qBAAqB,SAAS;AAE5B,UAAA,OAAO,QAAQ,oBAAoB,UAAU;AACzC,cAAA,IAAI,MAAM,kCAAkC;AAAA,MAAA,OAC7C;AAEL,kBAAU,UAAU,UAAU,QAAQ,eAAe,EAAE,MAAM,CAAC,QAAQ;AAC5D,kBAAA,MAAM,qCAAqC,GAAG;AAAA,QAAA,CACvD;AAAA,MAAA;AAAA,IACH;AAGF,QAAI,kBAAkB,SAAS;AAC7B,UAAI,CAAC,MAAM,QAAQ,QAAQ,YAAY,GAAG;AAClC,cAAA,IAAI,MAAM,+BAA+B;AAAA,MAAA;AAG7C,UAAA,QAAQ,aAAa,QAAQ;AAC/B,iBAAS,IAAI,KAAK,eAAe,QAAQ,YAAY,CAAC;AAAA,MAAA;AAAA,IACxD;AAAA,EAGJ;AAEA,SAAO,EAAE,oBAAoB;AAC/B;"}
@@ -36,6 +36,7 @@ require("../api/generated/users.cjs.js");
36
36
  require("../api/generated/versions.cjs.js");
37
37
  require("../api/generated/workfiles.cjs.js");
38
38
  require("../api/generated/ynputCloud.cjs.js");
39
+ require("../api/generated/grouping.cjs.js");
39
40
  require("../api/queries/actions/getActions.cjs.js");
40
41
  require("../api/queries/activities/getActivities.cjs.js");
41
42
  require("../api/queries/activities/updateActivities.cjs.js");
@@ -66,6 +67,7 @@ require("../api/queries/users/getUsers.cjs.js");
66
67
  require("../api/queries/users/updateUsers.cjs.js");
67
68
  require("../api/queries/watchers/getWatchers.cjs.js");
68
69
  require("../api/queries/permissions/getPermissions.cjs.js");
70
+ require("../api/queries/grouping/getGrouping.cjs.js");
69
71
  require("../context/RemoteModulesContext.cjs.js");
70
72
  const DetailsPanelContext = require("../context/DetailsPanelContext.cjs.js");
71
73
  require("../context/ThumbnailUploaderContext.cjs.js");
@@ -1 +1 @@
1
- {"version":3,"file":"useEntityUpdate.cjs.js","sources":["../../../../src/hooks/useEntityUpdate.ts"],"sourcesContent":["import { toast } from 'react-toastify'\nimport { useUpdateEntitiesMutation } from '@shared/api'\nimport { useContext } from 'react'\nimport { useDetailsPanelContext } from '@shared/context'\n\ninterface Entity {\n id: string\n projectName: string\n users: string[]\n folderId?: string\n productId?: string\n}\n\nexport interface UseEntityUpdateParams {\n entities: Entity[]\n entityType: string\n}\n\n/**\n * Hook for updating entities with proper error handling and version-specific logic\n */\nexport const useEntityUpdate = ({ entities, entityType }: UseEntityUpdateParams) => {\n const [updateEntities] = useUpdateEntitiesMutation()\n const { onUpdateEntity } = useDetailsPanelContext()\n\n /**\n * Updates entities with the specified field and value\n * @param field The field to update\n * @param value The new value for the field\n * @returns Promise that resolves when the update is complete\n */\n const updateEntity = async (field: string, value: any): Promise<void> => {\n if (value === null || value === undefined) {\n console.error('value is null or undefined')\n return\n }\n\n try {\n // Build entities operations array\n const operations = entities.map((entity) => ({\n id: entity.id,\n projectName: entity.projectName,\n data: {\n [field]: value,\n },\n currentAssignees: entity.users,\n meta: {\n folderId: entity.folderId,\n },\n }))\n\n await updateEntities({ operations, entityType })\n onUpdateEntity?.({ operations, entityType })\n } catch (error) {\n toast.error(`Error updating ${entityType}`)\n }\n }\n\n return { updateEntity }\n}\n"],"names":["useUpdateEntitiesMutation","useDetailsPanelContext","updateEntity","toast"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBO,MAAM,kBAAkB,CAAC,EAAE,UAAU,iBAAwC;AAC5E,QAAA,CAAC,cAAc,IAAIA,uCAA0B;AAC7C,QAAA,EAAE,eAAe,IAAIC,2CAAuB;AAQ5C,QAAAC,iBAAe,OAAO,OAAe,UAA8B;AACnE,QAAA,UAAU,QAAQ,UAAU,QAAW;AACzC,cAAQ,MAAM,4BAA4B;AAC1C;AAAA,IAAA;AAGE,QAAA;AAEF,YAAM,aAAa,SAAS,IAAI,CAAC,YAAY;AAAA,QAC3C,IAAI,OAAO;AAAA,QACX,aAAa,OAAO;AAAA,QACpB,MAAM;AAAA,UACJ,CAAC,KAAK,GAAG;AAAA,QACX;AAAA,QACA,kBAAkB,OAAO;AAAA,QACzB,MAAM;AAAA,UACJ,UAAU,OAAO;AAAA,QAAA;AAAA,MACnB,EACA;AAEF,YAAM,eAAe,EAAE,YAAY,YAAY;AAC9B,uDAAA,EAAE,YAAY;aACxB,OAAO;AACRC,oBAAAA,MAAA,MAAM,kBAAkB,UAAU,EAAE;AAAA,IAAA;AAAA,EAE9C;AAEA,SAAO,EAAED,cAAAA,eAAa;AACxB;;"}
1
+ {"version":3,"file":"useEntityUpdate.cjs.js","sources":["../../../../src/hooks/useEntityUpdate.ts"],"sourcesContent":["import { toast } from 'react-toastify'\nimport { useUpdateEntitiesMutation } from '@shared/api'\nimport { useContext } from 'react'\nimport { useDetailsPanelContext } from '@shared/context'\n\ninterface Entity {\n id: string\n projectName: string\n users: string[]\n folderId?: string\n productId?: string\n}\n\nexport interface UseEntityUpdateParams {\n entities: Entity[]\n entityType: string\n}\n\n/**\n * Hook for updating entities with proper error handling and version-specific logic\n */\nexport const useEntityUpdate = ({ entities, entityType }: UseEntityUpdateParams) => {\n const [updateEntities] = useUpdateEntitiesMutation()\n const { onUpdateEntity } = useDetailsPanelContext()\n\n /**\n * Updates entities with the specified field and value\n * @param field The field to update\n * @param value The new value for the field\n * @returns Promise that resolves when the update is complete\n */\n const updateEntity = async (field: string, value: any): Promise<void> => {\n if (value === null || value === undefined) {\n console.error('value is null or undefined')\n return\n }\n\n try {\n // Build entities operations array\n const operations = entities.map((entity) => ({\n id: entity.id,\n projectName: entity.projectName,\n data: {\n [field]: value,\n },\n currentAssignees: entity.users,\n meta: {\n folderId: entity.folderId,\n },\n }))\n\n await updateEntities({ operations, entityType })\n onUpdateEntity?.({ operations, entityType })\n } catch (error) {\n toast.error(`Error updating ${entityType}`)\n }\n }\n\n return { updateEntity }\n}\n"],"names":["useUpdateEntitiesMutation","useDetailsPanelContext","updateEntity","toast"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBO,MAAM,kBAAkB,CAAC,EAAE,UAAU,iBAAwC;AAC5E,QAAA,CAAC,cAAc,IAAIA,uCAA0B;AAC7C,QAAA,EAAE,eAAe,IAAIC,2CAAuB;AAQ5C,QAAAC,iBAAe,OAAO,OAAe,UAA8B;AACnE,QAAA,UAAU,QAAQ,UAAU,QAAW;AACzC,cAAQ,MAAM,4BAA4B;AAC1C;AAAA,IAAA;AAGE,QAAA;AAEF,YAAM,aAAa,SAAS,IAAI,CAAC,YAAY;AAAA,QAC3C,IAAI,OAAO;AAAA,QACX,aAAa,OAAO;AAAA,QACpB,MAAM;AAAA,UACJ,CAAC,KAAK,GAAG;AAAA,QACX;AAAA,QACA,kBAAkB,OAAO;AAAA,QACzB,MAAM;AAAA,UACJ,UAAU,OAAO;AAAA,QAAA;AAAA,MACnB,EACA;AAEF,YAAM,eAAe,EAAE,YAAY,YAAY;AAC9B,uDAAA,EAAE,YAAY;aACxB,OAAO;AACRC,oBAAAA,MAAA,MAAM,kBAAkB,UAAU,EAAE;AAAA,IAAA;AAAA,EAE9C;AAEA,SAAO,EAAED,cAAAA,eAAa;AACxB;;"}
@@ -34,6 +34,7 @@ import "../api/generated/users.es.js";
34
34
  import "../api/generated/versions.es.js";
35
35
  import "../api/generated/workfiles.es.js";
36
36
  import "../api/generated/ynputCloud.es.js";
37
+ import "../api/generated/grouping.es.js";
37
38
  import "../api/queries/actions/getActions.es.js";
38
39
  import "../api/queries/activities/getActivities.es.js";
39
40
  import "../api/queries/activities/updateActivities.es.js";
@@ -64,6 +65,7 @@ import "../api/queries/users/getUsers.es.js";
64
65
  import "../api/queries/users/updateUsers.es.js";
65
66
  import "../api/queries/watchers/getWatchers.es.js";
66
67
  import "../api/queries/permissions/getPermissions.es.js";
68
+ import "../api/queries/grouping/getGrouping.es.js";
67
69
  import "../context/RemoteModulesContext.es.js";
68
70
  import { useDetailsPanelContext } from "../context/DetailsPanelContext.es.js";
69
71
  import "../context/ThumbnailUploaderContext.es.js";
@@ -1 +1 @@
1
- {"version":3,"file":"useEntityUpdate.es.js","sources":["../../../../src/hooks/useEntityUpdate.ts"],"sourcesContent":["import { toast } from 'react-toastify'\nimport { useUpdateEntitiesMutation } from '@shared/api'\nimport { useContext } from 'react'\nimport { useDetailsPanelContext } from '@shared/context'\n\ninterface Entity {\n id: string\n projectName: string\n users: string[]\n folderId?: string\n productId?: string\n}\n\nexport interface UseEntityUpdateParams {\n entities: Entity[]\n entityType: string\n}\n\n/**\n * Hook for updating entities with proper error handling and version-specific logic\n */\nexport const useEntityUpdate = ({ entities, entityType }: UseEntityUpdateParams) => {\n const [updateEntities] = useUpdateEntitiesMutation()\n const { onUpdateEntity } = useDetailsPanelContext()\n\n /**\n * Updates entities with the specified field and value\n * @param field The field to update\n * @param value The new value for the field\n * @returns Promise that resolves when the update is complete\n */\n const updateEntity = async (field: string, value: any): Promise<void> => {\n if (value === null || value === undefined) {\n console.error('value is null or undefined')\n return\n }\n\n try {\n // Build entities operations array\n const operations = entities.map((entity) => ({\n id: entity.id,\n projectName: entity.projectName,\n data: {\n [field]: value,\n },\n currentAssignees: entity.users,\n meta: {\n folderId: entity.folderId,\n },\n }))\n\n await updateEntities({ operations, entityType })\n onUpdateEntity?.({ operations, entityType })\n } catch (error) {\n toast.error(`Error updating ${entityType}`)\n }\n }\n\n return { updateEntity }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBO,MAAM,kBAAkB,CAAC,EAAE,UAAU,iBAAwC;AAC5E,QAAA,CAAC,cAAc,IAAI,0BAA0B;AAC7C,QAAA,EAAE,eAAe,IAAI,uBAAuB;AAQ5C,QAAA,eAAe,OAAO,OAAe,UAA8B;AACnE,QAAA,UAAU,QAAQ,UAAU,QAAW;AACzC,cAAQ,MAAM,4BAA4B;AAC1C;AAAA,IAAA;AAGE,QAAA;AAEF,YAAM,aAAa,SAAS,IAAI,CAAC,YAAY;AAAA,QAC3C,IAAI,OAAO;AAAA,QACX,aAAa,OAAO;AAAA,QACpB,MAAM;AAAA,UACJ,CAAC,KAAK,GAAG;AAAA,QACX;AAAA,QACA,kBAAkB,OAAO;AAAA,QACzB,MAAM;AAAA,UACJ,UAAU,OAAO;AAAA,QAAA;AAAA,MACnB,EACA;AAEF,YAAM,eAAe,EAAE,YAAY,YAAY;AAC9B,uDAAA,EAAE,YAAY;aACxB,OAAO;AACR,YAAA,MAAM,kBAAkB,UAAU,EAAE;AAAA,IAAA;AAAA,EAE9C;AAEA,SAAO,EAAE,aAAa;AACxB;"}
1
+ {"version":3,"file":"useEntityUpdate.es.js","sources":["../../../../src/hooks/useEntityUpdate.ts"],"sourcesContent":["import { toast } from 'react-toastify'\nimport { useUpdateEntitiesMutation } from '@shared/api'\nimport { useContext } from 'react'\nimport { useDetailsPanelContext } from '@shared/context'\n\ninterface Entity {\n id: string\n projectName: string\n users: string[]\n folderId?: string\n productId?: string\n}\n\nexport interface UseEntityUpdateParams {\n entities: Entity[]\n entityType: string\n}\n\n/**\n * Hook for updating entities with proper error handling and version-specific logic\n */\nexport const useEntityUpdate = ({ entities, entityType }: UseEntityUpdateParams) => {\n const [updateEntities] = useUpdateEntitiesMutation()\n const { onUpdateEntity } = useDetailsPanelContext()\n\n /**\n * Updates entities with the specified field and value\n * @param field The field to update\n * @param value The new value for the field\n * @returns Promise that resolves when the update is complete\n */\n const updateEntity = async (field: string, value: any): Promise<void> => {\n if (value === null || value === undefined) {\n console.error('value is null or undefined')\n return\n }\n\n try {\n // Build entities operations array\n const operations = entities.map((entity) => ({\n id: entity.id,\n projectName: entity.projectName,\n data: {\n [field]: value,\n },\n currentAssignees: entity.users,\n meta: {\n folderId: entity.folderId,\n },\n }))\n\n await updateEntities({ operations, entityType })\n onUpdateEntity?.({ operations, entityType })\n } catch (error) {\n toast.error(`Error updating ${entityType}`)\n }\n }\n\n return { updateEntity }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBO,MAAM,kBAAkB,CAAC,EAAE,UAAU,iBAAwC;AAC5E,QAAA,CAAC,cAAc,IAAI,0BAA0B;AAC7C,QAAA,EAAE,eAAe,IAAI,uBAAuB;AAQ5C,QAAA,eAAe,OAAO,OAAe,UAA8B;AACnE,QAAA,UAAU,QAAQ,UAAU,QAAW;AACzC,cAAQ,MAAM,4BAA4B;AAC1C;AAAA,IAAA;AAGE,QAAA;AAEF,YAAM,aAAa,SAAS,IAAI,CAAC,YAAY;AAAA,QAC3C,IAAI,OAAO;AAAA,QACX,aAAa,OAAO;AAAA,QACpB,MAAM;AAAA,UACJ,CAAC,KAAK,GAAG;AAAA,QACX;AAAA,QACA,kBAAkB,OAAO;AAAA,QACzB,MAAM;AAAA,UACJ,UAAU,OAAO;AAAA,QAAA;AAAA,MACnB,EACA;AAEF,YAAM,eAAe,EAAE,YAAY,YAAY;AAC9B,uDAAA,EAAE,YAAY;aACxB,OAAO;AACR,YAAA,MAAM,kBAAkB,UAAU,EAAE;AAAA,IAAA;AAAA,EAE9C;AAEA,SAAO,EAAE,aAAa;AACxB;"}
@@ -9,7 +9,8 @@ const useLoadModule = ({
9
9
  remote,
10
10
  module: module2,
11
11
  fallback,
12
- minVersion
12
+ minVersion,
13
+ skip = false
13
14
  }) => {
14
15
  var _a;
15
16
  const { remotesInitialized, modules } = RemoteModulesContext.useRemoteModules();
@@ -18,6 +19,11 @@ const useLoadModule = ({
18
19
  const [isOutdated, setIsOutdated] = React.useState(false);
19
20
  const loadedRemote = React.useRef(fallback);
20
21
  React.useEffect(() => {
22
+ if (skip) {
23
+ setIsLoading(false);
24
+ setIsLoaded(true);
25
+ return;
26
+ }
21
27
  if (!remotesInitialized || !addon || !remote || !module2) return;
22
28
  const initializedRemote = modules.find((m) => m.addonName === addon);
23
29
  if (!initializedRemote) {
@@ -43,7 +49,7 @@ const useLoadModule = ({
43
49
  setIsLoading(false);
44
50
  return console.log("module not found", { addon, remote, module: module2 });
45
51
  }
46
- if (isLoaded) {
52
+ if (isLoaded === module2) {
47
53
  setIsLoading(false);
48
54
  return;
49
55
  }
@@ -51,18 +57,18 @@ const useLoadModule = ({
51
57
  from: "runtime"
52
58
  }).then((remote2) => {
53
59
  console.log("loaded remote", module2);
54
- setIsLoaded(true);
60
+ setIsLoaded(module2);
55
61
  setIsLoading(false);
56
62
  if (remote2) loadedRemote.current = remote2.default;
57
63
  }).catch((e) => {
58
64
  setIsLoading(false);
59
65
  console.error("error loading remote", remote, module2, e);
60
66
  });
61
- }, [isLoaded, remotesInitialized, modules, addon, remote, module2, minVersion]);
67
+ }, [isLoaded, remotesInitialized, modules, addon, remote, module2, minVersion, skip]);
62
68
  return [
63
69
  loadedRemote.current,
64
70
  {
65
- isLoaded,
71
+ isLoaded: isLoaded === module2,
66
72
  isLoading,
67
73
  outdated: isOutdated ? {
68
74
  current: ((_a = modules.find((m) => m.addonName === addon)) == null ? void 0 : _a.addonVersion) || "unknown",
@@ -1 +1 @@
1
- {"version":3,"file":"useLoadModule.cjs.js","sources":["../../../../src/hooks/useLoadModule.ts"],"sourcesContent":["import { useRemoteModules } from '@shared/context/RemoteModulesContext'\nimport { loadRemote } from '@module-federation/enhanced/runtime'\nimport { useEffect, useRef, useState } from 'react'\nimport semver from 'semver'\n\ninterface Props<T> {\n addon: string\n remote: string\n module: string\n fallback: T\n debug?: boolean\n minVersion?: string // minimum version required for this module\n}\n\nexport const useLoadModule = <T>({\n addon,\n remote,\n module,\n fallback,\n minVersion,\n}: Props<T>): [\n T,\n { isLoaded: boolean; isLoading: boolean; outdated?: { current: string; required: string } },\n] => {\n const { remotesInitialized, modules } = useRemoteModules()\n const [isLoading, setIsLoading] = useState(true)\n const [isLoaded, setIsLoaded] = useState(false)\n const [isOutdated, setIsOutdated] = useState(false)\n const loadedRemote = useRef<T>(fallback)\n\n useEffect(() => {\n // wait for remotes to be initialized\n if (!remotesInitialized || !addon || !remote || !module) return\n\n // check if remote and module exist\n const initializedRemote = modules.find((m) => m.addonName === addon)\n\n if (!initializedRemote) {\n console.log('remote not found', { addon, remote, module })\n setIsLoading(false)\n return\n }\n\n // check remote meets minimum version requirement\n if (\n minVersion &&\n !semver.gte(initializedRemote.addonVersion, minVersion) &&\n minVersion + '-dev' !== initializedRemote.addonVersion\n ) {\n console.log('remote version does not meet minimum requirement', {\n addon,\n remote,\n module,\n current: initializedRemote.addonVersion,\n required: minVersion,\n })\n\n setIsOutdated(true)\n setIsLoading(false)\n\n // use fallback if version requirement not met\n return\n }\n\n setIsOutdated(false)\n\n const initializedModule = initializedRemote.modules[remote]\n\n if (!initializedModule) {\n setIsLoading(false)\n return console.log('module not found', { addon, remote, module })\n }\n\n // check if module is already loaded\n if (isLoaded) {\n setIsLoading(false)\n return\n }\n loadRemote<{ default: T }>(`${remote}/${module}`, {\n from: 'runtime',\n })\n .then((remote) => {\n console.log('loaded remote', module)\n setIsLoaded(true)\n setIsLoading(false)\n if (remote) loadedRemote.current = remote.default\n })\n .catch((e) => {\n setIsLoading(false)\n console.error('error loading remote', remote, module, e)\n })\n }, [isLoaded, remotesInitialized, modules, addon, remote, module, minVersion])\n\n return [\n loadedRemote.current,\n {\n isLoaded,\n isLoading,\n outdated: isOutdated\n ? {\n current: modules.find((m) => m.addonName === addon)?.addonVersion || 'unknown',\n required: minVersion || 'unknown',\n }\n : undefined,\n },\n ]\n}\n"],"names":["module","useRemoteModules","useState","useRef","useEffect","loadRemote","remote"],"mappings":";;;;;;AAcO,MAAM,gBAAgB,CAAI;AAAA,EAC/B;AAAA,EACA;AAAA,EACA,QAAAA;AAAA,EACA;AAAA,EACA;AACF,MAGK;;AACH,QAAM,EAAE,oBAAoB,QAAQ,IAAIC,sCAAiB;AACzD,QAAM,CAAC,WAAW,YAAY,IAAIC,MAAAA,SAAS,IAAI;AAC/C,QAAM,CAAC,UAAU,WAAW,IAAIA,MAAAA,SAAS,KAAK;AAC9C,QAAM,CAAC,YAAY,aAAa,IAAIA,MAAAA,SAAS,KAAK;AAC5C,QAAA,eAAeC,aAAU,QAAQ;AAEvCC,QAAAA,UAAU,MAAM;AAEd,QAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,UAAU,CAACJ,QAAQ;AAGzD,UAAM,oBAAoB,QAAQ,KAAK,CAAC,MAAM,EAAE,cAAc,KAAK;AAEnE,QAAI,CAAC,mBAAmB;AACtB,cAAQ,IAAI,oBAAoB,EAAE,OAAO,QAAQ,QAAAA,SAAQ;AACzD,mBAAa,KAAK;AAClB;AAAA,IAAA;AAKA,QAAA,cACA,CAAC,OAAO,IAAI,kBAAkB,cAAc,UAAU,KACtD,aAAa,WAAW,kBAAkB,cAC1C;AACA,cAAQ,IAAI,oDAAoD;AAAA,QAC9D;AAAA,QACA;AAAA,QACA,QAAAA;AAAA,QACA,SAAS,kBAAkB;AAAA,QAC3B,UAAU;AAAA,MAAA,CACX;AAED,oBAAc,IAAI;AAClB,mBAAa,KAAK;AAGlB;AAAA,IAAA;AAGF,kBAAc,KAAK;AAEb,UAAA,oBAAoB,kBAAkB,QAAQ,MAAM;AAE1D,QAAI,CAAC,mBAAmB;AACtB,mBAAa,KAAK;AAClB,aAAO,QAAQ,IAAI,oBAAoB,EAAE,OAAO,QAAQ,QAAAA,SAAQ;AAAA,IAAA;AAIlE,QAAI,UAAU;AACZ,mBAAa,KAAK;AAClB;AAAA,IAAA;AAEFK,YAAAA,eAAAA,WAA2B,GAAG,MAAM,IAAIL,OAAM,IAAI;AAAA,MAChD,MAAM;AAAA,IAAA,CACP,EACE,KAAK,CAACM,YAAW;AACR,cAAA,IAAI,iBAAiBN,OAAM;AACnC,kBAAY,IAAI;AAChB,mBAAa,KAAK;AACdM,UAAAA,QAAqB,cAAA,UAAUA,QAAO;AAAA,IAAA,CAC3C,EACA,MAAM,CAAC,MAAM;AACZ,mBAAa,KAAK;AAClB,cAAQ,MAAM,wBAAwB,QAAQN,SAAQ,CAAC;AAAA,IAAA,CACxD;AAAA,EAAA,GACF,CAAC,UAAU,oBAAoB,SAAS,OAAO,QAAQA,SAAQ,UAAU,CAAC;AAEtE,SAAA;AAAA,IACL,aAAa;AAAA,IACb;AAAA,MACE;AAAA,MACA;AAAA,MACA,UAAU,aACN;AAAA,QACE,WAAS,aAAQ,KAAK,CAAC,MAAM,EAAE,cAAc,KAAK,MAAzC,mBAA4C,iBAAgB;AAAA,QACrE,UAAU,cAAc;AAAA,MAAA,IAE1B;AAAA,IAAA;AAAA,EAER;AACF;;"}
1
+ {"version":3,"file":"useLoadModule.cjs.js","sources":["../../../../src/hooks/useLoadModule.ts"],"sourcesContent":["import { useRemoteModules } from '@shared/context/RemoteModulesContext'\nimport { loadRemote } from '@module-federation/enhanced/runtime'\nimport { useEffect, useRef, useState } from 'react'\nimport semver from 'semver'\n\ninterface Props<T> {\n addon: string\n remote: string\n module: string\n fallback: T\n debug?: boolean\n minVersion?: string // minimum version required for this module\n skip?: boolean // skip loading if module is provided externally\n}\n\nexport const useLoadModule = <T>({\n addon,\n remote,\n module,\n fallback,\n minVersion,\n skip = false,\n}: Props<T>): [\n T,\n { isLoaded: boolean; isLoading: boolean; outdated?: { current: string; required: string } },\n] => {\n const { remotesInitialized, modules } = useRemoteModules()\n const [isLoading, setIsLoading] = useState(true)\n const [isLoaded, setIsLoaded] = useState<string | boolean>(false)\n const [isOutdated, setIsOutdated] = useState(false)\n const loadedRemote = useRef<T>(fallback)\n\n useEffect(() => {\n // skip loading if module is provided externally\n if (skip) {\n setIsLoading(false)\n setIsLoaded(true)\n return\n }\n\n // wait for remotes to be initialized\n if (!remotesInitialized || !addon || !remote || !module) return\n\n // check if remote and module exist\n const initializedRemote = modules.find((m) => m.addonName === addon)\n\n if (!initializedRemote) {\n console.log('remote not found', { addon, remote, module })\n setIsLoading(false)\n return\n }\n\n // check remote meets minimum version requirement\n if (\n minVersion &&\n !semver.gte(initializedRemote.addonVersion, minVersion) &&\n minVersion + '-dev' !== initializedRemote.addonVersion\n ) {\n console.log('remote version does not meet minimum requirement', {\n addon,\n remote,\n module,\n current: initializedRemote.addonVersion,\n required: minVersion,\n })\n\n setIsOutdated(true)\n setIsLoading(false)\n\n // use fallback if version requirement not met\n return\n }\n\n setIsOutdated(false)\n\n const initializedModule = initializedRemote.modules[remote]\n\n if (!initializedModule) {\n setIsLoading(false)\n return console.log('module not found', { addon, remote, module })\n }\n\n // check if module is already loaded\n if (isLoaded === module) {\n setIsLoading(false)\n return\n }\n loadRemote<{ default: T }>(`${remote}/${module}`, {\n from: 'runtime',\n })\n .then((remote) => {\n console.log('loaded remote', module)\n setIsLoaded(module)\n setIsLoading(false)\n if (remote) loadedRemote.current = remote.default\n })\n .catch((e) => {\n setIsLoading(false)\n console.error('error loading remote', remote, module, e)\n })\n }, [isLoaded, remotesInitialized, modules, addon, remote, module, minVersion, skip])\n\n return [\n loadedRemote.current,\n {\n isLoaded: isLoaded === module,\n isLoading,\n outdated: isOutdated\n ? {\n current: modules.find((m) => m.addonName === addon)?.addonVersion || 'unknown',\n required: minVersion || 'unknown',\n }\n : undefined,\n },\n ]\n}\n"],"names":["module","useRemoteModules","useState","useRef","useEffect","loadRemote","remote"],"mappings":";;;;;;AAeO,MAAM,gBAAgB,CAAI;AAAA,EAC/B;AAAA,EACA;AAAA,EACA,QAAAA;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AACT,MAGK;;AACH,QAAM,EAAE,oBAAoB,QAAQ,IAAIC,sCAAiB;AACzD,QAAM,CAAC,WAAW,YAAY,IAAIC,MAAAA,SAAS,IAAI;AAC/C,QAAM,CAAC,UAAU,WAAW,IAAIA,MAAAA,SAA2B,KAAK;AAChE,QAAM,CAAC,YAAY,aAAa,IAAIA,MAAAA,SAAS,KAAK;AAC5C,QAAA,eAAeC,aAAU,QAAQ;AAEvCC,QAAAA,UAAU,MAAM;AAEd,QAAI,MAAM;AACR,mBAAa,KAAK;AAClB,kBAAY,IAAI;AAChB;AAAA,IAAA;AAIF,QAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,UAAU,CAACJ,QAAQ;AAGzD,UAAM,oBAAoB,QAAQ,KAAK,CAAC,MAAM,EAAE,cAAc,KAAK;AAEnE,QAAI,CAAC,mBAAmB;AACtB,cAAQ,IAAI,oBAAoB,EAAE,OAAO,QAAQ,QAAAA,SAAQ;AACzD,mBAAa,KAAK;AAClB;AAAA,IAAA;AAKA,QAAA,cACA,CAAC,OAAO,IAAI,kBAAkB,cAAc,UAAU,KACtD,aAAa,WAAW,kBAAkB,cAC1C;AACA,cAAQ,IAAI,oDAAoD;AAAA,QAC9D;AAAA,QACA;AAAA,QACA,QAAAA;AAAA,QACA,SAAS,kBAAkB;AAAA,QAC3B,UAAU;AAAA,MAAA,CACX;AAED,oBAAc,IAAI;AAClB,mBAAa,KAAK;AAGlB;AAAA,IAAA;AAGF,kBAAc,KAAK;AAEb,UAAA,oBAAoB,kBAAkB,QAAQ,MAAM;AAE1D,QAAI,CAAC,mBAAmB;AACtB,mBAAa,KAAK;AAClB,aAAO,QAAQ,IAAI,oBAAoB,EAAE,OAAO,QAAQ,QAAAA,SAAQ;AAAA,IAAA;AAIlE,QAAI,aAAaA,SAAQ;AACvB,mBAAa,KAAK;AAClB;AAAA,IAAA;AAEFK,YAAAA,eAAAA,WAA2B,GAAG,MAAM,IAAIL,OAAM,IAAI;AAAA,MAChD,MAAM;AAAA,IAAA,CACP,EACE,KAAK,CAACM,YAAW;AACR,cAAA,IAAI,iBAAiBN,OAAM;AACnC,kBAAYA,OAAM;AAClB,mBAAa,KAAK;AACdM,UAAAA,QAAqB,cAAA,UAAUA,QAAO;AAAA,IAAA,CAC3C,EACA,MAAM,CAAC,MAAM;AACZ,mBAAa,KAAK;AAClB,cAAQ,MAAM,wBAAwB,QAAQN,SAAQ,CAAC;AAAA,IAAA,CACxD;AAAA,EAAA,GACF,CAAC,UAAU,oBAAoB,SAAS,OAAO,QAAQA,SAAQ,YAAY,IAAI,CAAC;AAE5E,SAAA;AAAA,IACL,aAAa;AAAA,IACb;AAAA,MACE,UAAU,aAAaA;AAAA,MACvB;AAAA,MACA,UAAU,aACN;AAAA,QACE,WAAS,aAAQ,KAAK,CAAC,MAAM,EAAE,cAAc,KAAK,MAAzC,mBAA4C,iBAAgB;AAAA,QACrE,UAAU,cAAc;AAAA,MAAA,IAE1B;AAAA,IAAA;AAAA,EAER;AACF;;"}
@@ -7,7 +7,8 @@ const useLoadModule = ({
7
7
  remote,
8
8
  module,
9
9
  fallback,
10
- minVersion
10
+ minVersion,
11
+ skip = false
11
12
  }) => {
12
13
  var _a;
13
14
  const { remotesInitialized, modules } = useRemoteModules();
@@ -16,6 +17,11 @@ const useLoadModule = ({
16
17
  const [isOutdated, setIsOutdated] = useState(false);
17
18
  const loadedRemote = useRef(fallback);
18
19
  useEffect(() => {
20
+ if (skip) {
21
+ setIsLoading(false);
22
+ setIsLoaded(true);
23
+ return;
24
+ }
19
25
  if (!remotesInitialized || !addon || !remote || !module) return;
20
26
  const initializedRemote = modules.find((m) => m.addonName === addon);
21
27
  if (!initializedRemote) {
@@ -41,7 +47,7 @@ const useLoadModule = ({
41
47
  setIsLoading(false);
42
48
  return console.log("module not found", { addon, remote, module });
43
49
  }
44
- if (isLoaded) {
50
+ if (isLoaded === module) {
45
51
  setIsLoading(false);
46
52
  return;
47
53
  }
@@ -49,18 +55,18 @@ const useLoadModule = ({
49
55
  from: "runtime"
50
56
  }).then((remote2) => {
51
57
  console.log("loaded remote", module);
52
- setIsLoaded(true);
58
+ setIsLoaded(module);
53
59
  setIsLoading(false);
54
60
  if (remote2) loadedRemote.current = remote2.default;
55
61
  }).catch((e) => {
56
62
  setIsLoading(false);
57
63
  console.error("error loading remote", remote, module, e);
58
64
  });
59
- }, [isLoaded, remotesInitialized, modules, addon, remote, module, minVersion]);
65
+ }, [isLoaded, remotesInitialized, modules, addon, remote, module, minVersion, skip]);
60
66
  return [
61
67
  loadedRemote.current,
62
68
  {
63
- isLoaded,
69
+ isLoaded: isLoaded === module,
64
70
  isLoading,
65
71
  outdated: isOutdated ? {
66
72
  current: ((_a = modules.find((m) => m.addonName === addon)) == null ? void 0 : _a.addonVersion) || "unknown",
@@ -1 +1 @@
1
- {"version":3,"file":"useLoadModule.es.js","sources":["../../../../src/hooks/useLoadModule.ts"],"sourcesContent":["import { useRemoteModules } from '@shared/context/RemoteModulesContext'\nimport { loadRemote } from '@module-federation/enhanced/runtime'\nimport { useEffect, useRef, useState } from 'react'\nimport semver from 'semver'\n\ninterface Props<T> {\n addon: string\n remote: string\n module: string\n fallback: T\n debug?: boolean\n minVersion?: string // minimum version required for this module\n}\n\nexport const useLoadModule = <T>({\n addon,\n remote,\n module,\n fallback,\n minVersion,\n}: Props<T>): [\n T,\n { isLoaded: boolean; isLoading: boolean; outdated?: { current: string; required: string } },\n] => {\n const { remotesInitialized, modules } = useRemoteModules()\n const [isLoading, setIsLoading] = useState(true)\n const [isLoaded, setIsLoaded] = useState(false)\n const [isOutdated, setIsOutdated] = useState(false)\n const loadedRemote = useRef<T>(fallback)\n\n useEffect(() => {\n // wait for remotes to be initialized\n if (!remotesInitialized || !addon || !remote || !module) return\n\n // check if remote and module exist\n const initializedRemote = modules.find((m) => m.addonName === addon)\n\n if (!initializedRemote) {\n console.log('remote not found', { addon, remote, module })\n setIsLoading(false)\n return\n }\n\n // check remote meets minimum version requirement\n if (\n minVersion &&\n !semver.gte(initializedRemote.addonVersion, minVersion) &&\n minVersion + '-dev' !== initializedRemote.addonVersion\n ) {\n console.log('remote version does not meet minimum requirement', {\n addon,\n remote,\n module,\n current: initializedRemote.addonVersion,\n required: minVersion,\n })\n\n setIsOutdated(true)\n setIsLoading(false)\n\n // use fallback if version requirement not met\n return\n }\n\n setIsOutdated(false)\n\n const initializedModule = initializedRemote.modules[remote]\n\n if (!initializedModule) {\n setIsLoading(false)\n return console.log('module not found', { addon, remote, module })\n }\n\n // check if module is already loaded\n if (isLoaded) {\n setIsLoading(false)\n return\n }\n loadRemote<{ default: T }>(`${remote}/${module}`, {\n from: 'runtime',\n })\n .then((remote) => {\n console.log('loaded remote', module)\n setIsLoaded(true)\n setIsLoading(false)\n if (remote) loadedRemote.current = remote.default\n })\n .catch((e) => {\n setIsLoading(false)\n console.error('error loading remote', remote, module, e)\n })\n }, [isLoaded, remotesInitialized, modules, addon, remote, module, minVersion])\n\n return [\n loadedRemote.current,\n {\n isLoaded,\n isLoading,\n outdated: isOutdated\n ? {\n current: modules.find((m) => m.addonName === addon)?.addonVersion || 'unknown',\n required: minVersion || 'unknown',\n }\n : undefined,\n },\n ]\n}\n"],"names":["loadRemote","remote"],"mappings":";;;;AAcO,MAAM,gBAAgB,CAAI;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAGK;;AACH,QAAM,EAAE,oBAAoB,QAAQ,IAAI,iBAAiB;AACzD,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,IAAI;AAC/C,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,KAAK;AAC9C,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,KAAK;AAC5C,QAAA,eAAe,OAAU,QAAQ;AAEvC,YAAU,MAAM;AAEd,QAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,UAAU,CAAC,OAAQ;AAGzD,UAAM,oBAAoB,QAAQ,KAAK,CAAC,MAAM,EAAE,cAAc,KAAK;AAEnE,QAAI,CAAC,mBAAmB;AACtB,cAAQ,IAAI,oBAAoB,EAAE,OAAO,QAAQ,QAAQ;AACzD,mBAAa,KAAK;AAClB;AAAA,IAAA;AAKA,QAAA,cACA,CAAC,OAAO,IAAI,kBAAkB,cAAc,UAAU,KACtD,aAAa,WAAW,kBAAkB,cAC1C;AACA,cAAQ,IAAI,oDAAoD;AAAA,QAC9D;AAAA,QACA;AAAA,QACA;AAAA,QACA,SAAS,kBAAkB;AAAA,QAC3B,UAAU;AAAA,MAAA,CACX;AAED,oBAAc,IAAI;AAClB,mBAAa,KAAK;AAGlB;AAAA,IAAA;AAGF,kBAAc,KAAK;AAEb,UAAA,oBAAoB,kBAAkB,QAAQ,MAAM;AAE1D,QAAI,CAAC,mBAAmB;AACtB,mBAAa,KAAK;AAClB,aAAO,QAAQ,IAAI,oBAAoB,EAAE,OAAO,QAAQ,QAAQ;AAAA,IAAA;AAIlE,QAAI,UAAU;AACZ,mBAAa,KAAK;AAClB;AAAA,IAAA;AAEFA,mBAAAA,WAA2B,GAAG,MAAM,IAAI,MAAM,IAAI;AAAA,MAChD,MAAM;AAAA,IAAA,CACP,EACE,KAAK,CAACC,YAAW;AACR,cAAA,IAAI,iBAAiB,MAAM;AACnC,kBAAY,IAAI;AAChB,mBAAa,KAAK;AACdA,UAAAA,QAAqB,cAAA,UAAUA,QAAO;AAAA,IAAA,CAC3C,EACA,MAAM,CAAC,MAAM;AACZ,mBAAa,KAAK;AAClB,cAAQ,MAAM,wBAAwB,QAAQ,QAAQ,CAAC;AAAA,IAAA,CACxD;AAAA,EAAA,GACF,CAAC,UAAU,oBAAoB,SAAS,OAAO,QAAQ,QAAQ,UAAU,CAAC;AAEtE,SAAA;AAAA,IACL,aAAa;AAAA,IACb;AAAA,MACE;AAAA,MACA;AAAA,MACA,UAAU,aACN;AAAA,QACE,WAAS,aAAQ,KAAK,CAAC,MAAM,EAAE,cAAc,KAAK,MAAzC,mBAA4C,iBAAgB;AAAA,QACrE,UAAU,cAAc;AAAA,MAAA,IAE1B;AAAA,IAAA;AAAA,EAER;AACF;"}
1
+ {"version":3,"file":"useLoadModule.es.js","sources":["../../../../src/hooks/useLoadModule.ts"],"sourcesContent":["import { useRemoteModules } from '@shared/context/RemoteModulesContext'\nimport { loadRemote } from '@module-federation/enhanced/runtime'\nimport { useEffect, useRef, useState } from 'react'\nimport semver from 'semver'\n\ninterface Props<T> {\n addon: string\n remote: string\n module: string\n fallback: T\n debug?: boolean\n minVersion?: string // minimum version required for this module\n skip?: boolean // skip loading if module is provided externally\n}\n\nexport const useLoadModule = <T>({\n addon,\n remote,\n module,\n fallback,\n minVersion,\n skip = false,\n}: Props<T>): [\n T,\n { isLoaded: boolean; isLoading: boolean; outdated?: { current: string; required: string } },\n] => {\n const { remotesInitialized, modules } = useRemoteModules()\n const [isLoading, setIsLoading] = useState(true)\n const [isLoaded, setIsLoaded] = useState<string | boolean>(false)\n const [isOutdated, setIsOutdated] = useState(false)\n const loadedRemote = useRef<T>(fallback)\n\n useEffect(() => {\n // skip loading if module is provided externally\n if (skip) {\n setIsLoading(false)\n setIsLoaded(true)\n return\n }\n\n // wait for remotes to be initialized\n if (!remotesInitialized || !addon || !remote || !module) return\n\n // check if remote and module exist\n const initializedRemote = modules.find((m) => m.addonName === addon)\n\n if (!initializedRemote) {\n console.log('remote not found', { addon, remote, module })\n setIsLoading(false)\n return\n }\n\n // check remote meets minimum version requirement\n if (\n minVersion &&\n !semver.gte(initializedRemote.addonVersion, minVersion) &&\n minVersion + '-dev' !== initializedRemote.addonVersion\n ) {\n console.log('remote version does not meet minimum requirement', {\n addon,\n remote,\n module,\n current: initializedRemote.addonVersion,\n required: minVersion,\n })\n\n setIsOutdated(true)\n setIsLoading(false)\n\n // use fallback if version requirement not met\n return\n }\n\n setIsOutdated(false)\n\n const initializedModule = initializedRemote.modules[remote]\n\n if (!initializedModule) {\n setIsLoading(false)\n return console.log('module not found', { addon, remote, module })\n }\n\n // check if module is already loaded\n if (isLoaded === module) {\n setIsLoading(false)\n return\n }\n loadRemote<{ default: T }>(`${remote}/${module}`, {\n from: 'runtime',\n })\n .then((remote) => {\n console.log('loaded remote', module)\n setIsLoaded(module)\n setIsLoading(false)\n if (remote) loadedRemote.current = remote.default\n })\n .catch((e) => {\n setIsLoading(false)\n console.error('error loading remote', remote, module, e)\n })\n }, [isLoaded, remotesInitialized, modules, addon, remote, module, minVersion, skip])\n\n return [\n loadedRemote.current,\n {\n isLoaded: isLoaded === module,\n isLoading,\n outdated: isOutdated\n ? {\n current: modules.find((m) => m.addonName === addon)?.addonVersion || 'unknown',\n required: minVersion || 'unknown',\n }\n : undefined,\n },\n ]\n}\n"],"names":["loadRemote","remote"],"mappings":";;;;AAeO,MAAM,gBAAgB,CAAI;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AACT,MAGK;;AACH,QAAM,EAAE,oBAAoB,QAAQ,IAAI,iBAAiB;AACzD,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,IAAI;AAC/C,QAAM,CAAC,UAAU,WAAW,IAAI,SAA2B,KAAK;AAChE,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,KAAK;AAC5C,QAAA,eAAe,OAAU,QAAQ;AAEvC,YAAU,MAAM;AAEd,QAAI,MAAM;AACR,mBAAa,KAAK;AAClB,kBAAY,IAAI;AAChB;AAAA,IAAA;AAIF,QAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,UAAU,CAAC,OAAQ;AAGzD,UAAM,oBAAoB,QAAQ,KAAK,CAAC,MAAM,EAAE,cAAc,KAAK;AAEnE,QAAI,CAAC,mBAAmB;AACtB,cAAQ,IAAI,oBAAoB,EAAE,OAAO,QAAQ,QAAQ;AACzD,mBAAa,KAAK;AAClB;AAAA,IAAA;AAKA,QAAA,cACA,CAAC,OAAO,IAAI,kBAAkB,cAAc,UAAU,KACtD,aAAa,WAAW,kBAAkB,cAC1C;AACA,cAAQ,IAAI,oDAAoD;AAAA,QAC9D;AAAA,QACA;AAAA,QACA;AAAA,QACA,SAAS,kBAAkB;AAAA,QAC3B,UAAU;AAAA,MAAA,CACX;AAED,oBAAc,IAAI;AAClB,mBAAa,KAAK;AAGlB;AAAA,IAAA;AAGF,kBAAc,KAAK;AAEb,UAAA,oBAAoB,kBAAkB,QAAQ,MAAM;AAE1D,QAAI,CAAC,mBAAmB;AACtB,mBAAa,KAAK;AAClB,aAAO,QAAQ,IAAI,oBAAoB,EAAE,OAAO,QAAQ,QAAQ;AAAA,IAAA;AAIlE,QAAI,aAAa,QAAQ;AACvB,mBAAa,KAAK;AAClB;AAAA,IAAA;AAEFA,mBAAAA,WAA2B,GAAG,MAAM,IAAI,MAAM,IAAI;AAAA,MAChD,MAAM;AAAA,IAAA,CACP,EACE,KAAK,CAACC,YAAW;AACR,cAAA,IAAI,iBAAiB,MAAM;AACnC,kBAAY,MAAM;AAClB,mBAAa,KAAK;AACdA,UAAAA,QAAqB,cAAA,UAAUA,QAAO;AAAA,IAAA,CAC3C,EACA,MAAM,CAAC,MAAM;AACZ,mBAAa,KAAK;AAClB,cAAQ,MAAM,wBAAwB,QAAQ,QAAQ,CAAC;AAAA,IAAA,CACxD;AAAA,EAAA,GACF,CAAC,UAAU,oBAAoB,SAAS,OAAO,QAAQ,QAAQ,YAAY,IAAI,CAAC;AAE5E,SAAA;AAAA,IACL,aAAa;AAAA,IACb;AAAA,MACE,UAAU,aAAa;AAAA,MACvB;AAAA,MACA,UAAU,aACN;AAAA,QACE,WAAS,aAAQ,KAAK,CAAC,MAAM,EAAE,cAAc,KAAK,MAAzC,mBAA4C,iBAAgB;AAAA,QACrE,UAAU,cAAc;AAAA,MAAA,IAE1B;AAAA,IAAA;AAAA,EAER;AACF;"}
@@ -35,6 +35,7 @@ require("../api/generated/users.cjs.js");
35
35
  require("../api/generated/versions.cjs.js");
36
36
  require("../api/generated/workfiles.cjs.js");
37
37
  require("../api/generated/ynputCloud.cjs.js");
38
+ require("../api/generated/grouping.cjs.js");
38
39
  require("../api/queries/actions/getActions.cjs.js");
39
40
  require("../api/queries/activities/getActivities.cjs.js");
40
41
  require("../api/queries/activities/updateActivities.cjs.js");
@@ -65,6 +66,7 @@ require("../api/queries/users/getUsers.cjs.js");
65
66
  require("../api/queries/users/updateUsers.cjs.js");
66
67
  require("../api/queries/watchers/getWatchers.cjs.js");
67
68
  require("../api/queries/permissions/getPermissions.cjs.js");
69
+ require("../api/queries/grouping/getGrouping.cjs.js");
68
70
  const lodash = require("lodash");
69
71
  const useScopedStatuses = (projects, entityTypes) => {
70
72
  const response = getUserDashboard.useGetProjectsInfoQuery({ projects: [...new Set(projects).values()] });
@@ -1 +1 @@
1
- {"version":3,"file":"useScopedStatuses.cjs.js","sources":["../../../../src/hooks/useScopedStatuses.ts"],"sourcesContent":["import { useGetProjectsInfoQuery } from '@shared/api'\nimport type { ProjectModel, Status } from '@shared/api'\nimport { intersectionBy } from 'lodash'\n\ntype EntityStatus = Status & {\n scope?: string[]\n}\n\nexport const useScopedStatuses = (projects: string[], entityTypes: string[]) => {\n const response = useGetProjectsInfoQuery({ projects: [...new Set(projects).values()] })\n\n if (!response || !response.data) {\n return []\n }\n\n let currentStatuses: EntityStatus[] | undefined\n for (const item of Object.values(response.data) as ProjectModel[]) {\n const filteredStatuses = item.statuses!.filter((status: EntityStatus) =>\n entityTypes.every((type) => (!status.scope || status.scope?.includes(type))),\n )\n if (currentStatuses === undefined) {\n currentStatuses = filteredStatuses\n continue\n }\n currentStatuses = intersectionBy(currentStatuses, filteredStatuses, 'name')\n }\n\n return currentStatuses\n}\n\nexport const filterProjectStatuses = (statuses: EntityStatus[], entityTypes: string[]) => {\n let statusesList: EntityStatus[] = Object.values(statuses || {})\n\n if (statusesList.length == 0 || statusesList[0].scope === undefined) {\n return statusesList\n }\n\n return statusesList.filter((el) => entityTypes.every((type) => el.scope!.includes(type)))\n}\n"],"names":["useGetProjectsInfoQuery","intersectionBy"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQa,MAAA,oBAAoB,CAAC,UAAoB,gBAA0B;AAC9E,QAAM,WAAWA,iBAAAA,wBAAwB,EAAE,UAAU,CAAC,GAAG,IAAI,IAAI,QAAQ,EAAE,OAAQ,CAAA,GAAG;AAEtF,MAAI,CAAC,YAAY,CAAC,SAAS,MAAM;AAC/B,WAAO,CAAC;AAAA,EAAA;AAGN,MAAA;AACJ,aAAW,QAAQ,OAAO,OAAO,SAAS,IAAI,GAAqB;AAC3D,UAAA,mBAAmB,KAAK,SAAU;AAAA,MAAO,CAAC,WAC9C,YAAY,MAAM,CAAC,SAAU;;AAAA,gBAAC,OAAO,WAAS,YAAO,UAAP,mBAAc,SAAS;AAAA,OAAM;AAAA,IAC7E;AACA,QAAI,oBAAoB,QAAW;AACf,wBAAA;AAClB;AAAA,IAAA;AAEgB,sBAAAC,OAAA,eAAe,iBAAiB,kBAAkB,MAAM;AAAA,EAAA;AAGrE,SAAA;AACT;AAEa,MAAA,wBAAwB,CAAC,UAA0B,gBAA0B;AACxF,MAAI,eAA+B,OAAO,OAAO,YAAY,CAAA,CAAE;AAE/D,MAAI,aAAa,UAAU,KAAK,aAAa,CAAC,EAAE,UAAU,QAAW;AAC5D,WAAA;AAAA,EAAA;AAGT,SAAO,aAAa,OAAO,CAAC,OAAO,YAAY,MAAM,CAAC,SAAS,GAAG,MAAO,SAAS,IAAI,CAAC,CAAC;AAC1F;;;"}
1
+ {"version":3,"file":"useScopedStatuses.cjs.js","sources":["../../../../src/hooks/useScopedStatuses.ts"],"sourcesContent":["import { useGetProjectsInfoQuery } from '@shared/api'\nimport type { ProjectModel, Status } from '@shared/api'\nimport { intersectionBy } from 'lodash'\n\ntype EntityStatus = Status & {\n scope?: string[]\n}\n\nexport const useScopedStatuses = (projects: string[], entityTypes: string[]) => {\n const response = useGetProjectsInfoQuery({ projects: [...new Set(projects).values()] })\n\n if (!response || !response.data) {\n return []\n }\n\n let currentStatuses: EntityStatus[] | undefined\n for (const item of Object.values(response.data) as ProjectModel[]) {\n const filteredStatuses = item.statuses!.filter((status: EntityStatus) =>\n entityTypes.every((type) => (!status.scope || status.scope?.includes(type))),\n )\n if (currentStatuses === undefined) {\n currentStatuses = filteredStatuses\n continue\n }\n currentStatuses = intersectionBy(currentStatuses, filteredStatuses, 'name')\n }\n\n return currentStatuses\n}\n\nexport const filterProjectStatuses = (statuses: EntityStatus[], entityTypes: string[]) => {\n let statusesList: EntityStatus[] = Object.values(statuses || {})\n\n if (statusesList.length == 0 || statusesList[0].scope === undefined) {\n return statusesList\n }\n\n return statusesList.filter((el) => entityTypes.every((type) => el.scope!.includes(type)))\n}\n"],"names":["useGetProjectsInfoQuery","intersectionBy"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQa,MAAA,oBAAoB,CAAC,UAAoB,gBAA0B;AAC9E,QAAM,WAAWA,iBAAAA,wBAAwB,EAAE,UAAU,CAAC,GAAG,IAAI,IAAI,QAAQ,EAAE,OAAQ,CAAA,GAAG;AAEtF,MAAI,CAAC,YAAY,CAAC,SAAS,MAAM;AAC/B,WAAO,CAAC;AAAA,EAAA;AAGN,MAAA;AACJ,aAAW,QAAQ,OAAO,OAAO,SAAS,IAAI,GAAqB;AAC3D,UAAA,mBAAmB,KAAK,SAAU;AAAA,MAAO,CAAC,WAC9C,YAAY,MAAM,CAAC,SAAU;;AAAA,gBAAC,OAAO,WAAS,YAAO,UAAP,mBAAc,SAAS;AAAA,OAAM;AAAA,IAC7E;AACA,QAAI,oBAAoB,QAAW;AACf,wBAAA;AAClB;AAAA,IAAA;AAEgB,sBAAAC,OAAA,eAAe,iBAAiB,kBAAkB,MAAM;AAAA,EAAA;AAGrE,SAAA;AACT;AAEa,MAAA,wBAAwB,CAAC,UAA0B,gBAA0B;AACxF,MAAI,eAA+B,OAAO,OAAO,YAAY,CAAA,CAAE;AAE/D,MAAI,aAAa,UAAU,KAAK,aAAa,CAAC,EAAE,UAAU,QAAW;AAC5D,WAAA;AAAA,EAAA;AAGT,SAAO,aAAa,OAAO,CAAC,OAAO,YAAY,MAAM,CAAC,SAAS,GAAG,MAAO,SAAS,IAAI,CAAC,CAAC;AAC1F;;;"}
@@ -33,6 +33,7 @@ import "../api/generated/users.es.js";
33
33
  import "../api/generated/versions.es.js";
34
34
  import "../api/generated/workfiles.es.js";
35
35
  import "../api/generated/ynputCloud.es.js";
36
+ import "../api/generated/grouping.es.js";
36
37
  import "../api/queries/actions/getActions.es.js";
37
38
  import "../api/queries/activities/getActivities.es.js";
38
39
  import "../api/queries/activities/updateActivities.es.js";
@@ -63,6 +64,7 @@ import "../api/queries/users/getUsers.es.js";
63
64
  import "../api/queries/users/updateUsers.es.js";
64
65
  import "../api/queries/watchers/getWatchers.es.js";
65
66
  import "../api/queries/permissions/getPermissions.es.js";
67
+ import "../api/queries/grouping/getGrouping.es.js";
66
68
  import { intersectionBy } from "lodash";
67
69
  const useScopedStatuses = (projects, entityTypes) => {
68
70
  const response = useGetProjectsInfoQuery({ projects: [...new Set(projects).values()] });
@@ -1 +1 @@
1
- {"version":3,"file":"useScopedStatuses.es.js","sources":["../../../../src/hooks/useScopedStatuses.ts"],"sourcesContent":["import { useGetProjectsInfoQuery } from '@shared/api'\nimport type { ProjectModel, Status } from '@shared/api'\nimport { intersectionBy } from 'lodash'\n\ntype EntityStatus = Status & {\n scope?: string[]\n}\n\nexport const useScopedStatuses = (projects: string[], entityTypes: string[]) => {\n const response = useGetProjectsInfoQuery({ projects: [...new Set(projects).values()] })\n\n if (!response || !response.data) {\n return []\n }\n\n let currentStatuses: EntityStatus[] | undefined\n for (const item of Object.values(response.data) as ProjectModel[]) {\n const filteredStatuses = item.statuses!.filter((status: EntityStatus) =>\n entityTypes.every((type) => (!status.scope || status.scope?.includes(type))),\n )\n if (currentStatuses === undefined) {\n currentStatuses = filteredStatuses\n continue\n }\n currentStatuses = intersectionBy(currentStatuses, filteredStatuses, 'name')\n }\n\n return currentStatuses\n}\n\nexport const filterProjectStatuses = (statuses: EntityStatus[], entityTypes: string[]) => {\n let statusesList: EntityStatus[] = Object.values(statuses || {})\n\n if (statusesList.length == 0 || statusesList[0].scope === undefined) {\n return statusesList\n }\n\n return statusesList.filter((el) => entityTypes.every((type) => el.scope!.includes(type)))\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQa,MAAA,oBAAoB,CAAC,UAAoB,gBAA0B;AAC9E,QAAM,WAAW,wBAAwB,EAAE,UAAU,CAAC,GAAG,IAAI,IAAI,QAAQ,EAAE,OAAQ,CAAA,GAAG;AAEtF,MAAI,CAAC,YAAY,CAAC,SAAS,MAAM;AAC/B,WAAO,CAAC;AAAA,EAAA;AAGN,MAAA;AACJ,aAAW,QAAQ,OAAO,OAAO,SAAS,IAAI,GAAqB;AAC3D,UAAA,mBAAmB,KAAK,SAAU;AAAA,MAAO,CAAC,WAC9C,YAAY,MAAM,CAAC,SAAU;;AAAA,gBAAC,OAAO,WAAS,YAAO,UAAP,mBAAc,SAAS;AAAA,OAAM;AAAA,IAC7E;AACA,QAAI,oBAAoB,QAAW;AACf,wBAAA;AAClB;AAAA,IAAA;AAEgB,sBAAA,eAAe,iBAAiB,kBAAkB,MAAM;AAAA,EAAA;AAGrE,SAAA;AACT;AAEa,MAAA,wBAAwB,CAAC,UAA0B,gBAA0B;AACxF,MAAI,eAA+B,OAAO,OAAO,YAAY,CAAA,CAAE;AAE/D,MAAI,aAAa,UAAU,KAAK,aAAa,CAAC,EAAE,UAAU,QAAW;AAC5D,WAAA;AAAA,EAAA;AAGT,SAAO,aAAa,OAAO,CAAC,OAAO,YAAY,MAAM,CAAC,SAAS,GAAG,MAAO,SAAS,IAAI,CAAC,CAAC;AAC1F;"}
1
+ {"version":3,"file":"useScopedStatuses.es.js","sources":["../../../../src/hooks/useScopedStatuses.ts"],"sourcesContent":["import { useGetProjectsInfoQuery } from '@shared/api'\nimport type { ProjectModel, Status } from '@shared/api'\nimport { intersectionBy } from 'lodash'\n\ntype EntityStatus = Status & {\n scope?: string[]\n}\n\nexport const useScopedStatuses = (projects: string[], entityTypes: string[]) => {\n const response = useGetProjectsInfoQuery({ projects: [...new Set(projects).values()] })\n\n if (!response || !response.data) {\n return []\n }\n\n let currentStatuses: EntityStatus[] | undefined\n for (const item of Object.values(response.data) as ProjectModel[]) {\n const filteredStatuses = item.statuses!.filter((status: EntityStatus) =>\n entityTypes.every((type) => (!status.scope || status.scope?.includes(type))),\n )\n if (currentStatuses === undefined) {\n currentStatuses = filteredStatuses\n continue\n }\n currentStatuses = intersectionBy(currentStatuses, filteredStatuses, 'name')\n }\n\n return currentStatuses\n}\n\nexport const filterProjectStatuses = (statuses: EntityStatus[], entityTypes: string[]) => {\n let statusesList: EntityStatus[] = Object.values(statuses || {})\n\n if (statusesList.length == 0 || statusesList[0].scope === undefined) {\n return statusesList\n }\n\n return statusesList.filter((el) => entityTypes.every((type) => el.scope!.includes(type)))\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQa,MAAA,oBAAoB,CAAC,UAAoB,gBAA0B;AAC9E,QAAM,WAAW,wBAAwB,EAAE,UAAU,CAAC,GAAG,IAAI,IAAI,QAAQ,EAAE,OAAQ,CAAA,GAAG;AAEtF,MAAI,CAAC,YAAY,CAAC,SAAS,MAAM;AAC/B,WAAO,CAAC;AAAA,EAAA;AAGN,MAAA;AACJ,aAAW,QAAQ,OAAO,OAAO,SAAS,IAAI,GAAqB;AAC3D,UAAA,mBAAmB,KAAK,SAAU;AAAA,MAAO,CAAC,WAC9C,YAAY,MAAM,CAAC,SAAU;;AAAA,gBAAC,OAAO,WAAS,YAAO,UAAP,mBAAc,SAAS;AAAA,OAAM;AAAA,IAC7E;AACA,QAAI,oBAAoB,QAAW;AACf,wBAAA;AAClB;AAAA,IAAA;AAEgB,sBAAA,eAAe,iBAAiB,kBAAkB,MAAM;AAAA,EAAA;AAGrE,SAAA;AACT;AAEa,MAAA,wBAAwB,CAAC,UAA0B,gBAA0B;AACxF,MAAI,eAA+B,OAAO,OAAO,YAAY,CAAA,CAAE;AAE/D,MAAI,aAAa,UAAU,KAAK,aAAa,CAAC,EAAE,UAAU,QAAW;AAC5D,WAAA;AAAA,EAAA;AAGT,SAAO,aAAa,OAAO,CAAC,OAAO,YAAY,MAAM,CAAC,SAAS,GAAG,MAAO,SAAS,IAAI,CAAC,CAAC;AAC1F;"}
@@ -35,6 +35,7 @@ require("../api/generated/users.cjs.js");
35
35
  require("../api/generated/versions.cjs.js");
36
36
  require("../api/generated/workfiles.cjs.js");
37
37
  require("../api/generated/ynputCloud.cjs.js");
38
+ require("../api/generated/grouping.cjs.js");
38
39
  require("../api/queries/actions/getActions.cjs.js");
39
40
  require("../api/queries/activities/getActivities.cjs.js");
40
41
  require("../api/queries/activities/updateActivities.cjs.js");
@@ -65,6 +66,7 @@ const getUsers = require("../api/queries/users/getUsers.cjs.js");
65
66
  const updateUsers = require("../api/queries/users/updateUsers.cjs.js");
66
67
  require("../api/queries/watchers/getWatchers.cjs.js");
67
68
  require("../api/queries/permissions/getPermissions.cjs.js");
69
+ require("../api/queries/grouping/getGrouping.cjs.js");
68
70
  const reactToastify = require("react-toastify");
69
71
  const useUserProjectConfig = ({ selectors = [], init }) => {
70
72
  const { data: user, isSuccess } = getUsers.useGetCurrentUserQuery();
@@ -1 +1 @@
1
- {"version":3,"file":"useUserProjectConfig.cjs.js","sources":["../../../../src/hooks/useUserProjectConfig.ts"],"sourcesContent":["import { useGetCurrentUserQuery, useSetFrontendPreferencesMutation } from '@shared/api'\nimport { toast } from 'react-toastify'\n\ntype Props = {\n selectors?: (string | undefined | null)[]\n init?: any\n}\n\ntype Result = [\n Record<string, any>,\n (config: Record<string, any>) => Promise<void>,\n { isSuccess: boolean },\n]\n\nexport const useUserProjectConfig = ({ selectors = [], init }: Props): Result => {\n // GET CURRENT USER\n const { data: user, isSuccess } = useGetCurrentUserQuery()\n // extract out columns config for project\n const { data: { frontendPreferences: preferences = {} } = {} } = user || {}\n\n const configPath = selectors\n .filter((selector) => selector !== undefined && selector !== null)\n .map((selector) => selector.replace(/\\s/g, ''))\n // Start with the root preferences\n let userConfig = preferences\n for (const selector of configPath) {\n userConfig = userConfig?.[selector]\n }\n\n userConfig = userConfig || init || {}\n\n const [updateUserPreferences] = useSetFrontendPreferencesMutation()\n\n // update the user preferences when the columns config changes\n const updateProjectConfig = async (config: Record<string, any>) => {\n try {\n if (!user?.name) throw { data: { detail: 'User not found' } }\n\n // Set the updated config at the correct nested path using only selectors\n let updatedPreferences = { ...preferences }\n\n // Helper function to set nested value\n const setNestedValue = (obj: any, path: string[], value: any): any => {\n if (path.length === 0) return { ...obj, ...value }\n\n const [first, ...rest] = path\n const nestedObj = obj?.[first] || {}\n\n return {\n ...obj,\n [first]: setNestedValue(nestedObj, rest, value),\n }\n }\n\n // Use the helper to set the value at the correct path\n updatedPreferences = setNestedValue(updatedPreferences, configPath, config)\n\n await updateUserPreferences({\n userName: user.name,\n patchData: updatedPreferences,\n // @ts-expect-error - disableInvalidations is not in the api\n disableInvalidations: true,\n }).unwrap()\n } catch (error: any) {\n console.error(error)\n toast.error(error.data?.detail)\n }\n }\n\n return [userConfig, updateProjectConfig, { isSuccess: isSuccess }]\n}\n"],"names":["useGetCurrentUserQuery","useSetFrontendPreferencesMutation","toast"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcO,MAAM,uBAAuB,CAAC,EAAE,YAAY,CAAC,GAAG,WAA0B;AAE/E,QAAM,EAAE,MAAM,MAAM,UAAA,IAAcA,SAAAA,uBAAuB;AAEzD,QAAM,EAAE,MAAM,EAAE,qBAAqB,cAAc,CAAA,MAAO,CAAA,MAAO,QAAQ,CAAC;AAE1E,QAAM,aAAa,UAChB,OAAO,CAAC,aAAa,aAAa,UAAa,aAAa,IAAI,EAChE,IAAI,CAAC,aAAa,SAAS,QAAQ,OAAO,EAAE,CAAC;AAEhD,MAAI,aAAa;AACjB,aAAW,YAAY,YAAY;AACjC,iBAAa,yCAAa;AAAA,EAAQ;AAGvB,eAAA,cAAc,QAAQ,CAAC;AAE9B,QAAA,CAAC,qBAAqB,IAAIC,8CAAkC;AAG5D,QAAA,sBAAsB,OAAO,WAAgC;;AAC7D,QAAA;AACE,UAAA,EAAC,6BAAM,MAAM,OAAM,EAAE,MAAM,EAAE,QAAQ,mBAAmB;AAGxD,UAAA,qBAAqB,EAAE,GAAG,YAAY;AAG1C,YAAM,iBAAiB,CAAC,KAAU,MAAgB,UAAoB;AAChE,YAAA,KAAK,WAAW,EAAG,QAAO,EAAE,GAAG,KAAK,GAAG,MAAM;AAEjD,cAAM,CAAC,OAAO,GAAG,IAAI,IAAI;AACzB,cAAM,aAAY,2BAAM,WAAU,CAAC;AAE5B,eAAA;AAAA,UACL,GAAG;AAAA,UACH,CAAC,KAAK,GAAG,eAAe,WAAW,MAAM,KAAK;AAAA,QAChD;AAAA,MACF;AAGqB,2BAAA,eAAe,oBAAoB,YAAY,MAAM;AAE1E,YAAM,sBAAsB;AAAA,QAC1B,UAAU,KAAK;AAAA,QACf,WAAW;AAAA;AAAA,QAEX,sBAAsB;AAAA,MACvB,CAAA,EAAE,OAAO;AAAA,aACH,OAAY;AACnB,cAAQ,MAAM,KAAK;AACbC,oBAAAA,MAAA,OAAM,WAAM,SAAN,mBAAY,MAAM;AAAA,IAAA;AAAA,EAElC;AAEA,SAAO,CAAC,YAAY,qBAAqB,EAAE,WAAsB;AACnE;;"}
1
+ {"version":3,"file":"useUserProjectConfig.cjs.js","sources":["../../../../src/hooks/useUserProjectConfig.ts"],"sourcesContent":["import { useGetCurrentUserQuery, useSetFrontendPreferencesMutation } from '@shared/api'\nimport { toast } from 'react-toastify'\n\ntype Props = {\n selectors?: (string | undefined | null)[]\n init?: any\n}\n\ntype Result = [\n Record<string, any>,\n (config: Record<string, any>) => Promise<void>,\n { isSuccess: boolean },\n]\n\nexport const useUserProjectConfig = ({ selectors = [], init }: Props): Result => {\n // GET CURRENT USER\n const { data: user, isSuccess } = useGetCurrentUserQuery()\n // extract out columns config for project\n const { data: { frontendPreferences: preferences = {} } = {} } = user || {}\n\n const configPath = selectors\n .filter((selector) => selector !== undefined && selector !== null)\n .map((selector) => selector.replace(/\\s/g, ''))\n // Start with the root preferences\n let userConfig = preferences\n for (const selector of configPath) {\n userConfig = userConfig?.[selector]\n }\n\n userConfig = userConfig || init || {}\n\n const [updateUserPreferences] = useSetFrontendPreferencesMutation()\n\n // update the user preferences when the columns config changes\n const updateProjectConfig = async (config: Record<string, any>) => {\n try {\n if (!user?.name) throw { data: { detail: 'User not found' } }\n\n // Set the updated config at the correct nested path using only selectors\n let updatedPreferences = { ...preferences }\n\n // Helper function to set nested value\n const setNestedValue = (obj: any, path: string[], value: any): any => {\n if (path.length === 0) return { ...obj, ...value }\n\n const [first, ...rest] = path\n const nestedObj = obj?.[first] || {}\n\n return {\n ...obj,\n [first]: setNestedValue(nestedObj, rest, value),\n }\n }\n\n // Use the helper to set the value at the correct path\n updatedPreferences = setNestedValue(updatedPreferences, configPath, config)\n\n await updateUserPreferences({\n userName: user.name,\n patchData: updatedPreferences,\n // @ts-expect-error - disableInvalidations is not in the api\n disableInvalidations: true,\n }).unwrap()\n } catch (error: any) {\n console.error(error)\n toast.error(error.data?.detail)\n }\n }\n\n return [userConfig, updateProjectConfig, { isSuccess: isSuccess }]\n}\n"],"names":["useGetCurrentUserQuery","useSetFrontendPreferencesMutation","toast"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcO,MAAM,uBAAuB,CAAC,EAAE,YAAY,CAAC,GAAG,WAA0B;AAE/E,QAAM,EAAE,MAAM,MAAM,UAAA,IAAcA,SAAAA,uBAAuB;AAEzD,QAAM,EAAE,MAAM,EAAE,qBAAqB,cAAc,CAAA,MAAO,CAAA,MAAO,QAAQ,CAAC;AAE1E,QAAM,aAAa,UAChB,OAAO,CAAC,aAAa,aAAa,UAAa,aAAa,IAAI,EAChE,IAAI,CAAC,aAAa,SAAS,QAAQ,OAAO,EAAE,CAAC;AAEhD,MAAI,aAAa;AACjB,aAAW,YAAY,YAAY;AACjC,iBAAa,yCAAa;AAAA,EAAQ;AAGvB,eAAA,cAAc,QAAQ,CAAC;AAE9B,QAAA,CAAC,qBAAqB,IAAIC,8CAAkC;AAG5D,QAAA,sBAAsB,OAAO,WAAgC;;AAC7D,QAAA;AACE,UAAA,EAAC,6BAAM,MAAM,OAAM,EAAE,MAAM,EAAE,QAAQ,mBAAmB;AAGxD,UAAA,qBAAqB,EAAE,GAAG,YAAY;AAG1C,YAAM,iBAAiB,CAAC,KAAU,MAAgB,UAAoB;AAChE,YAAA,KAAK,WAAW,EAAG,QAAO,EAAE,GAAG,KAAK,GAAG,MAAM;AAEjD,cAAM,CAAC,OAAO,GAAG,IAAI,IAAI;AACzB,cAAM,aAAY,2BAAM,WAAU,CAAC;AAE5B,eAAA;AAAA,UACL,GAAG;AAAA,UACH,CAAC,KAAK,GAAG,eAAe,WAAW,MAAM,KAAK;AAAA,QAChD;AAAA,MACF;AAGqB,2BAAA,eAAe,oBAAoB,YAAY,MAAM;AAE1E,YAAM,sBAAsB;AAAA,QAC1B,UAAU,KAAK;AAAA,QACf,WAAW;AAAA;AAAA,QAEX,sBAAsB;AAAA,MACvB,CAAA,EAAE,OAAO;AAAA,aACH,OAAY;AACnB,cAAQ,MAAM,KAAK;AACbC,oBAAAA,MAAA,OAAM,WAAM,SAAN,mBAAY,MAAM;AAAA,IAAA;AAAA,EAElC;AAEA,SAAO,CAAC,YAAY,qBAAqB,EAAE,WAAsB;AACnE;;"}
@@ -33,6 +33,7 @@ import "../api/generated/users.es.js";
33
33
  import "../api/generated/versions.es.js";
34
34
  import "../api/generated/workfiles.es.js";
35
35
  import "../api/generated/ynputCloud.es.js";
36
+ import "../api/generated/grouping.es.js";
36
37
  import "../api/queries/actions/getActions.es.js";
37
38
  import "../api/queries/activities/getActivities.es.js";
38
39
  import "../api/queries/activities/updateActivities.es.js";
@@ -63,6 +64,7 @@ import { useGetCurrentUserQuery } from "../api/queries/users/getUsers.es.js";
63
64
  import { useSetFrontendPreferencesMutation } from "../api/queries/users/updateUsers.es.js";
64
65
  import "../api/queries/watchers/getWatchers.es.js";
65
66
  import "../api/queries/permissions/getPermissions.es.js";
67
+ import "../api/queries/grouping/getGrouping.es.js";
66
68
  import { toast } from "react-toastify";
67
69
  const useUserProjectConfig = ({ selectors = [], init }) => {
68
70
  const { data: user, isSuccess } = useGetCurrentUserQuery();
@@ -1 +1 @@
1
- {"version":3,"file":"useUserProjectConfig.es.js","sources":["../../../../src/hooks/useUserProjectConfig.ts"],"sourcesContent":["import { useGetCurrentUserQuery, useSetFrontendPreferencesMutation } from '@shared/api'\nimport { toast } from 'react-toastify'\n\ntype Props = {\n selectors?: (string | undefined | null)[]\n init?: any\n}\n\ntype Result = [\n Record<string, any>,\n (config: Record<string, any>) => Promise<void>,\n { isSuccess: boolean },\n]\n\nexport const useUserProjectConfig = ({ selectors = [], init }: Props): Result => {\n // GET CURRENT USER\n const { data: user, isSuccess } = useGetCurrentUserQuery()\n // extract out columns config for project\n const { data: { frontendPreferences: preferences = {} } = {} } = user || {}\n\n const configPath = selectors\n .filter((selector) => selector !== undefined && selector !== null)\n .map((selector) => selector.replace(/\\s/g, ''))\n // Start with the root preferences\n let userConfig = preferences\n for (const selector of configPath) {\n userConfig = userConfig?.[selector]\n }\n\n userConfig = userConfig || init || {}\n\n const [updateUserPreferences] = useSetFrontendPreferencesMutation()\n\n // update the user preferences when the columns config changes\n const updateProjectConfig = async (config: Record<string, any>) => {\n try {\n if (!user?.name) throw { data: { detail: 'User not found' } }\n\n // Set the updated config at the correct nested path using only selectors\n let updatedPreferences = { ...preferences }\n\n // Helper function to set nested value\n const setNestedValue = (obj: any, path: string[], value: any): any => {\n if (path.length === 0) return { ...obj, ...value }\n\n const [first, ...rest] = path\n const nestedObj = obj?.[first] || {}\n\n return {\n ...obj,\n [first]: setNestedValue(nestedObj, rest, value),\n }\n }\n\n // Use the helper to set the value at the correct path\n updatedPreferences = setNestedValue(updatedPreferences, configPath, config)\n\n await updateUserPreferences({\n userName: user.name,\n patchData: updatedPreferences,\n // @ts-expect-error - disableInvalidations is not in the api\n disableInvalidations: true,\n }).unwrap()\n } catch (error: any) {\n console.error(error)\n toast.error(error.data?.detail)\n }\n }\n\n return [userConfig, updateProjectConfig, { isSuccess: isSuccess }]\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcO,MAAM,uBAAuB,CAAC,EAAE,YAAY,CAAC,GAAG,WAA0B;AAE/E,QAAM,EAAE,MAAM,MAAM,UAAA,IAAc,uBAAuB;AAEzD,QAAM,EAAE,MAAM,EAAE,qBAAqB,cAAc,CAAA,MAAO,CAAA,MAAO,QAAQ,CAAC;AAE1E,QAAM,aAAa,UAChB,OAAO,CAAC,aAAa,aAAa,UAAa,aAAa,IAAI,EAChE,IAAI,CAAC,aAAa,SAAS,QAAQ,OAAO,EAAE,CAAC;AAEhD,MAAI,aAAa;AACjB,aAAW,YAAY,YAAY;AACjC,iBAAa,yCAAa;AAAA,EAAQ;AAGvB,eAAA,cAAc,QAAQ,CAAC;AAE9B,QAAA,CAAC,qBAAqB,IAAI,kCAAkC;AAG5D,QAAA,sBAAsB,OAAO,WAAgC;;AAC7D,QAAA;AACE,UAAA,EAAC,6BAAM,MAAM,OAAM,EAAE,MAAM,EAAE,QAAQ,mBAAmB;AAGxD,UAAA,qBAAqB,EAAE,GAAG,YAAY;AAG1C,YAAM,iBAAiB,CAAC,KAAU,MAAgB,UAAoB;AAChE,YAAA,KAAK,WAAW,EAAG,QAAO,EAAE,GAAG,KAAK,GAAG,MAAM;AAEjD,cAAM,CAAC,OAAO,GAAG,IAAI,IAAI;AACzB,cAAM,aAAY,2BAAM,WAAU,CAAC;AAE5B,eAAA;AAAA,UACL,GAAG;AAAA,UACH,CAAC,KAAK,GAAG,eAAe,WAAW,MAAM,KAAK;AAAA,QAChD;AAAA,MACF;AAGqB,2BAAA,eAAe,oBAAoB,YAAY,MAAM;AAE1E,YAAM,sBAAsB;AAAA,QAC1B,UAAU,KAAK;AAAA,QACf,WAAW;AAAA;AAAA,QAEX,sBAAsB;AAAA,MACvB,CAAA,EAAE,OAAO;AAAA,aACH,OAAY;AACnB,cAAQ,MAAM,KAAK;AACb,YAAA,OAAM,WAAM,SAAN,mBAAY,MAAM;AAAA,IAAA;AAAA,EAElC;AAEA,SAAO,CAAC,YAAY,qBAAqB,EAAE,WAAsB;AACnE;"}
1
+ {"version":3,"file":"useUserProjectConfig.es.js","sources":["../../../../src/hooks/useUserProjectConfig.ts"],"sourcesContent":["import { useGetCurrentUserQuery, useSetFrontendPreferencesMutation } from '@shared/api'\nimport { toast } from 'react-toastify'\n\ntype Props = {\n selectors?: (string | undefined | null)[]\n init?: any\n}\n\ntype Result = [\n Record<string, any>,\n (config: Record<string, any>) => Promise<void>,\n { isSuccess: boolean },\n]\n\nexport const useUserProjectConfig = ({ selectors = [], init }: Props): Result => {\n // GET CURRENT USER\n const { data: user, isSuccess } = useGetCurrentUserQuery()\n // extract out columns config for project\n const { data: { frontendPreferences: preferences = {} } = {} } = user || {}\n\n const configPath = selectors\n .filter((selector) => selector !== undefined && selector !== null)\n .map((selector) => selector.replace(/\\s/g, ''))\n // Start with the root preferences\n let userConfig = preferences\n for (const selector of configPath) {\n userConfig = userConfig?.[selector]\n }\n\n userConfig = userConfig || init || {}\n\n const [updateUserPreferences] = useSetFrontendPreferencesMutation()\n\n // update the user preferences when the columns config changes\n const updateProjectConfig = async (config: Record<string, any>) => {\n try {\n if (!user?.name) throw { data: { detail: 'User not found' } }\n\n // Set the updated config at the correct nested path using only selectors\n let updatedPreferences = { ...preferences }\n\n // Helper function to set nested value\n const setNestedValue = (obj: any, path: string[], value: any): any => {\n if (path.length === 0) return { ...obj, ...value }\n\n const [first, ...rest] = path\n const nestedObj = obj?.[first] || {}\n\n return {\n ...obj,\n [first]: setNestedValue(nestedObj, rest, value),\n }\n }\n\n // Use the helper to set the value at the correct path\n updatedPreferences = setNestedValue(updatedPreferences, configPath, config)\n\n await updateUserPreferences({\n userName: user.name,\n patchData: updatedPreferences,\n // @ts-expect-error - disableInvalidations is not in the api\n disableInvalidations: true,\n }).unwrap()\n } catch (error: any) {\n console.error(error)\n toast.error(error.data?.detail)\n }\n }\n\n return [userConfig, updateProjectConfig, { isSuccess: isSuccess }]\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcO,MAAM,uBAAuB,CAAC,EAAE,YAAY,CAAC,GAAG,WAA0B;AAE/E,QAAM,EAAE,MAAM,MAAM,UAAA,IAAc,uBAAuB;AAEzD,QAAM,EAAE,MAAM,EAAE,qBAAqB,cAAc,CAAA,MAAO,CAAA,MAAO,QAAQ,CAAC;AAE1E,QAAM,aAAa,UAChB,OAAO,CAAC,aAAa,aAAa,UAAa,aAAa,IAAI,EAChE,IAAI,CAAC,aAAa,SAAS,QAAQ,OAAO,EAAE,CAAC;AAEhD,MAAI,aAAa;AACjB,aAAW,YAAY,YAAY;AACjC,iBAAa,yCAAa;AAAA,EAAQ;AAGvB,eAAA,cAAc,QAAQ,CAAC;AAE9B,QAAA,CAAC,qBAAqB,IAAI,kCAAkC;AAG5D,QAAA,sBAAsB,OAAO,WAAgC;;AAC7D,QAAA;AACE,UAAA,EAAC,6BAAM,MAAM,OAAM,EAAE,MAAM,EAAE,QAAQ,mBAAmB;AAGxD,UAAA,qBAAqB,EAAE,GAAG,YAAY;AAG1C,YAAM,iBAAiB,CAAC,KAAU,MAAgB,UAAoB;AAChE,YAAA,KAAK,WAAW,EAAG,QAAO,EAAE,GAAG,KAAK,GAAG,MAAM;AAEjD,cAAM,CAAC,OAAO,GAAG,IAAI,IAAI;AACzB,cAAM,aAAY,2BAAM,WAAU,CAAC;AAE5B,eAAA;AAAA,UACL,GAAG;AAAA,UACH,CAAC,KAAK,GAAG,eAAe,WAAW,MAAM,KAAK;AAAA,QAChD;AAAA,MACF;AAGqB,2BAAA,eAAe,oBAAoB,YAAY,MAAM;AAE1E,YAAM,sBAAsB;AAAA,QAC1B,UAAU,KAAK;AAAA,QACf,WAAW;AAAA;AAAA,QAEX,sBAAsB;AAAA,MACvB,CAAA,EAAE,OAAO;AAAA,aACH,OAAY;AACnB,cAAQ,MAAM,KAAK;AACb,YAAA,OAAM,WAAM,SAAN,mBAAY,MAAM;AAAA,IAAA;AAAA,EAElC;AAEA,SAAO,CAAC,YAAY,qBAAqB,EAAE,WAAsB;AACnE;"}
@@ -266,34 +266,22 @@ export type FolderAttribType = {
266
266
  clipOut?: Maybe<Scalars['Int']['output']>;
267
267
  /** Textual description of the entity */
268
268
  description?: Maybe<Scalars['String']['output']>;
269
- distances?: Maybe<Array<Scalars['String']['output']>>;
270
269
  /** Deadline date and time */
271
270
  endDate?: Maybe<Scalars['DateTime']['output']>;
272
- folderOnly?: Maybe<Scalars['String']['output']>;
273
271
  /** Frame rate */
274
272
  fps?: Maybe<Scalars['Float']['output']>;
275
273
  frameEnd?: Maybe<Scalars['Int']['output']>;
276
274
  frameStart?: Maybe<Scalars['Int']['output']>;
277
- ftrackId?: Maybe<Scalars['String']['output']>;
278
- ftrackPath?: Maybe<Scalars['String']['output']>;
279
275
  handleEnd?: Maybe<Scalars['Int']['output']>;
280
276
  handleStart?: Maybe<Scalars['Int']['output']>;
281
- /** Is this some really hard work? */
282
- hard?: Maybe<Scalars['Boolean']['output']>;
283
- nickname?: Maybe<Scalars['String']['output']>;
284
277
  pixelAspect?: Maybe<Scalars['Float']['output']>;
285
278
  priority?: Maybe<Scalars['String']['output']>;
286
279
  /** Vertical resolution */
287
280
  resolutionHeight?: Maybe<Scalars['Int']['output']>;
288
281
  /** Horizontal resolution */
289
282
  resolutionWidth?: Maybe<Scalars['Int']['output']>;
290
- /** The Shotgrid ID of this entity. */
291
- shotgridId?: Maybe<Scalars['String']['output']>;
292
- /** The Shotgrid Type of this entity. */
293
- shotgridType?: Maybe<Scalars['String']['output']>;
294
283
  /** Date and time when the project or task or asset was started */
295
284
  startDate?: Maybe<Scalars['DateTime']['output']>;
296
- tools?: Maybe<Array<Scalars['String']['output']>>;
297
285
  };
298
286
  export type FolderEdge = {
299
287
  __typename?: 'FolderEdge';
@@ -481,7 +469,6 @@ export type ProductAttribType = {
481
469
  /** Textual description of the entity */
482
470
  description?: Maybe<Scalars['String']['output']>;
483
471
  productGroup?: Maybe<Scalars['String']['output']>;
484
- productOnly?: Maybe<Scalars['String']['output']>;
485
472
  };
486
473
  export type ProductEdge = {
487
474
  __typename?: 'ProductEdge';
@@ -566,7 +553,6 @@ export type ProductsConnection = {
566
553
  };
567
554
  export type ProjectAttribType = {
568
555
  __typename?: 'ProjectAttribType';
569
- applications?: Maybe<Array<Scalars['String']['output']>>;
570
556
  clipIn?: Maybe<Scalars['Int']['output']>;
571
557
  clipOut?: Maybe<Scalars['Int']['output']>;
572
558
  /** Textual description of the entity */
@@ -577,8 +563,6 @@ export type ProjectAttribType = {
577
563
  fps?: Maybe<Scalars['Float']['output']>;
578
564
  frameEnd?: Maybe<Scalars['Int']['output']>;
579
565
  frameStart?: Maybe<Scalars['Int']['output']>;
580
- ftrackId?: Maybe<Scalars['String']['output']>;
581
- ftrackPath?: Maybe<Scalars['String']['output']>;
582
566
  handleEnd?: Maybe<Scalars['Int']['output']>;
583
567
  handleStart?: Maybe<Scalars['Int']['output']>;
584
568
  pixelAspect?: Maybe<Scalars['Float']['output']>;
@@ -587,15 +571,8 @@ export type ProjectAttribType = {
587
571
  resolutionHeight?: Maybe<Scalars['Int']['output']>;
588
572
  /** Horizontal resolution */
589
573
  resolutionWidth?: Maybe<Scalars['Int']['output']>;
590
- /** The Shotgrid ID of this entity. */
591
- shotgridId?: Maybe<Scalars['String']['output']>;
592
- /** Push changes done to this project to ShotGrid. Requires the transmitter service. */
593
- shotgridPush?: Maybe<Scalars['Boolean']['output']>;
594
- /** The Shotgrid Type of this entity. */
595
- shotgridType?: Maybe<Scalars['String']['output']>;
596
574
  /** Date and time when the project or task or asset was started */
597
575
  startDate?: Maybe<Scalars['DateTime']['output']>;
598
- tools?: Maybe<Array<Scalars['String']['output']>>;
599
576
  };
600
577
  export type ProjectBundleType = {
601
578
  __typename?: 'ProjectBundleType';
@@ -983,35 +960,22 @@ export type TaskAttribType = {
983
960
  clipOut?: Maybe<Scalars['Int']['output']>;
984
961
  /** Textual description of the entity */
985
962
  description?: Maybe<Scalars['String']['output']>;
986
- distances?: Maybe<Array<Scalars['String']['output']>>;
987
963
  /** Deadline date and time */
988
964
  endDate?: Maybe<Scalars['DateTime']['output']>;
989
965
  /** Frame rate */
990
966
  fps?: Maybe<Scalars['Float']['output']>;
991
967
  frameEnd?: Maybe<Scalars['Int']['output']>;
992
968
  frameStart?: Maybe<Scalars['Int']['output']>;
993
- ftrackId?: Maybe<Scalars['String']['output']>;
994
- ftrackPath?: Maybe<Scalars['String']['output']>;
995
969
  handleEnd?: Maybe<Scalars['Int']['output']>;
996
970
  handleStart?: Maybe<Scalars['Int']['output']>;
997
- /** Is this some really hard work? */
998
- hard?: Maybe<Scalars['Boolean']['output']>;
999
- jiraCurrentPhase?: Maybe<Scalars['String']['output']>;
1000
- nickname?: Maybe<Scalars['String']['output']>;
1001
971
  pixelAspect?: Maybe<Scalars['Float']['output']>;
1002
972
  priority?: Maybe<Scalars['String']['output']>;
1003
973
  /** Vertical resolution */
1004
974
  resolutionHeight?: Maybe<Scalars['Int']['output']>;
1005
975
  /** Horizontal resolution */
1006
976
  resolutionWidth?: Maybe<Scalars['Int']['output']>;
1007
- /** The Shotgrid ID of this entity. */
1008
- shotgridId?: Maybe<Scalars['String']['output']>;
1009
- /** The Shotgrid Type of this entity. */
1010
- shotgridType?: Maybe<Scalars['String']['output']>;
1011
977
  /** Date and time when the project or task or asset was started */
1012
978
  startDate?: Maybe<Scalars['DateTime']['output']>;
1013
- taskOnly?: Maybe<Scalars['String']['output']>;
1014
- tools?: Maybe<Array<Scalars['String']['output']>>;
1015
979
  };
1016
980
  export type TaskEdge = {
1017
981
  __typename?: 'TaskEdge';
@@ -1122,6 +1086,7 @@ export type UserAttribType = {
1122
1086
  avatarUrl?: Maybe<Scalars['String']['output']>;
1123
1087
  developerMode?: Maybe<Scalars['Boolean']['output']>;
1124
1088
  email?: Maybe<Scalars['String']['output']>;
1089
+ freelancer?: Maybe<Scalars['Boolean']['output']>;
1125
1090
  fullName?: Maybe<Scalars['String']['output']>;
1126
1091
  };
1127
1092
  export type UserEdge = {
@@ -1173,7 +1138,6 @@ export type VersionAttribType = {
1173
1138
  fps?: Maybe<Scalars['Float']['output']>;
1174
1139
  frameEnd?: Maybe<Scalars['Int']['output']>;
1175
1140
  frameStart?: Maybe<Scalars['Int']['output']>;
1176
- ftrackId?: Maybe<Scalars['String']['output']>;
1177
1141
  handleEnd?: Maybe<Scalars['Int']['output']>;
1178
1142
  handleStart?: Maybe<Scalars['Int']['output']>;
1179
1143
  intent?: Maybe<Scalars['String']['output']>;
@@ -1185,7 +1149,6 @@ export type VersionAttribType = {
1185
1149
  resolutionWidth?: Maybe<Scalars['Int']['output']>;
1186
1150
  site?: Maybe<Scalars['String']['output']>;
1187
1151
  source?: Maybe<Scalars['String']['output']>;
1188
- versionOnly?: Maybe<Scalars['String']['output']>;
1189
1152
  };
1190
1153
  export type VersionEdge = {
1191
1154
  __typename?: 'VersionEdge';
@@ -2658,6 +2621,33 @@ export type ProgressTaskFragmentFragment = {
2658
2621
  } | null;
2659
2622
  };
2660
2623
  };
2624
+ export type GetLatestProductVersionQueryVariables = Exact<{
2625
+ projectName: Scalars['String']['input'];
2626
+ productId: Scalars['String']['input'];
2627
+ }>;
2628
+ export type GetLatestProductVersionQuery = {
2629
+ __typename?: 'Query';
2630
+ project: {
2631
+ __typename?: 'ProjectNode';
2632
+ versions: {
2633
+ __typename?: 'VersionsConnection';
2634
+ edges: Array<{
2635
+ __typename?: 'VersionEdge';
2636
+ node: {
2637
+ __typename?: 'VersionNode';
2638
+ id: string;
2639
+ name: string;
2640
+ version: number;
2641
+ productId: string;
2642
+ createdAt: any;
2643
+ updatedAt: any;
2644
+ status: string;
2645
+ active: boolean;
2646
+ };
2647
+ }>;
2648
+ };
2649
+ };
2650
+ };
2661
2651
  export declare const ActivityFragmentFragmentDoc = "\n fragment ActivityFragment on ActivityNode {\n activityId\n activityType\n activityData\n referenceType\n referenceId\n entityId\n body\n createdAt\n updatedAt\n author {\n name\n deleted\n active\n attrib {\n fullName\n }\n }\n files {\n id\n name\n size\n mime\n }\n origin {\n id\n name\n label\n type\n }\n reactions {\n fullName\n userName\n reaction\n timestamp\n }\n version {\n attrib {\n comment\n }\n }\n}\n ";
2662
2652
  export declare const DetailsPanelFolderFragmentFragmentDoc = "\n fragment DetailsPanelFolderFragment on FolderNode {\n id\n name\n label\n path\n folderType\n}\n ";
2663
2653
  export declare const DetailsPanelProductFragmentFragmentDoc = "\n fragment DetailsPanelProductFragment on ProductNode {\n id\n name\n productType\n}\n ";
@@ -2696,6 +2686,7 @@ export declare const GetMarketInstallEventsDocument = "\n query GetMarketInst
2696
2686
  export declare const GetInstallEventsDocument = "\n query GetInstallEvents($ids: [String!]!) {\n events(last: 100, ids: $ids) {\n edges {\n node {\n id\n status\n description\n }\n }\n }\n}\n ";
2697
2687
  export declare const GetProgressTaskDocument = "\n query GetProgressTask($projectName: String!, $taskId: String!) {\n project(name: $projectName) {\n name\n task(id: $taskId) {\n ...ProgressTaskFragment\n }\n }\n}\n \n fragment ProgressTaskFragment on TaskNode {\n projectName\n id\n name\n label\n taskType\n status\n assignees\n updatedAt\n active\n hasReviewables\n tags\n attrib {\n priority\n endDate\n resolutionHeight\n resolutionWidth\n fps\n }\n folder {\n id\n name\n label\n folderType\n parents\n status\n updatedAt\n parent {\n id\n name\n label\n parents\n }\n }\n}\n ";
2698
2688
  export declare const GetTasksProgressDocument = "\n query GetTasksProgress($projectName: String!, $folderIds: [String!], $assignees: [String!], $assigneesAny: [String!], $tags: [String!], $tagsAny: [String!], $statuses: [String!], $taskTypes: [String!], $attributes: [AttributeFilterInput!]) {\n project(name: $projectName) {\n name\n tasks(\n folderIds: $folderIds\n last: 1000\n includeFolderChildren: true\n assignees: $assignees\n assigneesAny: $assigneesAny\n tags: $tags\n tagsAny: $tagsAny\n statuses: $statuses\n taskTypes: $taskTypes\n attributes: $attributes\n ) {\n edges {\n node {\n ...ProgressTaskFragment\n }\n }\n }\n }\n}\n \n fragment ProgressTaskFragment on TaskNode {\n projectName\n id\n name\n label\n taskType\n status\n assignees\n updatedAt\n active\n hasReviewables\n tags\n attrib {\n priority\n endDate\n resolutionHeight\n resolutionWidth\n fps\n }\n folder {\n id\n name\n label\n folderType\n parents\n status\n updatedAt\n parent {\n id\n name\n label\n parents\n }\n }\n}\n ";
2689
+ export declare const GetLatestProductVersionDocument = "\n query GetLatestProductVersion($projectName: String!, $productId: String!) {\n project(name: $projectName) {\n versions(latestOnly: true, productIds: [$productId]) {\n edges {\n node {\n id\n name\n version\n productId\n createdAt\n updatedAt\n status\n active\n }\n }\n }\n }\n}\n ";
2699
2690
  declare const injectedRtkApi: import('@reduxjs/toolkit/query').Api<import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError>, {
2700
2691
  GetActivitiesById: import('@reduxjs/toolkit/query').QueryDefinition<Exact<{
2701
2692
  projectName: Scalars["String"]["input"];
@@ -2829,5 +2820,9 @@ declare const injectedRtkApi: import('@reduxjs/toolkit/query').Api<import('@redu
2829
2820
  taskTypes?: InputMaybe<Array<Scalars["String"]["input"]> | Scalars["String"]["input"]>;
2830
2821
  attributes?: InputMaybe<Array<AttributeFilterInput> | AttributeFilterInput>;
2831
2822
  }>, import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError>, string, GetTasksProgressQuery, "restApi", unknown>;
2823
+ GetLatestProductVersion: import('@reduxjs/toolkit/query').QueryDefinition<Exact<{
2824
+ projectName: Scalars["String"]["input"];
2825
+ productId: Scalars["String"]["input"];
2826
+ }>, import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError>, string, GetLatestProductVersionQuery, "restApi", unknown>;
2832
2827
  }, "restApi", string, typeof import('@reduxjs/toolkit/query').coreModuleName | typeof import('@reduxjs/toolkit/dist/query/react').reactHooksModuleName>;
2833
2828
  export { injectedRtkApi as api };