@ynput/ayon-frontend-shared 0.3.51 → 0.3.52

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 (786) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +33 -31
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/NewEntity.cjs.js +2 -0
  5. package/dist/NewEntity.cjs.js.map +1 -0
  6. package/dist/NewEntity.es.js +16 -0
  7. package/dist/NewEntity.es.js.map +1 -0
  8. package/dist/ProjectTreeTable.cjs.js +1 -1
  9. package/dist/ProjectTreeTable.es.js +236 -230
  10. package/dist/ProjectTreeTable.es.js.map +1 -1
  11. package/dist/Slicer.cjs.js +1 -1
  12. package/dist/Slicer.es.js +34 -30
  13. package/dist/Slicer.es.js.map +1 -1
  14. package/dist/_virtual/index.cjs5.js +1 -1
  15. package/dist/_virtual/index.cjs6.js +1 -1
  16. package/dist/_virtual/index.es5.js +2 -5
  17. package/dist/_virtual/index.es5.js.map +1 -1
  18. package/dist/_virtual/index.es6.js +5 -2
  19. package/dist/_virtual/index.es6.js.map +1 -1
  20. package/dist/context.cjs.js +1 -1
  21. package/dist/context.es.js +54 -56
  22. package/dist/context.es.js.map +1 -1
  23. package/dist/index.cjs.js +1 -1
  24. package/dist/index.es.js +20 -18
  25. package/dist/index.es.js.map +1 -1
  26. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  27. package/dist/node_modules/remove-accents/index.es.js +1 -1
  28. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
  29. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
  30. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
  31. package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
  32. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
  33. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
  34. package/dist/shared/src/api/queries/actions/refreshActiveAndPurgeOthers.cjs.js.map +1 -1
  35. package/dist/shared/src/api/queries/actions/refreshActiveAndPurgeOthers.es.js.map +1 -1
  36. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js +1 -1
  37. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js.map +1 -1
  38. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js +31 -21
  39. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js.map +1 -1
  40. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  41. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  42. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +55 -52
  43. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  44. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +1 -1
  45. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  46. package/dist/shared/src/api/queries/entities/updateEntity.es.js +129 -127
  47. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  48. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  49. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  50. package/dist/shared/src/api/queries/overview/updateOverview.es.js +96 -93
  51. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  52. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js +1 -1
  53. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js.map +1 -1
  54. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js +40 -38
  55. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
  56. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  57. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  58. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +13 -11
  59. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  60. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  61. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  62. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +40 -38
  63. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  64. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  65. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  66. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +40 -38
  67. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  68. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  69. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  70. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +40 -38
  71. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  72. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js +1 -1
  73. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js.map +1 -1
  74. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js +40 -38
  75. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js.map +1 -1
  76. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  77. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  78. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +40 -38
  79. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  80. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  81. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  82. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +13 -11
  83. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  84. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  85. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  86. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +40 -38
  87. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  88. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  89. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  90. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +44 -42
  91. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  92. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
  93. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
  94. package/dist/shared/src/components/LinksManager/LinksManager.es.js +40 -38
  95. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
  96. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  97. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  98. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +40 -38
  99. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  100. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  101. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  102. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +40 -38
  103. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  104. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
  105. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -1
  106. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +40 -38
  107. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -1
  108. package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
  109. package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -1
  110. package/dist/shared/src/components/Menu/Menu.es.js +40 -38
  111. package/dist/shared/src/components/Menu/Menu.es.js.map +1 -1
  112. package/dist/shared/src/components/Menu/MenuItem.cjs.js +1 -1
  113. package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -1
  114. package/dist/shared/src/components/Menu/MenuItem.es.js +38 -36
  115. package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -1
  116. package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
  117. package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
  118. package/dist/shared/src/components/Menu/MenuList.es.js +40 -38
  119. package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
  120. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
  121. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  122. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +40 -38
  123. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  124. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  125. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  126. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +40 -38
  127. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  128. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
  129. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  130. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +11 -9
  131. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  132. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  133. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  134. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +9 -7
  135. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  136. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  137. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  138. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +40 -38
  139. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  140. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  141. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  142. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +113 -111
  143. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  144. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  145. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  146. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +40 -38
  147. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  148. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  149. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  150. package/dist/shared/src/components/RenameForm/RenameForm.es.js +40 -38
  151. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  152. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  153. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  154. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +13 -11
  155. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  156. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  157. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  158. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +14 -12
  159. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  160. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  161. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  162. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +13 -11
  163. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  164. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  165. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  166. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +13 -11
  167. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  168. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  169. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  170. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +76 -74
  171. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  172. package/dist/shared/src/components/SearchFilter/useDateRangeFilter.cjs.js +1 -1
  173. package/dist/shared/src/components/SearchFilter/useDateRangeFilter.cjs.js.map +1 -1
  174. package/dist/shared/src/components/SearchFilter/useDateRangeFilter.es.js +43 -41
  175. package/dist/shared/src/components/SearchFilter/useDateRangeFilter.es.js.map +1 -1
  176. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +1 -1
  177. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  178. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +40 -38
  179. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  180. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
  181. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  182. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +15 -13
  183. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  184. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  185. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  186. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +13 -11
  187. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  188. package/dist/shared/src/components/SyncButton/SyncButton.cjs.js +1 -1
  189. package/dist/shared/src/components/SyncButton/SyncButton.cjs.js.map +1 -1
  190. package/dist/shared/src/components/SyncButton/SyncButton.es.js +2 -3
  191. package/dist/shared/src/components/SyncButton/SyncButton.es.js.map +1 -1
  192. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
  193. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  194. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +40 -38
  195. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  196. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  197. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  198. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +13 -11
  199. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  200. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  201. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  202. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +17 -15
  203. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  204. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  205. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  206. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +13 -11
  207. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  208. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  209. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  210. package/dist/shared/src/containers/Actions/Actions.es.js +40 -38
  211. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  212. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  213. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  214. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +13 -11
  215. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  216. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  217. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  218. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +13 -11
  219. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  220. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  221. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  222. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +13 -11
  223. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  224. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  225. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  226. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +13 -11
  227. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  228. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  229. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  230. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +118 -119
  231. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  232. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js +1 -1
  233. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js.map +1 -1
  234. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js +40 -38
  235. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js.map +1 -1
  236. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  237. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
  238. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +13 -11
  239. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
  240. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  241. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
  242. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +13 -11
  243. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
  244. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  245. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  246. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +40 -38
  247. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  248. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  249. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  250. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +21 -19
  251. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  252. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  253. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  254. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +13 -11
  255. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  256. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  257. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  258. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +7 -5
  259. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  260. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  261. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  262. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +5 -3
  263. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  264. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  265. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  266. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +40 -38
  267. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  268. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  269. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  270. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +12 -10
  271. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  272. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  273. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  274. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +13 -11
  275. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  276. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  277. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  278. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +13 -11
  279. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  280. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  281. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  282. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +13 -11
  283. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  284. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  285. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  286. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +40 -38
  287. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  288. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  289. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  290. package/dist/shared/src/containers/Feed/Feed.es.js +6 -4
  291. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  292. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  293. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  294. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +13 -11
  295. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  296. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  297. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  298. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +13 -11
  299. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  300. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  301. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  302. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +13 -11
  303. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  304. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/ActivityFieldChange.cjs.js +2 -0
  305. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/ActivityFieldChange.cjs.js.map +1 -0
  306. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/ActivityFieldChange.es.js +171 -0
  307. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/ActivityFieldChange.es.js.map +1 -0
  308. package/dist/shared/src/containers/Feed/components/{ActivityStatusChange/ActivityStatusChange.styled.cjs.js → ActivityFieldChange/ActivityFieldChange.styled.cjs.js} +5 -11
  309. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/ActivityFieldChange.styled.cjs.js.map +1 -0
  310. package/dist/shared/src/containers/Feed/components/{ActivityStatusChange/ActivityStatusChange.styled.es.js → ActivityFieldChange/ActivityFieldChange.styled.es.js} +8 -14
  311. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/ActivityFieldChange.styled.es.js.map +1 -0
  312. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/FieldValue.cjs.js +21 -0
  313. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/FieldValue.cjs.js.map +1 -0
  314. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/FieldValue.es.js +36 -0
  315. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/FieldValue.es.js.map +1 -0
  316. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/hooks/getContextParents.cjs.js +2 -0
  317. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/hooks/getContextParents.cjs.js.map +1 -0
  318. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/hooks/getContextParents.es.js +8 -0
  319. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/hooks/getContextParents.es.js.map +1 -0
  320. package/dist/shared/src/containers/Feed/components/ActivityGroup/ActivityGroup.cjs.js.map +1 -1
  321. package/dist/shared/src/containers/Feed/components/ActivityGroup/ActivityGroup.es.js.map +1 -1
  322. package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js +1 -1
  323. package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js.map +1 -1
  324. package/dist/shared/src/containers/Feed/components/ActivityItem.es.js +36 -25
  325. package/dist/shared/src/containers/Feed/components/ActivityItem.es.js.map +1 -1
  326. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +1 -1
  327. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js.map +1 -1
  328. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +15 -13
  329. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js.map +1 -1
  330. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  331. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  332. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +52 -57
  333. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  334. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  335. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  336. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +7 -5
  337. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  338. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  339. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  340. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +17 -15
  341. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  342. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  343. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  344. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +40 -38
  345. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  346. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  347. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  348. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +40 -38
  349. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  350. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +1 -1
  351. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js.map +1 -1
  352. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +37 -35
  353. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js.map +1 -1
  354. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  355. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  356. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +40 -38
  357. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  358. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  359. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  360. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +7 -5
  361. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  362. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  363. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  364. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +43 -41
  365. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  366. package/dist/shared/src/containers/Feed/helpers/getActivityUserName.cjs.js +1 -1
  367. package/dist/shared/src/containers/Feed/helpers/getActivityUserName.cjs.js.map +1 -1
  368. package/dist/shared/src/containers/Feed/helpers/getActivityUserName.es.js +1 -1
  369. package/dist/shared/src/containers/Feed/helpers/getActivityUserName.es.js.map +1 -1
  370. package/dist/shared/src/containers/Feed/helpers/mergeSimilarActivities.cjs.js +1 -1
  371. package/dist/shared/src/containers/Feed/helpers/mergeSimilarActivities.cjs.js.map +1 -1
  372. package/dist/shared/src/containers/Feed/helpers/mergeSimilarActivities.es.js +14 -17
  373. package/dist/shared/src/containers/Feed/helpers/mergeSimilarActivities.es.js.map +1 -1
  374. package/dist/shared/src/containers/Feed/hooks/useTransformActivities.cjs.js +1 -1
  375. package/dist/shared/src/containers/Feed/hooks/useTransformActivities.cjs.js.map +1 -1
  376. package/dist/shared/src/containers/Feed/hooks/useTransformActivities.es.js +36 -26
  377. package/dist/shared/src/containers/Feed/hooks/useTransformActivities.es.js.map +1 -1
  378. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  379. package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
  380. package/dist/shared/src/containers/ListTable/ListTable.es.js +13 -11
  381. package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
  382. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  383. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  384. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +7 -5
  385. package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
  386. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  387. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
  388. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +13 -11
  389. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
  390. package/dist/shared/src/containers/MoveEntityDialog/MoveEntityDialog.cjs.js +2 -0
  391. package/dist/shared/src/containers/MoveEntityDialog/MoveEntityDialog.cjs.js.map +1 -0
  392. package/dist/shared/src/containers/MoveEntityDialog/MoveEntityDialog.es.js +35 -0
  393. package/dist/shared/src/containers/MoveEntityDialog/MoveEntityDialog.es.js.map +1 -0
  394. package/dist/shared/src/containers/NewEntity/components/FolderSequence.cjs.js +2 -0
  395. package/dist/shared/src/containers/NewEntity/components/FolderSequence.cjs.js.map +1 -0
  396. package/dist/shared/src/containers/NewEntity/components/FolderSequence.es.js +309 -0
  397. package/dist/shared/src/containers/NewEntity/components/FolderSequence.es.js.map +1 -0
  398. package/dist/shared/src/containers/NewEntity/components/FolderSequence.styled.cjs.js +122 -0
  399. package/dist/shared/src/containers/NewEntity/components/FolderSequence.styled.cjs.js.map +1 -0
  400. package/dist/shared/src/containers/NewEntity/components/FolderSequence.styled.es.js +135 -0
  401. package/dist/shared/src/containers/NewEntity/components/FolderSequence.styled.es.js.map +1 -0
  402. package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js +47 -0
  403. package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js.map +1 -0
  404. package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js +661 -0
  405. package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js.map +1 -0
  406. package/dist/shared/src/containers/NewEntity/components/NewEntityForm.cjs.js +66 -0
  407. package/dist/shared/src/containers/NewEntity/components/NewEntityForm.cjs.js.map +1 -0
  408. package/dist/shared/src/containers/NewEntity/components/NewEntityForm.es.js +141 -0
  409. package/dist/shared/src/containers/NewEntity/components/NewEntityForm.es.js.map +1 -0
  410. package/dist/shared/src/containers/NewEntity/components/TypeEditor.cjs.js +2 -0
  411. package/dist/shared/src/containers/NewEntity/components/TypeEditor.cjs.js.map +1 -0
  412. package/dist/shared/src/containers/NewEntity/components/TypeEditor.es.js +43 -0
  413. package/dist/shared/src/containers/NewEntity/components/TypeEditor.es.js.map +1 -0
  414. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js +2 -0
  415. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js.map +1 -0
  416. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.es.js +554 -0
  417. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.es.js.map +1 -0
  418. package/dist/shared/src/containers/NewEntity/context/NewEntityContextInstance.cjs.js +2 -0
  419. package/dist/shared/src/containers/NewEntity/context/NewEntityContextInstance.cjs.js.map +1 -0
  420. package/dist/shared/src/containers/NewEntity/context/NewEntityContextInstance.es.js +6 -0
  421. package/dist/shared/src/containers/NewEntity/context/NewEntityContextInstance.es.js.map +1 -0
  422. package/dist/shared/src/containers/NewEntity/hooks/useCreateEntityShortcuts.cjs.js +2 -0
  423. package/dist/shared/src/containers/NewEntity/hooks/useCreateEntityShortcuts.cjs.js.map +1 -0
  424. package/dist/shared/src/containers/NewEntity/hooks/useCreateEntityShortcuts.es.js +26 -0
  425. package/dist/shared/src/containers/NewEntity/hooks/useCreateEntityShortcuts.es.js.map +1 -0
  426. package/dist/shared/src/containers/NewEntity/util/entityDefinitions.cjs.js +2 -0
  427. package/dist/shared/src/containers/NewEntity/util/entityDefinitions.cjs.js.map +1 -0
  428. package/dist/shared/src/containers/NewEntity/util/entityDefinitions.es.js +16 -0
  429. package/dist/shared/src/containers/NewEntity/util/entityDefinitions.es.js.map +1 -0
  430. package/dist/shared/src/containers/NewEntity/util/getSequence.cjs.js +2 -0
  431. package/dist/shared/src/containers/NewEntity/util/getSequence.cjs.js.map +1 -0
  432. package/dist/shared/src/containers/NewEntity/util/getSequence.es.js +16 -0
  433. package/dist/shared/src/containers/NewEntity/util/getSequence.es.js.map +1 -0
  434. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  435. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  436. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +642 -675
  437. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  438. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  439. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  440. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +13 -11
  441. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  442. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  443. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  444. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +41 -39
  445. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  446. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  447. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  448. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +44 -42
  449. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  450. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  451. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  452. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +13 -11
  453. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  454. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  455. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  456. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +11 -9
  457. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  458. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +1 -1
  459. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  460. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +44 -42
  461. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  462. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  463. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  464. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +13 -11
  465. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  466. package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js +1 -1
  467. package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js.map +1 -1
  468. package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.es.js +22 -16
  469. package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.es.js.map +1 -1
  470. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  471. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  472. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +42 -40
  473. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  474. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +1 -1
  475. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  476. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +156 -153
  477. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  478. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js +1 -1
  479. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js.map +1 -1
  480. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsContext.es.js +7 -6
  481. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsContext.es.js.map +1 -1
  482. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js +1 -1
  483. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js.map +1 -1
  484. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js +7 -6
  485. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js.map +1 -1
  486. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  487. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  488. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +8 -6
  489. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  490. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  491. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  492. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +40 -38
  493. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  494. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  495. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  496. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +16 -14
  497. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  498. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  499. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  500. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +13 -11
  501. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  502. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  503. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  504. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +233 -218
  505. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  506. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  507. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  508. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +11 -9
  509. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  510. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  511. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  512. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +13 -11
  513. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  514. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  515. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  516. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +40 -38
  517. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  518. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  519. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  520. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +43 -41
  521. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  522. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  523. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  524. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +13 -11
  525. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  526. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  527. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  528. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +13 -11
  529. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  530. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  531. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  532. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +11 -9
  533. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  534. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  535. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  536. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +121 -150
  537. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  538. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  539. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  540. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +39 -37
  541. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  542. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  543. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  544. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +13 -11
  545. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  546. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  547. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  548. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +13 -11
  549. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  550. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  551. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  552. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +38 -36
  553. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  554. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  555. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  556. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +24 -22
  557. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  558. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js +1 -1
  559. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js.map +1 -1
  560. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js +47 -30
  561. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js.map +1 -1
  562. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js +1 -1
  563. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
  564. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js +113 -91
  565. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
  566. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  567. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  568. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +13 -11
  569. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  570. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  571. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  572. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +33 -31
  573. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  574. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +1 -1
  575. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
  576. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +13 -11
  577. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
  578. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  579. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  580. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +15 -13
  581. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  582. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +1 -1
  583. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
  584. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +39 -37
  585. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js.map +1 -1
  586. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  587. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  588. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +13 -11
  589. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  590. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  591. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  592. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +13 -11
  593. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  594. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +1 -1
  595. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
  596. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +40 -38
  597. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
  598. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  599. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  600. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +13 -11
  601. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  602. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  603. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  604. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +256 -246
  605. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  606. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js +1 -1
  607. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js.map +1 -1
  608. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js +15 -15
  609. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js.map +1 -1
  610. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +2 -2
  611. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -1
  612. package/dist/shared/src/containers/Slicer/components/Slicer.es.js +206 -162
  613. package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -1
  614. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +1 -1
  615. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
  616. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +40 -38
  617. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -1
  618. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  619. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  620. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +13 -11
  621. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  622. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  623. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  624. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +82 -74
  625. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  626. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
  627. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
  628. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +40 -38
  629. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
  630. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js +2 -0
  631. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js.map +1 -0
  632. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.es.js +470 -0
  633. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.es.js.map +1 -0
  634. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +1 -1
  635. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -1
  636. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +40 -38
  637. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
  638. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +1 -1
  639. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -1
  640. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +40 -38
  641. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -1
  642. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js +1 -1
  643. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js.map +1 -1
  644. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js +42 -40
  645. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js.map +1 -1
  646. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js +1 -1
  647. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js.map +1 -1
  648. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js +40 -38
  649. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js.map +1 -1
  650. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js +1 -1
  651. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js.map +1 -1
  652. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js +40 -38
  653. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js.map +1 -1
  654. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js +1 -1
  655. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js.map +1 -1
  656. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js +40 -38
  657. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js.map +1 -1
  658. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  659. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  660. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +50 -48
  661. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  662. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  663. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  664. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +40 -38
  665. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  666. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  667. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  668. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +40 -38
  669. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  670. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +1 -1
  671. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  672. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +40 -38
  673. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  674. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  675. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  676. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +42 -40
  677. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  678. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  679. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  680. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +43 -41
  681. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  682. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  683. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  684. package/dist/shared/src/context/DetailsPanelContext.es.js +44 -42
  685. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  686. package/dist/shared/src/context/EntityUpdatesContext.cjs.js +1 -1
  687. package/dist/shared/src/context/EntityUpdatesContext.cjs.js.map +1 -1
  688. package/dist/shared/src/context/EntityUpdatesContext.es.js +46 -44
  689. package/dist/shared/src/context/EntityUpdatesContext.es.js.map +1 -1
  690. package/dist/shared/src/context/MenuContext.cjs.js +1 -1
  691. package/dist/shared/src/context/MenuContext.cjs.js.map +1 -1
  692. package/dist/shared/src/context/MenuContext.es.js +1 -0
  693. package/dist/shared/src/context/MenuContext.es.js.map +1 -1
  694. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  695. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  696. package/dist/shared/src/context/PowerpackContext.es.js +44 -42
  697. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  698. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  699. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  700. package/dist/shared/src/context/ProjectFoldersContext.es.js +126 -99
  701. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  702. package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
  703. package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
  704. package/dist/shared/src/context/SubtasksModulesContext.es.js +42 -40
  705. package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
  706. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  707. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  708. package/dist/shared/src/context/WebsocketContext.es.js +15 -13
  709. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  710. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  711. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  712. package/dist/shared/src/hooks/useEntityUpdate.es.js +40 -38
  713. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  714. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  715. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  716. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +40 -38
  717. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  718. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  719. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  720. package/dist/shared/src/hooks/useHierarchyTable.es.js +40 -38
  721. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  722. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  723. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  724. package/dist/shared/src/hooks/useUserProjectConfig.es.js +40 -38
  725. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  726. package/dist/types/NewEntity.d.ts +2 -0
  727. package/dist/types/containers/Feed/components/ActivityFieldChange/ActivityFieldChange.d.ts +36 -0
  728. package/dist/types/containers/Feed/components/{ActivityStatusChange/ActivityStatusChange.styled.d.ts → ActivityFieldChange/ActivityFieldChange.styled.d.ts} +1 -1
  729. package/dist/types/containers/Feed/components/ActivityFieldChange/FieldValue.d.ts +11 -0
  730. package/dist/types/containers/Feed/components/ActivityGroup/ActivityGroup.d.ts +1 -0
  731. package/dist/types/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.d.ts +1 -1
  732. package/dist/types/containers/MoveEntityDialog/MoveEntityDialog.d.ts +10 -0
  733. package/dist/types/containers/MoveEntityDialog/index.d.ts +2 -0
  734. package/dist/types/containers/MoveEntityDialog/types.d.ts +12 -0
  735. package/dist/types/containers/NewEntity/components/FolderSequence.d.ts +36 -0
  736. package/dist/types/containers/NewEntity/components/FolderSequence.styled.d.ts +20 -0
  737. package/dist/types/containers/NewEntity/components/NewEntity.d.ts +12 -0
  738. package/dist/types/containers/NewEntity/components/NewEntityForm.d.ts +15 -0
  739. package/dist/types/containers/NewEntity/components/TypeEditor.d.ts +18 -0
  740. package/dist/types/containers/NewEntity/context/NewEntityContext.d.ts +37 -0
  741. package/dist/types/containers/NewEntity/context/NewEntityContextInstance.d.ts +2 -0
  742. package/dist/types/containers/NewEntity/hooks/useCreateEntityShortcuts.d.ts +21 -0
  743. package/dist/types/containers/NewEntity/index.d.ts +4 -0
  744. package/dist/types/containers/NewEntity/util/entityDefinitions.d.ts +7 -0
  745. package/dist/types/containers/NewEntity/util/getSequence.d.ts +1 -0
  746. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +2 -1
  747. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +1 -0
  748. package/dist/types/containers/ProjectTreeTable/context/SelectedRowsContext.d.ts +1 -0
  749. package/dist/types/containers/ProjectTreeTable/context/SelectionCellsContext.d.ts +1 -0
  750. package/dist/types/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +2 -1
  751. package/dist/types/containers/ProjectTreeTable/hooks/useMoveEntities.d.ts +5 -7
  752. package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +3 -6
  753. package/dist/types/containers/ProjectTreeTable/utils/queryFilterToClientFilter.d.ts +6 -0
  754. package/dist/types/containers/SimpleTable/SimpleTable.types.d.ts +3 -0
  755. package/dist/types/containers/SimpleTable/SimpleTableRowTemplate.d.ts +1 -1
  756. package/dist/types/containers/Slicer/components/Slicer.d.ts +2 -1
  757. package/dist/types/containers/Slicer/context/SlicerContext.d.ts +6 -1
  758. package/dist/types/containers/Slicer/hooks/index.d.ts +1 -0
  759. package/dist/types/containers/Slicer/hooks/useHierarchyContextMenuItems.d.ts +15 -0
  760. package/dist/types/containers/index.d.ts +1 -0
  761. package/dist/types/context/MenuContext.d.ts +1 -0
  762. package/dist/types/context/ProjectFoldersContext.d.ts +1 -0
  763. package/dist/types/context/index.d.ts +0 -1
  764. package/package.json +13 -4
  765. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.cjs.js +0 -2
  766. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.cjs.js.map +0 -1
  767. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.es.js +0 -44
  768. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.es.js.map +0 -1
  769. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js.map +0 -1
  770. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.styled.es.js.map +0 -1
  771. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.cjs.js +0 -11
  772. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.cjs.js.map +0 -1
  773. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.es.js +0 -27
  774. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.es.js.map +0 -1
  775. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/hooks/getContextParents.cjs.js +0 -2
  776. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/hooks/getContextParents.cjs.js.map +0 -1
  777. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/hooks/getContextParents.es.js +0 -8
  778. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/hooks/getContextParents.es.js.map +0 -1
  779. package/dist/shared/src/context/MoveEntityContext.cjs.js +0 -2
  780. package/dist/shared/src/context/MoveEntityContext.cjs.js.map +0 -1
  781. package/dist/shared/src/context/MoveEntityContext.es.js +0 -34
  782. package/dist/shared/src/context/MoveEntityContext.es.js.map +0 -1
  783. package/dist/types/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.d.ts +0 -19
  784. package/dist/types/containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.d.ts +0 -7
  785. package/dist/types/context/MoveEntityContext.d.ts +0 -28
  786. /package/dist/types/containers/Feed/components/{ActivityStatusChange → ActivityFieldChange}/hooks/getContextParents.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"DetailsPanelContext.cjs.js","sources":["../../../../src/context/DetailsPanelContext.tsx"],"sourcesContent":["import React, { ReactNode, useCallback, useContext, useEffect, useState } from 'react'\nimport { QueryFilter, UserModel, DetailsPanelEntityType } from '@shared/api'\nimport { useLocation, useNavigate, useParams, useSearchParams } from 'react-router-dom'\nimport { SavedAnnotationMetadata } from '@shared/containers'\nimport { PowerpackFeature, usePowerpack } from './PowerpackContext'\nimport { useURIContext } from './UriContext'\nimport { useSessionStorage, readLocalStorage, writeLocalStorage } from '@shared/hooks'\nimport type { SubtasksManagerProps } from '@shared/components'\nimport { DetailsPanelContext } from './DetailsPanelContextInstance'\nimport { BundleMode, getBundleModeFromUser } from '@shared/util'\n\n// High-level tabs for the details panel\nexport type DetailsPanelTab = 'feed' | 'subtasks' | 'details' | 'files'\n\n// Filters within the feed tab\nexport type FeedFilter = QueryFilter\n\nexport type SlideOut = {\n entityId: string\n entityType: DetailsPanelEntityType\n projectName: string\n}\n\nexport type DetailsPanelPip = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n scope: string\n}\n\nexport type Entities = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n entitySubTypes?: string[]\n source?: 'uri' | 'url' | 'related' // uri = ayon+entity://..., url = ?project=...&type=...&id=...\n}\n\nexport interface OpenStateByScope {\n [scope: string]: boolean\n}\n\n// Create a new interface for managing tab state by scope\nexport interface TabStateByScope {\n [scope: string]: DetailsPanelTab\n}\n\nconst DETAILS_PANEL_TABS: DetailsPanelTab[] = ['feed', 'subtasks', 'details', 'files']\n\nconst isDetailsPanelTab = (tab: unknown): tab is DetailsPanelTab =>\n typeof tab === 'string' && DETAILS_PANEL_TABS.includes(tab as DetailsPanelTab)\n\n// these props get forwarded to the details panel value\n// it's mainly redux callbacks that cannot be used in shared library\nexport interface DetailsPanelContextProps {\n dispatch?: any // this is a redux dispatch function and it's quite annoying we need to do this\n user: UserModel\n viewer?: {\n reviewableIds: string[]\n taskId?: string | null\n folderId?: string | null\n }\n // redux callback actions\n onOpenImage?: (args: any) => void\n onGoToFrame?: (frame: number) => void\n onOpenViewer?: (args: any) => void\n onUpdateEntity?: (data: { operations: any[]; entityType: string }) => void\n // route hooks\n useParams: typeof useParams\n useNavigate: typeof useNavigate\n useLocation: typeof useLocation\n useSearchParams: typeof useSearchParams\n feedAnnotationsEnabled?: boolean\n hasLicense?: boolean\n // SubtasksManager component\n SubtasksManager?: React.ComponentType<SubtasksManagerProps>\n // debugging used to simulate different values\n debug?: {\n isDeveloperMode?: boolean\n isGuest?: boolean\n hasLicense?: boolean\n }\n}\n\n// Interface for our simplified context\nexport interface DetailsPanelContextType extends DetailsPanelContextProps {\n // user\n bundleMode: BundleMode\n isGuest: boolean\n // Open state for the panel by scope\n panelOpenByScope: OpenStateByScope\n getOpenForScope: (scope: string) => boolean\n setPanelOpen: (scope: string, isOpen: boolean) => void\n setPanelOpenByScope: (newState: OpenStateByScope) => void\n\n // Tab preferences by scope\n tabsByScope: TabStateByScope\n getTabForScope: (scope: string) => DetailsPanelTab\n\n // Slide out state\n slideOut: null | SlideOut\n openSlideOut: (slideOut: SlideOut) => void\n closeSlideOut: () => void\n\n // Highlighted activities\n highlightedActivities: string[]\n setHighlightedActivities: (activities: string[]) => void\n\n // PiP state\n pip: DetailsPanelPip | null\n openPip: (pip: DetailsPanelPip) => void\n closePip: () => void\n\n // Entities state\n entities: Entities | null\n setEntities: (entities: Entities | null) => void\n\n // Annotations\n feedAnnotations: SavedAnnotationMetadata[]\n setFeedAnnotations: (annotations: SavedAnnotationMetadata[]) => void\n\n // powerpack\n onPowerFeature: (feature: PowerpackFeature) => void\n}\n\n// Provider component\nexport interface DetailsPanelProviderProps extends DetailsPanelContextProps {\n children: ReactNode\n defaultTab?: DetailsPanelTab\n}\n\nexport const DetailsPanelProvider: React.FC<DetailsPanelProviderProps> = ({\n children,\n defaultTab = 'feed',\n hasLicense: hasLicenseProp,\n debug = {},\n ...forwardedProps\n}) => {\n const user = forwardedProps.user\n const bundleMode = getBundleModeFromUser(user)\n const isGuest = 'isGuest' in debug ? (debug.isGuest as boolean) : user?.data?.isGuest\n\n // get license from powerpack or forwarded down from props\n const { powerLicense, setPowerpackDialog } = usePowerpack()\n const hasLicense =\n 'hasLicense' in debug ? (debug.hasLicense as boolean) : !!powerLicense || hasLicenseProp\n\n // keep track of the currently open panel by scope\n const [panelOpenByScope, setPanelOpenByScope] = useState<OpenStateByScope>({})\n const [feedAnnotations, setFeedAnnotations] = useState<SavedAnnotationMetadata[]>([])\n\n // get the current open state for a specific scope\n const getOpenForScope = useCallback(\n (scope: string): boolean => {\n // Check if we have a saved preference for this scope\n if (panelOpenByScope[scope]) {\n return panelOpenByScope[scope]\n }\n\n // Fall back to default\n return false\n },\n [panelOpenByScope],\n )\n // Set open state for a scope\n const setPanelOpen = useCallback(\n (scope: string, isOpen: boolean) => {\n // Create a new state object based on current open state\n const newState = { ...panelOpenByScope }\n newState[scope] = isOpen\n\n // Update the state with the new object\n setPanelOpenByScope(newState)\n },\n [panelOpenByScope],\n )\n\n // Use localStorage to persist tab preferences by scope\n const [tabsByScope, setTabByScope] = useSessionStorage<TabStateByScope>(TABS_BY_SCOPE_KEY, {})\n\n // Get the current tab for a specific scope\n const getTabForScope = useCallback(\n (scope: string): DetailsPanelTab => {\n // Check if we have a saved preference for this scope\n const tab = tabsByScope[scope]\n if (isDetailsPanelTab(tab)) {\n return tab\n }\n\n // Fall back to default\n return defaultTab\n },\n [tabsByScope, defaultTab],\n )\n\n // Set tab for a scope\n\n // is the slide out open?\n const [slideOut, setSlideOut] = useState<null | SlideOut>(null)\n\n // open the slide out\n const openSlideOut = useCallback<DetailsPanelContextType['openSlideOut']>((params) => {\n setSlideOut(params)\n }, [])\n\n // close the slide out\n const closeSlideOut = useCallback(() => {\n setSlideOut(null)\n if (slideOut) {\n setHighlightedActivities([])\n }\n }, [])\n\n // close slide out whenever the page changes\n useEffect(() => {\n closeSlideOut()\n }, [forwardedProps.useLocation().pathname])\n\n const [pip, setPip] = useState<DetailsPanelPip | null>(null)\n\n const openPip = useCallback((pip: DetailsPanelPip) => {\n setPip(pip)\n }, [])\n const closePip = useCallback(() => {\n setPip(null)\n }, [])\n\n const [entities, setEntities] = useState<Entities | null>(null)\n\n const [highlightedActivities, setHighlightedActivities] = useState<string[]>([])\n\n const { uriType, uri, entity, getUriEntities } = useURIContext()\n const [searchParams] = forwardedProps.useSearchParams()\n\n const project = searchParams.get('project')\n const type = searchParams.get('type')\n const id = searchParams.get('id')\n const activity = searchParams.get('activity')\n\n // on first load or URL param change, check if there is a uri or URL params and open details panel if present\n useEffect(() => {\n // closing the panel deletes these params; bail so the stale uri state below can't reopen it\n if (!project && !type && !id) return\n\n // Priority 1: Check for 'uri' parameter (ayon+entity://...)\n if (uriType === 'entity' && entity && entity.entityType !== 'product') {\n getUriEntities()\n .then((result) => {\n if (result.length === 0) return\n\n const entityUriData = result.find((r) => r.uri === uri)\n const entityData = entityUriData?.entities?.[0]\n\n if (!entityUriData || !entityData) return\n const projectName = entityData?.projectName || entity.projectName || ''\n const id =\n entityData.representationId ||\n entityData.versionId ||\n entityData.productId ||\n entityData.taskId ||\n entityData.folderId\n\n if (!projectName || !id) return\n\n const newEntities: Entities = {\n entityType: entity.entityType as DetailsPanelEntityType,\n entities: [\n {\n id: id,\n projectName: projectName,\n },\n ],\n source: 'uri',\n }\n\n setEntities(newEntities)\n })\n .catch((err) => {\n console.warn('Failed to get URI entities:', err)\n })\n return\n }\n\n // Priority 2: Check for URL params (project, type, id)\n if (project && type && id) {\n const newEntities: Entities = {\n entityType: type as DetailsPanelEntityType,\n entities: [\n {\n id,\n projectName: project,\n },\n ],\n source: 'url',\n }\n\n setEntities(newEntities)\n\n // if there is an activity param, open the feed tab (activity is shown by default)\n\n if (activity) {\n setHighlightedActivities([activity])\n setTabByScope({\n ...tabsByScope,\n overview: 'feed',\n })\n }\n }\n }, [project, type, id])\n\n const value = {\n // open state for the panel by scope\n panelOpenByScope,\n getOpenForScope,\n setPanelOpen,\n setPanelOpenByScope,\n // tab preferences\n tabsByScope,\n getTabForScope,\n // slide out state\n slideOut,\n openSlideOut,\n closeSlideOut,\n // highlighted activities\n highlightedActivities,\n setHighlightedActivities,\n // PiP state\n pip,\n openPip,\n closePip,\n // entities state\n entities,\n setEntities,\n feedAnnotations,\n setFeedAnnotations,\n bundleMode,\n isGuest,\n hasLicense,\n onPowerFeature: setPowerpackDialog,\n ...forwardedProps,\n }\n\n return <DetailsPanelContext.Provider value={value}>{children}</DetailsPanelContext.Provider>\n}\n\n// Custom hook to use the details context\nexport const useDetailsPanelContext = (): DetailsPanelContextType => {\n const context = useContext(DetailsPanelContext)\n if (context === undefined) {\n throw new Error('useDetailsPanel must be used within a DetailsPanelProvider')\n }\n return context\n}\n\nconst TABS_BY_SCOPE_KEY = 'details/tabs-by-scope'\n\nexport const setDetailsPanelTabForScope = (scope: string, tab: DetailsPanelTab) => {\n const current = readLocalStorage<TabStateByScope>(TABS_BY_SCOPE_KEY, {})\n writeLocalStorage(TABS_BY_SCOPE_KEY, { ...current, [scope]: tab })\n}\n\n// Add a specialized hook for using a panel in a specific scope\nexport const useScopedDetailsPanel = (scope: string) => {\n const { getOpenForScope, setPanelOpen, getTabForScope } = useDetailsPanelContext()\n\n const [tabsByScope, setTabsByScope] = useSessionStorage<TabStateByScope>(TABS_BY_SCOPE_KEY, {})\n\n // derived from localStorage state, which useSessionStorage keeps in sync across hook instances\n const storedTab = tabsByScope[scope]\n const currentTab = isDetailsPanelTab(storedTab) ? storedTab : getTabForScope(scope)\n\n const updateTab = useCallback(\n (newTab: DetailsPanelTab) => {\n setTabsByScope((prev) => ({ ...prev, [scope]: newTab }))\n },\n [scope, setTabsByScope],\n )\n\n const isFeed = currentTab === 'feed'\n\n return {\n isOpen: getOpenForScope(scope),\n setOpen: (isOpen: boolean) => setPanelOpen(scope, isOpen),\n currentTab,\n setTab: updateTab,\n isFeed,\n }\n}\n"],"names":["DETAILS_PANEL_TABS","isDetailsPanelTab","tab","DetailsPanelProvider","children","defaultTab","hasLicenseProp","debug","forwardedProps","user","bundleMode","getBundleModeFromUser","isGuest","powerLicense","setPowerpackDialog","usePowerpack","hasLicense","panelOpenByScope","setPanelOpenByScope","useState","feedAnnotations","setFeedAnnotations","getOpenForScope","useCallback","scope","setPanelOpen","isOpen","newState","tabsByScope","setTabByScope","useSessionStorage","TABS_BY_SCOPE_KEY","getTabForScope","slideOut","setSlideOut","openSlideOut","params","closeSlideOut","setHighlightedActivities","useEffect","pip","setPip","openPip","closePip","entities","setEntities","highlightedActivities","uriType","uri","entity","getUriEntities","useURIContext","searchParams","project","type","id","activity","result","entityUriData","r","entityData","projectName","newEntities","err","value","jsx","DetailsPanelContext","useDetailsPanelContext","context","useContext","setDetailsPanelTabForScope","current","readLocalStorage","writeLocalStorage","useScopedDetailsPanel","setTabsByScope","storedTab","currentTab","updateTab","newTab","prev","isFeed"],"mappings":"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"}
