@ynput/ayon-frontend-shared 0.3.30 → 0.3.32

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 (898) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +28 -26
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +217 -201
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Slicer.cjs.js +1 -1
  8. package/dist/Slicer.es.js +23 -22
  9. package/dist/Slicer.es.js.map +1 -1
  10. package/dist/_virtual/index.cjs14.js +1 -1
  11. package/dist/_virtual/index.cjs4.js +1 -1
  12. package/dist/_virtual/index.cjs5.js +1 -1
  13. package/dist/_virtual/index.cjs9.js +1 -1
  14. package/dist/_virtual/index.es10.js +2 -2
  15. package/dist/_virtual/index.es11.js +2 -2
  16. package/dist/_virtual/index.es13.js +2 -2
  17. package/dist/_virtual/index.es14.js +5 -2
  18. package/dist/_virtual/index.es14.js.map +1 -1
  19. package/dist/_virtual/index.es4.js +2 -5
  20. package/dist/_virtual/index.es4.js.map +1 -1
  21. package/dist/_virtual/index.es5.js +5 -2
  22. package/dist/_virtual/index.es5.js.map +1 -1
  23. package/dist/_virtual/index.es9.js +2 -5
  24. package/dist/_virtual/index.es9.js.map +1 -1
  25. package/dist/api.cjs.js +1 -1
  26. package/dist/api.es.js +453 -434
  27. package/dist/api.es.js.map +1 -1
  28. package/dist/index.cjs.js +1 -1
  29. package/dist/index.es.js +15 -13
  30. package/dist/index.es.js.map +1 -1
  31. package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
  32. package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
  33. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  34. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  35. package/dist/shared/node_modules/@module-federation/runtime/dist/index.cjs.js +1 -1
  36. package/dist/shared/node_modules/@module-federation/runtime/dist/index.es.js +1 -1
  37. package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.cjs.js +1 -1
  38. package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.es.js +1 -1
  39. package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.cjs.js +1 -1
  40. package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.es.js +1 -1
  41. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.cjs.js +1 -1
  42. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.es.js +1 -1
  43. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js +1 -1
  44. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js.map +1 -1
  45. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.es.js +1 -1
  46. package/dist/shared/node_modules/@module-federation/sdk/dist/index.cjs.js +1 -1
  47. package/dist/shared/node_modules/@module-federation/sdk/dist/index.es.js +1 -1
  48. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  49. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  50. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
  51. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js.map +1 -1
  52. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
  53. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
  54. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js.map +1 -1
  55. package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
  56. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
  57. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js.map +1 -1
  58. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
  59. package/dist/shared/src/api/base/client.cjs.js +1 -1
  60. package/dist/shared/src/api/base/client.cjs.js.map +1 -1
  61. package/dist/shared/src/api/base/client.es.js +21 -17
  62. package/dist/shared/src/api/base/client.es.js.map +1 -1
  63. package/dist/shared/src/api/generated/folders.cjs.js +1 -1
  64. package/dist/shared/src/api/generated/folders.cjs.js.map +1 -1
  65. package/dist/shared/src/api/generated/folders.es.js +2 -14
  66. package/dist/shared/src/api/generated/folders.es.js.map +1 -1
  67. package/dist/shared/src/api/generated/graphql.cjs.js +237 -55
  68. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  69. package/dist/shared/src/api/generated/graphql.es.js +361 -161
  70. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  71. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  72. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  73. package/dist/shared/src/api/queries/activities/activityQueries.cjs.js +1 -0
  74. package/dist/shared/src/api/queries/activities/activityQueries.cjs.js.map +1 -1
  75. package/dist/shared/src/api/queries/activities/activityQueries.es.js +1 -0
  76. package/dist/shared/src/api/queries/activities/activityQueries.es.js.map +1 -1
  77. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js +1 -1
  78. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js.map +1 -1
  79. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js +33 -21
  80. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js.map +1 -1
  81. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
  82. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
  83. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +74 -60
  84. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
  85. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js +2 -0
  86. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js.map +1 -0
  87. package/dist/shared/src/api/queries/columnStats/columnStats.es.js +96 -0
  88. package/dist/shared/src/api/queries/columnStats/columnStats.es.js.map +1 -0
  89. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js +2 -0
  90. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js.map +1 -0
  91. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js +88 -0
  92. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js.map +1 -0
  93. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
  94. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
  95. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +62 -48
  96. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  97. package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js +1 -1
  98. package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js.map +1 -1
  99. package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js +45 -97
  100. package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js.map +1 -1
  101. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  102. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  103. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +89 -174
  104. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  105. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  106. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  107. package/dist/shared/src/api/queries/entityLists/getLists.es.js +94 -79
  108. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  109. package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -1
  110. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  111. package/dist/shared/src/api/queries/folders/getFolders.es.js +104 -71
  112. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  113. package/dist/shared/src/api/queries/overview/filterRefetchUtils.cjs.js.map +1 -1
  114. package/dist/shared/src/api/queries/overview/filterRefetchUtils.es.js.map +1 -1
  115. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  116. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  117. package/dist/shared/src/api/queries/overview/getOverview.es.js +265 -216
  118. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  119. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  120. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  121. package/dist/shared/src/api/queries/overview/updateOverview.es.js +233 -261
  122. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  123. package/dist/shared/src/api/queries/tasks/updateTasks.cjs.js.map +1 -1
  124. package/dist/shared/src/api/queries/tasks/updateTasks.es.js.map +1 -1
  125. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
  126. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  127. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +138 -107
  128. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  129. package/dist/shared/src/api/queries/users/getUsers.cjs.js +5 -5
  130. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  131. package/dist/shared/src/api/queries/users/getUsers.es.js +58 -106
  132. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  133. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
  134. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
  135. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +332 -239
  136. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
  137. package/dist/shared/src/api/queries/views/updateViews.cjs.js +1 -1
  138. package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -1
  139. package/dist/shared/src/api/queries/views/updateViews.es.js +38 -38
  140. package/dist/shared/src/api/queries/views/updateViews.es.js.map +1 -1
  141. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js +1 -1
  142. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js.map +1 -1
  143. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js +7 -6
  144. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
  145. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  146. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  147. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +7 -6
  148. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  149. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  150. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  151. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +8 -6
  152. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  153. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  154. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  155. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +7 -6
  156. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  157. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  158. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  159. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +7 -6
  160. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  161. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  162. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  163. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +7 -6
  164. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  165. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js +1 -1
  166. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js.map +1 -1
  167. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js +7 -6
  168. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js.map +1 -1
  169. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  170. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  171. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +141 -162
  172. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  173. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  174. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  175. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +8 -6
  176. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  177. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  178. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  179. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +7 -6
  180. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  181. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  182. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  183. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +9 -8
  184. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  185. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  186. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  187. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +7 -6
  188. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  189. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  190. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  191. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +3 -2
  192. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  193. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
  194. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
  195. package/dist/shared/src/components/LinksManager/LinksManager.es.js +7 -6
  196. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
  197. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  198. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  199. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +8 -6
  200. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  201. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  202. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  203. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +7 -6
  204. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  205. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
  206. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -1
  207. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +7 -6
  208. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -1
  209. package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
  210. package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -1
  211. package/dist/shared/src/components/Menu/Menu.es.js +7 -6
  212. package/dist/shared/src/components/Menu/Menu.es.js.map +1 -1
  213. package/dist/shared/src/components/Menu/MenuItem.cjs.js +1 -1
  214. package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -1
  215. package/dist/shared/src/components/Menu/MenuItem.es.js +5 -4
  216. package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -1
  217. package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
  218. package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
  219. package/dist/shared/src/components/Menu/MenuList.es.js +7 -6
  220. package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
  221. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
  222. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  223. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +7 -6
  224. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  225. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  226. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  227. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +7 -6
  228. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  229. package/dist/shared/src/components/Powerpack/useFreeTrialLink.cjs.js +1 -1
  230. package/dist/shared/src/components/Powerpack/useFreeTrialLink.cjs.js.map +1 -1
  231. package/dist/shared/src/components/Powerpack/useFreeTrialLink.es.js +7 -6
  232. package/dist/shared/src/components/Powerpack/useFreeTrialLink.es.js.map +1 -1
  233. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
  234. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  235. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +83 -81
  236. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  237. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  238. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  239. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +10 -8
  240. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  241. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  242. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  243. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +7 -6
  244. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  245. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  246. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  247. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +8 -6
  248. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  249. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  250. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  251. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +8 -6
  252. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  253. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  254. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  255. package/dist/shared/src/components/RenameForm/RenameForm.es.js +8 -6
  256. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  257. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  258. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  259. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +7 -6
  260. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  261. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  262. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  263. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +8 -6
  264. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  265. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  266. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  267. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +9 -7
  268. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  269. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  270. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  271. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +8 -6
  272. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  273. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  274. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  275. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +7 -6
  276. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  277. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  278. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  279. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +8 -6
  280. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  281. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  282. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  283. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +11 -10
  284. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  285. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +1 -1
  286. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  287. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +7 -6
  288. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  289. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
  290. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  291. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +10 -8
  292. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  293. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  294. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  295. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +8 -6
  296. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  297. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js +1 -1
  298. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js.map +1 -1
  299. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js +7 -6
  300. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js.map +1 -1
  301. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +2 -2
  302. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  303. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +15 -14
  304. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  305. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js +1 -1
  306. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js.map +1 -1
  307. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js +49 -44
  308. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js.map +1 -1
  309. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js +3 -3
  310. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js.map +1 -1
  311. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js +32 -22
  312. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js.map +1 -1
  313. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  314. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  315. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +8 -6
  316. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  317. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  318. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  319. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +12 -10
  320. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  321. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  322. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  323. package/dist/shared/src/components/Watchers/Watchers.es.js +7 -6
  324. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  325. package/dist/shared/src/config/powerpackFeatures.cjs.js +1 -1
  326. package/dist/shared/src/config/powerpackFeatures.cjs.js.map +1 -1
  327. package/dist/shared/src/config/powerpackFeatures.es.js +7 -1
  328. package/dist/shared/src/config/powerpackFeatures.es.js.map +1 -1
  329. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  330. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  331. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +8 -6
  332. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  333. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  334. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  335. package/dist/shared/src/containers/Actions/Actions.es.js +7 -6
  336. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  337. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  338. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  339. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +8 -6
  340. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  341. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  342. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  343. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +4 -2
  344. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  345. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  346. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  347. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +8 -6
  348. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  349. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  350. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  351. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +45 -42
  352. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  353. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  354. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  355. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +8 -6
  356. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  357. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  358. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
  359. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +8 -6
  360. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
  361. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  362. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
  363. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +8 -6
  364. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
  365. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  366. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  367. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +7 -6
  368. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  369. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  370. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  371. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +22 -20
  372. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  373. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  374. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  375. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +8 -6
  376. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  377. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  378. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  379. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +8 -6
  380. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  381. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  382. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  383. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +17 -15
  384. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  385. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js +1 -1
  386. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js.map +1 -1
  387. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js +14 -14
  388. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js.map +1 -1
  389. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  390. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  391. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +17 -13
  392. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  393. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  394. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  395. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +8 -6
  396. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  397. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  398. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  399. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +8 -6
  400. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  401. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  402. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  403. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +8 -6
  404. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  405. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  406. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  407. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +8 -6
  408. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  409. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  410. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +7 -6
  412. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  413. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  414. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/Feed/Feed.es.js +9 -8
  416. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  417. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  418. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +8 -6
  420. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  421. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  422. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +8 -6
  424. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  425. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  426. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +8 -6
  428. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  429. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  430. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  431. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +32 -31
  432. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  433. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  434. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +8 -6
  436. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  437. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  438. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +12 -10
  440. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  441. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  442. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  443. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +7 -6
  444. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  445. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  446. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  447. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +7 -6
  448. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  449. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  450. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  451. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +7 -6
  452. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  453. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  454. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  455. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +41 -48
  456. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  457. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js +1 -1
  458. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js.map +1 -1
  459. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.es.js +7 -6
  460. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.es.js.map +1 -1
  461. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  462. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  463. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +10 -9
  464. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  465. package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.cjs.js +1 -1
  466. package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.cjs.js.map +1 -1
  467. package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.es.js +14 -13
  468. package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.es.js.map +1 -1
  469. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  470. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  471. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +7 -6
  472. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  473. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  474. package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
  475. package/dist/shared/src/containers/ListTable/ListTable.es.js +216 -208
  476. package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
  477. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  478. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  479. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +8 -6
  480. package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
  481. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  482. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
  483. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +8 -6
  484. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
  485. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  486. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  487. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +733 -679
  488. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  489. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +32 -10
  490. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
  491. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +42 -18
  492. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
  493. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  494. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  495. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +21 -18
  496. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  497. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  498. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  499. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +61 -47
  500. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  501. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  502. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  503. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +8 -6
  504. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  505. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  506. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  507. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +8 -6
  508. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  509. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js +48 -0
  510. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js.map +1 -0
  511. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js +103 -0
  512. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js.map +1 -0
  513. package/dist/shared/src/containers/ProjectTreeTable/constants.cjs.js +2 -0
  514. package/dist/shared/src/containers/ProjectTreeTable/constants.cjs.js.map +1 -0
  515. package/dist/shared/src/containers/ProjectTreeTable/constants.es.js +6 -0
  516. package/dist/shared/src/containers/ProjectTreeTable/constants.es.js.map +1 -0
  517. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  518. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  519. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +8 -6
  520. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  521. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +4 -4
  522. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  523. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +11 -9
  524. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  525. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js.map +1 -1
  526. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js.map +1 -1
  527. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  528. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  529. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +219 -185
  530. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  531. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  532. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  533. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +9 -8
  534. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  535. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
  536. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
  537. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +7 -6
  538. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
  539. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js +1 -1
  540. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js.map +1 -1
  541. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js +21 -17
  542. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js.map +1 -1
  543. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js +1 -1
  544. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js.map +1 -1
  545. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js +1 -2
  546. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js.map +1 -1
  547. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  548. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  549. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +21 -15
  550. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  551. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  552. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  553. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +7 -6
  554. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  555. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  556. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  557. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +87 -85
  558. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  559. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  560. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  561. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +120 -115
  562. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  563. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  564. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  565. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +10 -7
  566. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  567. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  568. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  569. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +8 -6
  570. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  571. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  572. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  573. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +8 -6
  574. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  575. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  576. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  577. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +8 -6
  578. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  579. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  580. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  581. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +7 -6
  582. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  583. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.cjs.js.map +1 -1
  584. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.es.js.map +1 -1
  585. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  586. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  587. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +8 -6
  588. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  589. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  590. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  591. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +8 -6
  592. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  593. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  594. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  595. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +8 -6
  596. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  597. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  598. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  599. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +8 -6
  600. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  601. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  602. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  603. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +8 -6
  604. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  605. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  606. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  607. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +84 -82
  608. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  609. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  610. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  611. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +8 -6
  612. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  613. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  614. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  615. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +49 -48
  616. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  617. package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.cjs.js +2 -0
  618. package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.cjs.js.map +1 -0
  619. package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.es.js +16 -0
  620. package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.es.js.map +1 -0
  621. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  622. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  623. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +19 -17
  624. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  625. package/dist/shared/src/containers/ProjectTreeTable/utils/checkColumnVisibility.cjs.js +1 -1
  626. package/dist/shared/src/containers/ProjectTreeTable/utils/checkColumnVisibility.cjs.js.map +1 -1
  627. package/dist/shared/src/containers/ProjectTreeTable/utils/checkColumnVisibility.es.js +29 -25
  628. package/dist/shared/src/containers/ProjectTreeTable/utils/checkColumnVisibility.es.js.map +1 -1
  629. package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.cjs.js +2 -0
  630. package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.cjs.js.map +1 -0
  631. package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.es.js +17 -0
  632. package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.es.js.map +1 -0
  633. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  634. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  635. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +8 -6
  636. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  637. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  638. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  639. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +16 -14
  640. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  641. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  642. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  643. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +10 -8
  644. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  645. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +1 -1
  646. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
  647. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +7 -6
  648. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js.map +1 -1
  649. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  650. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  651. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +8 -6
  652. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  653. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  654. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  655. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +8 -6
  656. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  657. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +1 -1
  658. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
  659. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +7 -6
  660. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
  661. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +4 -4
  662. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -1
  663. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +24 -19
  664. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js.map +1 -1
  665. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  666. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  667. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +8 -6
  668. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  669. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  670. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  671. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +8 -6
  672. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  673. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +1 -1
  674. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
  675. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +7 -6
  676. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -1
  677. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  678. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  679. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +8 -6
  680. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  681. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  682. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  683. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +9 -8
  684. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  685. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
  686. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
  687. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +7 -6
  688. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
  689. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +1 -1
  690. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -1
  691. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +7 -6
  692. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
  693. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
  694. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
  695. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +8 -6
  696. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
  697. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +1 -1
  698. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -1
  699. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +7 -6
  700. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -1
  701. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  702. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  703. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +16 -15
  704. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  705. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js +1 -1
  706. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -1
  707. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js +7 -6
  708. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -1
  709. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  710. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  711. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +7 -6
  712. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  713. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  714. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  715. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +8 -6
  716. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  717. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +1 -1
  718. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  719. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +7 -6
  720. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  721. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  722. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  723. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +123 -122
  724. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  725. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js +1 -1
  726. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js.map +1 -1
  727. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js +18 -16
  728. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js.map +1 -1
  729. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -1
  730. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
  731. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +79 -51
  732. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
  733. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.cjs.js +1 -1
  734. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.cjs.js.map +1 -1
  735. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.es.js +19 -17
  736. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.es.js.map +1 -1
  737. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js +1 -1
  738. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js.map +1 -1
  739. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js +7 -6
  740. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js.map +1 -1
  741. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  742. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  743. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +10 -9
  744. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  745. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  746. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  747. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +16 -15
  748. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  749. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  750. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  751. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +7 -6
  752. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  753. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  754. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  755. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +82 -69
  756. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  757. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  758. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  759. package/dist/shared/src/context/AddonProjectContext.es.js +9 -8
  760. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  761. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  762. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  763. package/dist/shared/src/context/DetailsPanelContext.es.js +9 -8
  764. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  765. package/dist/shared/src/context/GlobalContext.cjs.js +1 -1
  766. package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -1
  767. package/dist/shared/src/context/GlobalContext.es.js +9 -8
  768. package/dist/shared/src/context/GlobalContext.es.js.map +1 -1
  769. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  770. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  771. package/dist/shared/src/context/PowerpackContext.es.js +11 -10
  772. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  773. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  774. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  775. package/dist/shared/src/context/ProjectContext.es.js +9 -8
  776. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  777. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  778. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  779. package/dist/shared/src/context/ProjectFoldersContext.es.js +9 -8
  780. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  781. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  782. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  783. package/dist/shared/src/context/RemoteModulesContext.es.js +9 -8
  784. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  785. package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
  786. package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
  787. package/dist/shared/src/context/SubtasksModulesContext.es.js +9 -8
  788. package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
  789. package/dist/shared/src/context/UriContext.cjs.js +1 -1
  790. package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
  791. package/dist/shared/src/context/UriContext.es.js +10 -9
  792. package/dist/shared/src/context/UriContext.es.js.map +1 -1
  793. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  794. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  795. package/dist/shared/src/context/WebsocketContext.es.js +10 -8
  796. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  797. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  798. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  799. package/dist/shared/src/hooks/useActionTriggers.es.js +7 -6
  800. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  801. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  802. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  803. package/dist/shared/src/hooks/useEntityUpdate.es.js +7 -6
  804. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  805. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
  806. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
  807. package/dist/shared/src/hooks/useGetEntityGroups.es.js +7 -6
  808. package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
  809. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  810. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  811. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +7 -6
  812. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  813. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  814. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  815. package/dist/shared/src/hooks/useHierarchyTable.es.js +7 -6
  816. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  817. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  818. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  819. package/dist/shared/src/hooks/useScopedStatuses.es.js +9 -8
  820. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  821. package/dist/shared/src/hooks/useScopedTypes.cjs.js +1 -1
  822. package/dist/shared/src/hooks/useScopedTypes.cjs.js.map +1 -1
  823. package/dist/shared/src/hooks/useScopedTypes.es.js +7 -6
  824. package/dist/shared/src/hooks/useScopedTypes.es.js.map +1 -1
  825. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  826. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  827. package/dist/shared/src/hooks/useUserProjectConfig.es.js +7 -6
  828. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  829. package/dist/shared/src/util/columnConfigConverter.cjs.js +1 -1
  830. package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
  831. package/dist/shared/src/util/columnConfigConverter.es.js +86 -65
  832. package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
  833. package/dist/shared/src/util/getThumbnailUrl.cjs.js +2 -0
  834. package/dist/shared/src/util/getThumbnailUrl.cjs.js.map +1 -0
  835. package/dist/shared/src/util/getThumbnailUrl.es.js +23 -0
  836. package/dist/shared/src/util/getThumbnailUrl.es.js.map +1 -0
  837. package/dist/shared/src/util/thumbnailWebsocket.cjs.js +2 -0
  838. package/dist/shared/src/util/thumbnailWebsocket.cjs.js.map +1 -0
  839. package/dist/shared/src/util/thumbnailWebsocket.es.js +54 -0
  840. package/dist/shared/src/util/thumbnailWebsocket.es.js.map +1 -0
  841. package/dist/types/api/generated/folders.d.ts +1 -6
  842. package/dist/types/api/generated/graphql.d.ts +275 -6
  843. package/dist/types/api/generated/graphqlLinks.d.ts +7 -4
  844. package/dist/types/api/queries/activities/activityQueries.d.ts +1 -0
  845. package/dist/types/api/queries/activities/getActivities.d.ts +47 -0
  846. package/dist/types/api/queries/activities/types.d.ts +1 -1
  847. package/dist/types/api/queries/activities/updateActivities.d.ts +94 -0
  848. package/dist/types/api/queries/activities/util/activitiesHelpers.d.ts +2 -1
  849. package/dist/types/api/queries/columnStats/columnStats.d.ts +28 -0
  850. package/dist/types/api/queries/columnStats/index.d.ts +2 -0
  851. package/dist/types/api/queries/columnStats/metricTargets.d.ts +31 -0
  852. package/dist/types/api/queries/entities/getEntity.d.ts +47 -0
  853. package/dist/types/api/queries/entities/getEntityPanel.d.ts +47 -0
  854. package/dist/types/api/queries/entities/transformDetailsPanelData.d.ts +1 -0
  855. package/dist/types/api/queries/entities/updateEntity.d.ts +47 -0
  856. package/dist/types/api/queries/entityLists/getLists.d.ts +47 -0
  857. package/dist/types/api/queries/index.d.ts +1 -0
  858. package/dist/types/api/queries/overview/filterRefetchUtils.d.ts +1 -1
  859. package/dist/types/api/queries/overview/getOverview.d.ts +733 -1
  860. package/dist/types/api/queries/overview/updateOverview.d.ts +1 -1
  861. package/dist/types/api/queries/project/getProject.d.ts +47 -0
  862. package/dist/types/api/queries/tasks/updateTasks.d.ts +1 -1
  863. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +69 -0
  864. package/dist/types/api/queries/users/getUsers.d.ts +459 -413
  865. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +828 -1
  866. package/dist/types/components/EntityPanelUploader/EntityPanelUploader.d.ts +1 -11
  867. package/dist/types/components/Thumbnail/StackedThumbnails.d.ts +2 -2
  868. package/dist/types/components/Thumbnail/Thumbnail.d.ts +2 -2
  869. package/dist/types/components/ThumbnailSimple/ThumbnailSimple.d.ts +1 -1
  870. package/dist/types/config/powerpackFeatures.d.ts +1 -1
  871. package/dist/types/containers/DetailsPanel/containers/FeedWrapper.d.ts +1 -0
  872. package/dist/types/containers/DetailsPanel/helpers/getThumbnails.d.ts +2 -2
  873. package/dist/types/containers/Feed/components/ActivityVersions/ActivityVersions.d.ts +1 -0
  874. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +8 -3
  875. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.styled.d.ts +2 -0
  876. package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +1 -1
  877. package/dist/types/containers/ProjectTreeTable/components/TableFooterRow.d.ts +14 -0
  878. package/dist/types/containers/ProjectTreeTable/constants.d.ts +2 -0
  879. package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsContext.d.ts +10 -0
  880. package/dist/types/containers/ProjectTreeTable/context/SelectionCellsContext.d.ts +0 -1
  881. package/dist/types/containers/ProjectTreeTable/index.d.ts +1 -0
  882. package/dist/types/containers/ProjectTreeTable/types/index.d.ts +17 -1
  883. package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +2 -0
  884. package/dist/types/containers/ProjectTreeTable/types/summaryTypes.d.ts +50 -0
  885. package/dist/types/containers/ProjectTreeTable/types/table.d.ts +3 -0
  886. package/dist/types/containers/ProjectTreeTable/utils/checkColumnVisibility.d.ts +2 -0
  887. package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +1 -0
  888. package/dist/types/containers/ProjectTreeTable/utils/pinningUtils.d.ts +6 -0
  889. package/dist/types/containers/ProjectTreeTable/widgets/ThumbnailWidget.d.ts +1 -1
  890. package/dist/types/containers/Views/hooks/useSelectedView.d.ts +2 -1
  891. package/dist/types/containers/Views/utils/viewUpdateHelper.d.ts +7 -3
  892. package/dist/types/util/getThumbnailUrl.d.ts +18 -0
  893. package/dist/types/util/index.d.ts +2 -0
  894. package/dist/types/util/thumbnailWebsocket.d.ts +21 -0
  895. package/dist/util.cjs.js +1 -1
  896. package/dist/util.es.js +35 -30
  897. package/dist/util.es.js.map +1 -1
  898. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectTableProvider.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/ProjectTableProvider.tsx"],"sourcesContent":["/**\n * Project Table Context\n *\n * This context serves as the central data management layer for the project table component.\n * It performs three main functions:\n *\n * 1. **Props Forwarding**: Acts as a bridge to forward essential props (project info, users,\n * attributes, filters, etc.) down to child components throughout the table hierarchy.\n *\n * 2. **Table Data Structure Building**: Transforms raw project data into structured table rows\n * that can be consumed by the table component. This includes processing folders, tasks,\n * and entities into a unified table format.\n *\n * 3. **Multi-Modal Data Presentation**: Supports three different data presentation modes:\n * - **Hierarchy Mode**: Builds nested folder/task relationships with expandable rows\n * - **Tasks List Mode**: Flattened view of tasks without hierarchical structure\n * - **Groups Mode**: Groups entities by specified criteria (entity type, custom groups)\n *\n * The context also provides utility functions for entity relationships, expansion state\n * management, filtering, and folder inheritance operations.\n */\nimport { ReactNode, useCallback, useMemo } from 'react'\nimport { useParams, useNavigate, useLocation, useSearchParams } from 'react-router-dom'\nimport { ExpandedState, OnChangeFn } from '@tanstack/react-table'\nimport useBuildProjectDataTable from '../hooks/useBuildProjectDataTable'\nimport {\n EntitiesMap,\n EntityMap,\n FolderNodeMap,\n TableRow,\n TaskNodeMap,\n TasksByFolderMap,\n} from '../types/table'\nimport useFolderRelationships from '../hooks/useFolderRelationships'\nimport { ProjectModel } from '../types/project'\nimport { ProjectTableAttribute, LoadingTasks } from '../types'\nimport { QueryFilter } from '../types/folders'\nimport { ContextMenuItemConstructors } from '../hooks/useCellContextMenu'\nimport { EntityGroup } from '@shared/api'\nimport useBuildGroupByTableData, {\n GroupByEntityType,\n ROW_ID_SEPARATOR,\n} from '../hooks/useBuildGroupByTableData'\nimport { PowerpackContextType, useProjectContext } from '@shared/context'\nimport { TableGroupBy, useColumnSettingsContext } from './ColumnSettingsContext'\nimport { ProjectTableModulesType } from '@shared/hooks'\nimport { ProjectTableContext, ProjectTableContextType } from './ProjectTableContext'\nimport type { SubtasksManagerProps } from '@shared/components'\n\nexport const parseRowId = (rowId: string) => rowId?.split(ROW_ID_SEPARATOR)[0] || rowId\n\nexport type TableUser = {\n name: string\n fullName?: string\n}\n\nexport interface ProjectTableProviderProps {\n children: ReactNode\n isInitialized: boolean\n\n // loading\n isLoading: boolean\n isLoadingMore: boolean\n loadingTasks?: LoadingTasks\n error?: string\n users: TableUser[]\n // Attributes\n attribFields: ProjectTableAttribute[]\n scopes: string[]\n\n // Flat folder view\n isFlatFolderView?: boolean\n\n // data\n tasksMap: TaskNodeMap\n foldersMap: FolderNodeMap\n entitiesMap: EntitiesMap\n tasksByFolderMap: TasksByFolderMap\n tableRows?: TableRow[] // any extra rows that we want to add to the table\n\n // grouping\n groups: EntityGroup[]\n groupRowFunc?: (node: any) => TableRow\n overrideGroupBy?: TableGroupBy\n\n // data functions\n fetchNextPage: (value?: string) => void\n reloadTableData: () => void\n\n // Filters\n queryFilters: {\n filter: QueryFilter | undefined\n filterString?: string\n search: string | undefined\n }\n\n // Hierarchy\n showHierarchy: boolean\n updateShowHierarchy: (showHierarchy: boolean) => void\n\n // Expanded state\n expanded: ExpandedState\n toggleExpanded: (id: string) => void\n updateExpanded: OnChangeFn<ExpandedState>\n setExpanded: React.Dispatch<React.SetStateAction<ExpandedState>>\n\n // context menu\n contextMenuItems: ContextMenuItemConstructors\n\n // powerpack context\n powerpack?: PowerpackContextType\n\n // remote modules\n modules: ProjectTableModulesType\n\n groupByConfig?: {\n entityType?: GroupByEntityType\n }\n\n // Custom hierarchy-like options for the group-by settings panel\n // Overrides the default Hierarchy/Folder options when provided\n hierarchyOptions?: Array<{ value: string; label: string; icon: string }>\n\n // Whether hierarchy mode is active (for panel display only)\n // Used when showHierarchy must stay false for table internals (e.g. infinite scroll)\n // but the panel should still highlight the hierarchy option\n hierarchyActive?: boolean\n\n // SubtasksManager component\n SubtasksManager?: React.ComponentType<SubtasksManagerProps>\n\n // player\n playerOpen?: boolean\n onOpenPlayer?: (\n targetIds: {\n taskId?: string\n folderId?: string\n productId?: string\n versionId?: string\n },\n config?: { quickView?: boolean },\n ) => void\n // views\n onResetView?: () => void\n // router hooks\n useParams?: typeof useParams\n useNavigate?: typeof useNavigate\n useLocation?: typeof useLocation\n useSearchParams?: typeof useSearchParams\n}\n\nexport const ProjectTableProvider = ({\n children,\n foldersMap,\n tableRows,\n tasksMap,\n entitiesMap,\n tasksByFolderMap,\n expanded,\n showHierarchy,\n loadingTasks,\n isLoadingMore,\n isLoading,\n error,\n isInitialized,\n users,\n attribFields,\n scopes,\n groups,\n groupRowFunc,\n overrideGroupBy,\n queryFilters,\n updateShowHierarchy,\n toggleExpanded,\n updateExpanded,\n fetchNextPage,\n reloadTableData,\n setExpanded,\n contextMenuItems,\n powerpack,\n modules,\n groupByConfig,\n hierarchyOptions,\n hierarchyActive,\n isFlatFolderView,\n SubtasksManager,\n // player\n playerOpen,\n onOpenPlayer,\n // views\n onResetView,\n useParams,\n useNavigate,\n useLocation,\n useSearchParams,\n}: ProjectTableProviderProps) => {\n const { attrib: projectAttrib } = useProjectContext()\n const { groupBy: columnSettingsGroupBy, groupByConfig: { showEmpty: showEmptyGroups = false } = {} } =\n useColumnSettingsContext()\n\n // DATA TO TABLE\n const defaultTableData = useBuildProjectDataTable({\n foldersMap,\n tasksMap,\n rows: tableRows,\n tasksByFolderMap,\n expanded,\n showHierarchy,\n isFlatFolderView,\n showEmptyFolders: showEmptyGroups,\n loadingTasks,\n isLoadingMore,\n })\n\n // overrideGroupBy (from view dropdown) takes priority over Customize panel's groupBy.\n // In flat folder view, ignore both — the 'folder' sentinel persisted on the server\n // must not leak into grouping logic (it's only used to distinguish the mode from 'none').\n const effectiveGroupBy = isFlatFolderView ? undefined : (overrideGroupBy || columnSettingsGroupBy)\n\n const buildGroupByTableData = useBuildGroupByTableData({\n entities: entitiesMap,\n entityType: groupByConfig?.entityType || 'unknown',\n groups: groups,\n attribFields,\n showEmpty: showEmptyGroups,\n groupRowFunc,\n })\n\n const attribFieldsScoped = useMemo(\n () => attribFields.filter((attrib) => attrib.scope?.some((scope) => scopes.includes(scope))),\n [attribFields, scopes],\n )\n\n // if we are grouping by something, we ignore current tableData and format the data based on the groupBy\n const groupedTableData = useMemo(\n () => !!effectiveGroupBy && buildGroupByTableData(effectiveGroupBy),\n [effectiveGroupBy, entitiesMap, groups],\n )\n\n const tableData = effectiveGroupBy && !isFlatFolderView && groupedTableData ? groupedTableData : defaultTableData\n\n const getEntityById = useCallback(\n (id: string, field: string = 'entityId'): EntityMap | undefined => {\n // defensive check to ensure id is a string\n if (typeof id !== 'string') {\n console.warn('getEntityById called with non-string id:', id)\n return undefined\n }\n // always parse the id to remove any suffixes\n // this can happen if the id is a group by id (we need to make the row id unique)\n const parsedId = parseRowId(id)\n if (foldersMap.has(parsedId)) {\n return foldersMap.get(parsedId)\n } else if (tasksMap.has(parsedId)) {\n return tasksMap.get(parsedId)\n } else if (entitiesMap.has(parsedId)) {\n return entitiesMap.get(parsedId)\n }\n\n // if we have not found the entity at all, double check through the maps using field (entityId)\n for (const [_, entity] of entitiesMap) {\n if (entity[field as keyof EntityMap] === parsedId) {\n return entity\n }\n }\n\n // Return undefined if not found\n return undefined\n },\n [foldersMap, tasksMap, entitiesMap],\n )\n\n // get folder relationship functions\n const {\n getInheritedDependents,\n getChildrenEntities,\n findInheritedValueFromAncestors,\n findNonInheritedValues,\n getAncestorsOf,\n } = useFolderRelationships({\n entitiesMap,\n tasksMap,\n tasksByFolderMap,\n getEntityById,\n projectAttrib,\n attribFields: attribFields,\n })\n\n const toggleExpandAll: ProjectTableContextType['toggleExpandAll'] = useCallback(\n (rowIds, expandAll) => {\n const expandedState = typeof expanded === 'object' ? expanded : {}\n\n const newExpandedState = { ...expandedState }\n\n rowIds.forEach((rowId) => {\n // get all children of the rowId using tableData\n const childIds = getChildrenEntities(rowId).map((child) => child.id)\n // check if the rowId is expanded\n const isExpanded = expandedState[rowId] || false\n\n if (expandAll !== undefined ? !expandAll : isExpanded) {\n // collapse all children\n newExpandedState[rowId] = false\n childIds.forEach((id) => {\n newExpandedState[id] = false\n })\n } else {\n // expand all children\n newExpandedState[rowId] = true\n childIds.forEach((id) => {\n newExpandedState[id] = true\n })\n }\n })\n\n setExpanded(newExpandedState)\n },\n [expanded, getChildrenEntities, setExpanded],\n )\n\n const toggleExpands: ProjectTableContextType['toggleExpands'] = useCallback(\n (rowIds, expand) => {\n const expandedState = typeof expanded === 'object' ? expanded : {}\n const newExpandedState = { ...expandedState }\n\n rowIds.forEach((rowId) => {\n if (expand !== undefined) {\n // Use the provided expand parameter\n newExpandedState[rowId] = expand\n } else {\n // Toggle based on current state\n newExpandedState[rowId] = !expandedState[rowId]\n }\n })\n\n setExpanded(newExpandedState)\n },\n [expanded, setExpanded],\n )\n\n return (\n <ProjectTableContext.Provider\n value={{\n // from this context\n tableData,\n // forwarded on\n isInitialized,\n isLoading,\n error,\n attribFields,\n attribFieldsScoped,\n scopes,\n users,\n tasksMap,\n foldersMap,\n entitiesMap,\n fetchNextPage,\n reloadTableData,\n groups,\n overrideGroupBy,\n queryFilters,\n // hierarchy\n showHierarchy,\n updateShowHierarchy,\n hierarchyOptions,\n hierarchyActive,\n // flat folder view\n isFlatFolderView,\n // expanded state\n expanded,\n setExpanded,\n toggleExpanded,\n updateExpanded,\n toggleExpandAll,\n toggleExpands,\n getEntityById,\n // folder relationships\n getInheritedDependents,\n findInheritedValueFromAncestors,\n findNonInheritedValues,\n getAncestorsOf,\n // context menu\n contextMenuItems,\n // powerpack context\n powerpack,\n modules,\n // SubtasksManager\n SubtasksManager,\n // player\n playerOpen,\n onOpenPlayer,\n // views\n onResetView,\n // router hooks\n useParams,\n useNavigate,\n useLocation,\n useSearchParams,\n }}\n >\n {children}\n </ProjectTableContext.Provider>\n )\n}\n"],"names":["parseRowId","rowId","ROW_ID_SEPARATOR","ProjectTableProvider","children","foldersMap","tableRows","tasksMap","entitiesMap","tasksByFolderMap","expanded","showHierarchy","loadingTasks","isLoadingMore","isLoading","error","isInitialized","users","attribFields","scopes","groups","groupRowFunc","overrideGroupBy","queryFilters","updateShowHierarchy","toggleExpanded","updateExpanded","fetchNextPage","reloadTableData","setExpanded","contextMenuItems","powerpack","modules","groupByConfig","hierarchyOptions","hierarchyActive","isFlatFolderView","SubtasksManager","playerOpen","onOpenPlayer","onResetView","useParams","useNavigate","useLocation","useSearchParams","projectAttrib","useProjectContext","columnSettingsGroupBy","showEmptyGroups","useColumnSettingsContext","defaultTableData","useBuildProjectDataTable","effectiveGroupBy","buildGroupByTableData","useBuildGroupByTableData","attribFieldsScoped","useMemo","attrib","scope","groupedTableData","tableData","getEntityById","useCallback","id","field","parsedId","_","entity","getInheritedDependents","getChildrenEntities","findInheritedValueFromAncestors","findNonInheritedValues","getAncestorsOf","useFolderRelationships","toggleExpandAll","rowIds","expandAll","expandedState","newExpandedState","childIds","child","isExpanded","toggleExpands","expand","jsx","ProjectTableContext"],"mappings":"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"}
1
+ {"version":3,"file":"ProjectTableProvider.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/ProjectTableProvider.tsx"],"sourcesContent":["/**\n * Project Table Context\n *\n * This context serves as the central data management layer for the project table component.\n * It performs three main functions:\n *\n * 1. **Props Forwarding**: Acts as a bridge to forward essential props (project info, users,\n * attributes, filters, etc.) down to child components throughout the table hierarchy.\n *\n * 2. **Table Data Structure Building**: Transforms raw project data into structured table rows\n * that can be consumed by the table component. This includes processing folders, tasks,\n * and entities into a unified table format.\n *\n * 3. **Multi-Modal Data Presentation**: Supports three different data presentation modes:\n * - **Hierarchy Mode**: Builds nested folder/task relationships with expandable rows\n * - **Tasks List Mode**: Flattened view of tasks without hierarchical structure\n * - **Groups Mode**: Groups entities by specified criteria (entity type, custom groups)\n *\n * The context also provides utility functions for entity relationships, expansion state\n * management, filtering, and folder inheritance operations.\n */\nimport { ReactNode, useCallback, useMemo } from 'react'\nimport { useParams, useNavigate, useLocation, useSearchParams } from 'react-router-dom'\nimport { ExpandedState, OnChangeFn } from '@tanstack/react-table'\nimport useBuildProjectDataTable from '../hooks/useBuildProjectDataTable'\nimport {\n EntitiesMap,\n EntityMap,\n FolderNodeMap,\n TableRow,\n TaskNodeMap,\n TasksByFolderMap,\n} from '../types/table'\nimport useFolderRelationships from '../hooks/useFolderRelationships'\nimport { ProjectModel } from '../types/project'\nimport { ProjectTableAttribute, LoadingTasks } from '../types'\nimport { QueryFilter } from '../types/folders'\nimport { ContextMenuItemConstructors } from '../hooks/useCellContextMenu'\nimport { EntityGroup } from '@shared/api'\nimport useBuildGroupByTableData, {\n GroupByEntityType,\n ROW_ID_SEPARATOR,\n} from '../hooks/useBuildGroupByTableData'\nimport { PowerpackContextType, useProjectContext } from '@shared/context'\nimport { TableGroupBy, useColumnSettingsContext } from './ColumnSettingsContext'\nimport { ProjectTableModulesType } from '@shared/hooks'\nimport { ProjectTableContext, ProjectTableContextType } from './ProjectTableContext'\nimport type { SubtasksManagerProps } from '@shared/components'\n\nexport const parseRowId = (rowId: string) => rowId?.split(ROW_ID_SEPARATOR)[0] || rowId\n\nexport type TableUser = {\n name: string\n fullName?: string\n}\n\nexport interface ProjectTableProviderProps {\n children: ReactNode\n isInitialized: boolean\n\n // loading\n isLoading: boolean\n isLoadingMore: boolean\n loadingTasks?: LoadingTasks\n error?: string\n users: TableUser[]\n // Attributes\n attribFields: ProjectTableAttribute[]\n scopes: string[]\n\n // Flat folder view\n isFlatFolderView?: boolean\n\n // data\n tasksMap: TaskNodeMap\n foldersMap: FolderNodeMap\n entitiesMap: EntitiesMap\n tasksByFolderMap: TasksByFolderMap\n tableRows?: TableRow[] // any extra rows that we want to add to the table\n\n // grouping\n groups: EntityGroup[]\n groupRowFunc?: (node: any) => TableRow\n overrideGroupBy?: TableGroupBy\n\n // data functions\n fetchNextPage: (value?: string) => void\n reloadTableData: () => void\n\n // Filters\n queryFilters: {\n filter: QueryFilter | undefined\n filterString?: string\n search: string | undefined\n }\n\n // Hierarchy\n showHierarchy: boolean\n updateShowHierarchy: (showHierarchy: boolean) => void\n\n // Expanded state\n expanded: ExpandedState\n toggleExpanded: (id: string) => void\n updateExpanded: OnChangeFn<ExpandedState>\n setExpanded: React.Dispatch<React.SetStateAction<ExpandedState>>\n\n // context menu\n contextMenuItems: ContextMenuItemConstructors\n\n // powerpack context\n powerpack?: PowerpackContextType\n\n // remote modules\n modules: ProjectTableModulesType\n\n groupByConfig?: {\n entityType?: GroupByEntityType\n }\n\n // Custom hierarchy-like options for the group-by settings panel\n // Overrides the default Hierarchy/Folder options when provided\n hierarchyOptions?: Array<{ value: string; label: string; icon: string }>\n\n // Whether hierarchy mode is active (for panel display only)\n // Used when showHierarchy must stay false for table internals (e.g. infinite scroll)\n // but the panel should still highlight the hierarchy option\n hierarchyActive?: boolean\n\n // SubtasksManager component\n SubtasksManager?: React.ComponentType<SubtasksManagerProps>\n\n // player\n playerOpen?: boolean\n onOpenPlayer?: (\n targetIds: {\n taskId?: string\n folderId?: string\n productId?: string\n versionId?: string\n },\n config?: { quickView?: boolean },\n ) => void\n // views\n onResetView?: () => void\n // router hooks\n useParams?: typeof useParams\n useNavigate?: typeof useNavigate\n useLocation?: typeof useLocation\n useSearchParams?: typeof useSearchParams\n}\n\nexport const ProjectTableProvider = ({\n children,\n foldersMap,\n tableRows,\n tasksMap,\n entitiesMap,\n tasksByFolderMap,\n expanded,\n showHierarchy,\n loadingTasks,\n isLoadingMore,\n isLoading,\n error,\n isInitialized,\n users,\n attribFields,\n scopes,\n groups,\n groupRowFunc,\n overrideGroupBy,\n queryFilters,\n updateShowHierarchy,\n toggleExpanded,\n updateExpanded,\n fetchNextPage,\n reloadTableData,\n setExpanded,\n contextMenuItems,\n powerpack,\n modules,\n groupByConfig,\n hierarchyOptions,\n hierarchyActive,\n isFlatFolderView,\n SubtasksManager,\n // player\n playerOpen,\n onOpenPlayer,\n // views\n onResetView,\n useParams,\n useNavigate,\n useLocation,\n useSearchParams,\n}: ProjectTableProviderProps) => {\n const { attrib: projectAttrib } = useProjectContext()\n const { groupBy: columnSettingsGroupBy, groupByConfig: { showEmpty: showEmptyGroups = false } = {} } =\n useColumnSettingsContext()\n\n // DATA TO TABLE\n const defaultTableData = useBuildProjectDataTable({\n foldersMap,\n tasksMap,\n rows: tableRows,\n tasksByFolderMap,\n expanded,\n showHierarchy,\n isFlatFolderView,\n showEmptyFolders: showEmptyGroups,\n loadingTasks,\n isLoadingMore,\n })\n\n // overrideGroupBy (from view dropdown) takes priority over Customize panel's groupBy.\n // In flat folder view, ignore both — the 'folder' sentinel persisted on the server\n // must not leak into grouping logic (it's only used to distinguish the mode from 'none').\n const effectiveGroupBy = isFlatFolderView ? undefined : (overrideGroupBy || columnSettingsGroupBy)\n\n const buildGroupByTableData = useBuildGroupByTableData({\n entities: entitiesMap,\n entityType: groupByConfig?.entityType || 'unknown',\n groups: groups,\n attribFields,\n showEmpty: showEmptyGroups,\n groupRowFunc,\n })\n\n const attribFieldsScoped = useMemo(\n () => attribFields.filter((attrib) => attrib.scope?.some((scope) => scopes.includes(scope))),\n [attribFields, scopes],\n )\n\n // if we are grouping by something, we ignore current tableData and format the data based on the groupBy\n const groupedTableData = useMemo(\n () => !!effectiveGroupBy && buildGroupByTableData(effectiveGroupBy),\n [effectiveGroupBy, entitiesMap, groups],\n )\n\n const tableData = effectiveGroupBy && !isFlatFolderView && groupedTableData ? groupedTableData : defaultTableData\n\n const getEntityById = useCallback(\n (id: string, field: string = 'entityId'): EntityMap | undefined => {\n // defensive check to ensure id is a string\n if (typeof id !== 'string') {\n console.warn('getEntityById called with non-string id:', id)\n return undefined\n }\n // always parse the id to remove any suffixes\n // this can happen if the id is a group by id (we need to make the row id unique)\n const parsedId = parseRowId(id)\n if (foldersMap.has(parsedId)) {\n return foldersMap.get(parsedId)\n } else if (tasksMap.has(parsedId)) {\n return tasksMap.get(parsedId)\n } else if (entitiesMap.has(parsedId)) {\n return entitiesMap.get(parsedId)\n }\n\n // if we have not found the entity at all, double check through the maps using field (entityId)\n for (const [_, entity] of entitiesMap) {\n if (entity[field as keyof EntityMap] === parsedId) {\n return entity\n }\n }\n\n // Return undefined if not found\n return undefined\n },\n [foldersMap, tasksMap, entitiesMap],\n )\n\n // get folder relationship functions\n const {\n getInheritedDependents,\n getChildrenEntities,\n findInheritedValueFromAncestors,\n findNonInheritedValues,\n getAncestorsOf,\n } = useFolderRelationships({\n entitiesMap,\n tasksMap,\n tasksByFolderMap,\n getEntityById,\n projectAttrib,\n attribFields: attribFields,\n })\n\n const toggleExpandAll: ProjectTableContextType['toggleExpandAll'] = useCallback(\n (rowIds, expandAll) => {\n const expandedState = typeof expanded === 'object' ? expanded : {}\n\n const newExpandedState = { ...expandedState }\n\n rowIds.forEach((rowId) => {\n // get all children of the rowId using tableData\n const childIds = getChildrenEntities(rowId).map((child) => child.id)\n // check if the rowId is expanded\n const isExpanded = expandedState[rowId] || false\n\n if (expandAll !== undefined ? !expandAll : isExpanded) {\n // collapse all children\n newExpandedState[rowId] = false\n childIds.forEach((id) => {\n newExpandedState[id] = false\n })\n } else {\n // expand all children\n newExpandedState[rowId] = true\n childIds.forEach((id) => {\n newExpandedState[id] = true\n })\n }\n })\n\n setExpanded(newExpandedState)\n },\n [expanded, getChildrenEntities, setExpanded],\n )\n\n const toggleExpands: ProjectTableContextType['toggleExpands'] = useCallback(\n (rowIds, expand) => {\n const expandedState = typeof expanded === 'object' ? expanded : {}\n const newExpandedState = { ...expandedState }\n\n rowIds.forEach((rowId) => {\n if (expand !== undefined) {\n // Use the provided expand parameter\n newExpandedState[rowId] = expand\n } else {\n // Toggle based on current state\n newExpandedState[rowId] = !expandedState[rowId]\n }\n })\n\n setExpanded(newExpandedState)\n },\n [expanded, setExpanded],\n )\n\n return (\n <ProjectTableContext.Provider\n value={{\n // from this context\n tableData,\n // forwarded on\n isInitialized,\n isLoading,\n error,\n attribFields,\n attribFieldsScoped,\n scopes,\n users,\n tasksMap,\n foldersMap,\n entitiesMap,\n fetchNextPage,\n reloadTableData,\n groups,\n overrideGroupBy,\n queryFilters,\n // hierarchy\n showHierarchy,\n updateShowHierarchy,\n hierarchyOptions,\n hierarchyActive,\n // flat folder view\n isFlatFolderView,\n // expanded state\n expanded,\n setExpanded,\n toggleExpanded,\n updateExpanded,\n toggleExpandAll,\n toggleExpands,\n getEntityById,\n // folder relationships\n getInheritedDependents,\n findInheritedValueFromAncestors,\n findNonInheritedValues,\n getAncestorsOf,\n // context menu\n contextMenuItems,\n // powerpack context\n powerpack,\n modules,\n // SubtasksManager\n SubtasksManager,\n // player\n playerOpen,\n onOpenPlayer,\n // views\n onResetView,\n // router hooks\n useParams,\n useNavigate,\n useLocation,\n useSearchParams,\n }}\n >\n {children}\n </ProjectTableContext.Provider>\n )\n}\n"],"names":["parseRowId","rowId","ROW_ID_SEPARATOR","ProjectTableProvider","children","foldersMap","tableRows","tasksMap","entitiesMap","tasksByFolderMap","expanded","showHierarchy","loadingTasks","isLoadingMore","isLoading","error","isInitialized","users","attribFields","scopes","groups","groupRowFunc","overrideGroupBy","queryFilters","updateShowHierarchy","toggleExpanded","updateExpanded","fetchNextPage","reloadTableData","setExpanded","contextMenuItems","powerpack","modules","groupByConfig","hierarchyOptions","hierarchyActive","isFlatFolderView","SubtasksManager","playerOpen","onOpenPlayer","onResetView","useParams","useNavigate","useLocation","useSearchParams","projectAttrib","useProjectContext","columnSettingsGroupBy","showEmptyGroups","useColumnSettingsContext","defaultTableData","useBuildProjectDataTable","effectiveGroupBy","buildGroupByTableData","useBuildGroupByTableData","attribFieldsScoped","useMemo","attrib","scope","groupedTableData","tableData","getEntityById","useCallback","id","field","parsedId","_","entity","getInheritedDependents","getChildrenEntities","findInheritedValueFromAncestors","findNonInheritedValues","getAncestorsOf","useFolderRelationships","toggleExpandAll","rowIds","expandAll","expandedState","newExpandedState","childIds","child","isExpanded","toggleExpands","expand","jsx","ProjectTableContext"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("../../../../../_virtual/jsx-runtime.cjs.js"),o=require("react"),d=require("./SelectionCellsContext.cjs.js"),n=require("../utils/cellUtils.cjs.js"),_=require("./SelectedRowsContext.cjs.js"),p=require("./DetailsPanelEntityContext.cjs.js"),v=({children:f})=>{const{selectedCells:I,gridMap:r,setSelectedCells:u,setFocusedCellId:h,setAnchorCell:x}=d.useSelectionCellsContext();let c;try{c=p.useDetailsPanelEntityContext().clearSelectedEntity}catch{c=void 0}const C=o.useRef([]),a=o.useMemo(()=>Array.from(I).filter(e=>n.parseCellId(e)?.colId===d.ROW_SELECTION_COLUMN_ID&&n.parseCellId(e)?.rowId).map(e=>n.parseCellId(e)?.rowId).filter(e=>e!==void 0&&(r.rowIdToIndex.size===0||r.rowIdToIndex.has(e))),[I,r]),t=o.useMemo(()=>{const e=[...a].sort(),s=[...C.current].sort();return e.length!==s.length||e.some((y,O)=>y!==s[O])?(C.current=a,a):C.current},[a]);o.useEffect(()=>{t.length>0&&c&&c()},[t.length,c]);const S=o.useCallback(()=>{const e=Array.from(r.rowIdToIndex.keys()),s=new Set;if(e.forEach(l=>{s.add(n.getCellId(l,d.ROW_SELECTION_COLUMN_ID))}),u(s),e.length>0){const l=n.getCellId(e[0],d.ROW_SELECTION_COLUMN_ID);h(l),x(n.parseCellId(l))}},[r]),w=o.useCallback(()=>{u(e=>{const s=new Set(e);return Array.from(s).forEach(l=>{n.parseCellId(l)?.colId===d.ROW_SELECTION_COLUMN_ID&&s.delete(l)}),s})},[u]),E=o.useCallback(e=>t.includes(e),[t]),i=o.useCallback(()=>{const e=r.rowIdToIndex.size;return e>0&&t.length===e},[r,t]),R=o.useCallback(()=>t.length>0&&!i(),[t,i]),g=o.useMemo(()=>({selectedRows:t,selectAllRows:S,clearRowsSelection:w,isRowSelected:E,areAllRowsSelected:i,areSomeRowsSelected:R}),[t,S,i,R,w]);return m.jsxRuntimeExports.jsx(_.SelectedRowsContext.Provider,{value:g,children:f})};exports.SelectedRowsProvider=v;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("../../../../../_virtual/jsx-runtime.cjs.js"),o=require("react"),_=require("./SelectionCellsContext.cjs.js"),n=require("../utils/cellUtils.cjs.js"),p=require("./SelectedRowsContext.cjs.js"),v=require("./DetailsPanelEntityContext.cjs.js"),i=require("../constants.cjs.js"),M=({children:f})=>{const{selectedCells:I,gridMap:r,setSelectedCells:u,setFocusedCellId:h,setAnchorCell:x}=_.useSelectionCellsContext();let c;try{c=v.useDetailsPanelEntityContext().clearSelectedEntity}catch{c=void 0}const C=o.useRef([]),d=o.useMemo(()=>Array.from(I).filter(e=>n.parseCellId(e)?.colId===i.ROW_SELECTION_COLUMN_ID&&n.parseCellId(e)?.rowId).map(e=>n.parseCellId(e)?.rowId).filter(e=>e!==void 0&&(r.rowIdToIndex.size===0||r.rowIdToIndex.has(e))),[I,r]),t=o.useMemo(()=>{const e=[...d].sort(),s=[...C.current].sort();return e.length!==s.length||e.some((y,O)=>y!==s[O])?(C.current=d,d):C.current},[d]);o.useEffect(()=>{t.length>0&&c&&c()},[t.length,c]);const S=o.useCallback(()=>{const e=Array.from(r.rowIdToIndex.keys()),s=new Set;if(e.forEach(l=>{s.add(n.getCellId(l,i.ROW_SELECTION_COLUMN_ID))}),u(s),e.length>0){const l=n.getCellId(e[0],i.ROW_SELECTION_COLUMN_ID);h(l),x(n.parseCellId(l))}},[r]),w=o.useCallback(()=>{u(e=>{const s=new Set(e);return Array.from(s).forEach(l=>{n.parseCellId(l)?.colId===i.ROW_SELECTION_COLUMN_ID&&s.delete(l)}),s})},[u]),E=o.useCallback(e=>t.includes(e),[t]),a=o.useCallback(()=>{const e=r.rowIdToIndex.size;return e>0&&t.length===e},[r,t]),R=o.useCallback(()=>t.length>0&&!a(),[t,a]),g=o.useMemo(()=>({selectedRows:t,selectAllRows:S,clearRowsSelection:w,isRowSelected:E,areAllRowsSelected:a,areSomeRowsSelected:R}),[t,S,a,R,w]);return m.jsxRuntimeExports.jsx(p.SelectedRowsContext.Provider,{value:g,children:f})};exports.SelectedRowsProvider=M;
2
2
  //# sourceMappingURL=SelectedRowsProvider.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectedRowsProvider.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/SelectedRowsProvider.tsx"],"sourcesContent":["import { ReactNode, useCallback, useMemo, useRef, useEffect } from 'react'\nimport { ROW_SELECTION_COLUMN_ID, useSelectionCellsContext } from './SelectionCellsContext'\nimport { CellId, getCellId, parseCellId, RowId } from '../utils/cellUtils'\nimport { SelectedRowsContext } from './SelectedRowsContext'\nimport { useDetailsPanelEntityContext } from './DetailsPanelEntityContext'\n\ninterface SelectedRowsProviderProps {\n children: ReactNode\n}\n\nexport const SelectedRowsProvider = ({ children }: SelectedRowsProviderProps) => {\n const { selectedCells, gridMap, setSelectedCells, setFocusedCellId, setAnchorCell } =\n useSelectionCellsContext()\n\n // Try to get the entity context, but it might not exist\n let clearSelectedEntity: (() => void) | undefined\n try {\n const entityContext = useDetailsPanelEntityContext()\n clearSelectedEntity = entityContext.clearSelectedEntity\n } catch {\n // Context not available, that's fine\n clearSelectedEntity = undefined\n }\n\n const prevSelectedRowsRef = useRef<string[]>([])\n\n // Calculate the current selected rows, filtering out rows that no longer exist in the grid\n const currentSelectedRows = 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)\n .filter((rowId): rowId is string =>\n rowId !== undefined\n // in case the grid map hasn't been initialised, we ignore it\n && (gridMap.rowIdToIndex.size === 0 || gridMap.rowIdToIndex.has(rowId))),\n [selectedCells, gridMap],\n )\n\n // Memoize the selected rows with a stable reference\n const selectedRows = useMemo(() => {\n // Sort for consistent comparison\n const sortedCurrent = [...currentSelectedRows].sort()\n const sortedPrev = [...prevSelectedRowsRef.current].sort()\n\n // Check if the arrays are different\n const hasChanged =\n sortedCurrent.length !== sortedPrev.length ||\n sortedCurrent.some((id, index) => id !== sortedPrev[index])\n\n // Update ref and return new array only if changed\n if (hasChanged) {\n prevSelectedRowsRef.current = currentSelectedRows\n return currentSelectedRows\n }\n\n // Return the previous reference if no change\n return prevSelectedRowsRef.current\n }, [currentSelectedRows])\n\n // Clear entity details when rows are selected\n useEffect(() => {\n if (selectedRows.length > 0 && clearSelectedEntity) {\n clearSelectedEntity()\n }\n }, [selectedRows.length, clearSelectedEntity])\n\n // Select all rows in the grid\n const selectAllRows = useCallback(() => {\n const allRowIds = Array.from(gridMap.rowIdToIndex.keys())\n const newSelection = new Set<CellId>()\n\n // Create cells for each row with the row selection column ID\n allRowIds.forEach((rowId) => {\n newSelection.add(getCellId(rowId, ROW_SELECTION_COLUMN_ID))\n })\n\n setSelectedCells(newSelection)\n // If there are rows, set focus to the first one\n if (allRowIds.length > 0) {\n const firstCellId = getCellId(allRowIds[0], ROW_SELECTION_COLUMN_ID)\n setFocusedCellId(firstCellId)\n setAnchorCell(parseCellId(firstCellId))\n }\n }, [gridMap])\n\n // clear rows selection\n const clearRowsSelection = useCallback(() => {\n setSelectedCells((prev) => {\n const newSelection = new Set(prev)\n Array.from(newSelection).forEach((cellId) => {\n if (parseCellId(cellId)?.colId === ROW_SELECTION_COLUMN_ID) {\n newSelection.delete(cellId)\n }\n })\n return newSelection\n })\n }, [setSelectedCells])\n\n // check if a row is selected (using selectedRows array)\n const isRowSelected = useCallback(\n (rowId: RowId) => {\n return selectedRows.includes(rowId)\n },\n [selectedRows],\n )\n\n // Check if all rows are selected\n const areAllRowsSelected = useCallback(() => {\n const totalRows = gridMap.rowIdToIndex.size\n return totalRows > 0 && selectedRows.length === totalRows\n }, [gridMap, selectedRows])\n\n // Check if some but not all rows are selected\n const areSomeRowsSelected = useCallback(() => {\n return selectedRows.length > 0 && !areAllRowsSelected()\n }, [selectedRows, areAllRowsSelected])\n\n const value = useMemo(() => {\n return {\n selectedRows,\n selectAllRows,\n clearRowsSelection,\n isRowSelected,\n areAllRowsSelected,\n areSomeRowsSelected,\n }\n }, [selectedRows, selectAllRows, areAllRowsSelected, areSomeRowsSelected, clearRowsSelection])\n\n return <SelectedRowsContext.Provider value={value}>{children}</SelectedRowsContext.Provider>\n}\n"],"names":["SelectedRowsProvider","children","selectedCells","gridMap","setSelectedCells","setFocusedCellId","setAnchorCell","useSelectionCellsContext","clearSelectedEntity","useDetailsPanelEntityContext","prevSelectedRowsRef","useRef","currentSelectedRows","useMemo","cellId","parseCellId","ROW_SELECTION_COLUMN_ID","rowId","selectedRows","sortedCurrent","sortedPrev","id","index","useEffect","selectAllRows","useCallback","allRowIds","newSelection","getCellId","firstCellId","clearRowsSelection","prev","isRowSelected","areAllRowsSelected","totalRows","areSomeRowsSelected","value","jsx","SelectedRowsContext"],"mappings":"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"}
1
+ {"version":3,"file":"SelectedRowsProvider.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/SelectedRowsProvider.tsx"],"sourcesContent":["import { ReactNode, useCallback, useMemo, useRef, useEffect } from 'react'\nimport { useSelectionCellsContext } from './SelectionCellsContext'\nimport { CellId, getCellId, parseCellId, RowId } from '../utils/cellUtils'\nimport { SelectedRowsContext } from './SelectedRowsContext'\nimport { useDetailsPanelEntityContext } from './DetailsPanelEntityContext'\nimport { ROW_SELECTION_COLUMN_ID } from '../constants'\n\ninterface SelectedRowsProviderProps {\n children: ReactNode\n}\n\nexport const SelectedRowsProvider = ({ children }: SelectedRowsProviderProps) => {\n const { selectedCells, gridMap, setSelectedCells, setFocusedCellId, setAnchorCell } =\n useSelectionCellsContext()\n\n // Try to get the entity context, but it might not exist\n let clearSelectedEntity: (() => void) | undefined\n try {\n const entityContext = useDetailsPanelEntityContext()\n clearSelectedEntity = entityContext.clearSelectedEntity\n } catch {\n // Context not available, that's fine\n clearSelectedEntity = undefined\n }\n\n const prevSelectedRowsRef = useRef<string[]>([])\n\n // Calculate the current selected rows, filtering out rows that no longer exist in the grid\n const currentSelectedRows = 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)\n .filter(\n (rowId): rowId is string =>\n rowId !== undefined &&\n // in case the grid map hasn't been initialised, we ignore it\n (gridMap.rowIdToIndex.size === 0 || gridMap.rowIdToIndex.has(rowId)),\n ),\n [selectedCells, gridMap],\n )\n\n // Memoize the selected rows with a stable reference\n const selectedRows = useMemo(() => {\n // Sort for consistent comparison\n const sortedCurrent = [...currentSelectedRows].sort()\n const sortedPrev = [...prevSelectedRowsRef.current].sort()\n\n // Check if the arrays are different\n const hasChanged =\n sortedCurrent.length !== sortedPrev.length ||\n sortedCurrent.some((id, index) => id !== sortedPrev[index])\n\n // Update ref and return new array only if changed\n if (hasChanged) {\n prevSelectedRowsRef.current = currentSelectedRows\n return currentSelectedRows\n }\n\n // Return the previous reference if no change\n return prevSelectedRowsRef.current\n }, [currentSelectedRows])\n\n // Clear entity details when rows are selected\n useEffect(() => {\n if (selectedRows.length > 0 && clearSelectedEntity) {\n clearSelectedEntity()\n }\n }, [selectedRows.length, clearSelectedEntity])\n\n // Select all rows in the grid\n const selectAllRows = useCallback(() => {\n const allRowIds = Array.from(gridMap.rowIdToIndex.keys())\n const newSelection = new Set<CellId>()\n\n // Create cells for each row with the row selection column ID\n allRowIds.forEach((rowId) => {\n newSelection.add(getCellId(rowId, ROW_SELECTION_COLUMN_ID))\n })\n\n setSelectedCells(newSelection)\n // If there are rows, set focus to the first one\n if (allRowIds.length > 0) {\n const firstCellId = getCellId(allRowIds[0], ROW_SELECTION_COLUMN_ID)\n setFocusedCellId(firstCellId)\n setAnchorCell(parseCellId(firstCellId))\n }\n }, [gridMap])\n\n // clear rows selection\n const clearRowsSelection = useCallback(() => {\n setSelectedCells((prev) => {\n const newSelection = new Set(prev)\n Array.from(newSelection).forEach((cellId) => {\n if (parseCellId(cellId)?.colId === ROW_SELECTION_COLUMN_ID) {\n newSelection.delete(cellId)\n }\n })\n return newSelection\n })\n }, [setSelectedCells])\n\n // check if a row is selected (using selectedRows array)\n const isRowSelected = useCallback(\n (rowId: RowId) => {\n return selectedRows.includes(rowId)\n },\n [selectedRows],\n )\n\n // Check if all rows are selected\n const areAllRowsSelected = useCallback(() => {\n const totalRows = gridMap.rowIdToIndex.size\n return totalRows > 0 && selectedRows.length === totalRows\n }, [gridMap, selectedRows])\n\n // Check if some but not all rows are selected\n const areSomeRowsSelected = useCallback(() => {\n return selectedRows.length > 0 && !areAllRowsSelected()\n }, [selectedRows, areAllRowsSelected])\n\n const value = useMemo(() => {\n return {\n selectedRows,\n selectAllRows,\n clearRowsSelection,\n isRowSelected,\n areAllRowsSelected,\n areSomeRowsSelected,\n }\n }, [selectedRows, selectAllRows, areAllRowsSelected, areSomeRowsSelected, clearRowsSelection])\n\n return <SelectedRowsContext.Provider value={value}>{children}</SelectedRowsContext.Provider>\n}\n"],"names":["SelectedRowsProvider","children","selectedCells","gridMap","setSelectedCells","setFocusedCellId","setAnchorCell","useSelectionCellsContext","clearSelectedEntity","useDetailsPanelEntityContext","prevSelectedRowsRef","useRef","currentSelectedRows","useMemo","cellId","parseCellId","ROW_SELECTION_COLUMN_ID","rowId","selectedRows","sortedCurrent","sortedPrev","id","index","useEffect","selectAllRows","useCallback","allRowIds","newSelection","getCellId","firstCellId","clearRowsSelection","prev","isRowSelected","areAllRowsSelected","totalRows","areSomeRowsSelected","value","jsx","SelectedRowsContext"],"mappings":"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"}
@@ -1,25 +1,29 @@
1
1
  import { j as A } from "../../../../../_virtual/jsx-runtime.es.js";
2
- import { useRef as T, useMemo as w, useEffect as P, useCallback as l } from "react";
3
- import { useSelectionCellsContext as j, ROW_SELECTION_COLUMN_ID as a } from "./SelectionCellsContext.es.js";
2
+ import { useRef as T, useMemo as m, useEffect as P, useCallback as l } from "react";
3
+ import { useSelectionCellsContext as j } from "./SelectionCellsContext.es.js";
4
4
  import { parseCellId as c, getCellId as I } from "../utils/cellUtils.es.js";
5
5
  import { SelectedRowsContext as M } from "./SelectedRowsContext.es.js";
6
6
  import { useDetailsPanelEntityContext as O } from "./DetailsPanelEntityContext.es.js";
7
- const b = ({ children: R }) => {
8
- const { selectedCells: m, gridMap: n, setSelectedCells: u, setFocusedCellId: x, setAnchorCell: p } = j();
7
+ import { ROW_SELECTION_COLUMN_ID as a } from "../constants.es.js";
8
+ const F = ({ children: R }) => {
9
+ const { selectedCells: w, gridMap: n, setSelectedCells: f, setFocusedCellId: p, setAnchorCell: x } = j();
9
10
  let s;
10
11
  try {
11
12
  s = O().clearSelectedEntity;
12
13
  } catch {
13
14
  s = void 0;
14
15
  }
15
- const f = T([]), d = w(
16
- () => Array.from(m).filter(
16
+ const u = T([]), d = m(
17
+ () => Array.from(w).filter(
17
18
  (e) => c(e)?.colId === a && c(e)?.rowId
18
- ).map((e) => c(e)?.rowId).filter((e) => e !== void 0 && (n.rowIdToIndex.size === 0 || n.rowIdToIndex.has(e))),
19
- [m, n]
20
- ), t = w(() => {
21
- const e = [...d].sort(), o = [...f.current].sort();
22
- return e.length !== o.length || e.some((E, v) => E !== o[v]) ? (f.current = d, d) : f.current;
19
+ ).map((e) => c(e)?.rowId).filter(
20
+ (e) => e !== void 0 && // in case the grid map hasn't been initialised, we ignore it
21
+ (n.rowIdToIndex.size === 0 || n.rowIdToIndex.has(e))
22
+ ),
23
+ [w, n]
24
+ ), t = m(() => {
25
+ const e = [...d].sort(), o = [...u.current].sort();
26
+ return e.length !== o.length || e.some((E, v) => E !== o[v]) ? (u.current = d, d) : u.current;
23
27
  }, [d]);
24
28
  P(() => {
25
29
  t.length > 0 && s && s();
@@ -28,24 +32,24 @@ const b = ({ children: R }) => {
28
32
  const e = Array.from(n.rowIdToIndex.keys()), o = /* @__PURE__ */ new Set();
29
33
  if (e.forEach((r) => {
30
34
  o.add(I(r, a));
31
- }), u(o), e.length > 0) {
35
+ }), f(o), e.length > 0) {
32
36
  const r = I(e[0], a);
33
- x(r), p(c(r));
37
+ p(r), x(c(r));
34
38
  }
35
39
  }, [n]), S = l(() => {
36
- u((e) => {
40
+ f((e) => {
37
41
  const o = new Set(e);
38
42
  return Array.from(o).forEach((r) => {
39
43
  c(r)?.colId === a && o.delete(r);
40
44
  }), o;
41
45
  });
42
- }, [u]), g = l(
46
+ }, [f]), g = l(
43
47
  (e) => t.includes(e),
44
48
  [t]
45
49
  ), i = l(() => {
46
50
  const e = n.rowIdToIndex.size;
47
51
  return e > 0 && t.length === e;
48
- }, [n, t]), h = l(() => t.length > 0 && !i(), [t, i]), y = w(() => ({
52
+ }, [n, t]), h = l(() => t.length > 0 && !i(), [t, i]), y = m(() => ({
49
53
  selectedRows: t,
50
54
  selectAllRows: C,
51
55
  clearRowsSelection: S,
@@ -56,6 +60,6 @@ const b = ({ children: R }) => {
56
60
  return /* @__PURE__ */ A.jsx(M.Provider, { value: y, children: R });
57
61
  };
58
62
  export {
59
- b as SelectedRowsProvider
63
+ F as SelectedRowsProvider
60
64
  };
61
65
  //# sourceMappingURL=SelectedRowsProvider.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectedRowsProvider.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/SelectedRowsProvider.tsx"],"sourcesContent":["import { ReactNode, useCallback, useMemo, useRef, useEffect } from 'react'\nimport { ROW_SELECTION_COLUMN_ID, useSelectionCellsContext } from './SelectionCellsContext'\nimport { CellId, getCellId, parseCellId, RowId } from '../utils/cellUtils'\nimport { SelectedRowsContext } from './SelectedRowsContext'\nimport { useDetailsPanelEntityContext } from './DetailsPanelEntityContext'\n\ninterface SelectedRowsProviderProps {\n children: ReactNode\n}\n\nexport const SelectedRowsProvider = ({ children }: SelectedRowsProviderProps) => {\n const { selectedCells, gridMap, setSelectedCells, setFocusedCellId, setAnchorCell } =\n useSelectionCellsContext()\n\n // Try to get the entity context, but it might not exist\n let clearSelectedEntity: (() => void) | undefined\n try {\n const entityContext = useDetailsPanelEntityContext()\n clearSelectedEntity = entityContext.clearSelectedEntity\n } catch {\n // Context not available, that's fine\n clearSelectedEntity = undefined\n }\n\n const prevSelectedRowsRef = useRef<string[]>([])\n\n // Calculate the current selected rows, filtering out rows that no longer exist in the grid\n const currentSelectedRows = 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)\n .filter((rowId): rowId is string =>\n rowId !== undefined\n // in case the grid map hasn't been initialised, we ignore it\n && (gridMap.rowIdToIndex.size === 0 || gridMap.rowIdToIndex.has(rowId))),\n [selectedCells, gridMap],\n )\n\n // Memoize the selected rows with a stable reference\n const selectedRows = useMemo(() => {\n // Sort for consistent comparison\n const sortedCurrent = [...currentSelectedRows].sort()\n const sortedPrev = [...prevSelectedRowsRef.current].sort()\n\n // Check if the arrays are different\n const hasChanged =\n sortedCurrent.length !== sortedPrev.length ||\n sortedCurrent.some((id, index) => id !== sortedPrev[index])\n\n // Update ref and return new array only if changed\n if (hasChanged) {\n prevSelectedRowsRef.current = currentSelectedRows\n return currentSelectedRows\n }\n\n // Return the previous reference if no change\n return prevSelectedRowsRef.current\n }, [currentSelectedRows])\n\n // Clear entity details when rows are selected\n useEffect(() => {\n if (selectedRows.length > 0 && clearSelectedEntity) {\n clearSelectedEntity()\n }\n }, [selectedRows.length, clearSelectedEntity])\n\n // Select all rows in the grid\n const selectAllRows = useCallback(() => {\n const allRowIds = Array.from(gridMap.rowIdToIndex.keys())\n const newSelection = new Set<CellId>()\n\n // Create cells for each row with the row selection column ID\n allRowIds.forEach((rowId) => {\n newSelection.add(getCellId(rowId, ROW_SELECTION_COLUMN_ID))\n })\n\n setSelectedCells(newSelection)\n // If there are rows, set focus to the first one\n if (allRowIds.length > 0) {\n const firstCellId = getCellId(allRowIds[0], ROW_SELECTION_COLUMN_ID)\n setFocusedCellId(firstCellId)\n setAnchorCell(parseCellId(firstCellId))\n }\n }, [gridMap])\n\n // clear rows selection\n const clearRowsSelection = useCallback(() => {\n setSelectedCells((prev) => {\n const newSelection = new Set(prev)\n Array.from(newSelection).forEach((cellId) => {\n if (parseCellId(cellId)?.colId === ROW_SELECTION_COLUMN_ID) {\n newSelection.delete(cellId)\n }\n })\n return newSelection\n })\n }, [setSelectedCells])\n\n // check if a row is selected (using selectedRows array)\n const isRowSelected = useCallback(\n (rowId: RowId) => {\n return selectedRows.includes(rowId)\n },\n [selectedRows],\n )\n\n // Check if all rows are selected\n const areAllRowsSelected = useCallback(() => {\n const totalRows = gridMap.rowIdToIndex.size\n return totalRows > 0 && selectedRows.length === totalRows\n }, [gridMap, selectedRows])\n\n // Check if some but not all rows are selected\n const areSomeRowsSelected = useCallback(() => {\n return selectedRows.length > 0 && !areAllRowsSelected()\n }, [selectedRows, areAllRowsSelected])\n\n const value = useMemo(() => {\n return {\n selectedRows,\n selectAllRows,\n clearRowsSelection,\n isRowSelected,\n areAllRowsSelected,\n areSomeRowsSelected,\n }\n }, [selectedRows, selectAllRows, areAllRowsSelected, areSomeRowsSelected, clearRowsSelection])\n\n return <SelectedRowsContext.Provider value={value}>{children}</SelectedRowsContext.Provider>\n}\n"],"names":["SelectedRowsProvider","children","selectedCells","gridMap","setSelectedCells","setFocusedCellId","setAnchorCell","useSelectionCellsContext","clearSelectedEntity","useDetailsPanelEntityContext","prevSelectedRowsRef","useRef","currentSelectedRows","useMemo","cellId","parseCellId","ROW_SELECTION_COLUMN_ID","rowId","selectedRows","sortedCurrent","sortedPrev","id","index","useEffect","selectAllRows","useCallback","allRowIds","newSelection","getCellId","firstCellId","clearRowsSelection","prev","isRowSelected","areAllRowsSelected","totalRows","areSomeRowsSelected","value","jsx","SelectedRowsContext"],"mappings":"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"}
1
+ {"version":3,"file":"SelectedRowsProvider.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/SelectedRowsProvider.tsx"],"sourcesContent":["import { ReactNode, useCallback, useMemo, useRef, useEffect } from 'react'\nimport { useSelectionCellsContext } from './SelectionCellsContext'\nimport { CellId, getCellId, parseCellId, RowId } from '../utils/cellUtils'\nimport { SelectedRowsContext } from './SelectedRowsContext'\nimport { useDetailsPanelEntityContext } from './DetailsPanelEntityContext'\nimport { ROW_SELECTION_COLUMN_ID } from '../constants'\n\ninterface SelectedRowsProviderProps {\n children: ReactNode\n}\n\nexport const SelectedRowsProvider = ({ children }: SelectedRowsProviderProps) => {\n const { selectedCells, gridMap, setSelectedCells, setFocusedCellId, setAnchorCell } =\n useSelectionCellsContext()\n\n // Try to get the entity context, but it might not exist\n let clearSelectedEntity: (() => void) | undefined\n try {\n const entityContext = useDetailsPanelEntityContext()\n clearSelectedEntity = entityContext.clearSelectedEntity\n } catch {\n // Context not available, that's fine\n clearSelectedEntity = undefined\n }\n\n const prevSelectedRowsRef = useRef<string[]>([])\n\n // Calculate the current selected rows, filtering out rows that no longer exist in the grid\n const currentSelectedRows = 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)\n .filter(\n (rowId): rowId is string =>\n rowId !== undefined &&\n // in case the grid map hasn't been initialised, we ignore it\n (gridMap.rowIdToIndex.size === 0 || gridMap.rowIdToIndex.has(rowId)),\n ),\n [selectedCells, gridMap],\n )\n\n // Memoize the selected rows with a stable reference\n const selectedRows = useMemo(() => {\n // Sort for consistent comparison\n const sortedCurrent = [...currentSelectedRows].sort()\n const sortedPrev = [...prevSelectedRowsRef.current].sort()\n\n // Check if the arrays are different\n const hasChanged =\n sortedCurrent.length !== sortedPrev.length ||\n sortedCurrent.some((id, index) => id !== sortedPrev[index])\n\n // Update ref and return new array only if changed\n if (hasChanged) {\n prevSelectedRowsRef.current = currentSelectedRows\n return currentSelectedRows\n }\n\n // Return the previous reference if no change\n return prevSelectedRowsRef.current\n }, [currentSelectedRows])\n\n // Clear entity details when rows are selected\n useEffect(() => {\n if (selectedRows.length > 0 && clearSelectedEntity) {\n clearSelectedEntity()\n }\n }, [selectedRows.length, clearSelectedEntity])\n\n // Select all rows in the grid\n const selectAllRows = useCallback(() => {\n const allRowIds = Array.from(gridMap.rowIdToIndex.keys())\n const newSelection = new Set<CellId>()\n\n // Create cells for each row with the row selection column ID\n allRowIds.forEach((rowId) => {\n newSelection.add(getCellId(rowId, ROW_SELECTION_COLUMN_ID))\n })\n\n setSelectedCells(newSelection)\n // If there are rows, set focus to the first one\n if (allRowIds.length > 0) {\n const firstCellId = getCellId(allRowIds[0], ROW_SELECTION_COLUMN_ID)\n setFocusedCellId(firstCellId)\n setAnchorCell(parseCellId(firstCellId))\n }\n }, [gridMap])\n\n // clear rows selection\n const clearRowsSelection = useCallback(() => {\n setSelectedCells((prev) => {\n const newSelection = new Set(prev)\n Array.from(newSelection).forEach((cellId) => {\n if (parseCellId(cellId)?.colId === ROW_SELECTION_COLUMN_ID) {\n newSelection.delete(cellId)\n }\n })\n return newSelection\n })\n }, [setSelectedCells])\n\n // check if a row is selected (using selectedRows array)\n const isRowSelected = useCallback(\n (rowId: RowId) => {\n return selectedRows.includes(rowId)\n },\n [selectedRows],\n )\n\n // Check if all rows are selected\n const areAllRowsSelected = useCallback(() => {\n const totalRows = gridMap.rowIdToIndex.size\n return totalRows > 0 && selectedRows.length === totalRows\n }, [gridMap, selectedRows])\n\n // Check if some but not all rows are selected\n const areSomeRowsSelected = useCallback(() => {\n return selectedRows.length > 0 && !areAllRowsSelected()\n }, [selectedRows, areAllRowsSelected])\n\n const value = useMemo(() => {\n return {\n selectedRows,\n selectAllRows,\n clearRowsSelection,\n isRowSelected,\n areAllRowsSelected,\n areSomeRowsSelected,\n }\n }, [selectedRows, selectAllRows, areAllRowsSelected, areSomeRowsSelected, clearRowsSelection])\n\n return <SelectedRowsContext.Provider value={value}>{children}</SelectedRowsContext.Provider>\n}\n"],"names":["SelectedRowsProvider","children","selectedCells","gridMap","setSelectedCells","setFocusedCellId","setAnchorCell","useSelectionCellsContext","clearSelectedEntity","useDetailsPanelEntityContext","prevSelectedRowsRef","useRef","currentSelectedRows","useMemo","cellId","parseCellId","ROW_SELECTION_COLUMN_ID","rowId","selectedRows","sortedCurrent","sortedPrev","id","index","useEffect","selectAllRows","useCallback","allRowIds","newSelection","getCellId","firstCellId","clearRowsSelection","prev","isRowSelected","areAllRowsSelected","totalRows","areSomeRowsSelected","value","jsx","SelectedRowsContext"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react"),n="__row_selection__",o=t.createContext(void 0),l=()=>{const e=t.useContext(o);if(e===void 0)throw new Error("useSelectionCellsContext must be used within a SelectionCellsProvider");return e};exports.ROW_SELECTION_COLUMN_ID=n;exports.SelectionCellsContext=o;exports.useSelectionCellsContext=l;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react"),o=t.createContext(void 0),n=()=>{const e=t.useContext(o);if(e===void 0)throw new Error("useSelectionCellsContext must be used within a SelectionCellsProvider");return e};exports.SelectionCellsContext=o;exports.useSelectionCellsContext=n;
2
2
  //# sourceMappingURL=SelectionCellsContext.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionCellsContext.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/SelectionCellsContext.ts"],"sourcesContent":["import React, { createContext, useContext } from 'react'\nimport {\n CellId,\n RowId,\n ColId,\n CellPosition,\n} from '../utils/cellUtils'\n\nexport const ROW_SELECTION_COLUMN_ID = '__row_selection__' // ID for the row selection column\n\n// Structure to map row/column IDs to their positions in the grid\nexport interface GridMap {\n rowIdToIndex: Map<RowId, number>\n colIdToIndex: Map<ColId, number>\n indexToRowId: Map<number, RowId>\n indexToColId: Map<number, ColId>\n}\n\nexport interface SelectionCellsContextType {\n // Selected cells\n selectedCells: Set<CellId>\n // Focused cell (single cell that has focus)\n focusedCellId: CellId | null\n // Selection in progress state\n selectionInProgress: boolean\n // Anchor point for range selections\n anchorCell: CellPosition | null\n // Grid mapping for coordinate lookups\n gridMap: GridMap\n\n selectedRows: string[] // Array of selected row IDs\n\n // State setters\n setSelectedCells: React.Dispatch<React.SetStateAction<Set<CellId>>>\n setFocusedCellId: React.Dispatch<React.SetStateAction<CellId | null>>\n setAnchorCell: React.Dispatch<React.SetStateAction<CellPosition | null>>\n // Methods\n registerGrid: (rows: RowId[], columns: ColId[]) => void\n selectCell: (cellId: CellId, additive: boolean, range: boolean) => void\n startSelection: (cellId: CellId, additive: boolean) => void\n extendSelection: (cellId: CellId, isRowSelectionColumn?: boolean) => void\n endSelection: (cellId: CellId) => void\n focusCell: (cellId: CellId | null) => void\n clearSelection: () => void\n isCellSelected: (cellId: CellId) => boolean\n isCellFocused: (cellId: CellId) => boolean\n getCellPositionFromId: (cellId: CellId) => CellPosition | null\n getCellBorderClasses: (cellId: CellId) => string[]\n}\n\n// Create the context\nexport const SelectionCellsContext = createContext<SelectionCellsContextType | undefined>(undefined)\n\nexport const useSelectionCellsContext = (): SelectionCellsContextType => {\n const context = useContext(SelectionCellsContext)\n if (context === undefined) {\n throw new Error('useSelectionCellsContext must be used within a SelectionCellsProvider')\n }\n return context\n}\n"],"names":["ROW_SELECTION_COLUMN_ID","SelectionCellsContext","createContext","useSelectionCellsContext","context","useContext"],"mappings":"yGAQaA,EAA0B,oBA2C1BC,EAAwBC,EAAAA,cAAqD,MAAS,EAEtFC,EAA2B,IAAiC,CACvE,MAAMC,EAAUC,EAAAA,WAAWJ,CAAqB,EAChD,GAAIG,IAAY,OACd,MAAM,IAAI,MAAM,uEAAuE,EAEzF,OAAOA,CACT"}
1
+ {"version":3,"file":"SelectionCellsContext.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/SelectionCellsContext.ts"],"sourcesContent":["import React, { createContext, useContext } from 'react'\nimport { CellId, RowId, ColId, CellPosition } from '../utils/cellUtils'\n\n// Structure to map row/column IDs to their positions in the grid\nexport interface GridMap {\n rowIdToIndex: Map<RowId, number>\n colIdToIndex: Map<ColId, number>\n indexToRowId: Map<number, RowId>\n indexToColId: Map<number, ColId>\n}\n\nexport interface SelectionCellsContextType {\n // Selected cells\n selectedCells: Set<CellId>\n // Focused cell (single cell that has focus)\n focusedCellId: CellId | null\n // Selection in progress state\n selectionInProgress: boolean\n // Anchor point for range selections\n anchorCell: CellPosition | null\n // Grid mapping for coordinate lookups\n gridMap: GridMap\n\n selectedRows: string[] // Array of selected row IDs\n\n // State setters\n setSelectedCells: React.Dispatch<React.SetStateAction<Set<CellId>>>\n setFocusedCellId: React.Dispatch<React.SetStateAction<CellId | null>>\n setAnchorCell: React.Dispatch<React.SetStateAction<CellPosition | null>>\n // Methods\n registerGrid: (rows: RowId[], columns: ColId[]) => void\n selectCell: (cellId: CellId, additive: boolean, range: boolean) => void\n startSelection: (cellId: CellId, additive: boolean) => void\n extendSelection: (cellId: CellId, isRowSelectionColumn?: boolean) => void\n endSelection: (cellId: CellId) => void\n focusCell: (cellId: CellId | null) => void\n clearSelection: () => void\n isCellSelected: (cellId: CellId) => boolean\n isCellFocused: (cellId: CellId) => boolean\n getCellPositionFromId: (cellId: CellId) => CellPosition | null\n getCellBorderClasses: (cellId: CellId) => string[]\n}\n\n// Create the context\nexport const SelectionCellsContext = createContext<SelectionCellsContextType | undefined>(undefined)\n\nexport const useSelectionCellsContext = (): SelectionCellsContextType => {\n const context = useContext(SelectionCellsContext)\n if (context === undefined) {\n throw new Error('useSelectionCellsContext must be used within a SelectionCellsProvider')\n }\n return context\n}\n"],"names":["SelectionCellsContext","createContext","useSelectionCellsContext","context","useContext"],"mappings":"yGA4CaA,EAAwBC,EAAAA,cAAqD,MAAS,EAEtFC,EAA2B,IAAiC,CACvE,MAAMC,EAAUC,EAAAA,WAAWJ,CAAqB,EAChD,GAAIG,IAAY,OACd,MAAM,IAAI,MAAM,uEAAuE,EAEzF,OAAOA,CACT"}
@@ -1,12 +1,11 @@
1
1
  import { createContext as t, useContext as o } from "react";
2
- const l = "__row_selection__", n = t(void 0), r = () => {
2
+ const n = t(void 0), r = () => {
3
3
  const e = o(n);
4
4
  if (e === void 0)
5
5
  throw new Error("useSelectionCellsContext must be used within a SelectionCellsProvider");
6
6
  return e;
7
7
  };
8
8
  export {
9
- l as ROW_SELECTION_COLUMN_ID,
10
9
  n as SelectionCellsContext,
11
10
  r as useSelectionCellsContext
12
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionCellsContext.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/SelectionCellsContext.ts"],"sourcesContent":["import React, { createContext, useContext } from 'react'\nimport {\n CellId,\n RowId,\n ColId,\n CellPosition,\n} from '../utils/cellUtils'\n\nexport const ROW_SELECTION_COLUMN_ID = '__row_selection__' // ID for the row selection column\n\n// Structure to map row/column IDs to their positions in the grid\nexport interface GridMap {\n rowIdToIndex: Map<RowId, number>\n colIdToIndex: Map<ColId, number>\n indexToRowId: Map<number, RowId>\n indexToColId: Map<number, ColId>\n}\n\nexport interface SelectionCellsContextType {\n // Selected cells\n selectedCells: Set<CellId>\n // Focused cell (single cell that has focus)\n focusedCellId: CellId | null\n // Selection in progress state\n selectionInProgress: boolean\n // Anchor point for range selections\n anchorCell: CellPosition | null\n // Grid mapping for coordinate lookups\n gridMap: GridMap\n\n selectedRows: string[] // Array of selected row IDs\n\n // State setters\n setSelectedCells: React.Dispatch<React.SetStateAction<Set<CellId>>>\n setFocusedCellId: React.Dispatch<React.SetStateAction<CellId | null>>\n setAnchorCell: React.Dispatch<React.SetStateAction<CellPosition | null>>\n // Methods\n registerGrid: (rows: RowId[], columns: ColId[]) => void\n selectCell: (cellId: CellId, additive: boolean, range: boolean) => void\n startSelection: (cellId: CellId, additive: boolean) => void\n extendSelection: (cellId: CellId, isRowSelectionColumn?: boolean) => void\n endSelection: (cellId: CellId) => void\n focusCell: (cellId: CellId | null) => void\n clearSelection: () => void\n isCellSelected: (cellId: CellId) => boolean\n isCellFocused: (cellId: CellId) => boolean\n getCellPositionFromId: (cellId: CellId) => CellPosition | null\n getCellBorderClasses: (cellId: CellId) => string[]\n}\n\n// Create the context\nexport const SelectionCellsContext = createContext<SelectionCellsContextType | undefined>(undefined)\n\nexport const useSelectionCellsContext = (): SelectionCellsContextType => {\n const context = useContext(SelectionCellsContext)\n if (context === undefined) {\n throw new Error('useSelectionCellsContext must be used within a SelectionCellsProvider')\n }\n return context\n}\n"],"names":["ROW_SELECTION_COLUMN_ID","SelectionCellsContext","createContext","useSelectionCellsContext","context","useContext"],"mappings":";AAQO,MAAMA,IAA0B,qBA2C1BC,IAAwBC,EAAqD,MAAS,GAEtFC,IAA2B,MAAiC;AACvE,QAAMC,IAAUC,EAAWJ,CAAqB;AAChD,MAAIG,MAAY;AACd,UAAM,IAAI,MAAM,uEAAuE;AAEzF,SAAOA;AACT;"}
1
+ {"version":3,"file":"SelectionCellsContext.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/SelectionCellsContext.ts"],"sourcesContent":["import React, { createContext, useContext } from 'react'\nimport { CellId, RowId, ColId, CellPosition } from '../utils/cellUtils'\n\n// Structure to map row/column IDs to their positions in the grid\nexport interface GridMap {\n rowIdToIndex: Map<RowId, number>\n colIdToIndex: Map<ColId, number>\n indexToRowId: Map<number, RowId>\n indexToColId: Map<number, ColId>\n}\n\nexport interface SelectionCellsContextType {\n // Selected cells\n selectedCells: Set<CellId>\n // Focused cell (single cell that has focus)\n focusedCellId: CellId | null\n // Selection in progress state\n selectionInProgress: boolean\n // Anchor point for range selections\n anchorCell: CellPosition | null\n // Grid mapping for coordinate lookups\n gridMap: GridMap\n\n selectedRows: string[] // Array of selected row IDs\n\n // State setters\n setSelectedCells: React.Dispatch<React.SetStateAction<Set<CellId>>>\n setFocusedCellId: React.Dispatch<React.SetStateAction<CellId | null>>\n setAnchorCell: React.Dispatch<React.SetStateAction<CellPosition | null>>\n // Methods\n registerGrid: (rows: RowId[], columns: ColId[]) => void\n selectCell: (cellId: CellId, additive: boolean, range: boolean) => void\n startSelection: (cellId: CellId, additive: boolean) => void\n extendSelection: (cellId: CellId, isRowSelectionColumn?: boolean) => void\n endSelection: (cellId: CellId) => void\n focusCell: (cellId: CellId | null) => void\n clearSelection: () => void\n isCellSelected: (cellId: CellId) => boolean\n isCellFocused: (cellId: CellId) => boolean\n getCellPositionFromId: (cellId: CellId) => CellPosition | null\n getCellBorderClasses: (cellId: CellId) => string[]\n}\n\n// Create the context\nexport const SelectionCellsContext = createContext<SelectionCellsContextType | undefined>(undefined)\n\nexport const useSelectionCellsContext = (): SelectionCellsContextType => {\n const context = useContext(SelectionCellsContext)\n if (context === undefined) {\n throw new Error('useSelectionCellsContext must be used within a SelectionCellsProvider')\n }\n return context\n}\n"],"names":["SelectionCellsContext","createContext","useSelectionCellsContext","context","useContext"],"mappings":";AA4CO,MAAMA,IAAwBC,EAAqD,MAAS,GAEtFC,IAA2B,MAAiC;AACvE,QAAMC,IAAUC,EAAWJ,CAAqB;AAChD,MAAIG,MAAY;AACd,UAAM,IAAI,MAAM,uEAAuE;AAEzF,SAAOA;AACT;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Q=require("../../../../../_virtual/jsx-runtime.cjs.js"),o=require("react"),t=require("../utils/cellUtils.cjs.js"),X=require("../ProjectTreeTable.cjs.js"),p=require("./SelectionCellsContext.cjs.js");require("react-toastify");require("./ProjectTableQueriesContext.cjs.js");require("./ProjectTableContext.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.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/dataImport.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/projectFolders.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/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.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/folders/getFolderDeleteInfo.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/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.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/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.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/users/guests.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("../../../api/queries/uris/getUris.cjs.js");require("lodash");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("uuid");require("../../../util/pubsub.cjs.js");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("../../../context/SubtasksModulesContextInstance.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/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("@ynput/ayon-react-components");;/* empty css */require("clsx");require("../../ContextMenu/ContextMenuContext.cjs.js");require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../components/AttributeEditor/AttributeEditor.cjs.js");require("../../../components/AttributeEditor/attributeTypeMap.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("date-fns");require("../../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../../../../../_virtual/index.cjs.js");require("../../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../../../components/QuillListStyles/QuillListStyles.cjs.js");require("../../../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("rehype-raw");require("../../../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../Feed/components/CommentInput/modules/index.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Feedback/FeedbackContextInstance.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/FreeTrialLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("react-router-dom");require("../../Slicer/components/Slicer.cjs.js");require("../../Slicer/context/SlicerContext.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../../components/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../../components/ColumnHeaderMenuUI.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("../../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("./CellEditingContext.cjs.js");require("short-uuid");require("@tanstack/react-table");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/EnumCellValue.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/MarkdownWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("./DetailsPanelEntityContext.cjs.js");require("./SelectedRowsContext.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");require("./ClipboardContext.cjs.js");require("./ColumnSettingsContext.cjs.js");require("./ProjectDataContext.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../Views/context/ViewsContextInstance.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("@tanstack/react-virtual");require("../../ListTable/ListTableRow.cjs.js");require("../../ListTable/ListTable.styled.cjs.js");require("../components/DeleteConfirmContent.cjs.js");const Y=require("../hooks/useCheckSelectedCellsVisible.cjs.js"),Z=({children:z})=>{const[n,I]=o.useState(new Set),[f,d]=o.useState(null),[T,O]=o.useState(!1),[w,S]=o.useState(null),[g,V]=o.useState({rowIdToIndex:new Map,colIdToIndex:new Map,indexToRowId:new Map,indexToColId:new Map}),m=e=>JSON.stringify(Array.from(e.entries())),s=o.useMemo(()=>g,[m(g.rowIdToIndex),m(g.colIdToIndex),m(g.indexToRowId),m(g.indexToColId)]),P=o.useRef(!1),_=o.useMemo(()=>Array.from(n).filter(e=>t.parseCellId(e)?.colId===p.ROW_SELECTION_COLUMN_ID&&t.parseCellId(e)?.rowId).map(e=>t.parseCellId(e)?.rowId),[n]);Y.useCheckSelectedCellsVisible({selectedCells:n,setSelectedCells:I,focusedCellId:f,setFocusedCellId:d});const h=o.useRef(!1),E=o.useCallback((e,u)=>{const q=new Map,i=new Map,r=new Map,l=new Map;e.forEach((c,a)=>{q.set(c,a),r.set(a,c)}),u.forEach((c,a)=>{i.set(c,a),l.set(a,c)}),V({rowIdToIndex:q,colIdToIndex:i,indexToRowId:r,indexToColId:l})},[]),C=o.useCallback((e,u)=>{I(q=>{let i=new Set(e);if(u.colId!==p.ROW_SELECTION_COLUMN_ID&&u.colId!==X.DRAG_HANDLE_COLUMN_ID){const r=Array.from(q).filter(l=>t.parseCellId(l)?.colId===p.ROW_SELECTION_COLUMN_ID);r.length&&(i=new Set([...i,...r]))}return i})},[]),M=o.useCallback((e,u,q)=>{q||C(new Set,e);const i=s.rowIdToIndex.get(e.rowId)??0,r=s.colIdToIndex.get(e.colId)??0,l=s.rowIdToIndex.get(u.rowId)??0,c=s.colIdToIndex.get(u.colId)??0,a=Math.min(i,l),x=Math.max(i,l),J=Math.min(r,c),K=Math.max(r,c),G=new Set(q?n:[]);for(let b=a;b<=x;b++){const W=s.indexToRowId.get(b);if(W)for(let k=J;k<=K;k++){const F=s.indexToColId.get(k);F&&G.add(t.getCellId(W,F))}}return G},[s,n,C]),N=o.useCallback((e,u)=>{const q=t.parseCellId(e);q&&(O(!0),h.current=u,P.current=n.has(e),u?I(i=>{const r=new Set(i);return r.has(e)?(r.delete(e),f===e&&(r.size>0?d(Array.from(r)[Array.from(r).length-1]):d(null))):(r.add(e),d(e),S(q)),r}):n.size===1&&n.has(e)&&[p.ROW_SELECTION_COLUMN_ID,"name"].includes(q.colId)?(I(new Set),S(null),d(null)):(C(new Set([e]),q),S(q),d(e)))},[n,f,C]),L=o.useCallback((e,u)=>{if(!T||!w)return;const q=t.parseCellId(e);if(q)if(u)I(i=>{const r=new Set(i);return t.parseCellId(e)&&(P.current?r.delete(e):r.add(e)),r});else{if(h.current)return;const i=M(w,q,h.current);C(i,q)}},[T,w,M,C]),A=o.useCallback(()=>{O(!1)},[]),y=o.useCallback((e,u,q)=>{const i=t.parseCellId(e);if(i)if(q&&w){const r=M(w,i,u);C(r,i)}else u?I(r=>{const l=new Set(r);return l.has(e)?l.delete(e):l.add(e),l}):(C(new Set([e]),i),S(i))},[w,M,C]),B=o.useCallback(e=>{d(e)},[]),D=o.useCallback(()=>{I(new Set),S(null),d(null)},[]),R=o.useCallback(e=>n.has(e),[n]),U=o.useCallback(e=>e===f,[f]),j=o.useCallback(e=>t.parseCellId(e),[]),v=o.useCallback(e=>{if(!R(e))return[];const u=t.parseCellId(e);if(!u)return[];const q=s.rowIdToIndex.get(u.rowId),i=s.colIdToIndex.get(u.colId);if(q===void 0||i===void 0)return[];const r=s.indexToRowId.get(q-1),l=s.indexToColId.get(i+1),c=s.indexToRowId.get(q+1),a=s.indexToColId.get(i-1);let x=t.BorderPosition.None;return(!r||!n.has(t.getCellId(r,u.colId)))&&(x|=t.BorderPosition.Top),(!l||!n.has(t.getCellId(u.rowId,l)))&&(x|=t.BorderPosition.Right),(!c||!n.has(t.getCellId(c,u.colId)))&&(x|=t.BorderPosition.Bottom),(!a||!n.has(t.getCellId(u.rowId,a)))&&(x|=t.BorderPosition.Left),t.getBorderClasses(x)},[n,s,R]),H=o.useMemo(()=>({selectedCells:n,selectedRows:_,focusedCellId:f,selectionInProgress:T,anchorCell:w,gridMap:s,setSelectedCells:I,setFocusedCellId:d,setAnchorCell:S,registerGrid:E,selectCell:y,startSelection:N,extendSelection:L,endSelection:A,focusCell:B,clearSelection:D,isCellSelected:R,isCellFocused:U,getCellPositionFromId:j,getCellBorderClasses:v}),[n,_,f,T,w,s,I,d,S,E,y,N,L,A,B,D,R,U,j,v]);return Q.jsxRuntimeExports.jsx(p.SelectionCellsContext.Provider,{value:H,children:z})};exports.SelectionCellsProvider=Z;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Q=require("../../../../../_virtual/jsx-runtime.cjs.js"),o=require("react"),t=require("../utils/cellUtils.cjs.js"),X=require("./SelectionCellsContext.cjs.js");require("react-toastify");require("./ProjectTableQueriesContext.cjs.js");require("./ProjectTableContext.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.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/dataImport.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/projectFolders.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/columnStats/metricTargets.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/links/getEntityLinks.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/folders/getFolderDeleteInfo.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/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.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/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.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/users/guests.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("../../../api/queries/uris/getUris.cjs.js");require("lodash");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("uuid");const p=require("../constants.cjs.js");require("../../../util/pubsub.cjs.js");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("../../../context/SubtasksModulesContextInstance.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/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("@ynput/ayon-react-components");;/* empty css */require("clsx");require("../../ContextMenu/ContextMenuContext.cjs.js");require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../components/AttributeEditor/AttributeEditor.cjs.js");require("../../../components/AttributeEditor/attributeTypeMap.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("date-fns");require("../../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../../../../../_virtual/index.cjs.js");require("../../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../../../components/QuillListStyles/QuillListStyles.cjs.js");require("../../../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("rehype-raw");require("../../../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../Feed/components/CommentInput/modules/index.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Feedback/FeedbackContextInstance.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/FreeTrialLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("react-router-dom");require("../../Slicer/components/Slicer.cjs.js");require("../../Slicer/context/SlicerContext.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../../components/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../../components/ColumnHeaderMenuUI.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("../../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/EnumCellValue.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/MarkdownWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("./DetailsPanelEntityContext.cjs.js");require("./SelectedRowsContext.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("./CellEditingContext.cjs.js");require("short-uuid");require("./ClipboardContext.cjs.js");require("./ColumnSettingsContext.cjs.js");require("./ProjectDataContext.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/TableFooterRow.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../Views/context/ViewsContextInstance.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../ListTable/ListTableRow.cjs.js");require("../../ListTable/ListTable.styled.cjs.js");require("../components/DeleteConfirmContent.cjs.js");const Y=require("../hooks/useCheckSelectedCellsVisible.cjs.js"),Z=({children:z})=>{const[n,I]=o.useState(new Set),[f,d]=o.useState(null),[T,O]=o.useState(!1),[w,S]=o.useState(null),[g,V]=o.useState({rowIdToIndex:new Map,colIdToIndex:new Map,indexToRowId:new Map,indexToColId:new Map}),m=e=>JSON.stringify(Array.from(e.entries())),s=o.useMemo(()=>g,[m(g.rowIdToIndex),m(g.colIdToIndex),m(g.indexToRowId),m(g.indexToColId)]),_=o.useRef(!1),P=o.useMemo(()=>Array.from(n).filter(e=>t.parseCellId(e)?.colId===p.ROW_SELECTION_COLUMN_ID&&t.parseCellId(e)?.rowId).map(e=>t.parseCellId(e)?.rowId),[n]);Y.useCheckSelectedCellsVisible({selectedCells:n,setSelectedCells:I,focusedCellId:f,setFocusedCellId:d});const h=o.useRef(!1),E=o.useCallback((e,u)=>{const q=new Map,i=new Map,r=new Map,l=new Map;e.forEach((c,a)=>{q.set(c,a),r.set(a,c)}),u.forEach((c,a)=>{i.set(c,a),l.set(a,c)}),V({rowIdToIndex:q,colIdToIndex:i,indexToRowId:r,indexToColId:l})},[]),C=o.useCallback((e,u)=>{I(q=>{let i=new Set(e);if(u.colId!==p.ROW_SELECTION_COLUMN_ID&&u.colId!==p.DRAG_HANDLE_COLUMN_ID){const r=Array.from(q).filter(l=>t.parseCellId(l)?.colId===p.ROW_SELECTION_COLUMN_ID);r.length&&(i=new Set([...i,...r]))}return i})},[]),M=o.useCallback((e,u,q)=>{q||C(new Set,e);const i=s.rowIdToIndex.get(e.rowId)??0,r=s.colIdToIndex.get(e.colId)??0,l=s.rowIdToIndex.get(u.rowId)??0,c=s.colIdToIndex.get(u.colId)??0,a=Math.min(i,l),x=Math.max(i,l),J=Math.min(r,c),K=Math.max(r,c),G=new Set(q?n:[]);for(let b=a;b<=x;b++){const W=s.indexToRowId.get(b);if(W)for(let k=J;k<=K;k++){const F=s.indexToColId.get(k);F&&G.add(t.getCellId(W,F))}}return G},[s,n,C]),N=o.useCallback((e,u)=>{const q=t.parseCellId(e);q&&(O(!0),h.current=u,_.current=n.has(e),u?I(i=>{const r=new Set(i);return r.has(e)?(r.delete(e),f===e&&(r.size>0?d(Array.from(r)[Array.from(r).length-1]):d(null))):(r.add(e),d(e),S(q)),r}):n.size===1&&n.has(e)&&[p.ROW_SELECTION_COLUMN_ID,"name"].includes(q.colId)?(I(new Set),S(null),d(null)):(C(new Set([e]),q),S(q),d(e)))},[n,f,C]),L=o.useCallback((e,u)=>{if(!T||!w)return;const q=t.parseCellId(e);if(q)if(u)I(i=>{const r=new Set(i);return t.parseCellId(e)&&(_.current?r.delete(e):r.add(e)),r});else{if(h.current)return;const i=M(w,q,h.current);C(i,q)}},[T,w,M,C]),A=o.useCallback(()=>{O(!1)},[]),y=o.useCallback((e,u,q)=>{const i=t.parseCellId(e);if(i)if(q&&w){const r=M(w,i,u);C(r,i)}else u?I(r=>{const l=new Set(r);return l.has(e)?l.delete(e):l.add(e),l}):(C(new Set([e]),i),S(i))},[w,M,C]),B=o.useCallback(e=>{d(e)},[]),D=o.useCallback(()=>{I(new Set),S(null),d(null)},[]),R=o.useCallback(e=>n.has(e),[n]),U=o.useCallback(e=>e===f,[f]),v=o.useCallback(e=>t.parseCellId(e),[]),j=o.useCallback(e=>{if(!R(e))return[];const u=t.parseCellId(e);if(!u)return[];const q=s.rowIdToIndex.get(u.rowId),i=s.colIdToIndex.get(u.colId);if(q===void 0||i===void 0)return[];const r=s.indexToRowId.get(q-1),l=s.indexToColId.get(i+1),c=s.indexToRowId.get(q+1),a=s.indexToColId.get(i-1);let x=t.BorderPosition.None;return(!r||!n.has(t.getCellId(r,u.colId)))&&(x|=t.BorderPosition.Top),(!l||!n.has(t.getCellId(u.rowId,l)))&&(x|=t.BorderPosition.Right),(!c||!n.has(t.getCellId(c,u.colId)))&&(x|=t.BorderPosition.Bottom),(!a||!n.has(t.getCellId(u.rowId,a)))&&(x|=t.BorderPosition.Left),t.getBorderClasses(x)},[n,s,R]),H=o.useMemo(()=>({selectedCells:n,selectedRows:P,focusedCellId:f,selectionInProgress:T,anchorCell:w,gridMap:s,setSelectedCells:I,setFocusedCellId:d,setAnchorCell:S,registerGrid:E,selectCell:y,startSelection:N,extendSelection:L,endSelection:A,focusCell:B,clearSelection:D,isCellSelected:R,isCellFocused:U,getCellPositionFromId:v,getCellBorderClasses:j}),[n,P,f,T,w,s,I,d,S,E,y,N,L,A,B,D,R,U,v,j]);return Q.jsxRuntimeExports.jsx(X.SelectionCellsContext.Provider,{value:H,children:z})};exports.SelectionCellsProvider=Z;
2
2
  //# sourceMappingURL=SelectionCellsProvider.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionCellsProvider.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/SelectionCellsProvider.tsx"],"sourcesContent":["import React, { ReactNode, useCallback, useMemo, useRef, useState } from 'react'\nimport {\n BorderPosition,\n CellId,\n CellPosition,\n ColId,\n getBorderClasses,\n getCellId,\n parseCellId,\n RowId,\n} from '../utils/cellUtils'\nimport { DRAG_HANDLE_COLUMN_ID } from '../ProjectTreeTable'\nimport { GridMap, ROW_SELECTION_COLUMN_ID, SelectionCellsContext } 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 const isAdditiveSelectionRef = useRef<boolean>(false)\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 isAdditiveSelectionRef.current = additive\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 if (isAdditiveSelectionRef.current) return\n // For normal cells - ALWAYS does range selection\n const newSelection = selectCellRange(anchorCell, currentPosition, isAdditiveSelectionRef.current,)\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","parseCellId","ROW_SELECTION_COLUMN_ID","useCheckSelectedCellsVisible","isAdditiveSelectionRef","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.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/SelectionCellsProvider.tsx"],"sourcesContent":["import React, { ReactNode, useCallback, useMemo, useRef, useState } from 'react'\nimport {\n BorderPosition,\n CellId,\n CellPosition,\n ColId,\n getBorderClasses,\n getCellId,\n parseCellId,\n RowId,\n} from '../utils/cellUtils'\nimport { GridMap, SelectionCellsContext } from './SelectionCellsContext'\nimport { useCheckSelectedCellsVisible } from '../hooks'\nimport { ROW_SELECTION_COLUMN_ID, DRAG_HANDLE_COLUMN_ID } from '../constants'\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 const isAdditiveSelectionRef = useRef<boolean>(false)\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 isAdditiveSelectionRef.current = additive\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 if (isAdditiveSelectionRef.current) return\n // For normal cells - ALWAYS does range selection\n const newSelection = selectCellRange(\n anchorCell,\n currentPosition,\n isAdditiveSelectionRef.current,\n )\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","parseCellId","ROW_SELECTION_COLUMN_ID","useCheckSelectedCellsVisible","isAdditiveSelectionRef","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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"}