@ynput/ayon-frontend-shared 0.2.32 → 0.2.33

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 (579) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +29 -22
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/Feed.cjs.js +1 -1
  5. package/dist/Feed.es.js +11 -9
  6. package/dist/Feed.es.js.map +1 -1
  7. package/dist/Views.cjs.js.map +1 -1
  8. package/dist/Views.es.js.map +1 -1
  9. package/dist/_virtual/index.cjs5.js +1 -1
  10. package/dist/_virtual/index.cjs6.js +1 -1
  11. package/dist/_virtual/index.es5.js +2 -5
  12. package/dist/_virtual/index.es5.js.map +1 -1
  13. package/dist/_virtual/index.es6.js +5 -2
  14. package/dist/_virtual/index.es6.js.map +1 -1
  15. package/dist/api.cjs.js +1 -1
  16. package/dist/api.es.js +219 -217
  17. package/dist/api.es.js.map +1 -1
  18. package/dist/components.cjs.js +1 -1
  19. package/dist/components.es.js +84 -71
  20. package/dist/components.es.js.map +1 -1
  21. package/dist/index.cjs.js +1 -1
  22. package/dist/index.es.js +16 -9
  23. package/dist/index.es.js.map +1 -1
  24. package/dist/node_modules/rehype-prism-plus/dist/index.es.cjs.js +1 -1
  25. package/dist/node_modules/rehype-prism-plus/dist/index.es.es.js +1 -1
  26. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  27. package/dist/node_modules/remove-accents/index.es.js +1 -1
  28. package/dist/shared/src/api/generated/activityFeed.cjs.js +1 -1
  29. package/dist/shared/src/api/generated/activityFeed.cjs.js.map +1 -1
  30. package/dist/shared/src/api/generated/activityFeed.es.js +3 -0
  31. package/dist/shared/src/api/generated/activityFeed.es.js.map +1 -1
  32. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  33. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  34. package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -1
  35. package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
  36. package/dist/shared/src/api/queries/activities/getActivities.es.js +4 -8
  37. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  38. package/dist/shared/src/api/queries/activities/getCategories.cjs.js +2 -0
  39. package/dist/shared/src/api/queries/activities/getCategories.cjs.js.map +1 -0
  40. package/dist/shared/src/api/queries/activities/getCategories.es.js +53 -0
  41. package/dist/shared/src/api/queries/activities/getCategories.es.js.map +1 -0
  42. package/dist/shared/src/api/queries/activities/updateActivities.cjs.js +1 -1
  43. package/dist/shared/src/api/queries/activities/updateActivities.cjs.js.map +1 -1
  44. package/dist/shared/src/api/queries/activities/updateActivities.es.js +53 -51
  45. package/dist/shared/src/api/queries/activities/updateActivities.es.js.map +1 -1
  46. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  47. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  48. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +4 -3
  49. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  50. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +1 -1
  51. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  52. package/dist/shared/src/api/queries/entities/updateEntity.es.js +4 -3
  53. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  54. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  55. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  56. package/dist/shared/src/api/queries/overview/updateOverview.es.js +61 -60
  57. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  58. package/dist/shared/src/api/queries/share/share.cjs.js +1 -1
  59. package/dist/shared/src/api/queries/share/share.cjs.js.map +1 -1
  60. package/dist/shared/src/api/queries/share/share.es.js +38 -12
  61. package/dist/shared/src/api/queries/share/share.es.js.map +1 -1
  62. package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -1
  63. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  64. package/dist/shared/src/api/queries/users/getUsers.es.js +18 -17
  65. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  66. package/dist/shared/src/api/queries/views/updateViews.cjs.js +1 -1
  67. package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -1
  68. package/dist/shared/src/api/queries/views/updateViews.es.js +14 -15
  69. package/dist/shared/src/api/queries/views/updateViews.es.js.map +1 -1
  70. package/dist/shared/src/components/AccessSearchInput/AccessSearchInput.cjs.js +2 -0
  71. package/dist/shared/src/components/AccessSearchInput/AccessSearchInput.cjs.js.map +1 -0
  72. package/dist/shared/src/components/AccessSearchInput/AccessSearchInput.es.js +135 -0
  73. package/dist/shared/src/components/AccessSearchInput/AccessSearchInput.es.js.map +1 -0
  74. package/dist/shared/src/components/AccessSearchInput/AccessSearchInput.styled.cjs.js +39 -0
  75. package/dist/shared/src/components/AccessSearchInput/AccessSearchInput.styled.cjs.js.map +1 -0
  76. package/dist/shared/src/components/AccessSearchInput/AccessSearchInput.styled.es.js +44 -0
  77. package/dist/shared/src/components/AccessSearchInput/AccessSearchInput.styled.es.js.map +1 -0
  78. package/dist/shared/src/components/AccessUser/AccessUser.cjs.js +2 -0
  79. package/dist/shared/src/components/AccessUser/AccessUser.cjs.js.map +1 -0
  80. package/dist/shared/src/components/AccessUser/AccessUser.es.js +43 -0
  81. package/dist/shared/src/components/AccessUser/AccessUser.es.js.map +1 -0
  82. package/dist/shared/src/components/AccessUser/AccessUser.styled.cjs.js +46 -0
  83. package/dist/shared/src/components/AccessUser/AccessUser.styled.cjs.js.map +1 -0
  84. package/dist/shared/src/components/AccessUser/AccessUser.styled.es.js +50 -0
  85. package/dist/shared/src/components/AccessUser/AccessUser.styled.es.js.map +1 -0
  86. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  87. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  88. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +3 -2
  89. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  90. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  91. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  92. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +3 -2
  93. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  94. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  95. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  96. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +3 -2
  97. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  98. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.styles.cjs.js +47 -43
  99. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.styles.cjs.js.map +1 -1
  100. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.styles.es.js +47 -43
  101. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.styles.es.js.map +1 -1
  102. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  103. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  104. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +3 -2
  105. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  106. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js +1 -1
  107. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js.map +1 -1
  108. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js +3 -2
  109. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js.map +1 -1
  110. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  111. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  112. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +3 -2
  113. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  114. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  115. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  116. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +9 -2
  117. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  118. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  119. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  120. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +5 -4
  121. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  122. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  123. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  124. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +9 -2
  125. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  126. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  127. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  128. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +3 -2
  129. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  130. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  131. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  132. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +9 -2
  133. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  134. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  135. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  136. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +3 -2
  137. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  138. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  139. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  140. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +9 -2
  141. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  142. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  143. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  144. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +11 -4
  145. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  146. package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.cjs.js +1 -1
  147. package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.cjs.js.map +1 -1
  148. package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.es.js +9 -2
  149. package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.es.js.map +1 -1
  150. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  151. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  152. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +9 -2
  153. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  154. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  155. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  156. package/dist/shared/src/components/RenameForm/RenameForm.es.js +9 -2
  157. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  158. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  159. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  160. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +3 -2
  161. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  162. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  163. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  164. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +9 -2
  165. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  166. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  167. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  168. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +10 -3
  169. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  170. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  171. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  172. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +9 -2
  173. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  174. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  175. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  176. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +3 -2
  177. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  178. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  179. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  180. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +3 -2
  181. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  182. package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.cjs.js +12 -0
  183. package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.cjs.js.map +1 -0
  184. package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.es.js +46 -0
  185. package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.es.js.map +1 -0
  186. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  187. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  188. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +9 -2
  189. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  190. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  191. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  192. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +9 -2
  193. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  194. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  195. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  196. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +5 -4
  197. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  198. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  199. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  200. package/dist/shared/src/components/Watchers/Watchers.es.js +3 -2
  201. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  202. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  203. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  204. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +9 -2
  205. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  206. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  207. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  208. package/dist/shared/src/containers/Actions/Actions.es.js +3 -2
  209. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  210. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  211. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  212. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +9 -2
  213. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  214. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  215. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  216. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +61 -52
  217. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  218. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  219. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  220. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +9 -2
  221. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  222. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  223. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  224. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +44 -36
  225. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  226. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  227. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  228. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +9 -2
  229. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  230. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  231. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  232. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +3 -2
  233. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  234. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
  235. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
  236. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +4 -2
  237. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
  238. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js +1 -1
  239. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js.map +1 -1
  240. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js +19 -17
  241. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js.map +1 -1
  242. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  243. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  244. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +3 -2
  245. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  246. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  247. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  248. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +9 -2
  249. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  250. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  251. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  252. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +9 -2
  253. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  254. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  255. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  256. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +9 -2
  257. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  258. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  259. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  260. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +9 -2
  261. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  262. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  263. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  264. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +3 -2
  265. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  266. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  267. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  268. package/dist/shared/src/containers/Feed/Feed.es.js +73 -72
  269. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  270. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js +13 -0
  271. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js.map +1 -0
  272. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.es.js +89 -0
  273. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.es.js.map +1 -0
  274. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js +20 -0
  275. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js.map +1 -0
  276. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.es.js +42 -0
  277. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.es.js.map +1 -0
  278. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryTag.cjs.js +51 -0
  279. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryTag.cjs.js.map +1 -0
  280. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryTag.es.js +76 -0
  281. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryTag.es.js.map +1 -0
  282. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  283. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  284. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +161 -133
  285. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  286. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js +30 -14
  287. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js.map +1 -1
  288. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.es.js +41 -24
  289. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.es.js.map +1 -1
  290. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.cjs.js +3 -3
  291. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.cjs.js.map +1 -1
  292. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.es.js +58 -48
  293. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.es.js.map +1 -1
  294. package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js.map +1 -1
  295. package/dist/shared/src/containers/Feed/components/ActivityItem.es.js.map +1 -1
  296. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js +1 -1
  297. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js.map +1 -1
  298. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js +24 -20
  299. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js.map +1 -1
  300. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.styled.cjs.js +12 -12
  301. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.styled.cjs.js.map +1 -1
  302. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.styled.es.js +13 -13
  303. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.styled.es.js.map +1 -1
  304. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  305. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  306. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +336 -260
  307. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  308. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js +69 -41
  309. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js.map +1 -1
  310. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js +77 -48
  311. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js.map +1 -1
  312. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js +2 -0
  313. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js.map +1 -0
  314. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js +19 -0
  315. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js.map +1 -0
  316. package/dist/shared/src/containers/Feed/components/ReactionContainer/ExistingReactions.cjs.js +1 -1
  317. package/dist/shared/src/containers/Feed/components/ReactionContainer/ExistingReactions.cjs.js.map +1 -1
  318. package/dist/shared/src/containers/Feed/components/ReactionContainer/ExistingReactions.es.js +15 -6
  319. package/dist/shared/src/containers/Feed/components/ReactionContainer/ExistingReactions.es.js.map +1 -1
  320. package/dist/shared/src/containers/Feed/components/ReactionContainer/Reaction.cjs.js +1 -1
  321. package/dist/shared/src/containers/Feed/components/ReactionContainer/Reaction.cjs.js.map +1 -1
  322. package/dist/shared/src/containers/Feed/components/ReactionContainer/Reaction.es.js +24 -14
  323. package/dist/shared/src/containers/Feed/components/ReactionContainer/Reaction.es.js.map +1 -1
  324. package/dist/shared/src/containers/Feed/components/ReactionContainer/ReactionPanelOpener.cjs.js +1 -1
  325. package/dist/shared/src/containers/Feed/components/ReactionContainer/ReactionPanelOpener.cjs.js.map +1 -1
  326. package/dist/shared/src/containers/Feed/components/ReactionContainer/ReactionPanelOpener.es.js +60 -38
  327. package/dist/shared/src/containers/Feed/components/ReactionContainer/ReactionPanelOpener.es.js.map +1 -1
  328. package/dist/shared/src/containers/Feed/components/ReactionContainer/Reactions.cjs.js +1 -1
  329. package/dist/shared/src/containers/Feed/components/ReactionContainer/Reactions.cjs.js.map +1 -1
  330. package/dist/shared/src/containers/Feed/components/ReactionContainer/Reactions.es.js +42 -9
  331. package/dist/shared/src/containers/Feed/components/ReactionContainer/Reactions.es.js.map +1 -1
  332. package/dist/shared/src/containers/Feed/components/ReactionContainer/Reactions.styled.cjs.js +65 -20
  333. package/dist/shared/src/containers/Feed/components/ReactionContainer/Reactions.styled.cjs.js.map +1 -1
  334. package/dist/shared/src/containers/Feed/components/ReactionContainer/Reactions.styled.es.js +71 -26
  335. package/dist/shared/src/containers/Feed/components/ReactionContainer/Reactions.styled.es.js.map +1 -1
  336. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  337. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  338. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +4 -2
  339. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  340. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  341. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  342. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +30 -26
  343. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  344. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js +1 -1
  345. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js.map +1 -1
  346. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js +57 -53
  347. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js.map +1 -1
  348. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  349. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  350. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +3 -2
  351. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  352. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  353. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  354. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +9 -2
  355. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  356. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  357. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  358. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +9 -2
  359. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  360. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  361. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  362. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +9 -2
  363. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  364. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  365. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  366. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +9 -2
  367. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  368. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  369. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  370. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +9 -2
  371. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  372. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  373. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  374. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +5 -4
  375. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  376. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  377. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  378. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +42 -35
  379. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  380. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  381. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  382. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +3 -2
  383. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  384. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  385. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  386. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +6 -5
  387. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  388. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  389. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  390. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +23 -21
  391. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  392. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  393. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  394. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +9 -2
  395. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  396. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  397. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  398. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +9 -2
  399. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  400. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  401. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  402. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +9 -2
  403. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  404. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  405. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  406. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +3 -2
  407. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  408. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  409. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  410. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +9 -2
  411. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  412. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js +1 -1
  413. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js.map +1 -1
  414. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js +3 -2
  415. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js.map +1 -1
  416. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  417. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  418. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +9 -2
  419. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  420. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  421. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  422. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +9 -2
  423. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  424. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  425. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  426. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +9 -2
  427. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  428. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js +1 -1
  429. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js.map +1 -1
  430. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js +3 -2
  431. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js.map +1 -1
  432. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  433. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  434. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +9 -2
  435. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  436. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  437. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  438. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +20 -13
  439. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  440. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  441. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  442. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +4 -3
  443. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  444. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  445. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  446. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +11 -4
  447. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  448. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  449. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  450. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +9 -2
  451. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  452. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  453. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  454. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +9 -2
  455. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  456. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  457. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  458. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +9 -2
  459. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  460. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  461. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  462. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +3 -2
  463. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  464. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  465. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  466. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +5 -4
  467. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  468. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  469. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  470. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +3 -2
  471. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  472. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
  473. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  474. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +3 -2
  475. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  476. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  477. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  478. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +3 -2
  479. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  480. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  481. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  482. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +3 -2
  483. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  484. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  485. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  486. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +3 -2
  487. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  488. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  489. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  490. package/dist/shared/src/context/AddonProjectContext.es.js +5 -4
  491. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  492. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  493. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  494. package/dist/shared/src/context/DetailsPanelContext.es.js +70 -66
  495. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  496. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  497. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  498. package/dist/shared/src/context/PowerpackContext.es.js +30 -23
  499. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  500. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  501. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  502. package/dist/shared/src/context/RemoteModulesContext.es.js +5 -4
  503. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  504. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  505. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  506. package/dist/shared/src/hooks/useActionTriggers.es.js +3 -2
  507. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  508. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  509. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  510. package/dist/shared/src/hooks/useEntityUpdate.es.js +3 -2
  511. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  512. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  513. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  514. package/dist/shared/src/hooks/useHierarchyTable.es.js +3 -2
  515. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  516. package/dist/shared/src/hooks/useLoadModule.cjs.js.map +1 -1
  517. package/dist/shared/src/hooks/useLoadModule.es.js.map +1 -1
  518. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  519. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  520. package/dist/shared/src/hooks/useScopedStatuses.es.js +5 -4
  521. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  522. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  523. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  524. package/dist/shared/src/hooks/useUserProjectConfig.es.js +3 -2
  525. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  526. package/dist/shared/src/util/colorUtils.cjs.js +2 -0
  527. package/dist/shared/src/util/colorUtils.cjs.js.map +1 -0
  528. package/dist/shared/src/util/colorUtils.es.js +40 -0
  529. package/dist/shared/src/util/colorUtils.es.js.map +1 -0
  530. package/dist/types/api/generated/activityFeed.d.ts +9 -0
  531. package/dist/types/api/generated/graphql.d.ts +6 -1
  532. package/dist/types/api/index.d.ts +1 -0
  533. package/dist/types/api/queries/activities/getCategories.d.ts +142 -0
  534. package/dist/types/api/queries/activities/getMentions.d.ts +1 -0
  535. package/dist/types/api/queries/activities/index.d.ts +1 -0
  536. package/dist/types/api/queries/activities/updateReaction.d.ts +1 -0
  537. package/dist/types/api/queries/watchers/getWatchers.d.ts +1 -0
  538. package/dist/types/components/AccessSearchInput/AccessSearchInput.d.ts +16 -0
  539. package/dist/types/components/AccessSearchInput/AccessSearchInput.styled.d.ts +2 -0
  540. package/dist/types/components/AccessSearchInput/index.d.ts +2 -0
  541. package/dist/types/components/AccessUser/AccessUser.d.ts +24 -0
  542. package/dist/types/components/AccessUser/AccessUser.styled.d.ts +1 -0
  543. package/dist/types/components/AccessUser/index.d.ts +1 -0
  544. package/dist/types/components/ShareOptionIcon/ShareOptionIcon.d.ts +16 -0
  545. package/dist/types/components/ShareOptionIcon/index.d.ts +1 -0
  546. package/dist/types/components/index.d.ts +3 -0
  547. package/dist/types/containers/DetailsPanel/DetailsPanel.d.ts +2 -1
  548. package/dist/types/containers/DetailsPanel/FeedWrapper.d.ts +1 -0
  549. package/dist/types/containers/Feed/Feed.d.ts +2 -1
  550. package/dist/types/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.d.ts +14 -0
  551. package/dist/types/containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.d.ts +8 -0
  552. package/dist/types/containers/Feed/components/ActivityCategorySelect/CategoryTag.d.ts +10 -0
  553. package/dist/types/containers/Feed/components/ActivityCategorySelect/index.d.ts +1 -0
  554. package/dist/types/containers/Feed/components/ActivityComment/ActivityComment.d.ts +1 -1
  555. package/dist/types/containers/Feed/components/ActivityComment/ActivityComment.styled.d.ts +2 -1
  556. package/dist/types/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.d.ts +3 -1
  557. package/dist/types/containers/Feed/components/ActivityItem.d.ts +1 -1
  558. package/dist/types/containers/Feed/components/ActivityReference/ActivityReference.d.ts +2 -0
  559. package/dist/types/containers/Feed/components/ActivityReference/ActivityReference.styled.d.ts +2 -0
  560. package/dist/types/containers/Feed/components/CommentInput/CommentInput.d.ts +1 -0
  561. package/dist/types/containers/Feed/components/CommentInput/CommentInput.styled.d.ts +7 -1
  562. package/dist/types/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.d.ts +11 -0
  563. package/dist/types/containers/Feed/components/ReactionContainer/ExistingReactions.d.ts +4 -1
  564. package/dist/types/containers/Feed/components/ReactionContainer/Reaction.d.ts +4 -1
  565. package/dist/types/containers/Feed/components/ReactionContainer/ReactionPanelOpener.d.ts +4 -1
  566. package/dist/types/containers/Feed/components/ReactionContainer/Reactions.d.ts +4 -1
  567. package/dist/types/containers/Feed/components/ReactionContainer/Reactions.styled.d.ts +9 -4
  568. package/dist/types/containers/Feed/context/FeedContext.d.ts +2 -1
  569. package/dist/types/containers/Feed/hooks/useCommentMutations.d.ts +3 -2
  570. package/dist/types/containers/Feed/index.d.ts +1 -0
  571. package/dist/types/containers/Views/index.d.ts +2 -2
  572. package/dist/types/context/DetailsPanelContext.d.ts +3 -0
  573. package/dist/types/context/PowerpackContext.d.ts +1 -1
  574. package/dist/types/util/colorUtils.d.ts +42 -0
  575. package/dist/types/util/index.d.ts +1 -0
  576. package/dist/util.cjs.js +1 -1
  577. package/dist/util.es.js +30 -24
  578. package/dist/util.es.js.map +1 -1
  579. package/package.json +1 -1