1
+ {"version":3,"file":"DetailsPanelContext.cjs.js","sources":["../../../../src/context/DetailsPanelContext.tsx"],"sourcesContent":["import React, { ReactNode, useCallback, useContext, useEffect, useState } from 'react'\nimport { QueryFilter, UserModel, DetailsPanelEntityType } from '@shared/api'\nimport { useLocation, useNavigate, useParams, useSearchParams } from 'react-router-dom'\nimport { SavedAnnotationMetadata } from '@shared/containers'\nimport { PowerpackFeature, usePowerpack } from './PowerpackContext'\nimport { useURIContext } from './UriContext'\nimport { useSessionStorage, readLocalStorage, writeLocalStorage } from '@shared/hooks'\nimport type { SubtasksManagerProps } from '@shared/components'\nimport { DetailsPanelContext } from './DetailsPanelContextInstance'\nimport { BundleMode, getBundleModeFromUser } from '@shared/util'\n\n// High-level tabs for the details panel\nexport type DetailsPanelTab = 'feed' | 'subtasks' | 'details' | 'files'\n\n// Filters within the feed tab\nexport type FeedFilter = QueryFilter\n\nexport type SlideOut = {\n entityId: string\n entityType: DetailsPanelEntityType\n projectName: string\n}\n\nexport type DetailsPanelPip = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n scope: string\n}\n\nexport type Entities = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n entitySubTypes?: string[]\n source?: 'uri' | 'url' | 'related' // uri = ayon+entity://..., url = ?project=...&type=...&id=...\n}\n\nexport interface OpenStateByScope {\n [scope: string]: boolean\n}\n\n// Create a new interface for managing tab state by scope\nexport interface TabStateByScope {\n [scope: string]: DetailsPanelTab\n}\n\nconst DETAILS_PANEL_TABS: DetailsPanelTab[] = ['feed', 'subtasks', 'details', 'files']\n\nconst isDetailsPanelTab = (tab: unknown): tab is DetailsPanelTab =>\n typeof tab === 'string' && DETAILS_PANEL_TABS.includes(tab as DetailsPanelTab)\n\n// these props get forwarded to the details panel value\n// it's mainly redux callbacks that cannot be used in shared library\nexport interface DetailsPanelContextProps {\n dispatch?: any // this is a redux dispatch function and it's quite annoying we need to do this\n user: UserModel\n viewer?: {\n reviewableIds: string[]\n taskId?: string | null\n folderId?: string | null\n }\n // redux callback actions\n onOpenImage?: (args: any) => void\n onGoToFrame?: (frame: number) => void\n onOpenViewer?: (args: any) => void\n onUpdateEntity?: (data: { operations: any[]; entityType: string }) => void\n // route hooks\n useParams: typeof useParams\n useNavigate: typeof useNavigate\n useLocation: typeof useLocation\n useSearchParams: typeof useSearchParams\n feedAnnotationsEnabled?: boolean\n hasLicense?: boolean\n // SubtasksManager component\n SubtasksManager?: React.ComponentType<SubtasksManagerProps>\n // debugging used to simulate different values\n debug?: {\n isDeveloperMode?: boolean\n isGuest?: boolean\n hasLicense?: boolean\n }\n}\n\n// Interface for our simplified context\nexport interface DetailsPanelContextType extends DetailsPanelContextProps {\n // user\n bundleMode: BundleMode\n isGuest: boolean\n // Open state for the panel by scope\n panelOpenByScope: OpenStateByScope\n getOpenForScope: (scope: string) => boolean\n setPanelOpen: (scope: string, isOpen: boolean) => void\n setPanelOpenByScope: (newState: OpenStateByScope) => void\n\n // Tab preferences by scope\n tabsByScope: TabStateByScope\n getTabForScope: (scope: string) => DetailsPanelTab\n\n // Slide out state\n slideOut: null | SlideOut\n openSlideOut: (slideOut: SlideOut) => void\n closeSlideOut: () => void\n\n // Highlighted activities\n highlightedActivities: string[]\n setHighlightedActivities: (activities: string[]) => void\n\n // PiP state\n pip: DetailsPanelPip | null\n openPip: (pip: DetailsPanelPip) => void\n closePip: () => void\n\n // Entities state\n entities: Entities | null\n setEntities: (entities: Entities | null) => void\n\n // Annotations\n feedAnnotations: SavedAnnotationMetadata[]\n setFeedAnnotations: (annotations: SavedAnnotationMetadata[]) => void\n\n // powerpack\n onPowerFeature: (feature: PowerpackFeature) => void\n}\n\n// Provider component\nexport interface DetailsPanelProviderProps extends DetailsPanelContextProps {\n children: ReactNode\n defaultTab?: DetailsPanelTab\n}\n\nexport const DetailsPanelProvider: React.FC<DetailsPanelProviderProps> = ({\n children,\n defaultTab = 'feed',\n hasLicense: hasLicenseProp,\n debug = {},\n ...forwardedProps\n}) => {\n const user = forwardedProps.user\n const bundleMode = getBundleModeFromUser(user)\n const isGuest = 'isGuest' in debug ? (debug.isGuest as boolean) : user?.data?.isGuest\n\n // get license from powerpack or forwarded down from props\n const { powerLicense, setPowerpackDialog } = usePowerpack()\n const hasLicense =\n 'hasLicense' in debug ? (debug.hasLicense as boolean) : !!powerLicense || hasLicenseProp\n\n // keep track of the currently open panel by scope\n const [panelOpenByScope, setPanelOpenByScope] = useState<OpenStateByScope>({})\n const [feedAnnotations, setFeedAnnotations] = useState<SavedAnnotationMetadata[]>([])\n\n // get the current open state for a specific scope\n const getOpenForScope = useCallback(\n (scope: string): boolean => {\n // Check if we have a saved preference for this scope\n if (panelOpenByScope[scope]) {\n return panelOpenByScope[scope]\n }\n\n // Fall back to default\n return false\n },\n [panelOpenByScope],\n )\n // Set open state for a scope\n const setPanelOpen = useCallback(\n (scope: string, isOpen: boolean) => {\n // Create a new state object based on current open state\n const newState = { ...panelOpenByScope }\n newState[scope] = isOpen\n\n // Update the state with the new object\n setPanelOpenByScope(newState)\n },\n [panelOpenByScope],\n )\n\n // Use localStorage to persist tab preferences by scope\n const [tabsByScope, setTabByScope] = useSessionStorage<TabStateByScope>(TABS_BY_SCOPE_KEY, {})\n\n // Get the current tab for a specific scope\n const getTabForScope = useCallback(\n (scope: string): DetailsPanelTab => {\n // Check if we have a saved preference for this scope\n const tab = tabsByScope[scope]\n if (isDetailsPanelTab(tab)) {\n return tab\n }\n\n // Fall back to default\n return defaultTab\n },\n [tabsByScope, defaultTab],\n )\n\n // Set tab for a scope\n\n // is the slide out open?\n const [slideOut, setSlideOut] = useState<null | SlideOut>(null)\n\n // open the slide out\n const openSlideOut = useCallback<DetailsPanelContextType['openSlideOut']>((params) => {\n setSlideOut(params)\n }, [])\n\n // close the slide out\n const closeSlideOut = useCallback(() => {\n setSlideOut(null)\n if (slideOut) {\n setHighlightedActivities([])\n }\n }, [])\n\n // close slide out whenever the page changes\n useEffect(() => {\n closeSlideOut()\n }, [forwardedProps.useLocation().pathname])\n\n const [pip, setPip] = useState<DetailsPanelPip | null>(null)\n\n const openPip = useCallback((pip: DetailsPanelPip) => {\n setPip(pip)\n }, [])\n const closePip = useCallback(() => {\n setPip(null)\n }, [])\n\n const [entities, setEntities] = useState<Entities | null>(null)\n\n const [highlightedActivities, setHighlightedActivities] = useState<string[]>([])\n\n const { uriType, uri, entity, getUriEntities } = useURIContext()\n const [searchParams] = forwardedProps.useSearchParams()\n\n const project = searchParams.get('project')\n const type = searchParams.get('type')\n const id = searchParams.get('id')\n const activity = searchParams.get('activity')\n\n // on first load or URL param change, check if there is a uri or URL params and open details panel if present\n useEffect(() => {\n // closing the panel deletes these params; bail so the stale uri state below can't reopen it\n if (!project && !type && !id) return\n\n // Priority 1: Check for 'uri' parameter (ayon+entity://...)\n if (uriType === 'entity' && entity && entity.entityType !== 'product') {\n getUriEntities()\n .then((result) => {\n if (result.length === 0) return\n\n const entityUriData = result.find((r) => r.uri === uri)\n const entityData = entityUriData?.entities?.[0]\n\n if (!entityUriData || !entityData) return\n const projectName = entityData?.projectName || entity.projectName || ''\n const id =\n entityData.representationId ||\n entityData.versionId ||\n entityData.productId ||\n entityData.taskId ||\n entityData.folderId\n\n if (!projectName || !id) return\n\n const newEntities: Entities = {\n entityType: entity.entityType as DetailsPanelEntityType,\n entities: [\n {\n id: id,\n projectName: projectName,\n },\n ],\n source: 'uri',\n }\n\n setEntities(newEntities)\n })\n .catch((err) => {\n console.warn('Failed to get URI entities:', err)\n })\n return\n }\n\n // Priority 2: Check for URL params (project, type, id)\n if (project && type && id) {\n const newEntities: Entities = {\n entityType: type as DetailsPanelEntityType,\n entities: [\n {\n id,\n projectName: project,\n },\n ],\n source: 'url',\n }\n\n setEntities(newEntities)\n\n // if there is an activity param, open the feed tab (activity is shown by default)\n\n if (activity) {\n setHighlightedActivities([activity])\n setTabByScope({\n ...tabsByScope,\n overview: 'feed',\n })\n }\n }\n }, [project, type, id])\n\n const value = {\n // open state for the panel by scope\n panelOpenByScope,\n getOpenForScope,\n setPanelOpen,\n setPanelOpenByScope,\n // tab preferences\n tabsByScope,\n getTabForScope,\n // slide out state\n slideOut,\n openSlideOut,\n closeSlideOut,\n // highlighted activities\n highlightedActivities,\n setHighlightedActivities,\n // PiP state\n pip,\n openPip,\n closePip,\n // entities state\n entities,\n setEntities,\n feedAnnotations,\n setFeedAnnotations,\n bundleMode,\n isGuest,\n hasLicense,\n onPowerFeature: setPowerpackDialog,\n ...forwardedProps,\n }\n\n return <DetailsPanelContext.Provider value={value}>{children}</DetailsPanelContext.Provider>\n}\n\n// Custom hook to use the details context\nexport const useDetailsPanelContext = (): DetailsPanelContextType => {\n const context = useContext(DetailsPanelContext)\n if (context === undefined) {\n throw new Error('useDetailsPanel must be used within a DetailsPanelProvider')\n }\n return context\n}\n\nconst TABS_BY_SCOPE_KEY = 'details/tabs-by-scope'\n\nexport const setDetailsPanelTabForScope = (scope: string, tab: DetailsPanelTab) => {\n const current = readLocalStorage<TabStateByScope>(TABS_BY_SCOPE_KEY, {})\n writeLocalStorage(TABS_BY_SCOPE_KEY, { ...current, [scope]: tab })\n}\n\n// Add a specialized hook for using a panel in a specific scope\nexport const useScopedDetailsPanel = (scope: string) => {\n const { getOpenForScope, setPanelOpen, getTabForScope } = useDetailsPanelContext()\n\n const [tabsByScope, setTabsByScope] = useSessionStorage<TabStateByScope>(TABS_BY_SCOPE_KEY, {})\n\n // derived from localStorage state, which useSessionStorage keeps in sync across hook instances\n const storedTab = tabsByScope[scope]\n const currentTab = isDetailsPanelTab(storedTab) ? storedTab : getTabForScope(scope)\n\n const updateTab = useCallback(\n (newTab: DetailsPanelTab) => {\n setTabsByScope((prev) => ({ ...prev, [scope]: newTab }))\n },\n [scope, setTabsByScope],\n )\n\n const isFeed = currentTab === 'feed'\n\n return {\n isOpen: getOpenForScope(scope),\n setOpen: (isOpen: boolean) => setPanelOpen(scope, isOpen),\n currentTab,\n setTab: updateTab,\n isFeed,\n }\n}\n"],"names":["DETAILS_PANEL_TABS","isDetailsPanelTab","tab","DetailsPanelProvider","children","defaultTab","hasLicenseProp","debug","forwardedProps","user","bundleMode","getBundleModeFromUser","isGuest","powerLicense","setPowerpackDialog","usePowerpack","hasLicense","panelOpenByScope","setPanelOpenByScope","useState","feedAnnotations","setFeedAnnotations","getOpenForScope","useCallback","scope","setPanelOpen","isOpen","newState","tabsByScope","setTabByScope","useSessionStorage","TABS_BY_SCOPE_KEY","getTabForScope","slideOut","setSlideOut","openSlideOut","params","closeSlideOut","setHighlightedActivities","useEffect","pip","setPip","openPip","closePip","entities","setEntities","highlightedActivities","uriType","uri","entity","getUriEntities","useURIContext","searchParams","project","type","id","activity","result","entityUriData","r","entityData","projectName","newEntities","err","value","jsx","DetailsPanelContext","useDetailsPanelContext","context","useContext","setDetailsPanelTabForScope","current","readLocalStorage","writeLocalStorage","useScopedDetailsPanel","setTabsByScope","storedTab","currentTab","updateTab","newTab","prev","isFeed"],"mappings":"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"}
@@ -118,7 +118,6 @@ import "react-dom";
118
118
  import "./pip/PiPWrapper.es.js";