@@ -72,6 +72,7 @@ import "../../../api/queries/activities/getActivities.es.js";
72
72
  import "../../../api/queries/activities/updateActivities.es.js";
73
73
  import "../../../api/queries/activities/updateReaction.es.js";
74
74
  import "../../../api/queries/activities/getMentions.es.js";
75
+ import "../../../api/queries/activities/getCategories.es.js";
75
76
  import "../../../api/queries/addons/getAddons.es.js";
76
77
  import "../../../api/queries/addons/updateAddons.es.js";
77
78
  import "../../../api/queries/attributes/getAttributes.es.js";
@@ -152,12 +153,14 @@ import "react-router-dom";
152
153
  import "../../Feed/components/ActivityStatus/ActivityStatus.es.js";
153
154
  import "../../Feed/components/ActivityHeader/ActivityHeader.styled.es.js";
154
155
  import "../../Feed/components/ActivityDate.es.js";
156
+ import "../../Feed/components/ActivityCategorySelect/CategoryTag.es.js";
155
157
  import "../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.es.js";
156
158
  import "../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.es.js";
157
159
  import "../../Feed/components/ActivityVersions/ActivityVersions.styled.es.js";
158
160
  import "../../Feed/components/ActivityGroup/ActivityGroup.styled.es.js";
159
161
  import "../../Feed/Feed.styled.es.js";
160
162
  import "date-fns";
163
+ import "../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.es.js";
161
164
  import "./ColumnSettingsContext.es.js";
162
165
  import "./SelectedRowsContext.es.js";
163
166
  import "./DetailsPanelEntityContext.es.js";
@@ -211,13 +214,17 @@ import "../../../components/Chips/Chips.es.js";
211
214
  import "../../../components/LinksManager/LinksManager.styled.es.js";
212
215
  import "../../EntityPickerDialog/EntityPickerDialog.es.js";
213
216
  import "../../../components/StyledLink/StyledLink.es.js";
217
+ import "../../../components/ShareOptionIcon/ShareOptionIcon.es.js";
218
+ import "../../../components/AccessUser/AccessUser.es.js";
219
+ import "../../../../../node_modules/match-sorter/dist/match-sorter.esm.es.js";
220
+ import "../../../components/AccessSearchInput/AccessSearchInput.styled.es.js";
214
221
  import "../../../components/LinksManager/CellEditingDialog.es.js";
215
222
  import "../ProjectTreeTable.styled.es.js";
216
223
  import "../widgets/LoadMoreWidget.es.js";
217
224
  import "../components/GroupSettingsFallback.es.js";
218
225
  import { useCheckSelectedCellsVisible as io } from "../hooks/useCheckSelectedCellsVisible.es.js";
219
- const ne = ({ children: q }) => {
220
- const [m, I] = g(/* @__PURE__ */ new Set()), [u, c] = g(null), [M, b] = g(!1), [w, x] = g(null), [S, K] = g({
226
+ const fm = ({ children: q }) => {
227
+ const [e, I] = g(/* @__PURE__ */ new Set()), [u, c] = g(null), [M, b] = g(!1), [w, x] = g(null), [S, K] = g({
221
228
  rowIdToIndex: /* @__PURE__ */ new Map(),
222
229
  colIdToIndex: /* @__PURE__ */ new Map(),
223
230
  indexToRowId: /* @__PURE__ */ new Map(),
@@ -231,7 +238,7 @@ const ne = ({ children: q }) => {
231
238
  R(S.indexToColId)
232
239
  ]
233
240
  ), L = $(!1), O = _(
234
- () => Array.from(m).filter(
241
+ () => Array.from(e).filter(
235
242
  (o) => {
236
243
  var t, i;
237
244
  return ((t = a(o)) == null ? void 0 : t.colId) === y && ((i = a(o)) == null ? void 0 : i.rowId);
@@ -240,24 +247,24 @@ const ne = ({ children: q }) => {
240
247
  var t;
241
248
  return (t = a(o)) == null ? void 0 : t.rowId;
242
249
  }),
243
- [m]
250
+ [e]
244
251
  );
245
252
  io({
246
- selectedCells: m,
253
+ selectedCells: e,
247
254
  setSelectedCells: I,
248
255
  focusedCellId: u,
249
256
  setFocusedCellId: c
250
257
  });
251
258
  const B = l((o, t) => {
252
- const i = /* @__PURE__ */ new Map(), e = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
259
+ const i = /* @__PURE__ */ new Map(), m = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
253
260
  o.forEach((s, d) => {
254
261
  i.set(s, d), r.set(d, s);
255
262
  }), t.forEach((s, d) => {
256
- e.set(s, d), n.set(d, s);
257
- }), K({ rowIdToIndex: i, colIdToIndex: e, indexToRowId: r, indexToColId: n });
263
+ m.set(s, d), n.set(d, s);
264
+ }), K({ rowIdToIndex: i, colIdToIndex: m, indexToRowId: r, indexToColId: n });
258
265
  }, []), f = l((o, t) => {
259
266
  I((i) => {
260
- let e = new Set(o);
267
+ let m = new Set(o);
261
268
  if (t.colId !== y && t.colId !== to) {
262
269
  const r = Array.from(i).filter(
263
270
  (n) => {
@@ -265,14 +272,14 @@ const ne = ({ children: q }) => {
265
272
  return ((s = a(n)) == null ? void 0 : s.colId) === y;
266
273
  }
267
274
  );
268
- r.length && (e = /* @__PURE__ */ new Set([...e, ...r]));
275
+ r.length && (m = /* @__PURE__ */ new Set([...m, ...r]));
269
276
  }
270
- return e;
277
+ return m;
271
278
  });
272
279
  }, []), A = l(
273
280
  (o, t, i) => {
274
281
  i || f(/* @__PURE__ */ new Set(), o);
275
- const e = p.rowIdToIndex.get(o.rowId) ?? 0, r = p.colIdToIndex.get(o.colId) ?? 0, n = p.rowIdToIndex.get(t.rowId) ?? 0, s = p.colIdToIndex.get(t.colId) ?? 0, d = Math.min(e, n), C = Math.max(e, n), X = Math.min(r, s), Y = Math.max(r, s), J = new Set(i ? m : []);
282
+ const m = p.rowIdToIndex.get(o.rowId) ?? 0, r = p.colIdToIndex.get(o.colId) ?? 0, n = p.rowIdToIndex.get(t.rowId) ?? 0, s = p.colIdToIndex.get(t.colId) ?? 0, d = Math.min(m, n), C = Math.max(m, n), X = Math.min(r, s), Y = Math.max(r, s), J = new Set(i ? e : []);
276
283
  for (let E = d; E <= C; E++) {
277
284
  const V = p.indexToRowId.get(E);
278
285
  if (V)
@@ -283,29 +290,29 @@ const ne = ({ children: q }) => {
283
290
  }
284
291
  return J;
285
292
  },
286
- [p, m, f]
293
+ [p, e, f]
287
294
  ), D = l(
288
295
  (o, t) => {
289
296
  const i = a(o);
290
- i && (b(!0), L.current = m.has(o), t ? I((e) => {
291
- const r = new Set(e);
297
+ i && (b(!0), L.current = e.has(o), t ? I((m) => {
298
+ const r = new Set(m);
292
299
  return r.has(o) ? (r.delete(o), u === o && (r.size > 0 ? c(Array.from(r)[Array.from(r).length - 1]) : c(null))) : (r.add(o), c(o), x(i)), r;
293
- }) : m.size === 1 && m.has(o) && [y, "name"].includes(i.colId) ? (I(/* @__PURE__ */ new Set()), x(null), c(null)) : (f(/* @__PURE__ */ new Set([o]), i), x(i), c(o)));
300
+ }) : e.size === 1 && e.has(o) && [y, "name"].includes(i.colId) ? (I(/* @__PURE__ */ new Set()), x(null), c(null)) : (f(/* @__PURE__ */ new Set([o]), i), x(i), c(o)));
294
301
  },
295
- [m, u, f]
302
+ [e, u, f]
296
303
  ), G = l(
297
304
  (o, t) => {
298
305
  if (!M || !w) return;
299
306
  const i = a(o);
300
307
  if (i)
301
308
  if (t)
302
- I((e) => {
303
- const r = new Set(e);
309
+ I((m) => {
310
+ const r = new Set(m);
304
311
  return a(o) && (L.current ? r.delete(o) : r.add(o)), r;
305
312
  });
306
313
  else {
307
- const e = A(w, i, !1);
308
- f(e, i);
314
+ const m = A(w, i, !1);
315
+ f(m, i);
309
316
  }
310
317
  },
311
318
  [M, w, A, f]
@@ -313,36 +320,36 @@ const ne = ({ children: q }) => {
313
320
  b(!1);
314
321
  }, []), v = l(
315
322
  (o, t, i) => {
316
- const e = a(o);
317
- if (e)
323
+ const m = a(o);
324
+ if (m)
318
325
  if (i && w) {
319
- const r = A(w, e, t);
320
- f(r, e);
326
+ const r = A(w, m, t);
327
+ f(r, m);
321
328
  } else t ? I((r) => {
322
329
  const n = new Set(r);
323
330
  return n.has(o) ? n.delete(o) : n.add(o), n;
324
- }) : (f(/* @__PURE__ */ new Set([o]), e), x(e));
331
+ }) : (f(/* @__PURE__ */ new Set([o]), m), x(m));
325
332
  },
326
333
  [w, A, f]
327
334
  ), F = l((o) => {
328
335
  c(o);
329
336
  }, []), k = l(() => {
330
337
  I(/* @__PURE__ */ new Set()), x(null), c(null);
331
- }, []), P = l((o) => m.has(o), [m]), z = l((o) => o === u, [u]), U = l((o) => a(o), []), H = l(
338
+ }, []), P = l((o) => e.has(o), [e]), z = l((o) => o === u, [u]), U = l((o) => a(o), []), H = l(
332
339
  (o) => {
333
340
  if (!P(o)) return [];
334
341
  const t = a(o);
335
342
  if (!t) return [];
336
- const i = p.rowIdToIndex.get(t.rowId), e = p.colIdToIndex.get(t.colId);
337
- if (i === void 0 || e === void 0) return [];
338
- const r = p.indexToRowId.get(i - 1), n = p.indexToColId.get(e + 1), s = p.indexToRowId.get(i + 1), d = p.indexToColId.get(e - 1);
343
+ const i = p.rowIdToIndex.get(t.rowId), m = p.colIdToIndex.get(t.colId);
344
+ if (i === void 0 || m === void 0) return [];
345
+ const r = p.indexToRowId.get(i - 1), n = p.indexToColId.get(m + 1), s = p.indexToRowId.get(i + 1), d = p.indexToColId.get(m - 1);
339
346
  let C = h.None;
340
- return (!r || !m.has(T(r, t.colId))) && (C |= h.Top), (!n || !m.has(T(t.rowId, n))) && (C |= h.Right), (!s || !m.has(T(s, t.colId))) && (C |= h.Bottom), (!d || !m.has(T(t.rowId, d))) && (C |= h.Left), oo(C);
347
+ return (!r || !e.has(T(r, t.colId))) && (C |= h.Top), (!n || !e.has(T(t.rowId, n))) && (C |= h.Right), (!s || !e.has(T(s, t.colId))) && (C |= h.Bottom), (!d || !e.has(T(t.rowId, d))) && (C |= h.Left), oo(C);
341
348
  },
342
- [m, p, P]
349
+ [e, p, P]
343
350
  ), Q = _(
344
351
  () => ({
345
- selectedCells: m,
352
+ selectedCells: e,
346
353
  selectedRows: O,
347
354
  focusedCellId: u,
348
355
  selectionInProgress: M,
@@ -364,7 +371,7 @@ const ne = ({ children: q }) => {
364
371
  getCellBorderClasses: H
365
372
  }),
366
373
  [
367
- m,
374
+ e,
368
375
  O,
369
376
  u,
370
377
  M,
@@ -389,6 +396,6 @@ const ne = ({ children: q }) => {
389
396
  return /* @__PURE__ */ Z.jsx(ro.Provider, { value: Q, children: q });
390
397
  };
391
398
  export {
392
- ne as SelectionCellsProvider
399
+ fm as SelectionCellsProvider
393
400
  };
394
401
  //# sourceMappingURL=SelectionCellsProvider.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionCellsProvider.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/SelectionCellsProvider.tsx"],"sourcesContent":["import React, { useState, useCallback, useMemo, ReactNode, useRef } from 'react'\nimport {\n CellId,\n RowId,\n ColId,\n CellPosition,\n getCellId,\n parseCellId,\n BorderPosition,\n getBorderClasses,\n} from '../utils/cellUtils'\nimport { DRAG_HANDLE_COLUMN_ID } from '../ProjectTreeTable'\nimport { SelectionCellsContext, GridMap, ROW_SELECTION_COLUMN_ID } from './SelectionCellsContext'\nimport { useCheckSelectedCellsVisible } from '../hooks'\n\nexport const SelectionCellsProvider: React.FC<{ children: ReactNode }> = ({ children }) => {\n const [selectedCells, setSelectedCells] = useState<Set<CellId>>(new Set())\n const [focusedCellId, setFocusedCellId] = useState<CellId | null>(null)\n const [selectionInProgress, setSelectionInProgress] = useState<boolean>(false)\n const [anchorCell, setAnchorCell] = useState<CellPosition | null>(null)\n const [gridMap, setGridMap] = useState<GridMap>({\n rowIdToIndex: new Map(),\n colIdToIndex: new Map(),\n indexToRowId: new Map(),\n indexToColId: new Map(),\n })\n const mapToString = (map: Map<any, any>) => {\n return JSON.stringify(Array.from(map.entries()))\n }\n\n const stableGridMap = useMemo(\n () => gridMap,\n [\n mapToString(gridMap.rowIdToIndex),\n mapToString(gridMap.colIdToIndex),\n mapToString(gridMap.indexToRowId),\n mapToString(gridMap.indexToColId),\n ],\n )\n // Track whether we're selecting or unselecting during drag\n const initialCellSelected = useRef<boolean>(false)\n\n const selectedRows = useMemo(\n () =>\n Array.from(selectedCells)\n .filter(\n (cellId) =>\n parseCellId(cellId)?.colId === ROW_SELECTION_COLUMN_ID && parseCellId(cellId)?.rowId,\n )\n .map((cellId) => parseCellId(cellId)?.rowId) as string[],\n [selectedCells],\n )\n\n useCheckSelectedCellsVisible({\n selectedCells,\n setSelectedCells,\n focusedCellId,\n setFocusedCellId,\n })\n\n // Register grid structure for range selections\n const registerGrid = useCallback((rows: RowId[], columns: ColId[]) => {\n const rowIdToIndex = new Map<RowId, number>()\n const colIdToIndex = new Map<ColId, number>()\n const indexToRowId = new Map<number, RowId>()\n const indexToColId = new Map<number, ColId>()\n\n rows.forEach((rowId, index) => {\n rowIdToIndex.set(rowId, index)\n indexToRowId.set(index, rowId)\n })\n\n columns.forEach((colId, index) => {\n colIdToIndex.set(colId, index)\n indexToColId.set(index, colId)\n })\n\n setGridMap({ rowIdToIndex, colIdToIndex, indexToRowId, indexToColId })\n }, [])\n\n // update the selection whilst properly handling the row-selection column\n const updateSelection = useCallback((selection: Set<CellId>, position: CellPosition) => {\n setSelectedCells((prevSelectedCells) => {\n let newSelection = new Set(selection)\n if (position.colId !== ROW_SELECTION_COLUMN_ID && position.colId !== DRAG_HANDLE_COLUMN_ID) {\n const rowSelection = Array.from(prevSelectedCells).filter(\n (id) => parseCellId(id)?.colId === ROW_SELECTION_COLUMN_ID,\n )\n if (rowSelection.length) {\n newSelection = new Set([...newSelection, ...rowSelection])\n }\n }\n return newSelection\n })\n }, [])\n\n // Select cells between two points in the grid\n const selectCellRange = useCallback(\n (start: CellPosition, end: CellPosition, additive: boolean): Set<CellId> => {\n if (!additive) {\n // Clear existing selection if not additive\n updateSelection(new Set(), start)\n }\n\n const startRowIdx = stableGridMap.rowIdToIndex.get(start.rowId) ?? 0\n const startColIdx = stableGridMap.colIdToIndex.get(start.colId) ?? 0\n const endRowIdx = stableGridMap.rowIdToIndex.get(end.rowId) ?? 0\n const endColIdx = stableGridMap.colIdToIndex.get(end.colId) ?? 0\n\n const minRowIdx = Math.min(startRowIdx, endRowIdx)\n const maxRowIdx = Math.max(startRowIdx, endRowIdx)\n const minColIdx = Math.min(startColIdx, endColIdx)\n const maxColIdx = Math.max(startColIdx, endColIdx)\n\n const newSelection = new Set(additive ? selectedCells : [])\n\n for (let r = minRowIdx; r <= maxRowIdx; r++) {\n const rowId = stableGridMap.indexToRowId.get(r)\n if (!rowId) continue\n\n for (let c = minColIdx; c <= maxColIdx; c++) {\n const colId = stableGridMap.indexToColId.get(c)\n if (!colId) continue\n\n newSelection.add(getCellId(rowId, colId))\n }\n }\n\n return newSelection\n },\n [stableGridMap, selectedCells, updateSelection],\n )\n\n // Start a selection operation\n const startSelection = useCallback(\n (cellId: CellId, additive: boolean) => {\n const position = parseCellId(cellId)\n if (!position) return\n\n setSelectionInProgress(true)\n // Store whether the initial cell was selected to determine drag behavior\n initialCellSelected.current = selectedCells.has(cellId)\n\n if (additive) {\n // Toggle this cell in multi-select mode\n setSelectedCells((prev) => {\n const newSelection = new Set(prev)\n if (newSelection.has(cellId)) {\n newSelection.delete(cellId)\n // If this was the focused cell, set focus to another cell in the selection or null\n if (focusedCellId === cellId) {\n if (newSelection.size > 0) {\n setFocusedCellId(Array.from(newSelection)[Array.from(newSelection).length - 1])\n } else {\n setFocusedCellId(null)\n }\n }\n } else {\n newSelection.add(cellId)\n setFocusedCellId(cellId)\n setAnchorCell(position)\n }\n return newSelection\n })\n } else {\n // Single cell selection\n // If this cell is already the only selected cell, deselect it\n // and it is from name column\n if (\n selectedCells.size === 1 &&\n selectedCells.has(cellId) &&\n [ROW_SELECTION_COLUMN_ID, 'name'].includes(position.colId)\n ) {\n setSelectedCells(new Set())\n setAnchorCell(null)\n setFocusedCellId(null)\n } else {\n updateSelection(new Set([cellId]), position)\n setAnchorCell(position)\n setFocusedCellId(cellId)\n }\n }\n },\n [selectedCells, focusedCellId, updateSelection],\n )\n\n // Extend the current selection during drag\n const extendSelection = useCallback(\n (cellId: CellId, isRowSelectionColumn?: boolean) => {\n if (!selectionInProgress || !anchorCell) return\n\n const currentPosition = parseCellId(cellId)\n if (!currentPosition) return\n\n if (isRowSelectionColumn) {\n // Handle row selection column differently during drag\n setSelectedCells((prev) => {\n const newSelection = new Set(prev)\n const position = parseCellId(cellId)\n\n if (!position) return newSelection\n\n // We're either selecting or unselecting based on the initial cell's state\n if (initialCellSelected.current) {\n // If we started on a selected cell, we're removing cells during drag\n newSelection.delete(cellId)\n } else {\n // If we started on an unselected cell, we're adding cells during drag\n newSelection.add(cellId)\n }\n\n return newSelection\n })\n } else {\n // For normal cells, use the range selection behavior\n const newSelection = selectCellRange(anchorCell, currentPosition, false)\n updateSelection(newSelection, currentPosition)\n }\n },\n [selectionInProgress, anchorCell, selectCellRange, updateSelection],\n )\n\n // End a selection operation\n const endSelection = useCallback(() => {\n setSelectionInProgress(false)\n }, [])\n\n // Select a cell (click or programmatically)\n const selectCell = useCallback(\n (cellId: CellId, additive: boolean, range: boolean) => {\n const position = parseCellId(cellId)\n if (!position) return\n\n if (range && anchorCell) {\n // Shift+click for range selection - select cells between anchor and current\n const newSelection = selectCellRange(anchorCell, position, additive)\n updateSelection(newSelection, position)\n } else if (additive) {\n // Ctrl/Cmd+click for toggling selection\n setSelectedCells((prev) => {\n const newSelection = new Set(prev)\n if (newSelection.has(cellId)) {\n newSelection.delete(cellId)\n } else {\n newSelection.add(cellId)\n }\n return newSelection\n })\n } else {\n // Normal click - select just this cell and set as new anchor\n updateSelection(new Set([cellId]), position)\n setAnchorCell(position)\n }\n },\n [anchorCell, selectCellRange, updateSelection],\n )\n\n // Focus a cell without changing selection\n const focusCell = useCallback((cellId: CellId | null) => {\n setFocusedCellId(cellId)\n }, [])\n\n // Clear all selections\n const clearSelection = useCallback(() => {\n setSelectedCells(new Set())\n setAnchorCell(null)\n setFocusedCellId(null)\n }, [])\n\n // Check if a cell is selected\n const isCellSelected = useCallback((cellId: CellId) => selectedCells.has(cellId), [selectedCells])\n\n // Check if a cell is focused\n const isCellFocused = useCallback((cellId: CellId) => cellId === focusedCellId, [focusedCellId])\n\n // Get position from cell ID - using shared utility\n const getCellPositionFromId = useCallback((cellId: CellId) => parseCellId(cellId), [])\n\n // Get border classes for a cell based on its selection state and neighbors\n const getCellBorderClasses = useCallback(\n (cellId: CellId): string[] => {\n if (!isCellSelected(cellId)) return []\n\n const position = parseCellId(cellId)\n if (!position) return []\n\n const rowIndex = stableGridMap.rowIdToIndex.get(position.rowId)\n const colIndex = stableGridMap.colIdToIndex.get(position.colId)\n\n if (rowIndex === undefined || colIndex === undefined) return []\n\n // Check if the cell's neighbors in all four directions are selected\n const top = stableGridMap.indexToRowId.get(rowIndex - 1)\n const right = stableGridMap.indexToColId.get(colIndex + 1)\n const bottom = stableGridMap.indexToRowId.get(rowIndex + 1)\n const left = stableGridMap.indexToColId.get(colIndex - 1)\n\n // Default to no borders\n let borderPos = BorderPosition.None\n\n // Top edge check: show border if we're at the top of the grid or the cell above is not selected\n if (!top || !selectedCells.has(getCellId(top, position.colId))) {\n borderPos |= BorderPosition.Top\n }\n\n // Right edge check: show border if we're at the right edge of the grid or the cell to the right is not selected\n if (!right || !selectedCells.has(getCellId(position.rowId, right))) {\n borderPos |= BorderPosition.Right\n }\n\n // Bottom edge check: show border if we're at the bottom of the grid or the cell below is not selected\n if (!bottom || !selectedCells.has(getCellId(bottom, position.colId))) {\n borderPos |= BorderPosition.Bottom\n }\n\n // Left edge check: show border if we're at the left edge of the grid or the cell to the left is not selected\n if (!left || !selectedCells.has(getCellId(position.rowId, left))) {\n borderPos |= BorderPosition.Left\n }\n\n return getBorderClasses(borderPos)\n },\n [selectedCells, stableGridMap, isCellSelected],\n )\n\n // Memoize context value to prevent unnecessary re-renders\n const value = useMemo(\n () => ({\n selectedCells,\n selectedRows,\n focusedCellId,\n selectionInProgress,\n anchorCell,\n gridMap: stableGridMap,\n setSelectedCells,\n setFocusedCellId,\n setAnchorCell,\n registerGrid,\n selectCell,\n startSelection,\n extendSelection,\n endSelection,\n focusCell,\n clearSelection,\n isCellSelected,\n isCellFocused,\n getCellPositionFromId,\n getCellBorderClasses,\n }),\n [\n selectedCells,\n selectedRows,\n focusedCellId,\n selectionInProgress,\n anchorCell,\n stableGridMap,\n setSelectedCells,\n setFocusedCellId,\n setAnchorCell,\n registerGrid,\n selectCell,\n startSelection,\n extendSelection,\n endSelection,\n focusCell,\n clearSelection,\n isCellSelected,\n isCellFocused,\n getCellPositionFromId,\n getCellBorderClasses,\n ],\n )\n\n return <SelectionCellsContext.Provider value={value}>{children}</SelectionCellsContext.Provider>\n}\n"],"names":["SelectionCellsProvider","children","selectedCells","setSelectedCells","useState","focusedCellId","setFocusedCellId","selectionInProgress","setSelectionInProgress","anchorCell","setAnchorCell","gridMap","setGridMap","mapToString","map","stableGridMap","useMemo","initialCellSelected","useRef","selectedRows","cellId","_a","parseCellId","ROW_SELECTION_COLUMN_ID","_b","useCheckSelectedCellsVisible","registerGrid","useCallback","rows","columns","rowIdToIndex","colIdToIndex","indexToRowId","indexToColId","rowId","index","colId","updateSelection","selection","position","prevSelectedCells","newSelection","DRAG_HANDLE_COLUMN_ID","rowSelection","id","selectCellRange","start","end","additive","startRowIdx","startColIdx","endRowIdx","endColIdx","minRowIdx","maxRowIdx","minColIdx","maxColIdx","r","c","getCellId","startSelection","prev","extendSelection","isRowSelectionColumn","currentPosition","endSelection","selectCell","range","focusCell","clearSelection","isCellSelected","isCellFocused","getCellPositionFromId","getCellBorderClasses","rowIndex","colIndex","top","right","bottom","left","borderPos","BorderPosition","getBorderClasses","value","jsx","SelectionCellsContext"],"mappings":"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"}
1
+ {"version":3,"file":"SelectionCellsProvider.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/SelectionCellsProvider.tsx"],"sourcesContent":["import React, { useState, useCallback, useMemo, ReactNode, useRef } from 'react'\nimport {\n CellId,\n RowId,\n ColId,\n CellPosition,\n getCellId,\n parseCellId,\n BorderPosition,\n getBorderClasses,\n} from '../utils/cellUtils'\nimport { DRAG_HANDLE_COLUMN_ID } from '../ProjectTreeTable'\nimport { SelectionCellsContext, GridMap, ROW_SELECTION_COLUMN_ID } from './SelectionCellsContext'\nimport { useCheckSelectedCellsVisible } from '../hooks'\n\nexport const SelectionCellsProvider: React.FC<{ children: ReactNode }> = ({ children }) => {\n const [selectedCells, setSelectedCells] = useState<Set<CellId>>(new Set())\n const [focusedCellId, setFocusedCellId] = useState<CellId | null>(null)\n const [selectionInProgress, setSelectionInProgress] = useState<boolean>(false)\n const [anchorCell, setAnchorCell] = useState<CellPosition | null>(null)\n const [gridMap, setGridMap] = useState<GridMap>({\n rowIdToIndex: new Map(),\n colIdToIndex: new Map(),\n indexToRowId: new Map(),\n indexToColId: new Map(),\n })\n const mapToString = (map: Map<any, any>) => {\n return JSON.stringify(Array.from(map.entries()))\n }\n\n const stableGridMap = useMemo(\n () => gridMap,\n [\n mapToString(gridMap.rowIdToIndex),\n mapToString(gridMap.colIdToIndex),\n mapToString(gridMap.indexToRowId),\n mapToString(gridMap.indexToColId),\n ],\n )\n // Track whether we're selecting or unselecting during drag\n const initialCellSelected = useRef<boolean>(false)\n\n const selectedRows = useMemo(\n () =>\n Array.from(selectedCells)\n .filter(\n (cellId) =>\n parseCellId(cellId)?.colId === ROW_SELECTION_COLUMN_ID && parseCellId(cellId)?.rowId,\n )\n .map((cellId) => parseCellId(cellId)?.rowId) as string[],\n [selectedCells],\n )\n\n useCheckSelectedCellsVisible({\n selectedCells,\n setSelectedCells,\n focusedCellId,\n setFocusedCellId,\n })\n\n // Register grid structure for range selections\n const registerGrid = useCallback((rows: RowId[], columns: ColId[]) => {\n const rowIdToIndex = new Map<RowId, number>()\n const colIdToIndex = new Map<ColId, number>()\n const indexToRowId = new Map<number, RowId>()\n const indexToColId = new Map<number, ColId>()\n\n rows.forEach((rowId, index) => {\n rowIdToIndex.set(rowId, index)\n indexToRowId.set(index, rowId)\n })\n\n columns.forEach((colId, index) => {\n colIdToIndex.set(colId, index)\n indexToColId.set(index, colId)\n })\n\n setGridMap({ rowIdToIndex, colIdToIndex, indexToRowId, indexToColId })\n }, [])\n\n // update the selection whilst properly handling the row-selection column\n const updateSelection = useCallback((selection: Set<CellId>, position: CellPosition) => {\n setSelectedCells((prevSelectedCells) => {\n let newSelection = new Set(selection)\n if (position.colId !== ROW_SELECTION_COLUMN_ID && position.colId !== DRAG_HANDLE_COLUMN_ID) {\n const rowSelection = Array.from(prevSelectedCells).filter(\n (id) => parseCellId(id)?.colId === ROW_SELECTION_COLUMN_ID,\n )\n if (rowSelection.length) {\n newSelection = new Set([...newSelection, ...rowSelection])\n }\n }\n return newSelection\n })\n }, [])\n\n // Select cells between two points in the grid\n const selectCellRange = useCallback(\n (start: CellPosition, end: CellPosition, additive: boolean): Set<CellId> => {\n if (!additive) {\n // Clear existing selection if not additive\n updateSelection(new Set(), start)\n }\n\n const startRowIdx = stableGridMap.rowIdToIndex.get(start.rowId) ?? 0\n const startColIdx = stableGridMap.colIdToIndex.get(start.colId) ?? 0\n const endRowIdx = stableGridMap.rowIdToIndex.get(end.rowId) ?? 0\n const endColIdx = stableGridMap.colIdToIndex.get(end.colId) ?? 0\n\n const minRowIdx = Math.min(startRowIdx, endRowIdx)\n const maxRowIdx = Math.max(startRowIdx, endRowIdx)\n const minColIdx = Math.min(startColIdx, endColIdx)\n const maxColIdx = Math.max(startColIdx, endColIdx)\n\n const newSelection = new Set(additive ? selectedCells : [])\n\n for (let r = minRowIdx; r <= maxRowIdx; r++) {\n const rowId = stableGridMap.indexToRowId.get(r)\n if (!rowId) continue\n\n for (let c = minColIdx; c <= maxColIdx; c++) {\n const colId = stableGridMap.indexToColId.get(c)\n if (!colId) continue\n\n newSelection.add(getCellId(rowId, colId))\n }\n }\n\n return newSelection\n },\n [stableGridMap, selectedCells, updateSelection],\n )\n\n // Start a selection operation\n const startSelection = useCallback(\n (cellId: CellId, additive: boolean) => {\n const position = parseCellId(cellId)\n if (!position) return\n\n setSelectionInProgress(true)\n // Store whether the initial cell was selected to determine drag behavior\n initialCellSelected.current = selectedCells.has(cellId)\n\n if (additive) {\n // Toggle this cell in multi-select mode\n setSelectedCells((prev) => {\n const newSelection = new Set(prev)\n if (newSelection.has(cellId)) {\n newSelection.delete(cellId)\n // If this was the focused cell, set focus to another cell in the selection or null\n if (focusedCellId === cellId) {\n if (newSelection.size > 0) {\n setFocusedCellId(Array.from(newSelection)[Array.from(newSelection).length - 1])\n } else {\n setFocusedCellId(null)\n }\n }\n } else {\n newSelection.add(cellId)\n setFocusedCellId(cellId)\n setAnchorCell(position)\n }\n return newSelection\n })\n } else {\n // Single cell selection\n // If this cell is already the only selected cell, deselect it\n // and it is from name column\n if (\n selectedCells.size === 1 &&\n selectedCells.has(cellId) &&\n [ROW_SELECTION_COLUMN_ID, 'name'].includes(position.colId)\n ) {\n setSelectedCells(new Set())\n setAnchorCell(null)\n setFocusedCellId(null)\n } else {\n updateSelection(new Set([cellId]), position)\n setAnchorCell(position)\n setFocusedCellId(cellId)\n }\n }\n },\n [selectedCells, focusedCellId, updateSelection],\n )\n\n // Extend the current selection during drag\n const extendSelection = useCallback(\n (cellId: CellId, isRowSelectionColumn?: boolean) => {\n if (!selectionInProgress || !anchorCell) return\n\n const currentPosition = parseCellId(cellId)\n if (!currentPosition) return\n\n if (isRowSelectionColumn) {\n // Handle row selection column differently during drag\n setSelectedCells((prev) => {\n const newSelection = new Set(prev)\n const position = parseCellId(cellId)\n\n if (!position) return newSelection\n\n // We're either selecting or unselecting based on the initial cell's state\n if (initialCellSelected.current) {\n // If we started on a selected cell, we're removing cells during drag\n newSelection.delete(cellId)\n } else {\n // If we started on an unselected cell, we're adding cells during drag\n newSelection.add(cellId)\n }\n\n return newSelection\n })\n } else {\n // For normal cells, use the range selection behavior\n const newSelection = selectCellRange(anchorCell, currentPosition, false)\n updateSelection(newSelection, currentPosition)\n }\n },\n [selectionInProgress, anchorCell, selectCellRange, updateSelection],\n )\n\n // End a selection operation\n const endSelection = useCallback(() => {\n setSelectionInProgress(false)\n }, [])\n\n // Select a cell (click or programmatically)\n const selectCell = useCallback(\n (cellId: CellId, additive: boolean, range: boolean) => {\n const position = parseCellId(cellId)\n if (!position) return\n\n if (range && anchorCell) {\n // Shift+click for range selection - select cells between anchor and current\n const newSelection = selectCellRange(anchorCell, position, additive)\n updateSelection(newSelection, position)\n } else if (additive) {\n // Ctrl/Cmd+click for toggling selection\n setSelectedCells((prev) => {\n const newSelection = new Set(prev)\n if (newSelection.has(cellId)) {\n newSelection.delete(cellId)\n } else {\n newSelection.add(cellId)\n }\n return newSelection\n })\n } else {\n // Normal click - select just this cell and set as new anchor\n updateSelection(new Set([cellId]), position)\n setAnchorCell(position)\n }\n },\n [anchorCell, selectCellRange, updateSelection],\n )\n\n // Focus a cell without changing selection\n const focusCell = useCallback((cellId: CellId | null) => {\n setFocusedCellId(cellId)\n }, [])\n\n // Clear all selections\n const clearSelection = useCallback(() => {\n setSelectedCells(new Set())\n setAnchorCell(null)\n setFocusedCellId(null)\n }, [])\n\n // Check if a cell is selected\n const isCellSelected = useCallback((cellId: CellId) => selectedCells.has(cellId), [selectedCells])\n\n // Check if a cell is focused\n const isCellFocused = useCallback((cellId: CellId) => cellId === focusedCellId, [focusedCellId])\n\n // Get position from cell ID - using shared utility\n const getCellPositionFromId = useCallback((cellId: CellId) => parseCellId(cellId), [])\n\n // Get border classes for a cell based on its selection state and neighbors\n const getCellBorderClasses = useCallback(\n (cellId: CellId): string[] => {\n if (!isCellSelected(cellId)) return []\n\n const position = parseCellId(cellId)\n if (!position) return []\n\n const rowIndex = stableGridMap.rowIdToIndex.get(position.rowId)\n const colIndex = stableGridMap.colIdToIndex.get(position.colId)\n\n if (rowIndex === undefined || colIndex === undefined) return []\n\n // Check if the cell's neighbors in all four directions are selected\n const top = stableGridMap.indexToRowId.get(rowIndex - 1)\n const right = stableGridMap.indexToColId.get(colIndex + 1)\n const bottom = stableGridMap.indexToRowId.get(rowIndex + 1)\n const left = stableGridMap.indexToColId.get(colIndex - 1)\n\n // Default to no borders\n let borderPos = BorderPosition.None\n\n // Top edge check: show border if we're at the top of the grid or the cell above is not selected\n if (!top || !selectedCells.has(getCellId(top, position.colId))) {\n borderPos |= BorderPosition.Top\n }\n\n // Right edge check: show border if we're at the right edge of the grid or the cell to the right is not selected\n if (!right || !selectedCells.has(getCellId(position.rowId, right))) {\n borderPos |= BorderPosition.Right\n }\n\n // Bottom edge check: show border if we're at the bottom of the grid or the cell below is not selected\n if (!bottom || !selectedCells.has(getCellId(bottom, position.colId))) {\n borderPos |= BorderPosition.Bottom\n }\n\n // Left edge check: show border if we're at the left edge of the grid or the cell to the left is not selected\n if (!left || !selectedCells.has(getCellId(position.rowId, left))) {\n borderPos |= BorderPosition.Left\n }\n\n return getBorderClasses(borderPos)\n },\n [selectedCells, stableGridMap, isCellSelected],\n )\n\n // Memoize context value to prevent unnecessary re-renders\n const value = useMemo(\n () => ({\n selectedCells,\n selectedRows,\n focusedCellId,\n selectionInProgress,\n anchorCell,\n gridMap: stableGridMap,\n setSelectedCells,\n setFocusedCellId,\n setAnchorCell,\n registerGrid,\n selectCell,\n startSelection,\n extendSelection,\n endSelection,\n focusCell,\n clearSelection,\n isCellSelected,\n isCellFocused,\n getCellPositionFromId,\n getCellBorderClasses,\n }),\n [\n selectedCells,\n selectedRows,\n focusedCellId,\n selectionInProgress,\n anchorCell,\n stableGridMap,\n setSelectedCells,\n setFocusedCellId,\n setAnchorCell,\n registerGrid,\n selectCell,\n startSelection,\n extendSelection,\n endSelection,\n focusCell,\n clearSelection,\n isCellSelected,\n isCellFocused,\n getCellPositionFromId,\n getCellBorderClasses,\n ],\n )\n\n return <SelectionCellsContext.Provider value={value}>{children}</SelectionCellsContext.Provider>\n}\n"],"names":["SelectionCellsProvider","children","selectedCells","setSelectedCells","useState","focusedCellId","setFocusedCellId","selectionInProgress","setSelectionInProgress","anchorCell","setAnchorCell","gridMap","setGridMap","mapToString","map","stableGridMap","useMemo","initialCellSelected","useRef","selectedRows","cellId","_a","parseCellId","ROW_SELECTION_COLUMN_ID","_b","useCheckSelectedCellsVisible","registerGrid","useCallback","rows","columns","rowIdToIndex","colIdToIndex","indexToRowId","indexToColId","rowId","index","colId","updateSelection","selection","position","prevSelectedCells","newSelection","DRAG_HANDLE_COLUMN_ID","rowSelection","id","selectCellRange","start","end","additive","startRowIdx","startColIdx","endRowIdx","endColIdx","minRowIdx","maxRowIdx","minColIdx","maxColIdx","r","c","getCellId","startSelection","prev","extendSelection","isRowSelectionColumn","currentPosition","endSelection","selectCell","range","focusCell","clearSelection","isCellSelected","isCellFocused","getCellPositionFromId","getCellBorderClasses","rowIndex","colIndex","top","right","bottom","left","borderPos","BorderPosition","getBorderClasses","value","jsx","SelectionCellsContext"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");const b=require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");const c=({projectPermissions:u})=>{const{data:q,isLoading:t}=b.useGetSiteInfoQuery({full:!0}),{attributes:s=[]}=q||{},{attrib_read:n,attrib_write:a}=u||{},{enabled:l,attributes:r}=n||{},{enabled:d,attributes:i,fields:o}=a||{};return{attribFields:s.filter(e=>!l||(r==null?void 0:r.includes(e.name))).map(e=>({...e,readOnly:d?!(i!=null&&i.includes(e.name)):!1})),writableFields:o,isLoading:t}};module.exports=c;
1
+ "use strict";require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");const b=require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");const c=({projectPermissions:u})=>{const{data:q,isLoading:t}=b.useGetSiteInfoQuery({full:!0}),{attributes:s=[]}=q||{},{attrib_read:n,attrib_write:a}=u||{},{enabled:l,attributes:r}=n||{},{enabled:d,attributes:i,fields:o}=a||{};return{attribFields:s.filter(e=>!l||(r==null?void 0:r.includes(e.name))).map(e=>({...e,readOnly:d?!(i!=null&&i.includes(e.name)):!1})),writableFields:o,isLoading:t}};module.exports=c;
2
2
  //# sourceMappingURL=useAttributesList.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAttributesList.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useAttributesList.ts"],"sourcesContent":["import { useGetSiteInfoQuery, AttributeModel, Permissions } from '@shared/api'\n\nexport interface ProjectTableAttribute extends AttributeModel {\n readOnly?: boolean\n}\n\ninterface UseAttributeFieldsParams {\n projectPermissions?: Permissions\n}\n\nconst useAttributeFields = ({ projectPermissions }: UseAttributeFieldsParams) => {\n const { data: info, isLoading } = useGetSiteInfoQuery({ full: true })\n const { attributes = [] } = info || {}\n\n const { attrib_read, attrib_write } = projectPermissions || {}\n const { enabled: attribReadEnabled, attributes: attribReadAttributes } = attrib_read || {}\n const {\n enabled: attribWriteEnabled,\n attributes: attribWriteAttributes,\n fields: writableFields,\n } = attrib_write || {}\n\n // filter out scopes and filter out attributes that do not have read access\n const attribFields: ProjectTableAttribute[] = attributes\n .filter((a) => !attribReadEnabled || attribReadAttributes?.includes(a.name))\n .map((a) => ({\n ...a,\n readOnly: attribWriteEnabled ? !attribWriteAttributes?.includes(a.name) : false,\n }))\n\n return { attribFields, writableFields, isLoading }\n}\n\nexport default useAttributeFields\n"],"names":["useAttributeFields","projectPermissions","info","isLoading","useGetSiteInfoQuery","attributes","attrib_read","attrib_write","attribReadEnabled","attribReadAttributes","attribWriteEnabled","attribWriteAttributes","writableFields","a"],"mappings":"yzIAUA,MAAMA,EAAqB,CAAC,CAAE,mBAAAC,KAAmD,CACzE,KAAA,CAAE,KAAMC,EAAM,UAAAC,CAAA,EAAcC,EAAAA,oBAAoB,CAAE,KAAM,GAAM,EAC9D,CAAE,WAAAC,EAAa,EAAG,EAAIH,GAAQ,CAAC,EAE/B,CAAE,YAAAI,EAAa,aAAAC,CAAa,EAAIN,GAAsB,CAAC,EACvD,CAAE,QAASO,EAAmB,WAAYC,CAAqB,EAAIH,GAAe,CAAC,EACnF,CACJ,QAASI,EACT,WAAYC,EACZ,OAAQC,CACV,EAAIL,GAAgB,CAAC,EAUd,MAAA,CAAE,aAPqCF,EAC3C,OAAQQ,GAAM,CAACL,IAAqBC,GAAA,YAAAA,EAAsB,SAASI,EAAE,MAAK,EAC1E,IAAKA,IAAO,CACX,GAAGA,EACH,SAAUH,EAAqB,EAACC,GAAA,MAAAA,EAAuB,SAASE,EAAE,OAAQ,EAAA,EAC1E,EAEmB,eAAAD,EAAgB,UAAAT,CAAU,CACnD"}
1
+ {"version":3,"file":"useAttributesList.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useAttributesList.ts"],"sourcesContent":["import { useGetSiteInfoQuery, AttributeModel, Permissions } from '@shared/api'\n\nexport interface ProjectTableAttribute extends AttributeModel {\n readOnly?: boolean\n}\n\ninterface UseAttributeFieldsParams {\n projectPermissions?: Permissions\n}\n\nconst useAttributeFields = ({ projectPermissions }: UseAttributeFieldsParams) => {\n const { data: info, isLoading } = useGetSiteInfoQuery({ full: true })\n const { attributes = [] } = info || {}\n\n const { attrib_read, attrib_write } = projectPermissions || {}\n const { enabled: attribReadEnabled, attributes: attribReadAttributes } = attrib_read || {}\n const {\n enabled: attribWriteEnabled,\n attributes: attribWriteAttributes,\n fields: writableFields,\n } = attrib_write || {}\n\n // filter out scopes and filter out attributes that do not have read access\n const attribFields: ProjectTableAttribute[] = attributes\n .filter((a) => !attribReadEnabled || attribReadAttributes?.includes(a.name))\n .map((a) => ({\n ...a,\n readOnly: attribWriteEnabled ? !attribWriteAttributes?.includes(a.name) : false,\n }))\n\n return { attribFields, writableFields, isLoading }\n}\n\nexport default useAttributeFields\n"],"names":["useAttributeFields","projectPermissions","info","isLoading","useGetSiteInfoQuery","attributes","attrib_read","attrib_write","attribReadEnabled","attribReadAttributes","attribWriteEnabled","attribWriteAttributes","writableFields","a"],"mappings":"y3IAUA,MAAMA,EAAqB,CAAC,CAAE,mBAAAC,KAAmD,CACzE,KAAA,CAAE,KAAMC,EAAM,UAAAC,CAAA,EAAcC,EAAAA,oBAAoB,CAAE,KAAM,GAAM,EAC9D,CAAE,WAAAC,EAAa,EAAG,EAAIH,GAAQ,CAAC,EAE/B,CAAE,YAAAI,EAAa,aAAAC,CAAa,EAAIN,GAAsB,CAAC,EACvD,CAAE,QAASO,EAAmB,WAAYC,CAAqB,EAAIH,GAAe,CAAC,EACnF,CACJ,QAASI,EACT,WAAYC,EACZ,OAAQC,CACV,EAAIL,GAAgB,CAAC,EAUd,MAAA,CAAE,aAPqCF,EAC3C,OAAQQ,GAAM,CAACL,IAAqBC,GAAA,YAAAA,EAAsB,SAASI,EAAE,MAAK,EAC1E,IAAKA,IAAO,CACX,GAAGA,EACH,SAAUH,EAAqB,EAACC,GAAA,MAAAA,EAAuB,SAASE,EAAE,OAAQ,EAAA,EAC1E,EAEmB,eAAAD,EAAgB,UAAAT,CAAU,CACnD"}
@@ -41,6 +41,7 @@ import "../../../api/queries/activities/getActivities.es.js";
41
41
  import "../../../api/queries/activities/updateActivities.es.js";
42
42
  import "../../../api/queries/activities/updateReaction.es.js";
43
43
  import "../../../api/queries/activities/getMentions.es.js";
44
+ import "../../../api/queries/activities/getCategories.es.js";
44
45
  import "../../../api/queries/addons/getAddons.es.js";
45
46
  import "../../../api/queries/addons/updateAddons.es.js";
46
47
  import "../../../api/queries/attributes/getAttributes.es.js";
@@ -77,7 +78,7 @@ import "../../../api/queries/versions/updateVersions.es.js";
77
78
  import "../../../api/queries/views/getViews.es.js";
78
79
  import "../../../api/queries/views/updateViews.es.js";
79
80
  import "../../../api/queries/watchers/getWatchers.es.js";
80
- const Jt = ({ projectPermissions: o }) => {
81
+ const Kt = ({ projectPermissions: o }) => {
81
82
  const { data: m, isLoading: p } = b({ full: !0 }), { attributes: e = [] } = m || {}, { attrib_read: a, attrib_write: n } = o || {}, { enabled: s, attributes: i } = a || {}, {
82
83
  enabled: l,
83
84
  attributes: r,
@@ -89,6 +90,6 @@ const Jt = ({ projectPermissions: o }) => {
89
90
  })), writableFields: d, isLoading: p };
90
91
  };
91
92
  export {
92
- Jt as default
93
+ Kt as default
93
94
  };
94
95
  //# sourceMappingURL=useAttributesList.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAttributesList.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useAttributesList.ts"],"sourcesContent":["import { useGetSiteInfoQuery, AttributeModel, Permissions } from '@shared/api'\n\nexport interface ProjectTableAttribute extends AttributeModel {\n readOnly?: boolean\n}\n\ninterface UseAttributeFieldsParams {\n projectPermissions?: Permissions\n}\n\nconst useAttributeFields = ({ projectPermissions }: UseAttributeFieldsParams) => {\n const { data: info, isLoading } = useGetSiteInfoQuery({ full: true })\n const { attributes = [] } = info || {}\n\n const { attrib_read, attrib_write } = projectPermissions || {}\n const { enabled: attribReadEnabled, attributes: attribReadAttributes } = attrib_read || {}\n const {\n enabled: attribWriteEnabled,\n attributes: attribWriteAttributes,\n fields: writableFields,\n } = attrib_write || {}\n\n // filter out scopes and filter out attributes that do not have read access\n const attribFields: ProjectTableAttribute[] = attributes\n .filter((a) => !attribReadEnabled || attribReadAttributes?.includes(a.name))\n .map((a) => ({\n ...a,\n readOnly: attribWriteEnabled ? !attribWriteAttributes?.includes(a.name) : false,\n }))\n\n return { attribFields, writableFields, isLoading }\n}\n\nexport default useAttributeFields\n"],"names":["useAttributeFields","projectPermissions","info","isLoading","useGetSiteInfoQuery","attributes","attrib_read","attrib_write","attribReadEnabled","attribReadAttributes","attribWriteEnabled","attribWriteAttributes","writableFields","a"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,MAAMA,KAAqB,CAAC,EAAE,oBAAAC,QAAmD;AACzE,QAAA,EAAE,MAAMC,GAAM,WAAAC,EAAA,IAAcC,EAAoB,EAAE,MAAM,IAAM,GAC9D,EAAE,YAAAC,IAAa,GAAG,IAAIH,KAAQ,CAAC,GAE/B,EAAE,aAAAI,GAAa,cAAAC,EAAa,IAAIN,KAAsB,CAAC,GACvD,EAAE,SAASO,GAAmB,YAAYC,EAAqB,IAAIH,KAAe,CAAC,GACnF;AAAA,IACJ,SAASI;AAAA,IACT,YAAYC;AAAA,IACZ,QAAQC;AAAA,EACV,IAAIL,KAAgB,CAAC;AAUd,SAAA,EAAE,cAPqCF,EAC3C,OAAO,CAACQ,MAAM,CAACL,MAAqBC,KAAA,gBAAAA,EAAsB,SAASI,EAAE,MAAK,EAC1E,IAAI,CAACA,OAAO;AAAA,IACX,GAAGA;AAAA,IACH,UAAUH,IAAqB,EAACC,KAAA,QAAAA,EAAuB,SAASE,EAAE,SAAQ;AAAA,EAAA,EAC1E,GAEmB,gBAAAD,GAAgB,WAAAT,EAAU;AACnD;"}
1
+ {"version":3,"file":"useAttributesList.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useAttributesList.ts"],"sourcesContent":["import { useGetSiteInfoQuery, AttributeModel, Permissions } from '@shared/api'\n\nexport interface ProjectTableAttribute extends AttributeModel {\n readOnly?: boolean\n}\n\ninterface UseAttributeFieldsParams {\n projectPermissions?: Permissions\n}\n\nconst useAttributeFields = ({ projectPermissions }: UseAttributeFieldsParams) => {\n const { data: info, isLoading } = useGetSiteInfoQuery({ full: true })\n const { attributes = [] } = info || {}\n\n const { attrib_read, attrib_write } = projectPermissions || {}\n const { enabled: attribReadEnabled, attributes: attribReadAttributes } = attrib_read || {}\n const {\n enabled: attribWriteEnabled,\n attributes: attribWriteAttributes,\n fields: writableFields,\n } = attrib_write || {}\n\n // filter out scopes and filter out attributes that do not have read access\n const attribFields: ProjectTableAttribute[] = attributes\n .filter((a) => !attribReadEnabled || attribReadAttributes?.includes(a.name))\n .map((a) => ({\n ...a,\n readOnly: attribWriteEnabled ? !attribWriteAttributes?.includes(a.name) : false,\n }))\n\n return { attribFields, writableFields, isLoading }\n}\n\nexport default useAttributeFields\n"],"names":["useAttributeFields","projectPermissions","info","isLoading","useGetSiteInfoQuery","attributes","attrib_read","attrib_write","attribReadEnabled","attribReadAttributes","attribWriteEnabled","attribWriteAttributes","writableFields","a"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,MAAMA,KAAqB,CAAC,EAAE,oBAAAC,QAAmD;AACzE,QAAA,EAAE,MAAMC,GAAM,WAAAC,EAAA,IAAcC,EAAoB,EAAE,MAAM,IAAM,GAC9D,EAAE,YAAAC,IAAa,GAAG,IAAIH,KAAQ,CAAC,GAE/B,EAAE,aAAAI,GAAa,cAAAC,EAAa,IAAIN,KAAsB,CAAC,GACvD,EAAE,SAASO,GAAmB,YAAYC,EAAqB,IAAIH,KAAe,CAAC,GACnF;AAAA,IACJ,SAASI;AAAA,IACT,YAAYC;AAAA,IACZ,QAAQC;AAAA,EACV,IAAIL,KAAgB,CAAC;AAUd,SAAA,EAAE,cAPqCF,EAC3C,OAAO,CAACQ,MAAM,CAACL,MAAqBC,KAAA,gBAAAA,EAAsB,SAASI,EAAE,MAAK,EAC1E,IAAI,CAACA,OAAO;AAAA,IACX,GAAGA;AAAA,IACH,UAAUH,IAAqB,EAACC,KAAA,QAAAA,EAAuB,SAASE,EAAE,SAAQ;AAAA,EAAA,EAC1E,GAEmB,gBAAAD,GAAgB,WAAAT,EAAU;AACnD;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const M=require("./useGetEntityTypeData.cjs.js"),k=require("react");require("@ynput/ayon-react-components");const C=require("../../../util/productTypes.cjs.js");require("lodash");require("react-toastify");require("uuid");require("../../../util/pubsub.cjs.js");require("../context/CellEditingContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ProjectTableContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("@tanstack/react-table");require("../ProjectTreeTable.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");;/* empty css */require("clsx");require("../../ContextMenu/ContextMenuContext.cjs.js");require("../context/ProjectDataContext.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");const B=require("../utils/linksToTableData.cjs.js"),N="next-page",m="_ungrouped",W="__",x=t=>t?Array.isArray(t)?t.map(e=>e.toString()):[t.toString()]:[],X=(t,e,d)=>{if(!d)return{value:e,label:e};const s=d.find(p=>p.value===e);return s?{value:s.value,label:s.label||s.value,color:s.color,icon:s.icon,count:s.count,img:t==="assignees"?`/api/users/${s.value}/avatar`:void 0}:{value:e,label:e}},f="_GROUP_",$=t=>`${f}${t}`,Y=t=>t.startsWith(f)?t.slice(f.length):null,F=t=>t.startsWith(f),V=(t,e,d=[])=>{var p,T,G,y,g;const s=t.id.replace("attrib.","");return s==="status"?((p=e==null?void 0:e.statuses)==null?void 0:p.map(a=>a.name))||[]:s==="taskType"?((T=e==null?void 0:e.taskTypes)==null?void 0:T.map(a=>a.name))||[]:s==="folderType"?((G=e==null?void 0:e.folderTypes)==null?void 0:G.map(a=>a.name))||[]:t.id.startsWith("attrib.")?((g=(y=d.find(a=>a.name===s))==null?void 0:y.data.enum)==null?void 0:g.map(a=>a.value.toString()))||[]:[]},z=t=>{const{project:e,entities:d,entityType:s,groups:p=[],attribFields:T,showEmpty:G}=t,y=M.useGetEntityTypeData({projectInfo:e}),g=k.useCallback((r,q)=>{const o=y("task",r.taskType);return{id:r.id+W+q,entityId:r.id,entityType:"task",parentId:r.folderId,name:r.name||"",label:r.label||r.name||"",icon:(o==null?void 0:o.icon)||null,color:(o==null?void 0:o.color)||null,status:r.status,assignees:r.assignees,tags:r.tags,img:null,subRows:[],subType:r.taskType||null,attrib:r.attrib,ownAttrib:r.ownAttrib,parents:r.parents||[],updatedAt:r.updatedAt,links:B.linksToTableData(r.links,"task",{folderTypes:(e==null?void 0:e.folderTypes)||[],productTypes:Object.values(C)||[],taskTypes:(e==null?void 0:e.taskTypes)||[]})}},[y]);return r=>{var h,w;const q=new Map;for(const n of p){const u=(h=n.value)==null?void 0:h.toString(),l=$(u),i=X(r.id,u,p);q.set(u,{id:l,name:u,entityType:"group",subRows:[],label:i.label,group:i,links:{}})}const o=f+"."+m,A=()=>{let n=q.get(o);return n||(n={id:o,name:"Ungrouped",entityType:"group",subRows:[],label:"Ungrouped",group:{value:o,label:"Ungrouped"},links:{}},q.set(o,n)),n};for(const[n,u]of d){if(u.entityType!==s)continue;let l=[];if(r.id.startsWith("attrib.")){const i=r.id.split(".")[1];l=x((w=u.attrib)==null?void 0:w[i])}else l=x(u[r.id]);l.length===0&&A().subRows.push(g(u,m));for(const i of l){const c=q.get(i);c?c.subRows.push(g(u,i)):A().subRows.push(g(u,m))}if("groups"in u&&Array.isArray(u.groups)){for(const i of u.groups)if(i.hasNextPage&&q.has(i.value)){const b=q.get(i.value);b&&b.subRows.push({id:`${i.value}-next-page`,name:"Load more tasks...",entityType:N,subRows:[],label:`Next page for ${i.value}`,group:{value:i.value,label:i.value},links:{}})}}}const v=Array.from(q.values()),R=V(r,e,T);v.sort((n,u)=>{var l,i,c,b,D,E,O,P,U,S;if(((l=n.group)==null?void 0:l.value)===o)return 1;if(((i=u.group)==null?void 0:i.value)===o)return-1;if(R.length){const I=R.indexOf(((c=n.group)==null?void 0:c.value)||""),_=R.indexOf(((b=u.group)==null?void 0:b.value)||"");return I!==-1&&_!==-1?I-_:I!==-1?-1:_!==-1?1:((O=(D=n.group)==null?void 0:D.label)==null?void 0:O.localeCompare(((E=u.group)==null?void 0:E.label)||""))||0}else return((S=(P=n.group)==null?void 0:P.label)==null?void 0:S.localeCompare(((U=u.group)==null?void 0:U.label)||""))||0});const L=v.filter(n=>n.subRows.length>0);return G?v:L}};exports.GROUP_BY_ID=f;exports.NEXT_PAGE_ID=N;exports.ROW_ID_SEPARATOR=W;exports.UNGROUPED_VALUE=m;exports.buildGroupId=$;exports.default=z;exports.isGroupId=F;exports.parseGroupId=Y;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const M=require("./useGetEntityTypeData.cjs.js"),k=require("react");require("@ynput/ayon-react-components");const C=require("../../../util/productTypes.cjs.js");require("lodash");require("react-toastify");require("uuid");require("../../../util/pubsub.cjs.js");require("../context/CellEditingContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ProjectTableContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("@tanstack/react-table");require("../ProjectTreeTable.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");;/* empty css */require("clsx");require("../../ContextMenu/ContextMenuContext.cjs.js");require("../context/ProjectDataContext.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");const B=require("../utils/linksToTableData.cjs.js"),N="next-page",m="_ungrouped",W="__",x=t=>t?Array.isArray(t)?t.map(e=>e.toString()):[t.toString()]:[],X=(t,e,d)=>{if(!d)return{value:e,label:e};const s=d.find(p=>p.value===e);return s?{value:s.value,label:s.label||s.value,color:s.color,icon:s.icon,count:s.count,img:t==="assignees"?`/api/users/${s.value}/avatar`:void 0}:{value:e,label:e}},f="_GROUP_",$=t=>`${f}${t}`,Y=t=>t.startsWith(f)?t.slice(f.length):null,F=t=>t.startsWith(f),V=(t,e,d=[])=>{var p,T,G,y,g;const s=t.id.replace("attrib.","");return s==="status"?((p=e==null?void 0:e.statuses)==null?void 0:p.map(a=>a.name))||[]:s==="taskType"?((T=e==null?void 0:e.taskTypes)==null?void 0:T.map(a=>a.name))||[]:s==="folderType"?((G=e==null?void 0:e.folderTypes)==null?void 0:G.map(a=>a.name))||[]:t.id.startsWith("attrib.")?((g=(y=d.find(a=>a.name===s))==null?void 0:y.data.enum)==null?void 0:g.map(a=>a.value.toString()))||[]:[]},z=t=>{const{project:e,entities:d,entityType:s,groups:p=[],attribFields:T,showEmpty:G}=t,y=M.useGetEntityTypeData({projectInfo:e}),g=k.useCallback((r,q)=>{const o=y("task",r.taskType);return{id:r.id+W+q,entityId:r.id,entityType:"task",parentId:r.folderId,name:r.name||"",label:r.label||r.name||"",icon:(o==null?void 0:o.icon)||null,color:(o==null?void 0:o.color)||null,status:r.status,assignees:r.assignees,tags:r.tags,img:null,subRows:[],subType:r.taskType||null,attrib:r.attrib,ownAttrib:r.ownAttrib,parents:r.parents||[],updatedAt:r.updatedAt,links:B.linksToTableData(r.links,"task",{folderTypes:(e==null?void 0:e.folderTypes)||[],productTypes:Object.values(C)||[],taskTypes:(e==null?void 0:e.taskTypes)||[]})}},[y]);return r=>{var h,w;const q=new Map;for(const n of p){const u=(h=n.value)==null?void 0:h.toString(),l=$(u),i=X(r.id,u,p);q.set(u,{id:l,name:u,entityType:"group",subRows:[],label:i.label,group:i,links:{}})}const o=f+"."+m,A=()=>{let n=q.get(o);return n||(n={id:o,name:"Ungrouped",entityType:"group",subRows:[],label:"Ungrouped",group:{value:o,label:"Ungrouped"},links:{}},q.set(o,n)),n};for(const[n,u]of d){if(u.entityType!==s)continue;let l=[];if(r.id.startsWith("attrib.")){const i=r.id.split(".")[1];l=x((w=u.attrib)==null?void 0:w[i])}else l=x(u[r.id]);l.length===0&&A().subRows.push(g(u,m));for(const i of l){const c=q.get(i);c?c.subRows.push(g(u,i)):A().subRows.push(g(u,m))}if("groups"in u&&Array.isArray(u.groups)){for(const i of u.groups)if(i.hasNextPage&&q.has(i.value)){const b=q.get(i.value);b&&b.subRows.push({id:`${i.value}-next-page`,name:"Load more tasks...",entityType:N,subRows:[],label:`Next page for ${i.value}`,group:{value:i.value,label:i.value},links:{}})}}}const v=Array.from(q.values()),R=V(r,e,T);v.sort((n,u)=>{var l,i,c,b,D,E,O,P,U,S;if(((l=n.group)==null?void 0:l.value)===o)return 1;if(((i=u.group)==null?void 0:i.value)===o)return-1;if(R.length){const I=R.indexOf(((c=n.group)==null?void 0:c.value)||""),_=R.indexOf(((b=u.group)==null?void 0:b.value)||"");return I!==-1&&_!==-1?I-_:I!==-1?-1:_!==-1?1:((O=(D=n.group)==null?void 0:D.label)==null?void 0:O.localeCompare(((E=u.group)==null?void 0:E.label)||""))||0}else return((S=(P=n.group)==null?void 0:P.label)==null?void 0:S.localeCompare(((U=u.group)==null?void 0:U.label)||""))||0});const L=v.filter(n=>n.subRows.length>0);return G?v:L}};exports.GROUP_BY_ID=f;exports.NEXT_PAGE_ID=N;exports.ROW_ID_SEPARATOR=W;exports.UNGROUPED_VALUE=m;exports.buildGroupId=$;exports.default=z;exports.isGroupId=F;exports.parseGroupId=Y;
2
2
  //# sourceMappingURL=useBuildGroupByTableData.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useBuildGroupByTableData.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.ts"],"sourcesContent":["// based on the groupBy field we take a flat list of items and group them\n// each group is a root node with subItems as the grouped items\n// any leftover items that do not match the groupBy field are added as a separate group (\"Ungrouped\")\n\nimport { ProjectModel, EntityGroup } from '@shared/api'\nimport { TableGroupBy } from '../context'\nimport { EditorTaskNode, EntitiesMap, EntityMap, ProjectTableAttribute, TableRow } from '../types'\nimport { useGetEntityTypeData } from './useGetEntityTypeData'\nimport { useCallback } from 'react'\nimport { linksToTableData } from '../utils'\nimport { productTypes } from '@shared/util'\nexport type GroupByEntityType = 'task' | 'folder' | 'version' | 'product'\n\nexport type GroupData = {\n value: string\n label: string\n color?: string\n icon?: string\n img?: string\n count?: number\n}\n\nexport const NEXT_PAGE_ID = 'next-page'\nexport const UNGROUPED_VALUE = '_ungrouped'\nexport const ROW_ID_SEPARATOR = '__'\n\nconst valueToStringArray = (value?: any): string[] =>\n value ? (Array.isArray(value) ? value.map((v) => v.toString()) : [value.toString()]) : []\n\n// get group label, color and icon\nconst getGroupData = (groupById: string, groupValue: string, groups?: EntityGroup[]): GroupData => {\n if (!groups)\n return {\n value: groupValue,\n label: groupValue,\n }\n\n const group = groups.find((g) => g.value === groupValue)\n if (!group) {\n return {\n value: groupValue,\n label: groupValue,\n }\n } else {\n return {\n value: group.value,\n label: group.label || group.value,\n color: group.color,\n icon: group.icon,\n count: group.count,\n img: groupById === 'assignees' ? `/api/users/${group.value}/avatar` : undefined,\n }\n }\n}\n\nexport const GROUP_BY_ID = '_GROUP_'\nexport const buildGroupId = (value: string) => `${GROUP_BY_ID}${value}`\nexport const parseGroupId = (groupId: string): string | null => {\n if (!groupId.startsWith(GROUP_BY_ID)) return null\n return groupId.slice(GROUP_BY_ID.length) // +1 for the underscore\n}\nexport const isGroupId = (id: string): boolean => id.startsWith(GROUP_BY_ID)\n\ntype BuildGroupByTableProps = {\n project?: ProjectModel\n entities: EntitiesMap\n entityType?: GroupByEntityType\n groups?: EntityGroup[]\n attribFields: ProjectTableAttribute[]\n showEmpty?: boolean\n}\n\n// get sorting ids based on the groupBy field\nconst getSortingIds = (\n groupBy: TableGroupBy,\n project?: ProjectModel,\n attribFields: ProjectTableAttribute[] = [],\n): string[] => {\n const attributeId = groupBy.id.replace('attrib.', '')\n\n // for status, taskType, folderType use project data order\n if (attributeId === 'status') {\n return project?.statuses?.map((s) => s.name) || []\n } else if (attributeId === 'taskType') {\n return project?.taskTypes?.map((t) => t.name) || []\n } else if (attributeId === 'folderType') {\n return project?.folderTypes?.map((f) => f.name) || []\n } else if (groupBy.id.startsWith('attrib.')) {\n // for other enum attributes, use the enum values order\n return (\n attribFields\n .find((field) => field.name === attributeId)\n ?.data.enum?.map((e) => e.value.toString()) || []\n )\n } else return []\n}\n\nconst useBuildGroupByTableData = (props: BuildGroupByTableProps) => {\n const { project, entities, entityType, groups = [], attribFields, showEmpty } = props\n const getEntityTypeData = useGetEntityTypeData({ projectInfo: project })\n\n const entityToGroupRow = useCallback(\n (task: EditorTaskNode, group?: string): TableRow => {\n const typeData = getEntityTypeData('task', task.taskType)\n return {\n id: task.id + ROW_ID_SEPARATOR + group, // unique id for the task in the folder\n entityId: task.id,\n entityType: 'task',\n parentId: task.folderId,\n name: task.name || '',\n label: task.label || task.name || '',\n icon: typeData?.icon || null,\n color: typeData?.color || null,\n status: task.status,\n assignees: task.assignees,\n tags: task.tags,\n img: null,\n subRows: [],\n subType: task.taskType || null,\n attrib: task.attrib,\n ownAttrib: task.ownAttrib,\n parents: task.parents || [],\n updatedAt: task.updatedAt,\n links: linksToTableData(task.links, 'task', {\n folderTypes: project?.folderTypes || [],\n productTypes: Object.values(productTypes) || [],\n taskTypes: project?.taskTypes || [],\n }),\n }\n },\n [getEntityTypeData],\n )\n\n const buildGroupByTableData = (groupBy: TableGroupBy): TableRow[] => {\n const groupsMap = new Map<string, TableRow>()\n\n for (const group of groups) {\n const groupValue = group.value?.toString() as string\n const groupId = buildGroupId(groupValue)\n const groupData = getGroupData(groupBy.id, groupValue, groups)\n groupsMap.set(groupValue, {\n id: groupId,\n name: groupValue,\n entityType: 'group',\n subRows: [],\n label: groupData.label,\n group: groupData,\n links: {},\n })\n }\n\n const ungroupedId = GROUP_BY_ID + '.' + UNGROUPED_VALUE // unique id for ungrouped group\n // gets the \"Ungrouped\" group, creating it if it doesn't exist\n const getUnGroupedGroup = () => {\n let ungroupedGroup = groupsMap.get(ungroupedId)\n if (!ungroupedGroup) {\n ungroupedGroup = {\n id: ungroupedId,\n name: 'Ungrouped',\n entityType: 'group',\n subRows: [],\n label: 'Ungrouped',\n group: { value: ungroupedId, label: 'Ungrouped' },\n links: {},\n }\n // create ungrouped group if it doesn't exist\n groupsMap.set(ungroupedId, ungroupedGroup)\n }\n return ungroupedGroup\n }\n\n for (const [id, entity] of entities) {\n // if the entity is not of the specified type, skip it\n if (entity.entityType !== entityType) continue\n // add entities to specific group\n let groupValues: string[] = []\n if (groupBy.id.startsWith('attrib.')) {\n // for attribute based grouping, get the value of the attribute\n const attributeId = groupBy.id.split('.')[1]\n groupValues = valueToStringArray(entity.attrib?.[attributeId])\n } else {\n groupValues = valueToStringArray(entity[groupBy.id as keyof EntityMap])\n }\n\n // if there are no values, add to \"Ungrouped\" group\n if (groupValues.length === 0) {\n const ungroupedGroup = getUnGroupedGroup()\n ungroupedGroup.subRows.push(entityToGroupRow(entity as EditorTaskNode, UNGROUPED_VALUE))\n }\n // for each group value, find it's group and add the entity to it\n // if we can't find the group, add it to \"Ungrouped\"\n for (const groupValue of groupValues) {\n const groupRow = groupsMap.get(groupValue)\n if (groupRow) {\n groupRow.subRows.push(entityToGroupRow(entity as EditorTaskNode, groupValue))\n } else {\n const ungroupedGroup = getUnGroupedGroup()\n ungroupedGroup.subRows.push(entityToGroupRow(entity as EditorTaskNode, UNGROUPED_VALUE))\n }\n }\n\n // for groups metadata on entity, check if there is a next page\n if ('groups' in entity && Array.isArray(entity.groups)) {\n for (const group of entity.groups) {\n const hasNextPageGroup = group.hasNextPage\n if (hasNextPageGroup && groupsMap.has(group.value)) {\n // add a next page row to the group\n const groupRow = groupsMap.get(group.value)\n if (groupRow) {\n groupRow.subRows.push({\n id: `${group.value}-next-page`,\n name: `Load more tasks...`,\n entityType: NEXT_PAGE_ID,\n subRows: [],\n label: `Next page for ${group.value}`,\n group: { value: group.value, label: group.value },\n links: {},\n })\n }\n }\n }\n }\n }\n\n const groupsList = Array.from(groupsMap.values())\n\n const attribSortingIds = getSortingIds(groupBy, project, attribFields)\n\n // sort the groups by their label\n // if the group is an attribute with enum values, sort by the enum values\n groupsList.sort((a, b) => {\n if (a.group?.value === ungroupedId) return 1 // \"Ungrouped\" should be last\n if (b.group?.value === ungroupedId) return -1 // \"Ungrouped\" should be last\n if (attribSortingIds.length) {\n // sort by index of the enum value\n const indexA = attribSortingIds.indexOf(a.group?.value || '')\n const indexB = attribSortingIds.indexOf(b.group?.value || '')\n if (indexA !== -1 && indexB !== -1) {\n return indexA - indexB\n }\n if (indexA !== -1) return -1 // a is in the enum, b is not\n if (indexB !== -1) return 1 // b is in the enum, a is not\n // if both are not in the enum, sort by label\n return a.group?.label?.localeCompare(b.group?.label || '') || 0\n } else {\n // for other groupings, sort by the group label\n return a.group?.label?.localeCompare(b.group?.label || '') || 0\n }\n })\n\n // filter out empty groups\n const nonEmptyGroups = groupsList.filter((group) => group.subRows.length > 0)\n\n return showEmpty ? groupsList : nonEmptyGroups\n }\n\n return buildGroupByTableData\n}\n\nexport default useBuildGroupByTableData\n"],"names":["NEXT_PAGE_ID","UNGROUPED_VALUE","ROW_ID_SEPARATOR","valueToStringArray","value","v","getGroupData","groupById","groupValue","groups","group","g","GROUP_BY_ID","buildGroupId","parseGroupId","groupId","isGroupId","id","getSortingIds","groupBy","project","attribFields","attributeId","_a","s","_b","t","_c","f","_e","_d","field","e","useBuildGroupByTableData","props","entities","entityType","showEmpty","getEntityTypeData","useGetEntityTypeData","entityToGroupRow","useCallback","task","typeData","linksToTableData","productTypes","groupsMap","groupData","ungroupedId","getUnGroupedGroup","ungroupedGroup","entity","groupValues","groupRow","groupsList","attribSortingIds","a","b","indexA","indexB","_g","_f","_j","_h","_i","nonEmptyGroups"],"mappings":"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"}
1
+ {"version":3,"file":"useBuildGroupByTableData.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.ts"],"sourcesContent":["// based on the groupBy field we take a flat list of items and group them\n// each group is a root node with subItems as the grouped items\n// any leftover items that do not match the groupBy field are added as a separate group (\"Ungrouped\")\n\nimport { ProjectModel, EntityGroup } from '@shared/api'\nimport { TableGroupBy } from '../context'\nimport { EditorTaskNode, EntitiesMap, EntityMap, ProjectTableAttribute, TableRow } from '../types'\nimport { useGetEntityTypeData } from './useGetEntityTypeData'\nimport { useCallback } from 'react'\nimport { linksToTableData } from '../utils'\nimport { productTypes } from '@shared/util'\nexport type GroupByEntityType = 'task' | 'folder' | 'version' | 'product'\n\nexport type GroupData = {\n value: string\n label: string\n color?: string\n icon?: string\n img?: string\n count?: number\n}\n\nexport const NEXT_PAGE_ID = 'next-page'\nexport const UNGROUPED_VALUE = '_ungrouped'\nexport const ROW_ID_SEPARATOR = '__'\n\nconst valueToStringArray = (value?: any): string[] =>\n value ? (Array.isArray(value) ? value.map((v) => v.toString()) : [value.toString()]) : []\n\n// get group label, color and icon\nconst getGroupData = (groupById: string, groupValue: string, groups?: EntityGroup[]): GroupData => {\n if (!groups)\n return {\n value: groupValue,\n label: groupValue,\n }\n\n const group = groups.find((g) => g.value === groupValue)\n if (!group) {\n return {\n value: groupValue,\n label: groupValue,\n }\n } else {\n return {\n value: group.value,\n label: group.label || group.value,\n color: group.color,\n icon: group.icon,\n count: group.count,\n img: groupById === 'assignees' ? `/api/users/${group.value}/avatar` : undefined,\n }\n }\n}\n\nexport const GROUP_BY_ID = '_GROUP_'\nexport const buildGroupId = (value: string) => `${GROUP_BY_ID}${value}`\nexport const parseGroupId = (groupId: string): string | null => {\n if (!groupId.startsWith(GROUP_BY_ID)) return null\n return groupId.slice(GROUP_BY_ID.length) // +1 for the underscore\n}\nexport const isGroupId = (id: string): boolean => id.startsWith(GROUP_BY_ID)\n\ntype BuildGroupByTableProps = {\n project?: ProjectModel\n entities: EntitiesMap\n entityType?: GroupByEntityType\n groups?: EntityGroup[]\n attribFields: ProjectTableAttribute[]\n showEmpty?: boolean\n}\n\n// get sorting ids based on the groupBy field\nconst getSortingIds = (\n groupBy: TableGroupBy,\n project?: ProjectModel,\n attribFields: ProjectTableAttribute[] = [],\n): string[] => {\n const attributeId = groupBy.id.replace('attrib.', '')\n\n // for status, taskType, folderType use project data order\n if (attributeId === 'status') {\n return project?.statuses?.map((s) => s.name) || []\n } else if (attributeId === 'taskType') {\n return project?.taskTypes?.map((t) => t.name) || []\n } else if (attributeId === 'folderType') {\n return project?.folderTypes?.map((f) => f.name) || []\n } else if (groupBy.id.startsWith('attrib.')) {\n // for other enum attributes, use the enum values order\n return (\n attribFields\n .find((field) => field.name === attributeId)\n ?.data.enum?.map((e) => e.value.toString()) || []\n )\n } else return []\n}\n\nconst useBuildGroupByTableData = (props: BuildGroupByTableProps) => {\n const { project, entities, entityType, groups = [], attribFields, showEmpty } = props\n const getEntityTypeData = useGetEntityTypeData({ projectInfo: project })\n\n const entityToGroupRow = useCallback(\n (task: EditorTaskNode, group?: string): TableRow => {\n const typeData = getEntityTypeData('task', task.taskType)\n return {\n id: task.id + ROW_ID_SEPARATOR + group, // unique id for the task in the folder\n entityId: task.id,\n entityType: 'task',\n parentId: task.folderId,\n name: task.name || '',\n label: task.label || task.name || '',\n icon: typeData?.icon || null,\n color: typeData?.color || null,\n status: task.status,\n assignees: task.assignees,\n tags: task.tags,\n img: null,\n subRows: [],\n subType: task.taskType || null,\n attrib: task.attrib,\n ownAttrib: task.ownAttrib,\n parents: task.parents || [],\n updatedAt: task.updatedAt,\n links: linksToTableData(task.links, 'task', {\n folderTypes: project?.folderTypes || [],\n productTypes: Object.values(productTypes) || [],\n taskTypes: project?.taskTypes || [],\n }),\n }\n },\n [getEntityTypeData],\n )\n\n const buildGroupByTableData = (groupBy: TableGroupBy): TableRow[] => {\n const groupsMap = new Map<string, TableRow>()\n\n for (const group of groups) {\n const groupValue = group.value?.toString() as string\n const groupId = buildGroupId(groupValue)\n const groupData = getGroupData(groupBy.id, groupValue, groups)\n groupsMap.set(groupValue, {\n id: groupId,\n name: groupValue,\n entityType: 'group',\n subRows: [],\n label: groupData.label,\n group: groupData,\n links: {},\n })\n }\n\n const ungroupedId = GROUP_BY_ID + '.' + UNGROUPED_VALUE // unique id for ungrouped group\n // gets the \"Ungrouped\" group, creating it if it doesn't exist\n const getUnGroupedGroup = () => {\n let ungroupedGroup = groupsMap.get(ungroupedId)\n if (!ungroupedGroup) {\n ungroupedGroup = {\n id: ungroupedId,\n name: 'Ungrouped',\n entityType: 'group',\n subRows: [],\n label: 'Ungrouped',\n group: { value: ungroupedId, label: 'Ungrouped' },\n links: {},\n }\n // create ungrouped group if it doesn't exist\n groupsMap.set(ungroupedId, ungroupedGroup)\n }\n return ungroupedGroup\n }\n\n for (const [id, entity] of entities) {\n // if the entity is not of the specified type, skip it\n if (entity.entityType !== entityType) continue\n // add entities to specific group\n let groupValues: string[] = []\n if (groupBy.id.startsWith('attrib.')) {\n // for attribute based grouping, get the value of the attribute\n const attributeId = groupBy.id.split('.')[1]\n groupValues = valueToStringArray(entity.attrib?.[attributeId])\n } else {\n groupValues = valueToStringArray(entity[groupBy.id as keyof EntityMap])\n }\n\n // if there are no values, add to \"Ungrouped\" group\n if (groupValues.length === 0) {\n const ungroupedGroup = getUnGroupedGroup()\n ungroupedGroup.subRows.push(entityToGroupRow(entity as EditorTaskNode, UNGROUPED_VALUE))\n }\n // for each group value, find it's group and add the entity to it\n // if we can't find the group, add it to \"Ungrouped\"\n for (const groupValue of groupValues) {\n const groupRow = groupsMap.get(groupValue)\n if (groupRow) {\n groupRow.subRows.push(entityToGroupRow(entity as EditorTaskNode, groupValue))\n } else {\n const ungroupedGroup = getUnGroupedGroup()\n ungroupedGroup.subRows.push(entityToGroupRow(entity as EditorTaskNode, UNGROUPED_VALUE))\n }\n }\n\n // for groups metadata on entity, check if there is a next page\n if ('groups' in entity && Array.isArray(entity.groups)) {\n for (const group of entity.groups) {\n const hasNextPageGroup = group.hasNextPage\n if (hasNextPageGroup && groupsMap.has(group.value)) {\n // add a next page row to the group\n const groupRow = groupsMap.get(group.value)\n if (groupRow) {\n groupRow.subRows.push({\n id: `${group.value}-next-page`,\n name: `Load more tasks...`,\n entityType: NEXT_PAGE_ID,\n subRows: [],\n label: `Next page for ${group.value}`,\n group: { value: group.value, label: group.value },\n links: {},\n })\n }\n }\n }\n }\n }\n\n const groupsList = Array.from(groupsMap.values())\n\n const attribSortingIds = getSortingIds(groupBy, project, attribFields)\n\n // sort the groups by their label\n // if the group is an attribute with enum values, sort by the enum values\n groupsList.sort((a, b) => {\n if (a.group?.value === ungroupedId) return 1 // \"Ungrouped\" should be last\n if (b.group?.value === ungroupedId) return -1 // \"Ungrouped\" should be last\n if (attribSortingIds.length) {\n // sort by index of the enum value\n const indexA = attribSortingIds.indexOf(a.group?.value || '')\n const indexB = attribSortingIds.indexOf(b.group?.value || '')\n if (indexA !== -1 && indexB !== -1) {\n return indexA - indexB\n }\n if (indexA !== -1) return -1 // a is in the enum, b is not\n if (indexB !== -1) return 1 // b is in the enum, a is not\n // if both are not in the enum, sort by label\n return a.group?.label?.localeCompare(b.group?.label || '') || 0\n } else {\n // for other groupings, sort by the group label\n return a.group?.label?.localeCompare(b.group?.label || '') || 0\n }\n })\n\n // filter out empty groups\n const nonEmptyGroups = groupsList.filter((group) => group.subRows.length > 0)\n\n return showEmpty ? groupsList : nonEmptyGroups\n }\n\n return buildGroupByTableData\n}\n\nexport default useBuildGroupByTableData\n"],"names":["NEXT_PAGE_ID","UNGROUPED_VALUE","ROW_ID_SEPARATOR","valueToStringArray","value","v","getGroupData","groupById","groupValue","groups","group","g","GROUP_BY_ID","buildGroupId","parseGroupId","groupId","isGroupId","id","getSortingIds","groupBy","project","attribFields","attributeId","_a","s","_b","t","_c","f","_e","_d","field","e","useBuildGroupByTableData","props","entities","entityType","showEmpty","getEntityTypeData","useGetEntityTypeData","entityToGroupRow","useCallback","task","typeData","linksToTableData","productTypes","groupsMap","groupData","ungroupedId","getUnGroupedGroup","ungroupedGroup","entity","groupValues","groupRow","groupsList","attribSortingIds","a","b","indexA","indexB","_g","_f","_j","_h","_i","nonEmptyGroups"],"mappings":"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"}
@@ -64,6 +64,7 @@ import "../../../api/queries/activities/getActivities.es.js";
64
64
  import "../../../api/queries/activities/updateActivities.es.js";
65
65
  import "../../../api/queries/activities/updateReaction.es.js";
66
66
  import "../../../api/queries/activities/getMentions.es.js";
67
+ import "../../../api/queries/activities/getCategories.es.js";
67
68
  import "../../../api/queries/addons/getAddons.es.js";
68
69
  import "../../../api/queries/addons/updateAddons.es.js";
69
70
  import "../../../api/queries/attributes/getAttributes.es.js";
@@ -136,11 +137,11 @@ const M = "next-page", A = "_ungrouped", B = "__", N = (p) => p ? Array.isArray(
136
137
  value: t,
137
138
  label: t
138
139
  };
139
- }, y = "_GROUP_", X = (p) => `${y}${p}`, io = (p) => p.startsWith(y) ? p.slice(y.length) : null, po = (p) => p.startsWith(y), Y = (p, t, d = []) => {
140
+ }, y = "_GROUP_", X = (p) => `${y}${p}`, po = (p) => p.startsWith(y) ? p.slice(y.length) : null, eo = (p) => p.startsWith(y), Y = (p, t, d = []) => {
140
141
  var l, T, v, c, g;
141
142
  const e = p.id.replace("attrib.", "");
142
143
  return e === "status" ? ((l = t == null ? void 0 : t.statuses) == null ? void 0 : l.map((s) => s.name)) || [] : e === "taskType" ? ((T = t == null ? void 0 : t.taskTypes) == null ? void 0 : T.map((s) => s.name)) || [] : e === "folderType" ? ((v = t == null ? void 0 : t.folderTypes) == null ? void 0 : v.map((s) => s.name)) || [] : p.id.startsWith("attrib.") ? ((g = (c = d.find((s) => s.name === e)) == null ? void 0 : c.data.enum) == null ? void 0 : g.map((s) => s.value.toString())) || [] : [];
143
- }, eo = (p) => {
144
+ }, mo = (p) => {
144
145
  const { project: t, entities: d, entityType: e, groups: l = [], attribFields: T, showEmpty: v } = p, c = $({ projectInfo: t }), g = C(
145
146
  (r, u) => {
146
147
  const n = c("task", r.taskType);
@@ -250,8 +251,8 @@ export {
250
251
  B as ROW_ID_SEPARATOR,
251
252
  A as UNGROUPED_VALUE,
252
253
  X as buildGroupId,
253
- eo as default,
254
- po as isGroupId,
255
- io as parseGroupId
254
+ mo as default,
255
+ eo as isGroupId,
256
+ po as parseGroupId
256
257
  };
257
258
  //# sourceMappingURL=useBuildGroupByTableData.es.js.map