119
119
  import "./AddonProjectContext.es.js";
120
120
  import "./AddonContext.es.js";
121
- import "./MoveEntityContext.es.js";
122
121
  import "./MenuContext.es.js";
123
122
  import "./WebsocketContext.es.js";
124
123
  import "./GlobalContext.es.js";
@@ -207,11 +206,46 @@ import "react-router-dom";
207
206
  import "../containers/Slicer/components/Slicer.es.js";
208
207
  import "../containers/Slicer/context/SlicerContextInstance.es.js";
209
208
  import "../containers/Slicer/components/SlicerDropdownFallback.es.js";
209
+ import "../containers/NewEntity/components/NewEntity.es.js";
210
+ import "@tanstack/react-virtual";
211
+ import "@tanstack/react-table";
212
+ import "../containers/ProjectTreeTable/widgets/CollapsedWidget.es.js";
213
+ import "../containers/ProjectTreeTable/widgets/DateWidget.es.js";
214
+ import "../containers/ProjectTreeTable/widgets/EnumWidget.es.js";
215
+ import "../containers/ProjectTreeTable/widgets/EnumCellValue.es.js";
216
+ import "../containers/ProjectTreeTable/widgets/TextWidget.es.js";
217
+ import "../containers/ProjectTreeTable/widgets/MarkdownWidget.es.js";
218
+ import "../containers/ProjectTreeTable/widgets/BooleanWidget.es.js";
219
+ import "../containers/ProjectTreeTable/widgets/CellWidget.es.js";
220
+ import "../containers/ProjectTreeTable/widgets/EntityNameWidget.es.js";
221
+ import "../containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js";
222
+ import "../containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js";
223
+ import "../containers/ProjectTreeTable/widgets/LinksWidget.es.js";
224
+ import "short-uuid";
225
+ import "../components/SearchFilter/filterDates.es.js";
226
+ import "../containers/ProjectTreeTable/context/CellEditingContext.es.js";
227
+ import "../containers/ProjectTreeTable/context/SelectionCellsContext.es.js";
228
+ import "../containers/ProjectTreeTable/context/ProjectTableQueriesContext.es.js";
229
+ import "../containers/ProjectTreeTable/context/ClipboardContext.es.js";
230
+ import "../containers/ProjectTreeTable/context/ColumnSettingsContext.es.js";
231
+ import "../containers/ProjectTreeTable/context/SelectedRowsContext.es.js";
232
+ import "../containers/ProjectTreeTable/context/DetailsPanelEntityContext.es.js";
233
+ import "../containers/ProjectTreeTable/context/ProjectDataContextInstance.es.js";
234
+ import "../containers/ProjectTreeTable/context/ProjectTableContextInstance.es.js";
235
+ import "../containers/ProjectTreeTable/widgets/EmptyWidget.es.js";
236
+ import "../containers/ProjectTreeTable/widgets/ErrorWidget.es.js";
237
+ import "../containers/ProjectTreeTable/ProjectTreeTable.styled.es.js";
238
+ import "../containers/ProjectTreeTable/components/SelectionCell.es.js";
239
+ import "../containers/ProjectTreeTable/components/RowSelectionHeader.es.js";
240
+ import "../containers/ProjectTreeTable/widgets/LoadMoreWidget.es.js";
241
+ import "../containers/ProjectTreeTable/components/HeaderActionButton.es.js";
242
+ import "../containers/ProjectTreeTable/components/TableFooterRow.es.js";
243
+ import "../containers/NewEntity/context/NewEntityContextInstance.es.js";
244
+ import "../containers/NewEntity/components/NewEntityForm.es.js";
210
245
  import "../containers/Slicer/hooks/useTableDataBySlice.es.js";
211
246
  import "react-redux";
212
247
  import "../components/ReviewableCard/ReviewableCard.es.js";
213
248
  import "../components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
214
- import "../components/SearchFilter/filterDates.es.js";
215
249
  import "../components/SearchFilter/CustomDateRangeDialog.es.js";
216
250
  import "../components/SettingsPanel/SettingsPanel.es.js";
217
251
  import "../components/SettingsPanel/SettingsPanelItemTemplate.es.js";
@@ -235,8 +269,8 @@ import "../containers/Feed/components/ActivityStatus/ActivityStatus.es.js";
235
269
  import "../containers/Feed/components/ActivityHeader/ActivityHeader.styled.es.js";
236
270
  import "../containers/Feed/components/ActivityDate.es.js";
237
271
  import "../containers/Feed/components/ActivityCategorySelect/CategoryTag.es.js";
238
- import "../containers/Feed/components/ActivityStatusChange/ActivityStatusChange.styled.es.js";
239
- import "../containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.es.js";
272
+ import "../containers/Feed/components/ActivityFieldChange/ActivityFieldChange.styled.es.js";
273
+ import "../containers/Feed/components/ActivityFieldChange/FieldValue.es.js";
240
274
  import "../containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.es.js";
241
275
  import "../containers/Feed/components/ActivityVersions/ActivityVersions.styled.es.js";
242
276
  import "../containers/Feed/components/ActivityGroup/ActivityGroup.styled.es.js";
@@ -245,38 +279,6 @@ import "../containers/Feed/components/ActivityCategorySelect/ActivityCategorySel
245
279
  import "../containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.es.js";
246
280
  import "../containers/Feed/Feed.styled.es.js";
247
281
  import "../containers/Feed/components/FeedSearchFilter.es.js";
248
- import "@tanstack/react-virtual";
249
- import "@tanstack/react-table";
250
- import "../containers/ProjectTreeTable/widgets/CollapsedWidget.es.js";
251
- import "../containers/ProjectTreeTable/widgets/DateWidget.es.js";
252
- import "../containers/ProjectTreeTable/widgets/EnumWidget.es.js";
253
- import "../containers/ProjectTreeTable/widgets/EnumCellValue.es.js";
254
- import "../containers/ProjectTreeTable/widgets/TextWidget.es.js";
255
- import "../containers/ProjectTreeTable/widgets/MarkdownWidget.es.js";
256
- import "../containers/ProjectTreeTable/widgets/BooleanWidget.es.js";
257
- import "../containers/ProjectTreeTable/widgets/CellWidget.es.js";
258
- import "../containers/ProjectTreeTable/widgets/EntityNameWidget.es.js";
259
- import "../containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js";
260
- import "../containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js";
261
- import "../containers/ProjectTreeTable/widgets/LinksWidget.es.js";
262
- import "short-uuid";
263
- import "../containers/ProjectTreeTable/context/CellEditingContext.es.js";
264
- import "../containers/ProjectTreeTable/context/SelectionCellsContext.es.js";
265
- import "../containers/ProjectTreeTable/context/ProjectTableQueriesContext.es.js";
266
- import "../containers/ProjectTreeTable/context/ClipboardContext.es.js";
267
- import "../containers/ProjectTreeTable/context/ColumnSettingsContext.es.js";
268
- import "../containers/ProjectTreeTable/context/SelectedRowsContext.es.js";
269
- import "../containers/ProjectTreeTable/context/DetailsPanelEntityContext.es.js";
270
- import "../containers/ProjectTreeTable/context/ProjectDataContextInstance.es.js";
271
- import "../containers/ProjectTreeTable/context/ProjectTableContextInstance.es.js";
272
- import "../containers/ProjectTreeTable/widgets/EmptyWidget.es.js";
273
- import "../containers/ProjectTreeTable/widgets/ErrorWidget.es.js";
274
- import "../containers/ProjectTreeTable/ProjectTreeTable.styled.es.js";
275
- import "../containers/ProjectTreeTable/components/SelectionCell.es.js";
276
- import "../containers/ProjectTreeTable/components/RowSelectionHeader.es.js";
277
- import "../containers/ProjectTreeTable/widgets/LoadMoreWidget.es.js";
278
- import "../containers/ProjectTreeTable/components/HeaderActionButton.es.js";
279
- import "../containers/ProjectTreeTable/components/TableFooterRow.es.js";
280
282
  import "../containers/DetailsPanel/DetailsPanel.styled.es.js";
281
283
  import "../containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.es.js";
282
284
  import "../containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.es.js";
@@ -300,7 +302,7 @@ import "../containers/ListTable/ListTable.styled.es.js";
300
302
  import "./DeleteEntitiesContext.es.js";
301
303
  import "custom-protocol-check";
302
304
  import "../containers/ProjectTreeTable/components/GroupSettingsFallback.es.js";
303
- const ct = ["feed", "subtasks", "details", "files"], U = (t) => typeof t == "string" && ct.includes(t), Km = ({
305
+ const ct = ["feed", "subtasks", "details", "files"], U = (t) => typeof t == "string" && ct.includes(t), zm = ({
304
306
  children: t,
305
307
  defaultTab: e = "feed",
306
308
  hasLicense: a,
@@ -412,10 +414,10 @@ const ct = ["feed", "subtasks", "details", "files"], U = (t) => typeof t == "str
412
414
  if (t === void 0)
413
415
  throw new Error("useDetailsPanel must be used within a DetailsPanelProvider");
414
416
  return t;
415
- }, b = "details/tabs-by-scope", qm = (t, e) => {
417
+ }, b = "details/tabs-by-scope", Jm = (t, e) => {
416
418
  const a = et(b, {});
417
419
  nt(b, { ...a, [t]: e });
418
- }, zm = (t) => {
420
+ }, Qm = (t) => {
419
421
  const { getOpenForScope: e, setPanelOpen: a, getTabForScope: n } = at(), [s, u] = k(b, {}), d = s[t], f = U(d) ? d : n(t), O = p(
420
422
  (l) => {
421
423
  u((r) => ({ ...r, [t]: l }));
@@ -431,9 +433,9 @@ const ct = ["feed", "subtasks", "details", "files"], U = (t) => typeof t == "str
431
433
  };
432
434
  };
433
435
  export {
434
- Km as DetailsPanelProvider,
435
- qm as setDetailsPanelTabForScope,
436
+ zm as DetailsPanelProvider,
437
+ Jm as setDetailsPanelTabForScope,
436
438
  at as useDetailsPanelContext,
437
- zm as useScopedDetailsPanel
439
+ Qm as useScopedDetailsPanel
438
440
  };
439
441
  //# sourceMappingURL=DetailsPanelContext.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DetailsPanelContext.es.js","sources":["../../../../src/context/DetailsPanelContext.tsx"],"sourcesContent":["import React, { ReactNode, useCallback, useContext, useEffect, useState } from 'react'\nimport { QueryFilter, UserModel, DetailsPanelEntityType } from '@shared/api'\nimport { useLocation, useNavigate, useParams, useSearchParams } from 'react-router-dom'\nimport { SavedAnnotationMetadata } from '@shared/containers'\nimport { PowerpackFeature, usePowerpack } from './PowerpackContext'\nimport { useURIContext } from './UriContext'\nimport { useSessionStorage, readLocalStorage, writeLocalStorage } from '@shared/hooks'\nimport type { SubtasksManagerProps } from '@shared/components'\nimport { DetailsPanelContext } from './DetailsPanelContextInstance'\nimport { BundleMode, getBundleModeFromUser } from '@shared/util'\n\n// High-level tabs for the details panel\nexport type DetailsPanelTab = 'feed' | 'subtasks' | 'details' | 'files'\n\n// Filters within the feed tab\nexport type FeedFilter = QueryFilter\n\nexport type SlideOut = {\n entityId: string\n entityType: DetailsPanelEntityType\n projectName: string\n}\n\nexport type DetailsPanelPip = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n scope: string\n}\n\nexport type Entities = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n entitySubTypes?: string[]\n source?: 'uri' | 'url' | 'related' // uri = ayon+entity://..., url = ?project=...&type=...&id=...\n}\n\nexport interface OpenStateByScope {\n [scope: string]: boolean\n}\n\n// Create a new interface for managing tab state by scope\nexport interface TabStateByScope {\n [scope: string]: DetailsPanelTab\n}\n\nconst DETAILS_PANEL_TABS: DetailsPanelTab[] = ['feed', 'subtasks', 'details', 'files']\n\nconst isDetailsPanelTab = (tab: unknown): tab is DetailsPanelTab =>\n typeof tab === 'string' && DETAILS_PANEL_TABS.includes(tab as DetailsPanelTab)\n\n// these props get forwarded to the details panel value\n// it's mainly redux callbacks that cannot be used in shared library\nexport interface DetailsPanelContextProps {\n dispatch?: any // this is a redux dispatch function and it's quite annoying we need to do this\n user: UserModel\n viewer?: {\n reviewableIds: string[]\n taskId?: string | null\n folderId?: string | null\n }\n // redux callback actions\n onOpenImage?: (args: any) => void\n onGoToFrame?: (frame: number) => void\n onOpenViewer?: (args: any) => void\n onUpdateEntity?: (data: { operations: any[]; entityType: string }) => void\n // route hooks\n useParams: typeof useParams\n useNavigate: typeof useNavigate\n useLocation: typeof useLocation\n useSearchParams: typeof useSearchParams\n feedAnnotationsEnabled?: boolean\n hasLicense?: boolean\n // SubtasksManager component\n SubtasksManager?: React.ComponentType<SubtasksManagerProps>\n // debugging used to simulate different values\n debug?: {\n isDeveloperMode?: boolean\n isGuest?: boolean\n hasLicense?: boolean\n }\n}\n\n// Interface for our simplified context\nexport interface DetailsPanelContextType extends DetailsPanelContextProps {\n // user\n bundleMode: BundleMode\n isGuest: boolean\n // Open state for the panel by scope\n panelOpenByScope: OpenStateByScope\n getOpenForScope: (scope: string) => boolean\n setPanelOpen: (scope: string, isOpen: boolean) => void\n setPanelOpenByScope: (newState: OpenStateByScope) => void\n\n // Tab preferences by scope\n tabsByScope: TabStateByScope\n getTabForScope: (scope: string) => DetailsPanelTab\n\n // Slide out state\n slideOut: null | SlideOut\n openSlideOut: (slideOut: SlideOut) => void\n closeSlideOut: () => void\n\n // Highlighted activities\n highlightedActivities: string[]\n setHighlightedActivities: (activities: string[]) => void\n\n // PiP state\n pip: DetailsPanelPip | null\n openPip: (pip: DetailsPanelPip) => void\n closePip: () => void\n\n // Entities state\n entities: Entities | null\n setEntities: (entities: Entities | null) => void\n\n // Annotations\n feedAnnotations: SavedAnnotationMetadata[]\n setFeedAnnotations: (annotations: SavedAnnotationMetadata[]) => void\n\n // powerpack\n onPowerFeature: (feature: PowerpackFeature) => void\n}\n\n// Provider component\nexport interface DetailsPanelProviderProps extends DetailsPanelContextProps {\n children: ReactNode\n defaultTab?: DetailsPanelTab\n}\n\nexport const DetailsPanelProvider: React.FC<DetailsPanelProviderProps> = ({\n children,\n defaultTab = 'feed',\n hasLicense: hasLicenseProp,\n debug = {},\n ...forwardedProps\n}) => {\n const user = forwardedProps.user\n const bundleMode = getBundleModeFromUser(user)\n const isGuest = 'isGuest' in debug ? (debug.isGuest as boolean) : user?.data?.isGuest\n\n // get license from powerpack or forwarded down from props\n const { powerLicense, setPowerpackDialog } = usePowerpack()\n const hasLicense =\n 'hasLicense' in debug ? (debug.hasLicense as boolean) : !!powerLicense || hasLicenseProp\n\n // keep track of the currently open panel by scope\n const [panelOpenByScope, setPanelOpenByScope] = useState<OpenStateByScope>({})\n const [feedAnnotations, setFeedAnnotations] = useState<SavedAnnotationMetadata[]>([])\n\n // get the current open state for a specific scope\n const getOpenForScope = useCallback(\n (scope: string): boolean => {\n // Check if we have a saved preference for this scope\n if (panelOpenByScope[scope]) {\n return panelOpenByScope[scope]\n }\n\n // Fall back to default\n return false\n },\n [panelOpenByScope],\n )\n // Set open state for a scope\n const setPanelOpen = useCallback(\n (scope: string, isOpen: boolean) => {\n // Create a new state object based on current open state\n const newState = { ...panelOpenByScope }\n newState[scope] = isOpen\n\n // Update the state with the new object\n setPanelOpenByScope(newState)\n },\n [panelOpenByScope],\n )\n\n // Use localStorage to persist tab preferences by scope\n const [tabsByScope, setTabByScope] = useSessionStorage<TabStateByScope>(TABS_BY_SCOPE_KEY, {})\n\n // Get the current tab for a specific scope\n const getTabForScope = useCallback(\n (scope: string): DetailsPanelTab => {\n // Check if we have a saved preference for this scope\n const tab = tabsByScope[scope]\n if (isDetailsPanelTab(tab)) {\n return tab\n }\n\n // Fall back to default\n return defaultTab\n },\n [tabsByScope, defaultTab],\n )\n\n // Set tab for a scope\n\n // is the slide out open?\n const [slideOut, setSlideOut] = useState<null | SlideOut>(null)\n\n // open the slide out\n const openSlideOut = useCallback<DetailsPanelContextType['openSlideOut']>((params) => {\n setSlideOut(params)\n }, [])\n\n // close the slide out\n const closeSlideOut = useCallback(() => {\n setSlideOut(null)\n if (slideOut) {\n setHighlightedActivities([])\n }\n }, [])\n\n // close slide out whenever the page changes\n useEffect(() => {\n closeSlideOut()\n }, [forwardedProps.useLocation().pathname])\n\n const [pip, setPip] = useState<DetailsPanelPip | null>(null)\n\n const openPip = useCallback((pip: DetailsPanelPip) => {\n setPip(pip)\n }, [])\n const closePip = useCallback(() => {\n setPip(null)\n }, [])\n\n const [entities, setEntities] = useState<Entities | null>(null)\n\n const [highlightedActivities, setHighlightedActivities] = useState<string[]>([])\n\n const { uriType, uri, entity, getUriEntities } = useURIContext()\n const [searchParams] = forwardedProps.useSearchParams()\n\n const project = searchParams.get('project')\n const type = searchParams.get('type')\n const id = searchParams.get('id')\n const activity = searchParams.get('activity')\n\n // on first load or URL param change, check if there is a uri or URL params and open details panel if present\n useEffect(() => {\n // closing the panel deletes these params; bail so the stale uri state below can't reopen it\n if (!project && !type && !id) return\n\n // Priority 1: Check for 'uri' parameter (ayon+entity://...)\n if (uriType === 'entity' && entity && entity.entityType !== 'product') {\n getUriEntities()\n .then((result) => {\n if (result.length === 0) return\n\n const entityUriData = result.find((r) => r.uri === uri)\n const entityData = entityUriData?.entities?.[0]\n\n if (!entityUriData || !entityData) return\n const projectName = entityData?.projectName || entity.projectName || ''\n const id =\n entityData.representationId ||\n entityData.versionId ||\n entityData.productId ||\n entityData.taskId ||\n entityData.folderId\n\n if (!projectName || !id) return\n\n const newEntities: Entities = {\n entityType: entity.entityType as DetailsPanelEntityType,\n entities: [\n {\n id: id,\n projectName: projectName,\n },\n ],\n source: 'uri',\n }\n\n setEntities(newEntities)\n })\n .catch((err) => {\n console.warn('Failed to get URI entities:', err)\n })\n return\n }\n\n // Priority 2: Check for URL params (project, type, id)\n if (project && type && id) {\n const newEntities: Entities = {\n entityType: type as DetailsPanelEntityType,\n entities: [\n {\n id,\n projectName: project,\n },\n ],\n source: 'url',\n }\n\n setEntities(newEntities)\n\n // if there is an activity param, open the feed tab (activity is shown by default)\n\n if (activity) {\n setHighlightedActivities([activity])\n setTabByScope({\n ...tabsByScope,\n overview: 'feed',\n })\n }\n }\n }, [project, type, id])\n\n const value = {\n // open state for the panel by scope\n panelOpenByScope,\n getOpenForScope,\n setPanelOpen,\n setPanelOpenByScope,\n // tab preferences\n tabsByScope,\n getTabForScope,\n // slide out state\n slideOut,\n openSlideOut,\n closeSlideOut,\n // highlighted activities\n highlightedActivities,\n setHighlightedActivities,\n // PiP state\n pip,\n openPip,\n closePip,\n // entities state\n entities,\n setEntities,\n feedAnnotations,\n setFeedAnnotations,\n bundleMode,\n isGuest,\n hasLicense,\n onPowerFeature: setPowerpackDialog,\n ...forwardedProps,\n }\n\n return <DetailsPanelContext.Provider value={value}>{children}</DetailsPanelContext.Provider>\n}\n\n// Custom hook to use the details context\nexport const useDetailsPanelContext = (): DetailsPanelContextType => {\n const context = useContext(DetailsPanelContext)\n if (context === undefined) {\n throw new Error('useDetailsPanel must be used within a DetailsPanelProvider')\n }\n return context\n}\n\nconst TABS_BY_SCOPE_KEY = 'details/tabs-by-scope'\n\nexport const setDetailsPanelTabForScope = (scope: string, tab: DetailsPanelTab) => {\n const current = readLocalStorage<TabStateByScope>(TABS_BY_SCOPE_KEY, {})\n writeLocalStorage(TABS_BY_SCOPE_KEY, { ...current, [scope]: tab })\n}\n\n// Add a specialized hook for using a panel in a specific scope\nexport const useScopedDetailsPanel = (scope: string) => {\n const { getOpenForScope, setPanelOpen, getTabForScope } = useDetailsPanelContext()\n\n const [tabsByScope, setTabsByScope] = useSessionStorage<TabStateByScope>(TABS_BY_SCOPE_KEY, {})\n\n // derived from localStorage state, which useSessionStorage keeps in sync across hook instances\n const storedTab = tabsByScope[scope]\n const currentTab = isDetailsPanelTab(storedTab) ? storedTab : getTabForScope(scope)\n\n const updateTab = useCallback(\n (newTab: DetailsPanelTab) => {\n setTabsByScope((prev) => ({ ...prev, [scope]: newTab }))\n },\n [scope, setTabsByScope],\n )\n\n const isFeed = currentTab === 'feed'\n\n return {\n isOpen: getOpenForScope(scope),\n setOpen: (isOpen: boolean) => setPanelOpen(scope, isOpen),\n currentTab,\n setTab: updateTab,\n isFeed,\n }\n}\n"],"names":["DETAILS_PANEL_TABS","isDetailsPanelTab","tab","DetailsPanelProvider","children","defaultTab","hasLicenseProp","debug","forwardedProps","user","bundleMode","getBundleModeFromUser","isGuest","powerLicense","setPowerpackDialog","usePowerpack","hasLicense","panelOpenByScope","setPanelOpenByScope","useState","feedAnnotations","setFeedAnnotations","getOpenForScope","useCallback","scope","setPanelOpen","isOpen","newState","tabsByScope","setTabByScope","useSessionStorage","TABS_BY_SCOPE_KEY","getTabForScope","slideOut","setSlideOut","openSlideOut","params","closeSlideOut","setHighlightedActivities","useEffect","pip","setPip","openPip","closePip","entities","setEntities","highlightedActivities","uriType","uri","entity","getUriEntities","useURIContext","searchParams","project","type","id","activity","result","entityUriData","r","entityData","projectName","newEntities","err","value","jsx","DetailsPanelContext","useDetailsPanelContext","context","useContext","setDetailsPanelTabForScope","current","readLocalStorage","writeLocalStorage","useScopedDetailsPanel","setTabsByScope","storedTab","currentTab","updateTab","newTab","prev","isFeed"],"mappings":"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"}
1
+ {"version":3,"file":"DetailsPanelContext.es.js","sources":["../../../../src/context/DetailsPanelContext.tsx"],"sourcesContent":["import React, { ReactNode, useCallback, useContext, useEffect, useState } from 'react'\nimport { QueryFilter, UserModel, DetailsPanelEntityType } from '@shared/api'\nimport { useLocation, useNavigate, useParams, useSearchParams } from 'react-router-dom'\nimport { SavedAnnotationMetadata } from '@shared/containers'\nimport { PowerpackFeature, usePowerpack } from './PowerpackContext'\nimport { useURIContext } from './UriContext'\nimport { useSessionStorage, readLocalStorage, writeLocalStorage } from '@shared/hooks'\nimport type { SubtasksManagerProps } from '@shared/components'\nimport { DetailsPanelContext } from './DetailsPanelContextInstance'\nimport { BundleMode, getBundleModeFromUser } from '@shared/util'\n\n// High-level tabs for the details panel\nexport type DetailsPanelTab = 'feed' | 'subtasks' | 'details' | 'files'\n\n// Filters within the feed tab\nexport type FeedFilter = QueryFilter\n\nexport type SlideOut = {\n entityId: string\n entityType: DetailsPanelEntityType\n projectName: string\n}\n\nexport type DetailsPanelPip = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n scope: string\n}\n\nexport type Entities = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n entitySubTypes?: string[]\n source?: 'uri' | 'url' | 'related' // uri = ayon+entity://..., url = ?project=...&type=...&id=...\n}\n\nexport interface OpenStateByScope {\n [scope: string]: boolean\n}\n\n// Create a new interface for managing tab state by scope\nexport interface TabStateByScope {\n [scope: string]: DetailsPanelTab\n}\n\nconst DETAILS_PANEL_TABS: DetailsPanelTab[] = ['feed', 'subtasks', 'details', 'files']\n\nconst isDetailsPanelTab = (tab: unknown): tab is DetailsPanelTab =>\n typeof tab === 'string' && DETAILS_PANEL_TABS.includes(tab as DetailsPanelTab)\n\n// these props get forwarded to the details panel value\n// it's mainly redux callbacks that cannot be used in shared library\nexport interface DetailsPanelContextProps {\n dispatch?: any // this is a redux dispatch function and it's quite annoying we need to do this\n user: UserModel\n viewer?: {\n reviewableIds: string[]\n taskId?: string | null\n folderId?: string | null\n }\n // redux callback actions\n onOpenImage?: (args: any) => void\n onGoToFrame?: (frame: number) => void\n onOpenViewer?: (args: any) => void\n onUpdateEntity?: (data: { operations: any[]; entityType: string }) => void\n // route hooks\n useParams: typeof useParams\n useNavigate: typeof useNavigate\n useLocation: typeof useLocation\n useSearchParams: typeof useSearchParams\n feedAnnotationsEnabled?: boolean\n hasLicense?: boolean\n // SubtasksManager component\n SubtasksManager?: React.ComponentType<SubtasksManagerProps>\n // debugging used to simulate different values\n debug?: {\n isDeveloperMode?: boolean\n isGuest?: boolean\n hasLicense?: boolean\n }\n}\n\n// Interface for our simplified context\nexport interface DetailsPanelContextType extends DetailsPanelContextProps {\n // user\n bundleMode: BundleMode\n isGuest: boolean\n // Open state for the panel by scope\n panelOpenByScope: OpenStateByScope\n getOpenForScope: (scope: string) => boolean\n setPanelOpen: (scope: string, isOpen: boolean) => void\n setPanelOpenByScope: (newState: OpenStateByScope) => void\n\n // Tab preferences by scope\n tabsByScope: TabStateByScope\n getTabForScope: (scope: string) => DetailsPanelTab\n\n // Slide out state\n slideOut: null | SlideOut\n openSlideOut: (slideOut: SlideOut) => void\n closeSlideOut: () => void\n\n // Highlighted activities\n highlightedActivities: string[]\n setHighlightedActivities: (activities: string[]) => void\n\n // PiP state\n pip: DetailsPanelPip | null\n openPip: (pip: DetailsPanelPip) => void\n closePip: () => void\n\n // Entities state\n entities: Entities | null\n setEntities: (entities: Entities | null) => void\n\n // Annotations\n feedAnnotations: SavedAnnotationMetadata[]\n setFeedAnnotations: (annotations: SavedAnnotationMetadata[]) => void\n\n // powerpack\n onPowerFeature: (feature: PowerpackFeature) => void\n}\n\n// Provider component\nexport interface DetailsPanelProviderProps extends DetailsPanelContextProps {\n children: ReactNode\n defaultTab?: DetailsPanelTab\n}\n\nexport const DetailsPanelProvider: React.FC<DetailsPanelProviderProps> = ({\n children,\n defaultTab = 'feed',\n hasLicense: hasLicenseProp,\n debug = {},\n ...forwardedProps\n}) => {\n const user = forwardedProps.user\n const bundleMode = getBundleModeFromUser(user)\n const isGuest = 'isGuest' in debug ? (debug.isGuest as boolean) : user?.data?.isGuest\n\n // get license from powerpack or forwarded down from props\n const { powerLicense, setPowerpackDialog } = usePowerpack()\n const hasLicense =\n 'hasLicense' in debug ? (debug.hasLicense as boolean) : !!powerLicense || hasLicenseProp\n\n // keep track of the currently open panel by scope\n const [panelOpenByScope, setPanelOpenByScope] = useState<OpenStateByScope>({})\n const [feedAnnotations, setFeedAnnotations] = useState<SavedAnnotationMetadata[]>([])\n\n // get the current open state for a specific scope\n const getOpenForScope = useCallback(\n (scope: string): boolean => {\n // Check if we have a saved preference for this scope\n if (panelOpenByScope[scope]) {\n return panelOpenByScope[scope]\n }\n\n // Fall back to default\n return false\n },\n [panelOpenByScope],\n )\n // Set open state for a scope\n const setPanelOpen = useCallback(\n (scope: string, isOpen: boolean) => {\n // Create a new state object based on current open state\n const newState = { ...panelOpenByScope }\n newState[scope] = isOpen\n\n // Update the state with the new object\n setPanelOpenByScope(newState)\n },\n [panelOpenByScope],\n )\n\n // Use localStorage to persist tab preferences by scope\n const [tabsByScope, setTabByScope] = useSessionStorage<TabStateByScope>(TABS_BY_SCOPE_KEY, {})\n\n // Get the current tab for a specific scope\n const getTabForScope = useCallback(\n (scope: string): DetailsPanelTab => {\n // Check if we have a saved preference for this scope\n const tab = tabsByScope[scope]\n if (isDetailsPanelTab(tab)) {\n return tab\n }\n\n // Fall back to default\n return defaultTab\n },\n [tabsByScope, defaultTab],\n )\n\n // Set tab for a scope\n\n // is the slide out open?\n const [slideOut, setSlideOut] = useState<null | SlideOut>(null)\n\n // open the slide out\n const openSlideOut = useCallback<DetailsPanelContextType['openSlideOut']>((params) => {\n setSlideOut(params)\n }, [])\n\n // close the slide out\n const closeSlideOut = useCallback(() => {\n setSlideOut(null)\n if (slideOut) {\n setHighlightedActivities([])\n }\n }, [])\n\n // close slide out whenever the page changes\n useEffect(() => {\n closeSlideOut()\n }, [forwardedProps.useLocation().pathname])\n\n const [pip, setPip] = useState<DetailsPanelPip | null>(null)\n\n const openPip = useCallback((pip: DetailsPanelPip) => {\n setPip(pip)\n }, [])\n const closePip = useCallback(() => {\n setPip(null)\n }, [])\n\n const [entities, setEntities] = useState<Entities | null>(null)\n\n const [highlightedActivities, setHighlightedActivities] = useState<string[]>([])\n\n const { uriType, uri, entity, getUriEntities } = useURIContext()\n const [searchParams] = forwardedProps.useSearchParams()\n\n const project = searchParams.get('project')\n const type = searchParams.get('type')\n const id = searchParams.get('id')\n const activity = searchParams.get('activity')\n\n // on first load or URL param change, check if there is a uri or URL params and open details panel if present\n useEffect(() => {\n // closing the panel deletes these params; bail so the stale uri state below can't reopen it\n if (!project && !type && !id) return\n\n // Priority 1: Check for 'uri' parameter (ayon+entity://...)\n if (uriType === 'entity' && entity && entity.entityType !== 'product') {\n getUriEntities()\n .then((result) => {\n if (result.length === 0) return\n\n const entityUriData = result.find((r) => r.uri === uri)\n const entityData = entityUriData?.entities?.[0]\n\n if (!entityUriData || !entityData) return\n const projectName = entityData?.projectName || entity.projectName || ''\n const id =\n entityData.representationId ||\n entityData.versionId ||\n entityData.productId ||\n entityData.taskId ||\n entityData.folderId\n\n if (!projectName || !id) return\n\n const newEntities: Entities = {\n entityType: entity.entityType as DetailsPanelEntityType,\n entities: [\n {\n id: id,\n projectName: projectName,\n },\n ],\n source: 'uri',\n }\n\n setEntities(newEntities)\n })\n .catch((err) => {\n console.warn('Failed to get URI entities:', err)\n })\n return\n }\n\n // Priority 2: Check for URL params (project, type, id)\n if (project && type && id) {\n const newEntities: Entities = {\n entityType: type as DetailsPanelEntityType,\n entities: [\n {\n id,\n projectName: project,\n },\n ],\n source: 'url',\n }\n\n setEntities(newEntities)\n\n // if there is an activity param, open the feed tab (activity is shown by default)\n\n if (activity) {\n setHighlightedActivities([activity])\n setTabByScope({\n ...tabsByScope,\n overview: 'feed',\n })\n }\n }\n }, [project, type, id])\n\n const value = {\n // open state for the panel by scope\n panelOpenByScope,\n getOpenForScope,\n setPanelOpen,\n setPanelOpenByScope,\n // tab preferences\n tabsByScope,\n getTabForScope,\n // slide out state\n slideOut,\n openSlideOut,\n closeSlideOut,\n // highlighted activities\n highlightedActivities,\n setHighlightedActivities,\n // PiP state\n pip,\n openPip,\n closePip,\n // entities state\n entities,\n setEntities,\n feedAnnotations,\n setFeedAnnotations,\n bundleMode,\n isGuest,\n hasLicense,\n onPowerFeature: setPowerpackDialog,\n ...forwardedProps,\n }\n\n return <DetailsPanelContext.Provider value={value}>{children}</DetailsPanelContext.Provider>\n}\n\n// Custom hook to use the details context\nexport const useDetailsPanelContext = (): DetailsPanelContextType => {\n const context = useContext(DetailsPanelContext)\n if (context === undefined) {\n throw new Error('useDetailsPanel must be used within a DetailsPanelProvider')\n }\n return context\n}\n\nconst TABS_BY_SCOPE_KEY = 'details/tabs-by-scope'\n\nexport const setDetailsPanelTabForScope = (scope: string, tab: DetailsPanelTab) => {\n const current = readLocalStorage<TabStateByScope>(TABS_BY_SCOPE_KEY, {})\n writeLocalStorage(TABS_BY_SCOPE_KEY, { ...current, [scope]: tab })\n}\n\n// Add a specialized hook for using a panel in a specific scope\nexport const useScopedDetailsPanel = (scope: string) => {\n const { getOpenForScope, setPanelOpen, getTabForScope } = useDetailsPanelContext()\n\n const [tabsByScope, setTabsByScope] = useSessionStorage<TabStateByScope>(TABS_BY_SCOPE_KEY, {})\n\n // derived from localStorage state, which useSessionStorage keeps in sync across hook instances\n const storedTab = tabsByScope[scope]\n const currentTab = isDetailsPanelTab(storedTab) ? storedTab : getTabForScope(scope)\n\n const updateTab = useCallback(\n (newTab: DetailsPanelTab) => {\n setTabsByScope((prev) => ({ ...prev, [scope]: newTab }))\n },\n [scope, setTabsByScope],\n )\n\n const isFeed = currentTab === 'feed'\n\n return {\n isOpen: getOpenForScope(scope),\n setOpen: (isOpen: boolean) => setPanelOpen(scope, isOpen),\n currentTab,\n setTab: updateTab,\n isFeed,\n }\n}\n"],"names":["DETAILS_PANEL_TABS","isDetailsPanelTab","tab","DetailsPanelProvider","children","defaultTab","hasLicenseProp","debug","forwardedProps","user","bundleMode","getBundleModeFromUser","isGuest","powerLicense","setPowerpackDialog","usePowerpack","hasLicense","panelOpenByScope","setPanelOpenByScope","useState","feedAnnotations","setFeedAnnotations","getOpenForScope","useCallback","scope","setPanelOpen","isOpen","newState","tabsByScope","setTabByScope","useSessionStorage","TABS_BY_SCOPE_KEY","getTabForScope","slideOut","setSlideOut","openSlideOut","params","closeSlideOut","setHighlightedActivities","useEffect","pip","setPip","openPip","closePip","entities","setEntities","highlightedActivities","uriType","uri","entity","getUriEntities","useURIContext","searchParams","project","type","id","activity","result","entityUriData","r","entityData","projectName","newEntities","err","value","jsx","DetailsPanelContext","useDetailsPanelContext","context","useContext","setDetailsPanelTabForScope","current","readLocalStorage","writeLocalStorage","useScopedDetailsPanel","setTabsByScope","storedTab","currentTab","updateTab","newTab","prev","isFeed"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("../../../_virtual/jsx-runtime.cjs.js"),q=require("react");require("lodash");require("react-toastify");require("uuid");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/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/bundles/getBundles.cjs.js");require("../api/queries/bundles/updateBundles.cjs.js");require("../api/queries/cloud/cloud.cjs.js");require("../api/queries/columnStats/metricTargets.cjs.js");require("../api/queries/columnStats/groupCounts.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/listItemsColumnStats.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");const h=require("../util/pubsub.cjs.js"),S=require("./EntityUpdatesContextInstance.cjs.js");require("../containers/ContextMenu/ContextMenuContext.cjs.js");require("@ynput/ayon-react-components");;/* empty css */require("clsx");require("react-dom");require("../containers/Feed/context/FeedContext.cjs.js");require("../containers/Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../containers/Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("./RemoteModulesContext.cjs.js");require("../../node_modules/@module-federation/runtime/dist/index.cjs.js");require("../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("./PowerpackContextInstance.cjs.js");require("./UriContext.cjs.js");require("./DetailsPanelContextInstance.cjs.js");require("./SubtasksModulesContextInstance.cjs.js");require("./ThumbnailUploaderContext.cjs.js");require("./SettingsPanelContext.cjs.js");require("./pip/PiPProvider.cjs.js");require("./pip/PiPWrapper.cjs.js");require("./AddonProjectContext.cjs.js");require("./AddonContext.cjs.js");require("./MoveEntityContext.cjs.js");require("./MenuContext.cjs.js");require("./WebsocketContext.cjs.js");require("./GlobalContext.cjs.js");require("./ProjectContext.cjs.js");require("./ProjectFoldersContextInstance.cjs.js");require("./DeleteEntitiesContext.cjs.js");require("../containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../containers/Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../containers/Feed/components/CommentInput/CommentInput.cjs.js");require("../containers/Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../containers/Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../containers/Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../containers/Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../containers/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("../components/DeleteEntitiesConfirm/DeleteConfirmContent.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("../containers/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("../components/InfoMessage/InfoMessage.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("../containers/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("../containers/Slicer/components/Slicer.cjs.js");require("../containers/Slicer/context/SlicerContextInstance.cjs.js");require("../containers/Slicer/components/SlicerDropdownFallback.cjs.js");require("../containers/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/SearchFilter/CustomDateRangeDialog.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/SyncButton/SyncButton.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/VersionUploadContextInstance.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("../containers/Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("../containers/Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../containers/Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../containers/Feed/components/ActivityDate.cjs.js");require("../containers/Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../containers/Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.cjs.js");require("../containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../containers/Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../containers/Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../containers/Feed/Feed.styled.cjs.js");require("../containers/Feed/components/FeedSearchFilter.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../containers/ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/DateWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js");require("../containers/ProjectTreeTable/widgets/TextWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/CellWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/LinksWidget.cjs.js");require("short-uuid");require("../containers/ProjectTreeTable/context/CellEditingContext.cjs.js");require("../containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../containers/ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../containers/ProjectTreeTable/context/ClipboardContext.cjs.js");require("../containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../containers/ProjectTreeTable/context/ProjectDataContextInstance.cjs.js");require("../containers/ProjectTreeTable/context/ProjectTableContextInstance.cjs.js");require("../containers/ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../containers/ProjectTreeTable/components/SelectionCell.cjs.js");require("../containers/ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../containers/ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../containers/ProjectTreeTable/components/TableFooterRow.cjs.js");require("../containers/DetailsPanel/DetailsPanel.styled.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../components/PlayableIcon/PlayableIcon.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../containers/Actions/Actions.styled.cjs.js");require("../containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../containers/Actions/ActionIcon.cjs.js");require("../containers/Views/ViewsMenu/ViewsMenu.cjs.js");require("../containers/Views/context/ViewsContextInstance.cjs.js");require("../containers/Views/Views.styled.cjs.js");require("../containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");const v=require("../containers/Views/utils/viewUpdateHelper.cjs.js");require("../containers/ListTable/ListTableRow.cjs.js");require("../containers/ListTable/ListTable.styled.cjs.js");const U=!0,g=e=>({created:e,label_changed:e,renamed:e,type_changed:e,status_changed:e,tags_changed:e,attrib_changed:e,deleted:e}),b=(e,r)=>e===r||e.startsWith(`${r}.`),y=(e,r)=>r.length===0?!0:r.includes(e||""),f=e=>{const r=e.split(".").pop();if(r&&["created","label_changed","renamed","type_changed","status_changed","tags_changed","attrib_changed","deleted"].includes(r))return r},x=({children:e,projectNames:r})=>{const u=q.useRef(0),[a=g(!1),i]=v.useViewsState("autoSync"),[t,n]=q.useState([]);q.useEffect(()=>{const c=h.subscribeAll((d,o)=>{if(!o?.topic||!y(o.project,r))return;const p=f(o.topic);!p||a[p]});return()=>h.unsubscribe(c)},[a,r]);const s=q.useMemo(()=>({updates:t,projectNames:r,acknowledge:(c,d,o)=>{n(p=>p.filter(l=>l.id>o||!c.some(E=>b(l.topic,E))||!y(l.project,d)))},getLatestId:()=>u.current,autoSyncSettings:g(!0),setAutoSyncSettings:i}),[a,r,i,t]);return _.jsxRuntimeExports.jsx(S.EntityUpdatesContext.Provider,{value:s,children:e})},A=({projectNames:e,topics:r,isSyncing:u=!1,shouldSyncOnUpdate:a})=>{const i=q.useContext(S.EntityUpdatesContext);if(!i)throw new Error("useSyncUpdates must be used within an EntityUpdatesProvider");const t=e||i.projectNames,n=q.useRef(0),s=q.useRef(!1),c=i.updates.filter(d=>y(d.project,t)&&r.some(o=>b(d.topic,o))&&(a?.(d)??!0));return q.useEffect(()=>{u&&!s.current?n.current=i.getLatestId():!u&&s.current&&i.acknowledge(r,t,n.current),s.current=u},[i,u,t,r]),{updates:c,hasUpdates:c.length>0,updateCount:c.length}},C=()=>{const e=q.useContext(S.EntityUpdatesContext);if(!e)throw new Error("useAutoSyncSettings must be used within an EntityUpdatesProvider");const{autoSyncSettings:r,setAutoSyncSettings:u}=e;return[r,i=>{const{settings:t,global:n}=i;u(n!==void 0?g(n):s=>({...s,...t}))}]},w=(e,r)=>{if(!r)return!1;const u=f(e);return u?r[u]:!1};exports.EntityUpdatesProvider=x;exports.FORCE_AUTO_SYNC=U;exports.getAutoSyncForTopic=w;exports.getUpdateType=f;exports.useAutoSyncSettings=C;exports.useSyncUpdates=A;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("../../../_virtual/jsx-runtime.cjs.js"),q=require("react");require("lodash");require("react-toastify");require("uuid");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/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/bundles/getBundles.cjs.js");require("../api/queries/bundles/updateBundles.cjs.js");require("../api/queries/cloud/cloud.cjs.js");require("../api/queries/columnStats/metricTargets.cjs.js");require("../api/queries/columnStats/groupCounts.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/listItemsColumnStats.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");const h=require("../util/pubsub.cjs.js"),S=require("./EntityUpdatesContextInstance.cjs.js");require("../containers/ContextMenu/ContextMenuContext.cjs.js");require("@ynput/ayon-react-components");;/* empty css */require("clsx");require("react-dom");require("../containers/Feed/context/FeedContext.cjs.js");require("../containers/Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../containers/Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("./RemoteModulesContext.cjs.js");require("../../node_modules/@module-federation/runtime/dist/index.cjs.js");require("../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("./PowerpackContextInstance.cjs.js");require("./UriContext.cjs.js");require("./DetailsPanelContextInstance.cjs.js");require("./SubtasksModulesContextInstance.cjs.js");require("./ThumbnailUploaderContext.cjs.js");require("./SettingsPanelContext.cjs.js");require("./pip/PiPProvider.cjs.js");require("./pip/PiPWrapper.cjs.js");require("./AddonProjectContext.cjs.js");require("./AddonContext.cjs.js");require("./MenuContext.cjs.js");require("./WebsocketContext.cjs.js");require("./GlobalContext.cjs.js");require("./ProjectContext.cjs.js");require("./ProjectFoldersContextInstance.cjs.js");require("./DeleteEntitiesContext.cjs.js");require("../containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../containers/Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../containers/Feed/components/CommentInput/CommentInput.cjs.js");require("../containers/Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../containers/Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../containers/Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../containers/Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../containers/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("../components/DeleteEntitiesConfirm/DeleteConfirmContent.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("../containers/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("../components/InfoMessage/InfoMessage.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("../containers/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("../containers/Slicer/components/Slicer.cjs.js");require("../containers/Slicer/context/SlicerContextInstance.cjs.js");require("../containers/Slicer/components/SlicerDropdownFallback.cjs.js");require("../containers/NewEntity/components/NewEntity.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../containers/ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/DateWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js");require("../containers/ProjectTreeTable/widgets/TextWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/CellWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/LinksWidget.cjs.js");require("short-uuid");require("../components/SearchFilter/filterDates.cjs.js");require("../containers/ProjectTreeTable/context/CellEditingContext.cjs.js");require("../containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../containers/ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../containers/ProjectTreeTable/context/ClipboardContext.cjs.js");require("../containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../containers/ProjectTreeTable/context/ProjectDataContextInstance.cjs.js");require("../containers/ProjectTreeTable/context/ProjectTableContextInstance.cjs.js");require("../containers/ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../containers/ProjectTreeTable/components/SelectionCell.cjs.js");require("../containers/ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../containers/ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../containers/ProjectTreeTable/components/TableFooterRow.cjs.js");require("../containers/NewEntity/context/NewEntityContextInstance.cjs.js");require("../containers/NewEntity/components/NewEntityForm.cjs.js");require("../containers/Slicer/hooks/useTableDataBySlice.cjs.js");require("../components/ReviewableCard/ReviewableCard.cjs.js");require("../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../components/SearchFilter/CustomDateRangeDialog.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/SyncButton/SyncButton.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/VersionUploadContextInstance.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("../containers/Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("../containers/Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../containers/Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../containers/Feed/components/ActivityDate.cjs.js");require("../containers/Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../containers/Feed/components/ActivityFieldChange/ActivityFieldChange.styled.cjs.js");require("../containers/Feed/components/ActivityFieldChange/FieldValue.cjs.js");require("../containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../containers/Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../containers/Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../containers/Feed/Feed.styled.cjs.js");require("../containers/Feed/components/FeedSearchFilter.cjs.js");require("../containers/DetailsPanel/DetailsPanel.styled.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../components/PlayableIcon/PlayableIcon.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../containers/Actions/Actions.styled.cjs.js");require("../containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../containers/Actions/ActionIcon.cjs.js");require("../containers/Views/ViewsMenu/ViewsMenu.cjs.js");require("../containers/Views/context/ViewsContextInstance.cjs.js");require("../containers/Views/Views.styled.cjs.js");require("../containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");const v=require("../containers/Views/utils/viewUpdateHelper.cjs.js");require("../containers/ListTable/ListTableRow.cjs.js");require("../containers/ListTable/ListTable.styled.cjs.js");const U=!0,g=e=>({created:e,label_changed:e,renamed:e,type_changed:e,status_changed:e,tags_changed:e,attrib_changed:e,deleted:e}),b=(e,r)=>e===r||e.startsWith(`${r}.`),y=(e,r)=>r.length===0?!0:r.includes(e||""),f=e=>{const r=e.split(".").pop();if(r&&["created","label_changed","renamed","type_changed","status_changed","tags_changed","attrib_changed","deleted"].includes(r))return r},x=({children:e,projectNames:r})=>{const u=q.useRef(0),[a=g(!1),i]=v.useViewsState("autoSync"),[t,n]=q.useState([]);q.useEffect(()=>{const c=h.subscribeAll((d,o)=>{if(!o?.topic||!y(o.project,r))return;const p=f(o.topic);!p||a[p]});return()=>h.unsubscribe(c)},[a,r]);const s=q.useMemo(()=>({updates:t,projectNames:r,acknowledge:(c,d,o)=>{n(p=>p.filter(l=>l.id>o||!c.some(E=>b(l.topic,E))||!y(l.project,d)))},getLatestId:()=>u.current,autoSyncSettings:g(!0),setAutoSyncSettings:i}),[a,r,i,t]);return _.jsxRuntimeExports.jsx(S.EntityUpdatesContext.Provider,{value:s,children:e})},A=({projectNames:e,topics:r,isSyncing:u=!1,shouldSyncOnUpdate:a})=>{const i=q.useContext(S.EntityUpdatesContext);if(!i)throw new Error("useSyncUpdates must be used within an EntityUpdatesProvider");const t=e||i.projectNames,n=q.useRef(0),s=q.useRef(!1),c=i.updates.filter(d=>y(d.project,t)&&r.some(o=>b(d.topic,o))&&(a?.(d)??!0));return q.useEffect(()=>{u&&!s.current?n.current=i.getLatestId():!u&&s.current&&i.acknowledge(r,t,n.current),s.current=u},[i,u,t,r]),{updates:c,hasUpdates:c.length>0,updateCount:c.length}},C=()=>{const e=q.useContext(S.EntityUpdatesContext);if(!e)throw new Error("useAutoSyncSettings must be used within an EntityUpdatesProvider");const{autoSyncSettings:r,setAutoSyncSettings:u}=e;return[r,i=>{const{settings:t,global:n}=i;u(n!==void 0?g(n):s=>({...s,...t}))}]},w=(e,r)=>{if(!r)return!1;const u=f(e);return u?r[u]:!1};exports.EntityUpdatesProvider=x;exports.FORCE_AUTO_SYNC=U;exports.getAutoSyncForTopic=w;exports.getUpdateType=f;exports.useAutoSyncSettings=C;exports.useSyncUpdates=A;
2
2
  //# sourceMappingURL=EntityUpdatesContext.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EntityUpdatesContext.cjs.js","sources":["../../../../src/context/EntityUpdatesContext.tsx"],"sourcesContent":["import {\n Dispatch,\n ReactNode,\n SetStateAction,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport { PubSub } from '@shared/util'\nimport { EntityUpdatesContext } from './EntityUpdatesContextInstance'\nimport { useViewsState } from '@shared/containers'\n\n// removes the option to disable auto sync\nexport const FORCE_AUTO_SYNC = true\n\nexport type TopicUpdateType =\n | 'created'\n | 'label_changed'\n | 'renamed'\n | 'type_changed'\n | 'status_changed'\n | 'tags_changed'\n | 'attrib_changed'\n | 'deleted'\n\n// settings for different levels of auto syncing\nexport type RTUpdateConfig = Record<TopicUpdateType, boolean>\n\n// helper function to turn everything on or off for a given level of auto syncing\nconst toggleSyncAll = (on: boolean): RTUpdateConfig => ({\n created: on,\n label_changed: on,\n renamed: on,\n type_changed: on,\n status_changed: on,\n tags_changed: on,\n attrib_changed: on,\n deleted: on,\n})\n\nexport type RTEntityUpdate = {\n id: number\n project?: string\n topic: string\n updateType: TopicUpdateType\n entityId?: string\n message?: any\n}\n\n// Util type not used in context but by other logic\nexport type OnSyncDataCallback = (updates: RTEntityUpdate[] | undefined) => void | Promise<void>\n\nexport type EntityUpdatesContextValue = {\n updates: RTEntityUpdate[]\n projectNames: string[]\n acknowledge: (topics: string[], projectNames: string[], throughId: number) => void\n getLatestId: () => number\n autoSyncSettings: RTUpdateConfig\n setAutoSyncSettings: Dispatch<SetStateAction<RTUpdateConfig>>\n}\n\ntype EntityUpdatesProviderProps = {\n children: ReactNode\n projectNames: string[]\n}\n\nconst matchesTopic = (topic: string, subscribedTopic: string) =>\n topic === subscribedTopic || topic.startsWith(`${subscribedTopic}.`)\n\nconst matchesProject = (project: string | undefined, projectNames: string[]) => {\n if (projectNames.length === 0) return true\n return projectNames.includes(project || '')\n}\n\nexport const getUpdateType = (topic: string): TopicUpdateType | undefined => {\n const event = topic.split('.').pop()\n if (!event) return undefined\n if (\n [\n 'created',\n 'label_changed',\n 'renamed',\n 'type_changed',\n 'status_changed',\n 'tags_changed',\n 'attrib_changed',\n 'deleted',\n ].includes(event)\n ) {\n return event as TopicUpdateType\n } else {\n return undefined\n }\n}\n\nexport const EntityUpdatesProvider = ({ children, projectNames }: EntityUpdatesProviderProps) => {\n const nextId = useRef(0)\n const [autoSyncSettings = toggleSyncAll(false), setAutoSyncSettings] = useViewsState<\n { autoSync: RTUpdateConfig },\n 'autoSync'\n >('autoSync')\n const [updates, setUpdates] = useState<RTEntityUpdate[]>([])\n\n useEffect(() => {\n const token = PubSub.subscribeAll((_topic: string, message: any) => {\n if (!message?.topic || !matchesProject(message.project, projectNames)) return\n\n const updateType = getUpdateType(message.topic)\n // check the type of update and whether auto syncing is enabled for that type\n // NOTE: when auto syncing is enabled we DO NOT push to updates because it is streamed in automatically\n if (!updateType || autoSyncSettings[updateType] || FORCE_AUTO_SYNC) return\n\n const update: RTEntityUpdate = {\n id: ++nextId.current,\n project: message.project,\n topic: message.topic,\n updateType,\n entityId: message.summary?.entityId,\n message,\n }\n setUpdates((current) => [...current, update])\n })\n\n return () => PubSub.unsubscribe(token)\n }, [autoSyncSettings, projectNames])\n\n const value = useMemo<EntityUpdatesContextValue>(\n () => ({\n updates,\n projectNames,\n acknowledge: (topics, projects, throughId) => {\n setUpdates((current) =>\n current.filter(\n (update) =>\n update.id > throughId ||\n !topics.some((topic) => matchesTopic(update.topic, topic)) ||\n !matchesProject(update.project, projects),\n ),\n )\n },\n getLatestId: () => nextId.current,\n autoSyncSettings: FORCE_AUTO_SYNC ? toggleSyncAll(true) : autoSyncSettings, // force auto sync on always if the flag is set\n setAutoSyncSettings,\n }),\n [autoSyncSettings, projectNames, setAutoSyncSettings, updates],\n )\n\n return <EntityUpdatesContext.Provider value={value}>{children}</EntityUpdatesContext.Provider>\n}\n\ntype UseSyncUpdatesParams = {\n projectNames?: string[]\n topics: string[]\n isSyncing?: boolean\n shouldSyncOnUpdate?: (update: RTEntityUpdate) => boolean\n}\n\nexport const useSyncUpdates = ({\n projectNames: projectNamesOverride,\n topics,\n isSyncing = false,\n shouldSyncOnUpdate,\n}: UseSyncUpdatesParams) => {\n const context = useContext(EntityUpdatesContext)\n if (!context) {\n throw new Error('useSyncUpdates must be used within an EntityUpdatesProvider')\n }\n const projectNames = projectNamesOverride || context.projectNames\n\n const syncStartId = useRef(0)\n const previousIsSyncing = useRef(false)\n const subscribedUpdates = context.updates.filter(\n (update) =>\n matchesProject(update.project, projectNames) &&\n topics.some((topic) => matchesTopic(update.topic, topic)) &&\n (shouldSyncOnUpdate?.(update) ?? true),\n )\n\n useEffect(() => {\n if (isSyncing && !previousIsSyncing.current) {\n syncStartId.current = context.getLatestId()\n } else if (!isSyncing && previousIsSyncing.current) {\n context.acknowledge(topics, projectNames, syncStartId.current)\n }\n previousIsSyncing.current = isSyncing\n }, [context, isSyncing, projectNames, topics])\n\n return {\n updates: subscribedUpdates,\n hasUpdates: subscribedUpdates.length > 0,\n updateCount: subscribedUpdates.length,\n }\n}\n\n// helper hook to get and set auto sync settings for the current view\nexport const useAutoSyncSettings = () => {\n const context = useContext(EntityUpdatesContext)\n if (!context) {\n throw new Error('useAutoSyncSettings must be used within an EntityUpdatesProvider')\n }\n\n const { autoSyncSettings, setAutoSyncSettings } = context\n\n const updateAutoSyncSettings = (payload: {\n settings?: Partial<RTUpdateConfig>\n global?: boolean\n }) => {\n const { settings, global } = payload\n if (global !== undefined) {\n setAutoSyncSettings(toggleSyncAll(global))\n } else {\n setAutoSyncSettings((prev) => ({ ...prev, ...settings }))\n }\n }\n\n return [autoSyncSettings, updateAutoSyncSettings] as const\n}\n\nexport const getAutoSyncForTopic = (\n topic: string,\n autoSyncSettings: RTUpdateConfig | undefined,\n): boolean => {\n if (!autoSyncSettings) return false\n const updateType = getUpdateType(topic)\n if (!updateType) return false\n return autoSyncSettings[updateType]\n}\n"],"names":["FORCE_AUTO_SYNC","toggleSyncAll","on","matchesTopic","topic","subscribedTopic","matchesProject","project","projectNames","getUpdateType","event","EntityUpdatesProvider","children","nextId","useRef","autoSyncSettings","setAutoSyncSettings","useViewsState","updates","setUpdates","useState","useEffect","token","PubSub","_topic","message","updateType","value","useMemo","topics","projects","throughId","current","update","jsx","EntityUpdatesContext","useSyncUpdates","projectNamesOverride","isSyncing","shouldSyncOnUpdate","context","useContext","syncStartId","previousIsSyncing","subscribedUpdates","useAutoSyncSettings","payload","settings","global","prev","getAutoSyncForTopic"],"mappings":"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"}
1
+ {"version":3,"file":"EntityUpdatesContext.cjs.js","sources":["../../../../src/context/EntityUpdatesContext.tsx"],"sourcesContent":["import {\n Dispatch,\n ReactNode,\n SetStateAction,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport { PubSub } from '@shared/util'\nimport { EntityUpdatesContext } from './EntityUpdatesContextInstance'\nimport { useViewsState } from '@shared/containers'\n\n// removes the option to disable auto sync\nexport const FORCE_AUTO_SYNC = true\n\nexport type TopicUpdateType =\n | 'created'\n | 'label_changed'\n | 'renamed'\n | 'type_changed'\n | 'status_changed'\n | 'tags_changed'\n | 'attrib_changed'\n | 'deleted'\n\n// settings for different levels of auto syncing\nexport type RTUpdateConfig = Record<TopicUpdateType, boolean>\n\n// helper function to turn everything on or off for a given level of auto syncing\nconst toggleSyncAll = (on: boolean): RTUpdateConfig => ({\n created: on,\n label_changed: on,\n renamed: on,\n type_changed: on,\n status_changed: on,\n tags_changed: on,\n attrib_changed: on,\n deleted: on,\n})\n\nexport type RTEntityUpdate = {\n id: number\n project?: string\n topic: string\n updateType: TopicUpdateType\n entityId?: string\n message?: any\n}\n\n// Util type not used in context but by other logic\nexport type OnSyncDataCallback = (updates: RTEntityUpdate[] | undefined) => void | Promise<void>\n\nexport type EntityUpdatesContextValue = {\n updates: RTEntityUpdate[]\n projectNames: string[]\n acknowledge: (topics: string[], projectNames: string[], throughId: number) => void\n getLatestId: () => number\n autoSyncSettings: RTUpdateConfig\n setAutoSyncSettings: Dispatch<SetStateAction<RTUpdateConfig>>\n}\n\ntype EntityUpdatesProviderProps = {\n children: ReactNode\n projectNames: string[]\n}\n\nconst matchesTopic = (topic: string, subscribedTopic: string) =>\n topic === subscribedTopic || topic.startsWith(`${subscribedTopic}.`)\n\nconst matchesProject = (project: string | undefined, projectNames: string[]) => {\n if (projectNames.length === 0) return true\n return projectNames.includes(project || '')\n}\n\nexport const getUpdateType = (topic: string): TopicUpdateType | undefined => {\n const event = topic.split('.').pop()\n if (!event) return undefined\n if (\n [\n 'created',\n 'label_changed',\n 'renamed',\n 'type_changed',\n 'status_changed',\n 'tags_changed',\n 'attrib_changed',\n 'deleted',\n ].includes(event)\n ) {\n return event as TopicUpdateType\n } else {\n return undefined\n }\n}\n\nexport const EntityUpdatesProvider = ({ children, projectNames }: EntityUpdatesProviderProps) => {\n const nextId = useRef(0)\n const [autoSyncSettings = toggleSyncAll(false), setAutoSyncSettings] = useViewsState<\n { autoSync: RTUpdateConfig },\n 'autoSync'\n >('autoSync')\n const [updates, setUpdates] = useState<RTEntityUpdate[]>([])\n\n useEffect(() => {\n const token = PubSub.subscribeAll((_topic: string, message: any) => {\n if (!message?.topic || !matchesProject(message.project, projectNames)) return\n\n const updateType = getUpdateType(message.topic)\n // check the type of update and whether auto syncing is enabled for that type\n // NOTE: when auto syncing is enabled we DO NOT push to updates because it is streamed in automatically\n if (!updateType || autoSyncSettings[updateType] || FORCE_AUTO_SYNC) return\n\n const update: RTEntityUpdate = {\n id: ++nextId.current,\n project: message.project,\n topic: message.topic,\n updateType,\n entityId: message.summary?.entityId,\n message,\n }\n setUpdates((current) => [...current, update])\n })\n\n return () => PubSub.unsubscribe(token)\n }, [autoSyncSettings, projectNames])\n\n const value = useMemo<EntityUpdatesContextValue>(\n () => ({\n updates,\n projectNames,\n acknowledge: (topics, projects, throughId) => {\n setUpdates((current) =>\n current.filter(\n (update) =>\n update.id > throughId ||\n !topics.some((topic) => matchesTopic(update.topic, topic)) ||\n !matchesProject(update.project, projects),\n ),\n )\n },\n getLatestId: () => nextId.current,\n autoSyncSettings: FORCE_AUTO_SYNC ? toggleSyncAll(true) : autoSyncSettings, // force auto sync on always if the flag is set\n setAutoSyncSettings,\n }),\n [autoSyncSettings, projectNames, setAutoSyncSettings, updates],\n )\n\n return <EntityUpdatesContext.Provider value={value}>{children}</EntityUpdatesContext.Provider>\n}\n\ntype UseSyncUpdatesParams = {\n projectNames?: string[]\n topics: string[]\n isSyncing?: boolean\n shouldSyncOnUpdate?: (update: RTEntityUpdate) => boolean\n}\n\nexport const useSyncUpdates = ({\n projectNames: projectNamesOverride,\n topics,\n isSyncing = false,\n shouldSyncOnUpdate,\n}: UseSyncUpdatesParams) => {\n const context = useContext(EntityUpdatesContext)\n if (!context) {\n throw new Error('useSyncUpdates must be used within an EntityUpdatesProvider')\n }\n const projectNames = projectNamesOverride || context.projectNames\n\n const syncStartId = useRef(0)\n const previousIsSyncing = useRef(false)\n const subscribedUpdates = context.updates.filter(\n (update) =>\n matchesProject(update.project, projectNames) &&\n topics.some((topic) => matchesTopic(update.topic, topic)) &&\n (shouldSyncOnUpdate?.(update) ?? true),\n )\n\n useEffect(() => {\n if (isSyncing && !previousIsSyncing.current) {\n syncStartId.current = context.getLatestId()\n } else if (!isSyncing && previousIsSyncing.current) {\n context.acknowledge(topics, projectNames, syncStartId.current)\n }\n previousIsSyncing.current = isSyncing\n }, [context, isSyncing, projectNames, topics])\n\n return {\n updates: subscribedUpdates,\n hasUpdates: subscribedUpdates.length > 0,\n updateCount: subscribedUpdates.length,\n }\n}\n\n// helper hook to get and set auto sync settings for the current view\nexport const useAutoSyncSettings = () => {\n const context = useContext(EntityUpdatesContext)\n if (!context) {\n throw new Error('useAutoSyncSettings must be used within an EntityUpdatesProvider')\n }\n\n const { autoSyncSettings, setAutoSyncSettings } = context\n\n const updateAutoSyncSettings = (payload: {\n settings?: Partial<RTUpdateConfig>\n global?: boolean\n }) => {\n const { settings, global } = payload\n if (global !== undefined) {\n setAutoSyncSettings(toggleSyncAll(global))\n } else {\n setAutoSyncSettings((prev) => ({ ...prev, ...settings }))\n }\n }\n\n return [autoSyncSettings, updateAutoSyncSettings] as const\n}\n\nexport const getAutoSyncForTopic = (\n topic: string,\n autoSyncSettings: RTUpdateConfig | undefined,\n): boolean => {\n if (!autoSyncSettings) return false\n const updateType = getUpdateType(topic)\n if (!updateType) return false\n return autoSyncSettings[updateType]\n}\n"],"names":["FORCE_AUTO_SYNC","toggleSyncAll","on","matchesTopic","topic","subscribedTopic","matchesProject","project","projectNames","getUpdateType","event","EntityUpdatesProvider","children","nextId","useRef","autoSyncSettings","setAutoSyncSettings","useViewsState","updates","setUpdates","useState","useEffect","token","PubSub","_topic","message","updateType","value","useMemo","topics","projects","throughId","current","update","jsx","EntityUpdatesContext","useSyncUpdates","projectNamesOverride","isSyncing","shouldSyncOnUpdate","context","useContext","syncStartId","previousIsSyncing","subscribedUpdates","useAutoSyncSettings","payload","settings","global","prev","getAutoSyncForTopic"],"mappings":"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"}