@ynput/ayon-frontend-shared 0.2.38 → 0.2.40

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 (651) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +72 -66
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +169 -167
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Views.cjs.js.map +1 -1
  8. package/dist/Views.es.js.map +1 -1
  9. package/dist/_virtual/index.cjs10.js +1 -1
  10. package/dist/_virtual/index.cjs11.js +1 -1
  11. package/dist/_virtual/index.cjs12.js +1 -1
  12. package/dist/_virtual/index.cjs2.js +1 -1
  13. package/dist/_virtual/index.cjs3.js +1 -1
  14. package/dist/_virtual/index.cjs4.js +1 -1
  15. package/dist/_virtual/index.es10.js +3 -3
  16. package/dist/_virtual/index.es11.js +5 -5
  17. package/dist/_virtual/index.es12.js +5 -5
  18. package/dist/_virtual/index.es2.js +5 -2
  19. package/dist/_virtual/index.es2.js.map +1 -1
  20. package/dist/_virtual/index.es3.js +2 -5
  21. package/dist/_virtual/index.es3.js.map +1 -1
  22. package/dist/_virtual/index.es4.js +2 -2
  23. package/dist/api.cjs.js +1 -1
  24. package/dist/api.es.js +22 -20
  25. package/dist/api.es.js.map +1 -1
  26. package/dist/components.cjs.js +1 -1
  27. package/dist/components.es.js +139 -133
  28. package/dist/components.es.js.map +1 -1
  29. package/dist/context.cjs.js +1 -1
  30. package/dist/context.es.js +45 -38
  31. package/dist/context.es.js.map +1 -1
  32. package/dist/index.cjs.js +1 -1
  33. package/dist/index.es.js +61 -55
  34. package/dist/index.es.js.map +1 -1
  35. package/dist/node_modules/react-use-websocket/dist/index.cjs.js +1 -1
  36. package/dist/node_modules/react-use-websocket/dist/index.es.js +1 -1
  37. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  38. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  39. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  40. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  41. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  42. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  43. package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
  44. package/dist/shared/node_modules/prop-types/index.es.js +1 -1
  45. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
  46. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
  47. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
  48. package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
  49. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
  50. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
  51. package/dist/shared/src/api/generated/graphql.cjs.js +4 -0
  52. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  53. package/dist/shared/src/api/generated/graphql.es.js +4 -0
  54. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  55. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  56. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  57. package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
  58. package/dist/shared/src/api/generated/views.es.js.map +1 -1
  59. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  60. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  61. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +8 -3
  62. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  63. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +1 -1
  64. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  65. package/dist/shared/src/api/queries/entities/updateEntity.es.js +4 -3
  66. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  67. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  68. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  69. package/dist/shared/src/api/queries/overview/updateOverview.es.js +70 -66
  70. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  71. package/dist/shared/src/api/queries/uris/getUris.cjs.js +2 -0
  72. package/dist/shared/src/api/queries/uris/getUris.cjs.js.map +1 -0
  73. package/dist/shared/src/api/queries/uris/getUris.es.js +47 -0
  74. package/dist/shared/src/api/queries/uris/getUris.es.js.map +1 -0
  75. package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -1
  76. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  77. package/dist/shared/src/api/queries/users/getUsers.es.js +19 -18
  78. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  79. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.cjs.js +28 -0
  80. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.cjs.js.map +1 -0
  81. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.es.js +54 -0
  82. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.es.js.map +1 -0
  83. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  84. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  85. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +3 -2
  86. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  87. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  88. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  89. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +5 -2
  90. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  91. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  92. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  93. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +5 -2
  94. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  95. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  96. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  97. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +5 -2
  98. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  99. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  100. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  101. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +5 -2
  102. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  103. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  104. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  105. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +75 -69
  106. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  107. package/dist/shared/src/components/EntityPath/EntityPath.cjs.js +1 -1
  108. package/dist/shared/src/components/EntityPath/EntityPath.cjs.js.map +1 -1
  109. package/dist/shared/src/components/EntityPath/EntityPath.es.js +51 -53
  110. package/dist/shared/src/components/EntityPath/EntityPath.es.js.map +1 -1
  111. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  112. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  113. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +4 -2
  114. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  115. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  116. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  117. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +7 -4
  118. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  119. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  120. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  121. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +60 -54
  122. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  123. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  124. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  125. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +3 -2
  126. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  127. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  128. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  129. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +66 -60
  130. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  131. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  132. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  133. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +5 -2
  134. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  135. package/dist/shared/src/components/Menu/Menu.cjs.js +2 -0
  136. package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -0
  137. package/dist/shared/src/components/Menu/Menu.es.js +92 -0
  138. package/dist/shared/src/components/Menu/Menu.es.js.map +1 -0
  139. package/dist/shared/src/components/Menu/Menu.styled.cjs.js.map +1 -0
  140. package/dist/shared/src/components/Menu/Menu.styled.es.js.map +1 -0
  141. package/dist/shared/src/components/Menu/MenuContainer.cjs.js +2 -0
  142. package/dist/shared/src/components/Menu/MenuContainer.cjs.js.map +1 -0
  143. package/dist/shared/src/components/Menu/MenuContainer.es.js +88 -0
  144. package/dist/shared/src/components/Menu/MenuContainer.es.js.map +1 -0
  145. package/dist/shared/src/components/Menu/MenuItem.cjs.js +2 -0
  146. package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -0
  147. package/dist/{src/components/Menu/MenuComponents → shared/src/components/Menu}/MenuItem.es.js +26 -24
  148. package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -0
  149. package/dist/shared/src/components/Menu/MenuList.cjs.js +2 -0
  150. package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -0
  151. package/dist/shared/src/components/Menu/MenuList.es.js +131 -0
  152. package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -0
  153. package/dist/shared/src/components/Menu/useMenuPosition.cjs.js +2 -0
  154. package/dist/shared/src/components/Menu/useMenuPosition.cjs.js.map +1 -0
  155. package/dist/shared/src/components/Menu/useMenuPosition.es.js +50 -0
  156. package/dist/shared/src/components/Menu/useMenuPosition.es.js.map +1 -0
  157. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
  158. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  159. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +7 -5
  160. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  161. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  162. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  163. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +49 -43
  164. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  165. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  166. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  167. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +46 -40
  168. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  169. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  170. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  171. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +48 -42
  172. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  173. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  174. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  175. package/dist/shared/src/components/RenameForm/RenameForm.es.js +66 -60
  176. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  177. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  178. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  179. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +3 -2
  180. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  181. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  182. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  183. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +64 -58
  184. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  185. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  186. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  187. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +54 -48
  188. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  189. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  190. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  191. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +53 -47
  192. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  193. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  194. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  195. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +3 -2
  196. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  197. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  198. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  199. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +219 -190
  200. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  201. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +2 -2
  202. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  203. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +20 -18
  204. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  205. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  206. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  207. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +52 -46
  208. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  209. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +2 -2
  210. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  211. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +13 -11
  212. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  213. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +2 -2
  214. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  215. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +56 -50
  216. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  217. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  218. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  219. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +5 -4
  220. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  221. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  222. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  223. package/dist/shared/src/components/Watchers/Watchers.es.js +3 -2
  224. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  225. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  226. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  227. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +53 -47
  228. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  229. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  230. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  231. package/dist/shared/src/containers/Actions/Actions.es.js +5 -2
  232. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  233. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  234. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  235. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +54 -48
  236. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  237. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  238. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  239. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +293 -229
  240. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  241. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js +10 -4
  242. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js.map +1 -1
  243. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js +13 -7
  244. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js.map +1 -1
  245. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  246. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  247. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +49 -43
  248. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  249. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  250. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  251. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +68 -62
  252. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  253. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  254. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  255. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +92 -86
  256. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  257. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  258. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  259. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +9 -5
  260. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  261. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
  262. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
  263. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +194 -5
  264. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
  265. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js +1 -1
  266. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js.map +1 -1
  267. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js +4 -2
  268. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js.map +1 -1
  269. package/dist/shared/src/containers/DetailsPanel/hooks/useDetailsPanelURLSync.cjs.js +2 -0
  270. package/dist/shared/src/containers/DetailsPanel/hooks/useDetailsPanelURLSync.cjs.js.map +1 -0
  271. package/dist/shared/src/containers/DetailsPanel/hooks/useDetailsPanelURLSync.es.js +21 -0
  272. package/dist/shared/src/containers/DetailsPanel/hooks/useDetailsPanelURLSync.es.js.map +1 -0
  273. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  274. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  275. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +20 -17
  276. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  277. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  278. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  279. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +49 -43
  280. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  281. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  282. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  283. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +53 -47
  284. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  285. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  286. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  287. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +53 -47
  288. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  289. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  290. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  291. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +53 -47
  292. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  293. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  294. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  295. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +5 -2
  296. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  297. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  298. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  299. package/dist/shared/src/containers/Feed/Feed.es.js +109 -99
  300. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  301. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  302. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  303. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +446 -212
  304. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  305. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js +20 -16
  306. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js.map +1 -1
  307. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.es.js +21 -17
  308. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.es.js.map +1 -1
  309. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +2 -0
  310. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -0
  311. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +288 -0
  312. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -0
  313. package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js +1 -1
  314. package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js.map +1 -1
  315. package/dist/shared/src/containers/Feed/components/ActivityItem.es.js +23 -11
  316. package/dist/shared/src/containers/Feed/components/ActivityItem.es.js.map +1 -1
  317. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  318. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  319. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +4 -2
  320. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  321. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  322. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  323. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +372 -183
  324. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  325. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  326. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  327. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +4 -2
  328. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  329. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  330. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  331. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +12 -10
  332. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  333. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  334. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  335. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +28 -26
  336. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  337. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  338. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  339. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +194 -5
  340. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  341. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  342. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  343. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +8 -5
  344. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  345. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  346. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  347. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +3 -2
  348. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  349. package/dist/shared/src/containers/Feed/hooks/useScrollToHighlighted.cjs.js +1 -1
  350. package/dist/shared/src/containers/Feed/hooks/useScrollToHighlighted.cjs.js.map +1 -1
  351. package/dist/shared/src/containers/Feed/hooks/useScrollToHighlighted.es.js +24 -26
  352. package/dist/shared/src/containers/Feed/hooks/useScrollToHighlighted.es.js.map +1 -1
  353. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  354. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  355. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +434 -435
  356. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  357. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  358. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  359. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +126 -120
  360. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  361. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +2 -2
  362. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  363. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +52 -46
  364. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  365. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  366. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  367. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +57 -51
  368. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  369. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  370. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  371. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +79 -72
  372. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  373. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  374. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  375. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +7 -4
  376. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  377. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  378. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  379. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
  380. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
  381. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +72 -65
  382. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
  383. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  384. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  385. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +47 -41
  386. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  387. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  388. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  389. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +12 -10
  390. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  391. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  392. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  393. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +8 -5
  394. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  395. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  396. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  397. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +5 -2
  398. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  399. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  400. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  401. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +55 -49
  402. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  403. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  404. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  405. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +81 -66
  406. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  407. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  408. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  409. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +51 -45
  410. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  411. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  412. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  413. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +106 -111
  414. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  415. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  416. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  417. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +51 -45
  418. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  419. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  420. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  421. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +51 -45
  422. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  423. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  424. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  425. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +54 -48
  426. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  427. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  428. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  429. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +122 -119
  430. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  431. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  432. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  433. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +61 -55
  434. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  435. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  436. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  437. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +45 -39
  438. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  439. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  440. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  441. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +98 -94
  442. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  443. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  444. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  445. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +62 -56
  446. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  447. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js +1 -1
  448. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
  449. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js +22 -20
  450. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
  451. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
  452. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  453. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +19 -17
  454. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  455. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  456. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  457. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +68 -62
  458. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  459. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  460. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  461. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +51 -45
  462. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  463. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js +1 -1
  464. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js.map +1 -1
  465. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js +45 -44
  466. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js.map +1 -1
  467. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  468. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  469. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +120 -114
  470. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  471. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  472. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  473. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +53 -47
  474. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  475. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  476. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  477. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +5 -2
  478. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  479. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +1 -1
  480. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  481. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +14 -12
  482. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  483. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  484. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  485. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +90 -91
  486. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  487. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  488. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  489. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +5 -2
  490. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  491. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
  492. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  493. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +5 -2
  494. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  495. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  496. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  497. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +3 -2
  498. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  499. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  500. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  501. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +3 -2
  502. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  503. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  504. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  505. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +3 -2
  506. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  507. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  508. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  509. package/dist/shared/src/context/AddonProjectContext.es.js +5 -4
  510. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  511. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  512. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  513. package/dist/shared/src/context/DetailsPanelContext.es.js +117 -75
  514. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  515. package/dist/shared/src/context/GlobalContext.cjs.js +1 -1
  516. package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -1
  517. package/dist/shared/src/context/GlobalContext.es.js +5 -4
  518. package/dist/shared/src/context/GlobalContext.es.js.map +1 -1
  519. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  520. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  521. package/dist/shared/src/context/PowerpackContext.es.js +18 -15
  522. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  523. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  524. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  525. package/dist/shared/src/context/ProjectContext.es.js +44 -40
  526. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  527. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +2 -0
  528. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -0
  529. package/dist/shared/src/context/ProjectFoldersContext.es.js +177 -0
  530. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -0
  531. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  532. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  533. package/dist/shared/src/context/RemoteModulesContext.es.js +5 -4
  534. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  535. package/dist/shared/src/context/UriContext.cjs.js +2 -0
  536. package/dist/shared/src/context/UriContext.cjs.js.map +1 -0
  537. package/dist/shared/src/context/UriContext.es.js +131 -0
  538. package/dist/shared/src/context/UriContext.es.js.map +1 -0
  539. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  540. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  541. package/dist/shared/src/context/WebsocketContext.es.js +51 -45
  542. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  543. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  544. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  545. package/dist/shared/src/hooks/useActionTriggers.es.js +3 -2
  546. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  547. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  548. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  549. package/dist/shared/src/hooks/useEntityUpdate.es.js +5 -2
  550. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  551. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
  552. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
  553. package/dist/shared/src/hooks/useGetEntityGroups.es.js +3 -2
  554. package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
  555. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  556. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  557. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +5 -2
  558. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  559. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  560. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  561. package/dist/shared/src/hooks/useHierarchyTable.es.js +43 -119
  562. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  563. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  564. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  565. package/dist/shared/src/hooks/useScopedStatuses.es.js +5 -4
  566. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  567. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  568. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  569. package/dist/shared/src/hooks/useUserProjectConfig.es.js +5 -2
  570. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  571. package/dist/shared/src/util/extractEntityHierarchyFromParents.cjs.js +2 -0
  572. package/dist/shared/src/util/extractEntityHierarchyFromParents.cjs.js.map +1 -0
  573. package/dist/shared/src/util/extractEntityHierarchyFromParents.es.js +25 -0
  574. package/dist/shared/src/util/extractEntityHierarchyFromParents.es.js.map +1 -0
  575. package/dist/shared/src/util/uriUtils.cjs.js +2 -0
  576. package/dist/shared/src/util/uriUtils.cjs.js.map +1 -0
  577. package/dist/shared/src/util/uriUtils.es.js +49 -0
  578. package/dist/shared/src/util/uriUtils.es.js.map +1 -0
  579. package/dist/types/api/generated/graphql.d.ts +55 -4
  580. package/dist/types/api/generated/graphqlLinks.d.ts +47 -0
  581. package/dist/types/api/generated/views.d.ts +15 -13
  582. package/dist/types/api/queries/entities/transformDetailsPanelData.d.ts +1 -0
  583. package/dist/types/api/queries/entityLists/getLists.d.ts +180 -180
  584. package/dist/types/api/queries/index.d.ts +1 -0
  585. package/dist/types/api/queries/uris/getUris.d.ts +161 -0
  586. package/dist/types/api/queries/uris/index.d.ts +1 -0
  587. package/dist/types/components/AddonLoadingScreen/AddonLoadingScreen.d.ts +25 -0
  588. package/dist/types/components/AddonLoadingScreen/index.d.ts +1 -0
  589. package/dist/types/components/Menu/Menu.d.ts +30 -0
  590. package/dist/types/components/Menu/Menu.styled.d.ts +8 -0
  591. package/dist/types/components/Menu/MenuContainer.d.ts +14 -0
  592. package/dist/types/components/Menu/MenuItem.d.ts +21 -0
  593. package/dist/types/components/Menu/MenuList.d.ts +21 -0
  594. package/dist/types/components/Menu/index.d.ts +4 -0
  595. package/dist/types/components/Menu/useMenuPosition.d.ts +12 -0
  596. package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +3 -1
  597. package/dist/types/components/index.d.ts +32 -31
  598. package/dist/types/containers/DetailsPanel/DetailsPanel.d.ts +6 -2
  599. package/dist/types/containers/DetailsPanel/FeedWrapper.d.ts +1 -0
  600. package/dist/types/containers/DetailsPanel/hooks/useDetailsPanelURLSync.d.ts +12 -0
  601. package/dist/types/containers/Feed/Feed.d.ts +2 -1
  602. package/dist/types/containers/Feed/components/ActivityComment/ActivityComment.d.ts +2 -1
  603. package/dist/types/containers/Feed/components/ActivityComment/ActivityCommentMenu.d.ts +9 -0
  604. package/dist/types/containers/Feed/components/ActivityItem.d.ts +1 -0
  605. package/dist/types/containers/Feed/hooks/useScrollToHighlighted.d.ts +2 -1
  606. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +2 -0
  607. package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +4 -1
  608. package/dist/types/containers/ProjectTreeTable/hooks/useUpdateTableData.d.ts +1 -0
  609. package/dist/types/containers/Views/index.d.ts +1 -1
  610. package/dist/types/context/AddonProjectContext.d.ts +12 -7
  611. package/dist/types/context/DetailsPanelContext.d.ts +1 -0
  612. package/dist/types/context/ProjectFoldersContext.d.ts +19 -0
  613. package/dist/types/context/UriContext.d.ts +40 -0
  614. package/dist/types/context/index.d.ts +2 -0
  615. package/dist/types/hooks/useGroupByRemoteModules.d.ts +1 -2
  616. package/dist/types/util/extractEntityHierarchyFromParents.d.ts +6 -0
  617. package/dist/types/util/index.d.ts +2 -0
  618. package/dist/types/util/uriUtils.d.ts +15 -0
  619. package/dist/util.cjs.js +1 -1
  620. package/dist/util.es.js +44 -37
  621. package/dist/util.es.js.map +1 -1
  622. package/package.json +1 -1
  623. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +0 -2
  624. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +0 -1
  625. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +0 -263
  626. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +0 -1
  627. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js +0 -2
  628. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js.map +0 -1
  629. package/dist/src/components/Menu/MenuComponents/Menu.es.js +0 -82
  630. package/dist/src/components/Menu/MenuComponents/Menu.es.js.map +0 -1
  631. package/dist/src/components/Menu/MenuComponents/Menu.styled.cjs.js.map +0 -1
  632. package/dist/src/components/Menu/MenuComponents/Menu.styled.es.js.map +0 -1
  633. package/dist/src/components/Menu/MenuComponents/MenuContainer2.cjs.js +0 -2
  634. package/dist/src/components/Menu/MenuComponents/MenuContainer2.cjs.js.map +0 -1
  635. package/dist/src/components/Menu/MenuComponents/MenuContainer2.es.js +0 -80
  636. package/dist/src/components/Menu/MenuComponents/MenuContainer2.es.js.map +0 -1
  637. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js +0 -2
  638. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js.map +0 -1
  639. package/dist/src/components/Menu/MenuComponents/MenuItem.es.js.map +0 -1
  640. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js +0 -2
  641. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js.map +0 -1
  642. package/dist/src/components/Menu/MenuComponents/MenuList.es.js +0 -135
  643. package/dist/src/components/Menu/MenuComponents/MenuList.es.js.map +0 -1
  644. package/dist/src/components/Menu/MenuComponents/useMenuPosition.cjs.js +0 -2
  645. package/dist/src/components/Menu/MenuComponents/useMenuPosition.cjs.js.map +0 -1
  646. package/dist/src/components/Menu/MenuComponents/useMenuPosition.es.js +0 -35
  647. package/dist/src/components/Menu/MenuComponents/useMenuPosition.es.js.map +0 -1
  648. package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +0 -29
  649. package/dist/types/components/RemotePage/index.d.ts +0 -1
  650. /package/dist/{src/components/Menu/MenuComponents → shared/src/components/Menu}/Menu.styled.cjs.js +0 -0
  651. /package/dist/{src/components/Menu/MenuComponents → shared/src/components/Menu}/Menu.styled.es.js +0 -0
@@ -80,6 +80,7 @@ import "../../../api/queries/versions/updateVersions.es.js";
80
80
  import "../../../api/queries/views/getViews.es.js";
81
81
  import { useCreateViewMutation as y } from "../../../api/queries/views/updateViews.es.js";
82
82
  import "../../../api/queries/watchers/getWatchers.es.js";
83
+ import "../../../api/queries/uris/getUris.es.js";
83
84
  import { generateWorkingView as C } from "./generateWorkingView.es.js";
84
85
  import { toast as c } from "react-toastify";
85
86
  import { useCallback as d } from "react";
@@ -109,7 +110,7 @@ const h = async (r, t, o, p = {}, i, g) => {
109
110
  const e = p.errorMessage || `Failed to update view settings: ${m}`;
110
111
  c.error(e);
111
112
  }
112
- }, ii = () => {
113
+ }, ri = () => {
113
114
  const [r] = y(), t = M(), o = d(
114
115
  async (i) => await r(i).unwrap(),
115
116
  [r]
@@ -121,6 +122,6 @@ const h = async (r, t, o, p = {}, i, g) => {
121
122
  };
122
123
  export {
123
124
  h as updateViewSettings,
124
- ii as useViewUpdateHelper
125
+ ri as useViewUpdateHelper
125
126
  };
126
127
  //# sourceMappingURL=viewUpdateHelper.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"viewUpdateHelper.es.js","sources":["../../../../../../src/containers/Views/utils/viewUpdateHelper.ts"],"sourcesContent":["/**\n * Shared helper for updating view settings with optimistic local state management.\n *\n * This helper provides common functionality used by view settings hooks:\n * - Optimistic local state updates for immediate UI response\n * - Background API calls to persist changes\n * - Error handling with state reversion\n * - Working view management\n */\n\nimport { CreateViewApiArg, EntityIdResponse, useCreateViewMutation } from '@shared/api'\nimport { generateWorkingView } from './generateWorkingView'\nimport { toast } from 'react-toastify'\nimport { useCallback } from 'react'\nimport { useViewsContext, ViewsContextValue } from '../context/ViewsContext'\n\ninterface UpdateOptions {\n successMessage?: string\n errorMessage?: string\n}\n\nexport type UpdateViewSettingsFn = (\n updatedSettings: any,\n localStateSetter: (value: any) => void,\n newLocalValue: any,\n options?: UpdateOptions,\n) => Promise<void>\n\nexport const updateViewSettings = async (\n updatedSettings: any,\n localStateSetter: (value: any) => void,\n newLocalValue: any,\n options: UpdateOptions = {},\n viewContext: ViewsContextValue,\n onCreateView: (payload: CreateViewApiArg) => Promise<EntityIdResponse>,\n): Promise<void> => {\n try {\n const {\n viewSettings,\n viewType,\n projectName,\n selectedView,\n setSelectedView,\n workingView,\n onSettingsChanged,\n } = viewContext\n if (!viewType) throw 'No view type provided for updating view settings'\n if (!projectName) throw 'No project name provided for updating view settings'\n\n // Immediately update local state for fast UI response\n localStateSetter(newLocalValue)\n\n // Create settings with updates\n const newSettings = { ...viewSettings, ...updatedSettings }\n\n // always update the working view no matter what\n const newWorkingView = generateWorkingView(newSettings)\n // only use the generated ID if there is no working view already\n const newWorkingViewId = workingView?.id || newWorkingView.id\n\n // Make API call in background\n const promise = onCreateView({\n payload: newWorkingView,\n viewType: viewType,\n projectName: projectName,\n })\n\n // if not working: set that the settings have been changed to show the little blue save button\n if (selectedView && !selectedView.working) {\n onSettingsChanged(true)\n }\n // Always switch to the working view after updating anything\n setSelectedView(newWorkingViewId as string)\n\n await promise\n\n // Clear local state after successful API call - the server data will take over\n localStateSetter(null)\n\n if (options.successMessage) {\n toast.success(options.successMessage)\n }\n } catch (error) {\n // Revert local state on error\n localStateSetter(null)\n console.error(error)\n const errorMsg = options.errorMessage || `Failed to update view settings: ${error}`\n toast.error(errorMsg)\n }\n}\n\nexport const useViewUpdateHelper = () => {\n const [createView] = useCreateViewMutation()\n\n const viewContext = useViewsContext()\n\n const onCreateView = useCallback(\n async (payload: CreateViewApiArg) => await createView(payload).unwrap(),\n [createView],\n )\n\n const updateViewSettingsHandler = useCallback<UpdateViewSettingsFn>(\n async (...args) => await updateViewSettings(...args, viewContext, onCreateView),\n [viewContext],\n )\n\n return { updateViewSettings: updateViewSettingsHandler, onCreateView }\n}\n"],"names":["updateViewSettings","updatedSettings","localStateSetter","newLocalValue","options","viewContext","onCreateView","viewSettings","viewType","projectName","selectedView","setSelectedView","workingView","onSettingsChanged","newSettings","newWorkingView","generateWorkingView","newWorkingViewId","promise","toast","error","errorMsg","useViewUpdateHelper","createView","useCreateViewMutation","useViewsContext","useCallback","payload","args"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4Ba,MAAAA,IAAqB,OAChCC,GACAC,GACAC,GACAC,IAAyB,CACzB,GAAAC,GACAC,MACkB;AACd,MAAA;AACI,UAAA;AAAA,MACJ,cAAAC;AAAA,MACA,UAAAC;AAAA,MACA,aAAAC;AAAA,MACA,cAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,aAAAC;AAAA,MACA,mBAAAC;AAAA,IAAA,IACER;AACA,QAAA,CAACG,EAAgB,OAAA;AACjB,QAAA,CAACC,EAAmB,OAAA;AAGxB,IAAAP,EAAiBC,CAAa;AAG9B,UAAMW,IAAc,EAAE,GAAGP,GAAc,GAAGN,EAAgB,GAGpDc,IAAiBC,EAAoBF,CAAW,GAEhDG,KAAmBL,KAAA,gBAAAA,EAAa,OAAMG,EAAe,IAGrDG,IAAUZ,EAAa;AAAA,MAC3B,SAASS;AAAA,MACT,UAAAP;AAAA,MACA,aAAAC;AAAA,IAAA,CACD;AAGG,IAAAC,KAAgB,CAACA,EAAa,WAChCG,EAAkB,EAAI,GAGxBF,EAAgBM,CAA0B,GAEpC,MAAAC,GAGNhB,EAAiB,IAAI,GAEjBE,EAAQ,kBACJe,EAAA,QAAQf,EAAQ,cAAc;AAAA,WAE/BgB,GAAO;AAEd,IAAAlB,EAAiB,IAAI,GACrB,QAAQ,MAAMkB,CAAK;AACnB,UAAMC,IAAWjB,EAAQ,gBAAgB,mCAAmCgB,CAAK;AACjF,IAAAD,EAAM,MAAME,CAAQ;AAAA,EAAA;AAExB,GAEaC,KAAsB,MAAM;AACjC,QAAA,CAACC,CAAU,IAAIC,EAAsB,GAErCnB,IAAcoB,EAAgB,GAE9BnB,IAAeoB;AAAA,IACnB,OAAOC,MAA8B,MAAMJ,EAAWI,CAAO,EAAE,OAAO;AAAA,IACtE,CAACJ,CAAU;AAAA,EACb;AAOO,SAAA,EAAE,oBALyBG;AAAA,IAChC,UAAUE,MAAS,MAAM5B,EAAmB,GAAG4B,GAAMvB,GAAaC,CAAY;AAAA,IAC9E,CAACD,CAAW;AAAA,EACd,GAEwD,cAAAC,EAAa;AACvE;"}
1
+ {"version":3,"file":"viewUpdateHelper.es.js","sources":["../../../../../../src/containers/Views/utils/viewUpdateHelper.ts"],"sourcesContent":["/**\n * Shared helper for updating view settings with optimistic local state management.\n *\n * This helper provides common functionality used by view settings hooks:\n * - Optimistic local state updates for immediate UI response\n * - Background API calls to persist changes\n * - Error handling with state reversion\n * - Working view management\n */\n\nimport { CreateViewApiArg, EntityIdResponse, useCreateViewMutation } from '@shared/api'\nimport { generateWorkingView } from './generateWorkingView'\nimport { toast } from 'react-toastify'\nimport { useCallback } from 'react'\nimport { useViewsContext, ViewsContextValue } from '../context/ViewsContext'\n\ninterface UpdateOptions {\n successMessage?: string\n errorMessage?: string\n}\n\nexport type UpdateViewSettingsFn = (\n updatedSettings: any,\n localStateSetter: (value: any) => void,\n newLocalValue: any,\n options?: UpdateOptions,\n) => Promise<void>\n\nexport const updateViewSettings = async (\n updatedSettings: any,\n localStateSetter: (value: any) => void,\n newLocalValue: any,\n options: UpdateOptions = {},\n viewContext: ViewsContextValue,\n onCreateView: (payload: CreateViewApiArg) => Promise<EntityIdResponse>,\n): Promise<void> => {\n try {\n const {\n viewSettings,\n viewType,\n projectName,\n selectedView,\n setSelectedView,\n workingView,\n onSettingsChanged,\n } = viewContext\n if (!viewType) throw 'No view type provided for updating view settings'\n if (!projectName) throw 'No project name provided for updating view settings'\n\n // Immediately update local state for fast UI response\n localStateSetter(newLocalValue)\n\n // Create settings with updates\n const newSettings = { ...viewSettings, ...updatedSettings }\n\n // always update the working view no matter what\n const newWorkingView = generateWorkingView(newSettings)\n // only use the generated ID if there is no working view already\n const newWorkingViewId = workingView?.id || newWorkingView.id\n\n // Make API call in background\n const promise = onCreateView({\n payload: newWorkingView,\n viewType: viewType,\n projectName: projectName,\n })\n\n // if not working: set that the settings have been changed to show the little blue save button\n if (selectedView && !selectedView.working) {\n onSettingsChanged(true)\n }\n // Always switch to the working view after updating anything\n setSelectedView(newWorkingViewId as string)\n\n await promise\n\n // Clear local state after successful API call - the server data will take over\n localStateSetter(null)\n\n if (options.successMessage) {\n toast.success(options.successMessage)\n }\n } catch (error) {\n // Revert local state on error\n localStateSetter(null)\n console.error(error)\n const errorMsg = options.errorMessage || `Failed to update view settings: ${error}`\n toast.error(errorMsg)\n }\n}\n\nexport const useViewUpdateHelper = () => {\n const [createView] = useCreateViewMutation()\n\n const viewContext = useViewsContext()\n\n const onCreateView = useCallback(\n async (payload: CreateViewApiArg) => await createView(payload).unwrap(),\n [createView],\n )\n\n const updateViewSettingsHandler = useCallback<UpdateViewSettingsFn>(\n async (...args) => await updateViewSettings(...args, viewContext, onCreateView),\n [viewContext],\n )\n\n return { updateViewSettings: updateViewSettingsHandler, onCreateView }\n}\n"],"names":["updateViewSettings","updatedSettings","localStateSetter","newLocalValue","options","viewContext","onCreateView","viewSettings","viewType","projectName","selectedView","setSelectedView","workingView","onSettingsChanged","newSettings","newWorkingView","generateWorkingView","newWorkingViewId","promise","toast","error","errorMsg","useViewUpdateHelper","createView","useCreateViewMutation","useViewsContext","useCallback","payload","args"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4Ba,MAAAA,IAAqB,OAChCC,GACAC,GACAC,GACAC,IAAyB,CACzB,GAAAC,GACAC,MACkB;AACd,MAAA;AACI,UAAA;AAAA,MACJ,cAAAC;AAAA,MACA,UAAAC;AAAA,MACA,aAAAC;AAAA,MACA,cAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,aAAAC;AAAA,MACA,mBAAAC;AAAA,IAAA,IACER;AACA,QAAA,CAACG,EAAgB,OAAA;AACjB,QAAA,CAACC,EAAmB,OAAA;AAGxB,IAAAP,EAAiBC,CAAa;AAG9B,UAAMW,IAAc,EAAE,GAAGP,GAAc,GAAGN,EAAgB,GAGpDc,IAAiBC,EAAoBF,CAAW,GAEhDG,KAAmBL,KAAA,gBAAAA,EAAa,OAAMG,EAAe,IAGrDG,IAAUZ,EAAa;AAAA,MAC3B,SAASS;AAAA,MACT,UAAAP;AAAA,MACA,aAAAC;AAAA,IAAA,CACD;AAGG,IAAAC,KAAgB,CAACA,EAAa,WAChCG,EAAkB,EAAI,GAGxBF,EAAgBM,CAA0B,GAEpC,MAAAC,GAGNhB,EAAiB,IAAI,GAEjBE,EAAQ,kBACJe,EAAA,QAAQf,EAAQ,cAAc;AAAA,WAE/BgB,GAAO;AAEd,IAAAlB,EAAiB,IAAI,GACrB,QAAQ,MAAMkB,CAAK;AACnB,UAAMC,IAAWjB,EAAQ,gBAAgB,mCAAmCgB,CAAK;AACjF,IAAAD,EAAM,MAAME,CAAQ;AAAA,EAAA;AAExB,GAEaC,KAAsB,MAAM;AACjC,QAAA,CAACC,CAAU,IAAIC,EAAsB,GAErCnB,IAAcoB,EAAgB,GAE9BnB,IAAeoB;AAAA,IACnB,OAAOC,MAA8B,MAAMJ,EAAWI,CAAO,EAAE,OAAO;AAAA,IACtE,CAACJ,CAAU;AAAA,EACb;AAOO,SAAA,EAAE,oBALyBG;AAAA,IAChC,UAAUE,MAAS,MAAM5B,EAAmB,GAAG4B,GAAMvB,GAAaC,CAAY;AAAA,IAC9E,CAACD,CAAW;AAAA,EACd,GAEwD,cAAAC,EAAa;AACvE;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("../../../_virtual/jsx-runtime.cjs.js");require("../api/base/client.cjs.js");require("../api/generated/graphql.cjs.js");require("../api/generated/graphqlLinks.cjs.js");require("../api/generated/access.cjs.js");require("../api/generated/actions.cjs.js");require("../api/generated/activityFeed.cjs.js");require("../api/generated/addons.cjs.js");require("../api/generated/anatomy.cjs.js");require("../api/generated/attributes.cjs.js");require("../api/generated/authentication.cjs.js");require("../api/generated/bundles.cjs.js");require("../api/generated/configuration.cjs.js");require("../api/generated/desktop.cjs.js");require("../api/generated/entityLists.cjs.js");require("../api/generated/events.cjs.js");require("../api/generated/files.cjs.js");require("../api/generated/folders.cjs.js");require("../api/generated/inbox.cjs.js");require("../api/generated/links.cjs.js");require("../api/generated/market.cjs.js");require("../api/generated/onboarding.cjs.js");require("../api/generated/operations.cjs.js");require("../api/generated/products.cjs.js");require("../api/generated/projectDashboard.cjs.js");require("../api/generated/projects.cjs.js");require("../api/generated/reviewables.cjs.js");require("../api/generated/services.cjs.js");require("../api/generated/system.cjs.js");require("../api/generated/tasks.cjs.js");require("../api/generated/teams.cjs.js");require("../api/generated/thumbnails.cjs.js");require("../api/generated/uRIs.cjs.js");require("../api/generated/users.cjs.js");require("../api/generated/versions.cjs.js");require("../api/generated/workfiles.cjs.js");require("../api/generated/ynputCloud.cjs.js");require("../api/generated/grouping.cjs.js");require("../api/generated/views.cjs.js");require("../api/queries/actions/getActions.cjs.js");require("../api/queries/activities/getActivities.cjs.js");require("../api/queries/activities/updateActivities.cjs.js");require("../api/queries/activities/updateReaction.cjs.js");require("../api/queries/activities/getMentions.cjs.js");require("../api/queries/activities/getCategories.cjs.js");require("../api/queries/addons/getAddons.cjs.js");require("../api/queries/addons/updateAddons.cjs.js");require("../api/queries/attributes/getAttributes.cjs.js");require("../api/queries/attributes/updateAttributes.cjs.js");require("../api/queries/authentication/getAuthentication.cjs.js");require("../api/queries/cloud/cloud.cjs.js");require("../api/queries/entities/getEntity.cjs.js");require("../api/queries/entities/getEntityPanel.cjs.js");require("../api/queries/entities/updateEntity.cjs.js");require("../api/queries/entityLists/getLists.cjs.js");require("../api/queries/entityLists/updateLists.cjs.js");require("../api/queries/entityLists/getListsAttributes.cjs.js");require("../api/queries/entityLists/updateListsAttributes.cjs.js");require("../api/queries/entityLists/listFolders.cjs.js");require("../api/queries/folders/getFolders.cjs.js");require("../api/queries/grouping/getGrouping.cjs.js");require("../api/queries/links/updateLinks.cjs.js");require("../api/queries/links/getLinks.cjs.js");require("../api/queries/links/getEntityLinks.cjs.js");require("../api/queries/overview/getOverview.cjs.js");require("../api/queries/overview/updateOverview.cjs.js");require("../api/queries/versions/getVersionsProducts.cjs.js");require("../api/queries/permissions/getPermissions.cjs.js");require("../api/queries/products/createProduct.cjs.js");const c=require("../api/queries/project/getProject.cjs.js");require("../api/queries/project/updateProject.cjs.js");require("../api/queries/review/getReview.cjs.js");require("../api/queries/review/updateReview.cjs.js");require("../api/queries/share/share.cjs.js");require("../api/queries/system/getSystem.cjs.js");require("../api/queries/userDashboard/getUserDashboard.cjs.js");require("../api/queries/users/getUsers.cjs.js");require("../api/queries/users/updateUsers.cjs.js");require("../api/queries/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");const u=require("react"),d=require("./GlobalContext.cjs.js"),i=u.createContext(void 0),x=({children:e,projectName:r,toast:q,...t})=>{const{data:o}=c.useGetProjectQuery({projectName:r},{skip:!r}),{user:n}=d.useGlobalContext();return s.jsxRuntimeExports.jsx(i.Provider,{value:{...t,projectName:r,project:o,user:n,toast:q},children:e})},P=()=>{const e=u.useContext(i);if(!e)throw new Error("useAddonProjectContext must be used within a AddonProjectContext");return e};exports.AddonProjectProvider=x;exports.useAddonProjectContext=P;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("../../../_virtual/jsx-runtime.cjs.js");require("../api/base/client.cjs.js");require("../api/generated/graphql.cjs.js");require("../api/generated/graphqlLinks.cjs.js");require("../api/generated/access.cjs.js");require("../api/generated/actions.cjs.js");require("../api/generated/activityFeed.cjs.js");require("../api/generated/addons.cjs.js");require("../api/generated/anatomy.cjs.js");require("../api/generated/attributes.cjs.js");require("../api/generated/authentication.cjs.js");require("../api/generated/bundles.cjs.js");require("../api/generated/configuration.cjs.js");require("../api/generated/desktop.cjs.js");require("../api/generated/entityLists.cjs.js");require("../api/generated/events.cjs.js");require("../api/generated/files.cjs.js");require("../api/generated/folders.cjs.js");require("../api/generated/inbox.cjs.js");require("../api/generated/links.cjs.js");require("../api/generated/market.cjs.js");require("../api/generated/onboarding.cjs.js");require("../api/generated/operations.cjs.js");require("../api/generated/products.cjs.js");require("../api/generated/projectDashboard.cjs.js");require("../api/generated/projects.cjs.js");require("../api/generated/reviewables.cjs.js");require("../api/generated/services.cjs.js");require("../api/generated/system.cjs.js");require("../api/generated/tasks.cjs.js");require("../api/generated/teams.cjs.js");require("../api/generated/thumbnails.cjs.js");require("../api/generated/uRIs.cjs.js");require("../api/generated/users.cjs.js");require("../api/generated/versions.cjs.js");require("../api/generated/workfiles.cjs.js");require("../api/generated/ynputCloud.cjs.js");require("../api/generated/grouping.cjs.js");require("../api/generated/views.cjs.js");require("../api/queries/actions/getActions.cjs.js");require("../api/queries/activities/getActivities.cjs.js");require("../api/queries/activities/updateActivities.cjs.js");require("../api/queries/activities/updateReaction.cjs.js");require("../api/queries/activities/getMentions.cjs.js");require("../api/queries/activities/getCategories.cjs.js");require("../api/queries/addons/getAddons.cjs.js");require("../api/queries/addons/updateAddons.cjs.js");require("../api/queries/attributes/getAttributes.cjs.js");require("../api/queries/attributes/updateAttributes.cjs.js");require("../api/queries/authentication/getAuthentication.cjs.js");require("../api/queries/cloud/cloud.cjs.js");require("../api/queries/entities/getEntity.cjs.js");require("../api/queries/entities/getEntityPanel.cjs.js");require("../api/queries/entities/updateEntity.cjs.js");require("../api/queries/entityLists/getLists.cjs.js");require("../api/queries/entityLists/updateLists.cjs.js");require("../api/queries/entityLists/getListsAttributes.cjs.js");require("../api/queries/entityLists/updateListsAttributes.cjs.js");require("../api/queries/entityLists/listFolders.cjs.js");require("../api/queries/folders/getFolders.cjs.js");require("../api/queries/grouping/getGrouping.cjs.js");require("../api/queries/links/updateLinks.cjs.js");require("../api/queries/links/getLinks.cjs.js");require("../api/queries/links/getEntityLinks.cjs.js");require("../api/queries/overview/getOverview.cjs.js");require("../api/queries/overview/updateOverview.cjs.js");require("../api/queries/versions/getVersionsProducts.cjs.js");require("../api/queries/permissions/getPermissions.cjs.js");require("../api/queries/products/createProduct.cjs.js");const c=require("../api/queries/project/getProject.cjs.js");require("../api/queries/project/updateProject.cjs.js");require("../api/queries/review/getReview.cjs.js");require("../api/queries/review/updateReview.cjs.js");require("../api/queries/share/share.cjs.js");require("../api/queries/system/getSystem.cjs.js");require("../api/queries/userDashboard/getUserDashboard.cjs.js");require("../api/queries/users/getUsers.cjs.js");require("../api/queries/users/updateUsers.cjs.js");require("../api/queries/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 u=require("react"),d=require("./GlobalContext.cjs.js"),i=u.createContext(void 0),x=({children:e,projectName:r,toast:q,...t})=>{const{data:o}=c.useGetProjectQuery({projectName:r},{skip:!r}),{user:n}=d.useGlobalContext();return s.jsxRuntimeExports.jsx(i.Provider,{value:{...t,projectName:r,project:o,user:n,toast:q},children:e})},P=()=>{const e=u.useContext(i);if(!e)throw new Error("useAddonProjectContext must be used within a AddonProjectContext");return e};exports.AddonProjectProvider=x;exports.useAddonProjectContext=P;
2
2
  //# sourceMappingURL=AddonProjectContext.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AddonProjectContext.cjs.js","sources":["../../../../src/context/AddonProjectContext.tsx"],"sourcesContent":["// NOT USED IN AYON-FRONTEND, ONLY IN ADDONS\n\nimport { ProjectModel, useGetProjectQuery, UserModel } from '@shared/api'\nimport { createContext, FC, useContext } from 'react'\nimport type { toast } from 'react-toastify'\nimport { useGlobalContext } from './GlobalContext'\nimport { RemotePageProps } from '@shared/components'\n\ntype ToastFunc = typeof toast\n\nexport interface RemoteAddonProjectProps extends RemotePageProps {}\n\nexport type RemoteAddonProjectComponent = FC<RemoteAddonProjectProps>\nexport type RemoteAddonProject = {\n id: string\n component: RemoteAddonProjectComponent\n name: string\n module: string\n viewType?: string // if the addon is using views\n slicer?: { fields: string[] }\n}\n\n// types for props passed to the provider\nexport interface AddonProjectContextValue extends RemoteAddonProjectProps {\n children: React.ReactNode\n}\n\n// types returned by context\nexport interface AddonProjectContextType extends RemoteAddonProjectProps {\n project: ProjectModel | undefined\n user: UserModel | undefined\n toast: ToastFunc\n}\n\nconst AddonProjectContext = createContext<AddonProjectContextType | undefined>(undefined)\n\nexport const AddonProjectProvider = ({\n children,\n projectName,\n // utils\n toast,\n ...props\n}: AddonProjectContextValue) => {\n // get current project data\n const { data: project } = useGetProjectQuery(\n { projectName: projectName as string },\n { skip: !projectName },\n )\n\n const { user } = useGlobalContext()\n\n return (\n <AddonProjectContext.Provider\n value={{\n ...props,\n projectName,\n project,\n user,\n toast,\n }}\n >\n {children}\n </AddonProjectContext.Provider>\n )\n}\n\nexport const useAddonProjectContext = () => {\n const context = useContext(AddonProjectContext)\n if (!context) {\n throw new Error('useAddonProjectContext must be used within a AddonProjectContext')\n }\n return context\n}\n"],"names":["AddonProjectContext","createContext","AddonProjectProvider","children","projectName","toast","props","project","useGetProjectQuery","user","useGlobalContext","jsx","useAddonProjectContext","context","useContext"],"mappings":"6rIAkCMA,EAAsBC,gBAAmD,MAAS,EAE3EC,EAAuB,CAAC,CACnC,SAAAC,EACA,YAAAC,EAEA,MAAAC,EACA,GAAGC,CACL,IAAgC,CAExB,KAAA,CAAE,KAAMC,CAAA,EAAYC,EAAA,mBACxB,CAAE,YAAAJ,CAAmC,EACrC,CAAE,KAAM,CAACA,CAAY,CACvB,EAEM,CAAE,KAAAK,CAAK,EAAIC,mBAAiB,EAGhC,OAAAC,EAAA,kBAAA,IAACX,EAAoB,SAApB,CACC,MAAO,CACL,GAAGM,EACH,YAAAF,EACA,QAAAG,EACA,KAAAE,EACA,MAAAJ,CACF,EAEC,SAAAF,CAAA,CACH,CAEJ,EAEaS,EAAyB,IAAM,CACpC,MAAAC,EAAUC,aAAWd,CAAmB,EAC9C,GAAI,CAACa,EACG,MAAA,IAAI,MAAM,kEAAkE,EAE7E,OAAAA,CACT"}
1
+ {"version":3,"file":"AddonProjectContext.cjs.js","sources":["../../../../src/context/AddonProjectContext.tsx"],"sourcesContent":["// NOT USED IN AYON-FRONTEND, ONLY IN ADDONS\n\nimport { ProjectModel, useGetProjectQuery, UserModel } from '@shared/api'\nimport { createContext, FC, useContext } from 'react'\nimport router from 'react-router-dom'\nimport type { toast } from 'react-toastify'\nimport { useGlobalContext } from './GlobalContext'\n\ntype ToastFunc = typeof toast\n\nexport type RemoteAddonProjectComponent = FC<RemoteAddonProjectProps>\nexport type RemoteAddonProject = {\n id: string\n component: RemoteAddonProjectComponent\n name: string\n module: string\n}\n\nexport type RouterTypes = {\n useParams: typeof router.useParams\n useNavigate: typeof router.useNavigate\n useLocation: typeof router.useLocation\n useSearchParams: typeof router.useSearchParams\n}\n\nexport interface RemoteAddonProjectProps {\n projectName: string\n router: RouterTypes\n toast?: any\n}\n\n// types for props passed to the provider\nexport interface AddonProjectContextValue extends RemoteAddonProjectProps {\n children: React.ReactNode\n}\n\n// types returned by context\nexport interface AddonProjectContextType extends RemoteAddonProjectProps {\n project: ProjectModel | undefined\n user: UserModel | undefined\n toast: ToastFunc\n}\n\nconst AddonProjectContext = createContext<AddonProjectContextType | undefined>(undefined)\n\nexport const AddonProjectProvider = ({\n children,\n projectName,\n // utils\n toast,\n ...props\n}: AddonProjectContextValue) => {\n // get current project data\n const { data: project } = useGetProjectQuery(\n { projectName: projectName as string },\n { skip: !projectName },\n )\n\n const { user } = useGlobalContext()\n\n return (\n <AddonProjectContext.Provider\n value={{\n ...props,\n projectName,\n project,\n user,\n toast,\n }}\n >\n {children}\n </AddonProjectContext.Provider>\n )\n}\n\nexport const useAddonProjectContext = () => {\n const context = useContext(AddonProjectContext)\n if (!context) {\n throw new Error('useAddonProjectContext must be used within a AddonProjectContext')\n }\n return context\n}\n"],"names":["AddonProjectContext","createContext","AddonProjectProvider","children","projectName","toast","props","project","useGetProjectQuery","user","useGlobalContext","jsx","useAddonProjectContext","context","useContext"],"mappings":"2uIA2CMA,EAAsBC,gBAAmD,MAAS,EAE3EC,EAAuB,CAAC,CACnC,SAAAC,EACA,YAAAC,EAEA,MAAAC,EACA,GAAGC,CACL,IAAgC,CAExB,KAAA,CAAE,KAAMC,CAAA,EAAYC,EAAA,mBACxB,CAAE,YAAAJ,CAAmC,EACrC,CAAE,KAAM,CAACA,CAAY,CACvB,EAEM,CAAE,KAAAK,CAAK,EAAIC,mBAAiB,EAGhC,OAAAC,EAAA,kBAAA,IAACX,EAAoB,SAApB,CACC,MAAO,CACL,GAAGM,EACH,YAAAF,EACA,QAAAG,EACA,KAAAE,EACA,MAAAJ,CACF,EAEC,SAAAF,CAAA,CACH,CAEJ,EAEaS,EAAyB,IAAM,CACpC,MAAAC,EAAUC,aAAWd,CAAmB,EAC9C,GAAI,CAACa,EACG,MAAA,IAAI,MAAM,kEAAkE,EAE7E,OAAAA,CACT"}
@@ -81,9 +81,10 @@ import "../api/queries/versions/updateVersions.es.js";
81
81
  import "../api/queries/views/getViews.es.js";
82
82
  import "../api/queries/views/updateViews.es.js";
83
83
  import "../api/queries/watchers/getWatchers.es.js";
84
+ import "../api/queries/uris/getUris.es.js";
84
85
  import { createContext as d, useContext as c } from "react";
85
86
  import { useGlobalContext as u } from "./GlobalContext.es.js";
86
- const r = d(void 0), St = ({
87
+ const r = d(void 0), Tt = ({
87
88
  children: t,
88
89
  projectName: o,
89
90
  // utils
@@ -107,14 +108,14 @@ const r = d(void 0), St = ({
107
108
  children: t
108
109
  }
109
110
  );
110
- }, Tt = () => {
111
+ }, Ut = () => {
111
112
  const t = c(r);
112
113
  if (!t)
113
114
  throw new Error("useAddonProjectContext must be used within a AddonProjectContext");
114
115
  return t;
115
116
  };
116
117
  export {
117
- St as AddonProjectProvider,
118
- Tt as useAddonProjectContext
118
+ Tt as AddonProjectProvider,
119
+ Ut as useAddonProjectContext
119
120
  };
120
121
  //# sourceMappingURL=AddonProjectContext.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AddonProjectContext.es.js","sources":["../../../../src/context/AddonProjectContext.tsx"],"sourcesContent":["// NOT USED IN AYON-FRONTEND, ONLY IN ADDONS\n\nimport { ProjectModel, useGetProjectQuery, UserModel } from '@shared/api'\nimport { createContext, FC, useContext } from 'react'\nimport type { toast } from 'react-toastify'\nimport { useGlobalContext } from './GlobalContext'\nimport { RemotePageProps } from '@shared/components'\n\ntype ToastFunc = typeof toast\n\nexport interface RemoteAddonProjectProps extends RemotePageProps {}\n\nexport type RemoteAddonProjectComponent = FC<RemoteAddonProjectProps>\nexport type RemoteAddonProject = {\n id: string\n component: RemoteAddonProjectComponent\n name: string\n module: string\n viewType?: string // if the addon is using views\n slicer?: { fields: string[] }\n}\n\n// types for props passed to the provider\nexport interface AddonProjectContextValue extends RemoteAddonProjectProps {\n children: React.ReactNode\n}\n\n// types returned by context\nexport interface AddonProjectContextType extends RemoteAddonProjectProps {\n project: ProjectModel | undefined\n user: UserModel | undefined\n toast: ToastFunc\n}\n\nconst AddonProjectContext = createContext<AddonProjectContextType | undefined>(undefined)\n\nexport const AddonProjectProvider = ({\n children,\n projectName,\n // utils\n toast,\n ...props\n}: AddonProjectContextValue) => {\n // get current project data\n const { data: project } = useGetProjectQuery(\n { projectName: projectName as string },\n { skip: !projectName },\n )\n\n const { user } = useGlobalContext()\n\n return (\n <AddonProjectContext.Provider\n value={{\n ...props,\n projectName,\n project,\n user,\n toast,\n }}\n >\n {children}\n </AddonProjectContext.Provider>\n )\n}\n\nexport const useAddonProjectContext = () => {\n const context = useContext(AddonProjectContext)\n if (!context) {\n throw new Error('useAddonProjectContext must be used within a AddonProjectContext')\n }\n return context\n}\n"],"names":["AddonProjectContext","createContext","AddonProjectProvider","children","projectName","toast","props","project","useGetProjectQuery","user","useGlobalContext","jsx","useAddonProjectContext","context","useContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,MAAMA,IAAsBC,EAAmD,MAAS,GAE3EC,KAAuB,CAAC;AAAA,EACnC,UAAAC;AAAA,EACA,aAAAC;AAAA;AAAA,EAEA,OAAAC;AAAA,EACA,GAAGC;AACL,MAAgC;AAExB,QAAA,EAAE,MAAMC,EAAA,IAAYC;AAAA,IACxB,EAAE,aAAAJ,EAAmC;AAAA,IACrC,EAAE,MAAM,CAACA,EAAY;AAAA,EACvB,GAEM,EAAE,MAAAK,EAAK,IAAIC,EAAiB;AAGhC,SAAAC,gBAAAA,EAAA;AAAA,IAACX,EAAoB;AAAA,IAApB;AAAA,MACC,OAAO;AAAA,QACL,GAAGM;AAAA,QACH,aAAAF;AAAA,QACA,SAAAG;AAAA,QACA,MAAAE;AAAA,QACA,OAAAJ;AAAA,MACF;AAAA,MAEC,UAAAF;AAAA,IAAA;AAAA,EACH;AAEJ,GAEaS,KAAyB,MAAM;AACpC,QAAAC,IAAUC,EAAWd,CAAmB;AAC9C,MAAI,CAACa;AACG,UAAA,IAAI,MAAM,kEAAkE;AAE7E,SAAAA;AACT;"}
1
+ {"version":3,"file":"AddonProjectContext.es.js","sources":["../../../../src/context/AddonProjectContext.tsx"],"sourcesContent":["// NOT USED IN AYON-FRONTEND, ONLY IN ADDONS\n\nimport { ProjectModel, useGetProjectQuery, UserModel } from '@shared/api'\nimport { createContext, FC, useContext } from 'react'\nimport router from 'react-router-dom'\nimport type { toast } from 'react-toastify'\nimport { useGlobalContext } from './GlobalContext'\n\ntype ToastFunc = typeof toast\n\nexport type RemoteAddonProjectComponent = FC<RemoteAddonProjectProps>\nexport type RemoteAddonProject = {\n id: string\n component: RemoteAddonProjectComponent\n name: string\n module: string\n}\n\nexport type RouterTypes = {\n useParams: typeof router.useParams\n useNavigate: typeof router.useNavigate\n useLocation: typeof router.useLocation\n useSearchParams: typeof router.useSearchParams\n}\n\nexport interface RemoteAddonProjectProps {\n projectName: string\n router: RouterTypes\n toast?: any\n}\n\n// types for props passed to the provider\nexport interface AddonProjectContextValue extends RemoteAddonProjectProps {\n children: React.ReactNode\n}\n\n// types returned by context\nexport interface AddonProjectContextType extends RemoteAddonProjectProps {\n project: ProjectModel | undefined\n user: UserModel | undefined\n toast: ToastFunc\n}\n\nconst AddonProjectContext = createContext<AddonProjectContextType | undefined>(undefined)\n\nexport const AddonProjectProvider = ({\n children,\n projectName,\n // utils\n toast,\n ...props\n}: AddonProjectContextValue) => {\n // get current project data\n const { data: project } = useGetProjectQuery(\n { projectName: projectName as string },\n { skip: !projectName },\n )\n\n const { user } = useGlobalContext()\n\n return (\n <AddonProjectContext.Provider\n value={{\n ...props,\n projectName,\n project,\n user,\n toast,\n }}\n >\n {children}\n </AddonProjectContext.Provider>\n )\n}\n\nexport const useAddonProjectContext = () => {\n const context = useContext(AddonProjectContext)\n if (!context) {\n throw new Error('useAddonProjectContext must be used within a AddonProjectContext')\n }\n return context\n}\n"],"names":["AddonProjectContext","createContext","AddonProjectProvider","children","projectName","toast","props","project","useGetProjectQuery","user","useGlobalContext","jsx","useAddonProjectContext","context","useContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CA,MAAMA,IAAsBC,EAAmD,MAAS,GAE3EC,KAAuB,CAAC;AAAA,EACnC,UAAAC;AAAA,EACA,aAAAC;AAAA;AAAA,EAEA,OAAAC;AAAA,EACA,GAAGC;AACL,MAAgC;AAExB,QAAA,EAAE,MAAMC,EAAA,IAAYC;AAAA,IACxB,EAAE,aAAAJ,EAAmC;AAAA,IACrC,EAAE,MAAM,CAACA,EAAY;AAAA,EACvB,GAEM,EAAE,MAAAK,EAAK,IAAIC,EAAiB;AAGhC,SAAAC,gBAAAA,EAAA;AAAA,IAACX,EAAoB;AAAA,IAApB;AAAA,MACC,OAAO;AAAA,QACL,GAAGM;AAAA,QACH,aAAAF;AAAA,QACA,SAAAG;AAAA,QACA,MAAAE;AAAA,QACA,OAAAJ;AAAA,MACF;AAAA,MAEC,UAAAF;AAAA,IAAA;AAAA,EACH;AAEJ,GAEaS,KAAyB,MAAM;AACpC,QAAAC,IAAUC,EAAWd,CAAmB;AAC9C,MAAI,CAACa;AACG,UAAA,IAAI,MAAM,kEAAkE;AAE7E,SAAAA;AACT;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const I=require("../../../_virtual/jsx-runtime.cjs.js"),e=require("react"),k=require("../hooks/useLocalStorage.cjs.js");require("./RemoteModulesContext.cjs.js");require("../../../_virtual/runtime.cjs.js");require("../../../_virtual/semver.cjs.js");require("../api/base/client.cjs.js");require("../api/generated/graphql.cjs.js");require("../api/generated/graphqlLinks.cjs.js");require("../api/generated/access.cjs.js");require("../api/generated/actions.cjs.js");require("../api/generated/activityFeed.cjs.js");require("../api/generated/addons.cjs.js");require("../api/generated/anatomy.cjs.js");require("../api/generated/attributes.cjs.js");require("../api/generated/authentication.cjs.js");require("../api/generated/bundles.cjs.js");require("../api/generated/configuration.cjs.js");require("../api/generated/desktop.cjs.js");require("../api/generated/entityLists.cjs.js");require("../api/generated/events.cjs.js");require("../api/generated/files.cjs.js");require("../api/generated/folders.cjs.js");require("../api/generated/inbox.cjs.js");require("../api/generated/links.cjs.js");require("../api/generated/market.cjs.js");require("../api/generated/onboarding.cjs.js");require("../api/generated/operations.cjs.js");require("../api/generated/products.cjs.js");require("../api/generated/projectDashboard.cjs.js");require("../api/generated/projects.cjs.js");require("../api/generated/reviewables.cjs.js");require("../api/generated/services.cjs.js");require("../api/generated/system.cjs.js");require("../api/generated/tasks.cjs.js");require("../api/generated/teams.cjs.js");require("../api/generated/thumbnails.cjs.js");require("../api/generated/uRIs.cjs.js");require("../api/generated/users.cjs.js");require("../api/generated/versions.cjs.js");require("../api/generated/workfiles.cjs.js");require("../api/generated/ynputCloud.cjs.js");require("../api/generated/grouping.cjs.js");require("../api/generated/views.cjs.js");require("../api/queries/actions/getActions.cjs.js");require("../api/queries/activities/getActivities.cjs.js");require("../api/queries/activities/updateActivities.cjs.js");require("../api/queries/activities/updateReaction.cjs.js");require("../api/queries/activities/getMentions.cjs.js");require("../api/queries/activities/getCategories.cjs.js");require("../api/queries/addons/getAddons.cjs.js");require("../api/queries/addons/updateAddons.cjs.js");require("../api/queries/attributes/getAttributes.cjs.js");require("../api/queries/attributes/updateAttributes.cjs.js");require("../api/queries/authentication/getAuthentication.cjs.js");require("../api/queries/cloud/cloud.cjs.js");require("../api/queries/entities/getEntity.cjs.js");require("../api/queries/entities/getEntityPanel.cjs.js");require("../api/queries/entities/updateEntity.cjs.js");require("../api/queries/entityLists/getLists.cjs.js");require("../api/queries/entityLists/updateLists.cjs.js");require("../api/queries/entityLists/getListsAttributes.cjs.js");require("../api/queries/entityLists/updateListsAttributes.cjs.js");require("../api/queries/entityLists/listFolders.cjs.js");require("../api/queries/folders/getFolders.cjs.js");require("../api/queries/grouping/getGrouping.cjs.js");require("../api/queries/links/updateLinks.cjs.js");require("../api/queries/links/getLinks.cjs.js");require("../api/queries/links/getEntityLinks.cjs.js");require("../api/queries/overview/getOverview.cjs.js");require("../api/queries/overview/updateOverview.cjs.js");require("../api/queries/versions/getVersionsProducts.cjs.js");require("../api/queries/permissions/getPermissions.cjs.js");require("../api/queries/products/createProduct.cjs.js");require("../api/queries/project/getProject.cjs.js");require("../api/queries/project/updateProject.cjs.js");require("../api/queries/review/getReview.cjs.js");require("../api/queries/review/updateReview.cjs.js");require("../api/queries/share/share.cjs.js");require("../api/queries/system/getSystem.cjs.js");require("../api/queries/userDashboard/getUserDashboard.cjs.js");require("../api/queries/users/getUsers.cjs.js");require("../api/queries/users/updateUsers.cjs.js");require("../api/queries/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("lodash");require("react-toastify");require("./ThumbnailUploaderContext.cjs.js");require("./SettingsPanelContext.cjs.js");require("./pip/PiPProvider.cjs.js");require("react-dom");require("./pip/PiPWrapper.cjs.js");require("./AddonProjectContext.cjs.js");require("./AddonContext.cjs.js");const J=require("./PowerpackContext.cjs.js");require("./MoveEntityContext.cjs.js");require("./MenuContext.cjs.js");require("./WebsocketContext.cjs.js");const K=require("./GlobalContext.cjs.js");require("./ProjectContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");const y=e.createContext(void 0),N=({children:r,defaultTab:q="activity",hasLicense:l,debug:s={},...n})=>{var D,O;const{user:u}=K.useGlobalContext(),c="isDeveloperMode"in s?s.isDeveloperMode:((D=u==null?void 0:u.attrib)==null?void 0:D.developerMode)??!1,p="isGuest"in s?s.isGuest:(O=u==null?void 0:u.data)==null?void 0:O.isGuest,{powerLicense:S,setPowerpackDialog:o}=J.usePowerpack(),d="hasLicense"in s?s.hasLicense:!!S||l,[i,P]=e.useState({}),[w,L]=e.useState([]),f=e.useCallback(t=>i[t]?i[t]:!1,[i]),F=e.useCallback((t,z)=>{const h={...i};h[t]=z,P(h)},[i]),[a]=k.useLocalStorage("details/tabs-by-scope",{}),m=e.useCallback(t=>a[t]?a[t]:q,[a,q]),[b,v]=e.useState(null),G=e.useCallback(t=>{v(t)},[]),T=e.useCallback(()=>{v(null),b&&x([])},[]),[B,C]=e.useState(null),M=e.useCallback(t=>{C(t)},[]),j=e.useCallback(()=>{C(null)},[]),[A,E]=e.useState(null),[R,x]=e.useState([]),H={panelOpenByScope:i,getOpenForScope:f,setPanelOpen:F,setPanelOpenByScope:P,tabsByScope:a,getTabForScope:m,slideOut:b,openSlideOut:G,closeSlideOut:T,highlightedActivities:R,setHighlightedActivities:x,pip:B,openPip:M,closePip:j,entities:A,setEntities:E,feedAnnotations:w,setFeedAnnotations:L,isDeveloperMode:c,isGuest:p,hasLicense:d,onPowerFeature:o,...n};return I.jsxRuntimeExports.jsx(y.Provider,{value:H,children:r})},g=()=>{const r=e.useContext(y);if(r===void 0)throw new Error("useDetailsPanel must be used within a DetailsProvider");return r},Q=r=>{const{getOpenForScope:q,setPanelOpen:l,getTabForScope:s}=g(),[n,u]=k.useLocalStorage("details/tabs-by-scope",{}),[c,p]=e.useState(()=>n[r]??s(r)),S=e.useCallback(i=>{p(i),u({...n,[r]:i})},[r,u]),o=c,d=["activity","comments","versions","checklists"].includes(o);return{isOpen:q(r),setOpen:i=>l(r,i),currentTab:o,setTab:S,isFeed:d}};exports.DetailsPanelProvider=N;exports.useDetailsPanelContext=g;exports.useScopedDetailsPanel=Q;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const re=require("../../../_virtual/jsx-runtime.cjs.js"),e=require("react"),I=require("../hooks/useLocalStorage.cjs.js");require("./RemoteModulesContext.cjs.js");require("../../../_virtual/runtime.cjs.js");require("../../../_virtual/semver.cjs.js");require("../api/base/client.cjs.js");require("../api/generated/graphql.cjs.js");require("../api/generated/graphqlLinks.cjs.js");require("../api/generated/access.cjs.js");require("../api/generated/actions.cjs.js");require("../api/generated/activityFeed.cjs.js");require("../api/generated/addons.cjs.js");require("../api/generated/anatomy.cjs.js");require("../api/generated/attributes.cjs.js");require("../api/generated/authentication.cjs.js");require("../api/generated/bundles.cjs.js");require("../api/generated/configuration.cjs.js");require("../api/generated/desktop.cjs.js");require("../api/generated/entityLists.cjs.js");require("../api/generated/events.cjs.js");require("../api/generated/files.cjs.js");require("../api/generated/folders.cjs.js");require("../api/generated/inbox.cjs.js");require("../api/generated/links.cjs.js");require("../api/generated/market.cjs.js");require("../api/generated/onboarding.cjs.js");require("../api/generated/operations.cjs.js");require("../api/generated/products.cjs.js");require("../api/generated/projectDashboard.cjs.js");require("../api/generated/projects.cjs.js");require("../api/generated/reviewables.cjs.js");require("../api/generated/services.cjs.js");require("../api/generated/system.cjs.js");require("../api/generated/tasks.cjs.js");require("../api/generated/teams.cjs.js");require("../api/generated/thumbnails.cjs.js");require("../api/generated/uRIs.cjs.js");require("../api/generated/users.cjs.js");require("../api/generated/versions.cjs.js");require("../api/generated/workfiles.cjs.js");require("../api/generated/ynputCloud.cjs.js");require("../api/generated/grouping.cjs.js");require("../api/generated/views.cjs.js");require("../api/queries/actions/getActions.cjs.js");require("../api/queries/activities/getActivities.cjs.js");require("../api/queries/activities/updateActivities.cjs.js");require("../api/queries/activities/updateReaction.cjs.js");require("../api/queries/activities/getMentions.cjs.js");require("../api/queries/activities/getCategories.cjs.js");require("../api/queries/addons/getAddons.cjs.js");require("../api/queries/addons/updateAddons.cjs.js");require("../api/queries/attributes/getAttributes.cjs.js");require("../api/queries/attributes/updateAttributes.cjs.js");require("../api/queries/authentication/getAuthentication.cjs.js");require("../api/queries/cloud/cloud.cjs.js");require("../api/queries/entities/getEntity.cjs.js");require("../api/queries/entities/getEntityPanel.cjs.js");require("../api/queries/entities/updateEntity.cjs.js");require("../api/queries/entityLists/getLists.cjs.js");require("../api/queries/entityLists/updateLists.cjs.js");require("../api/queries/entityLists/getListsAttributes.cjs.js");require("../api/queries/entityLists/updateListsAttributes.cjs.js");require("../api/queries/entityLists/listFolders.cjs.js");require("../api/queries/folders/getFolders.cjs.js");require("../api/queries/grouping/getGrouping.cjs.js");require("../api/queries/links/updateLinks.cjs.js");require("../api/queries/links/getLinks.cjs.js");require("../api/queries/links/getEntityLinks.cjs.js");require("../api/queries/overview/getOverview.cjs.js");require("../api/queries/overview/updateOverview.cjs.js");require("../api/queries/versions/getVersionsProducts.cjs.js");require("../api/queries/permissions/getPermissions.cjs.js");require("../api/queries/products/createProduct.cjs.js");require("../api/queries/project/getProject.cjs.js");require("../api/queries/project/updateProject.cjs.js");require("../api/queries/review/getReview.cjs.js");require("../api/queries/review/updateReview.cjs.js");require("../api/queries/share/share.cjs.js");require("../api/queries/system/getSystem.cjs.js");require("../api/queries/userDashboard/getUserDashboard.cjs.js");require("../api/queries/users/getUsers.cjs.js");require("../api/queries/users/updateUsers.cjs.js");require("../api/queries/users/guests.cjs.js");require("../api/queries/versions/updateVersions.cjs.js");require("../api/queries/views/getViews.cjs.js");require("../api/queries/views/updateViews.cjs.js");require("../api/queries/watchers/getWatchers.cjs.js");require("../api/queries/uris/getUris.cjs.js");require("lodash");require("react-toastify");require("./ThumbnailUploaderContext.cjs.js");require("./SettingsPanelContext.cjs.js");require("./pip/PiPProvider.cjs.js");require("react-dom");require("./pip/PiPWrapper.cjs.js");require("./AddonProjectContext.cjs.js");require("./AddonContext.cjs.js");const ie=require("./PowerpackContext.cjs.js");require("./MoveEntityContext.cjs.js");require("./MenuContext.cjs.js");require("./WebsocketContext.cjs.js");const te=require("./GlobalContext.cjs.js");require("./ProjectContext.cjs.js");require("./ProjectFoldersContext.cjs.js");const ue=require("./UriContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");const se=require("react-router-dom"),G=e.createContext(void 0),ne=({children:i,defaultTab:c="activity",hasLicense:b,debug:n={},...a})=>{var D,T;const{user:u}=te.useGlobalContext(),v="isDeveloperMode"in n?n.isDeveloperMode:((D=u==null?void 0:u.attrib)==null?void 0:D.developerMode)??!1,C="isGuest"in n?n.isGuest:(T=u==null?void 0:u.data)==null?void 0:T.isGuest,{powerLicense:f,setPowerpackDialog:l}=ie.usePowerpack(),h="hasLicense"in n?n.hasLicense:!!f||b,[t,k]=e.useState({}),[B,M]=e.useState([]),A=e.useCallback(r=>t[r]?t[r]:!1,[t]),N=e.useCallback((r,P)=>{const o={...t};o[r]=P,k(o)},[t]),[p]=I.useLocalStorage("details/tabs-by-scope",{}),H=e.useCallback(r=>p[r]?p[r]:c,[p,c]),[m,O]=e.useState(null),z=e.useCallback(r=>{O(r)},[]),J=e.useCallback(()=>{O(null),m&&x([])},[]),[K,w]=e.useState(null),Q=e.useCallback(r=>{w(r)},[]),U=e.useCallback(()=>{w(null)},[]),[V,g]=e.useState(null),[W,x]=e.useState([]),{uriType:X,uri:Y,entity:d,getUriEntities:Z}=ue.useURIContext(),[S]=se.useSearchParams();e.useEffect(()=>{if(X==="entity"&&d&&d.entityType!=="product"){Z().then(q=>{var L;if(q.length===0)return;const y=q.find(ee=>ee.uri===Y),s=(L=y==null?void 0:y.entities)==null?void 0:L[0];if(!y||!s)return;const E=(s==null?void 0:s.projectName)||d.projectName||"",F=s.representationId||s.versionId||s.productId||s.taskId||s.folderId;if(!E||!F)return;const $={entityType:d.entityType,entities:[{id:F,projectName:E}],source:"uri"};g($)}).catch(q=>{console.warn("Failed to get URI entities:",q)});return}const r=S.get("project"),P=S.get("type"),o=S.get("id"),j=S.get("activity");r&&P&&o&&(g({entityType:P,entities:[{id:o,projectName:r}],source:"url"}),j&&x([j]))},[]);const _={panelOpenByScope:t,getOpenForScope:A,setPanelOpen:N,setPanelOpenByScope:k,tabsByScope:p,getTabForScope:H,slideOut:m,openSlideOut:z,closeSlideOut:J,highlightedActivities:W,setHighlightedActivities:x,pip:K,openPip:Q,closePip:U,entities:V,setEntities:g,feedAnnotations:B,setFeedAnnotations:M,isDeveloperMode:v,isGuest:C,hasLicense:h,onPowerFeature:l,...a};return re.jsxRuntimeExports.jsx(G.Provider,{value:_,children:i})},R=()=>{const i=e.useContext(G);if(i===void 0)throw new Error("useDetailsPanel must be used within a DetailsProvider");return i},oe=i=>{const{getOpenForScope:c,setPanelOpen:b,getTabForScope:n}=R(),[a,u]=I.useLocalStorage("details/tabs-by-scope",{}),[v,C]=e.useState(()=>a[i]??n(i)),f=e.useCallback(t=>{C(t),u({...a,[i]:t})},[i,u]),l=v,h=["activity","comments","versions","checklists"].includes(l);return{isOpen:c(i),setOpen:t=>b(i,t),currentTab:l,setTab:f,isFeed:h}};exports.DetailsPanelProvider=ne;exports.useDetailsPanelContext=R;exports.useScopedDetailsPanel=oe;
2
2
  //# sourceMappingURL=DetailsPanelContext.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DetailsPanelContext.cjs.js","sources":["../../../../src/context/DetailsPanelContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useCallback, ReactNode, useState } from 'react'\nimport { useLocalStorage } from '@shared/hooks'\nimport { DetailsPanelEntityType } from '@shared/api'\nimport type { UserModel } from '@shared/api'\nimport { useLocation, useNavigate, useParams } from 'react-router-dom'\nimport { useSearchParams } from 'react-router-dom'\nimport { SavedAnnotationMetadata } from '@shared/containers'\nimport { PowerpackFeature, usePowerpack } from './PowerpackContext'\nimport { useGlobalContext } from './GlobalContext'\n\nexport type FeedFilters = 'activity' | 'comments' | 'versions' | 'checklists'\n\nexport type DetailsPanelTab = FeedFilters | 'details' | 'files'\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}\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\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 // 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 isDeveloperMode: boolean\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// Create the context\nconst DetailsPanelContext = createContext<DetailsPanelContextType | undefined>(undefined)\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 = 'activity',\n hasLicense: hasLicenseProp,\n debug = {},\n ...forwardedProps\n}) => {\n // get current user\n const { user: currentUser } = useGlobalContext()\n const isDeveloperMode =\n 'isDeveloperMode' in debug\n ? (debug.isDeveloperMode as boolean)\n : currentUser?.attrib?.developerMode ?? false\n const isGuest = 'isGuest' in debug ? (debug.isGuest as boolean) : currentUser?.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] = useLocalStorage<TabStateByScope>('details/tabs-by-scope', {})\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 if (tabsByScope[scope]) {\n return tabsByScope[scope]\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 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 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 isDeveloperMode,\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 DetailsProvider')\n }\n return context\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] = useLocalStorage<TabStateByScope>(\n 'details/tabs-by-scope',\n {},\n )\n\n const [tab, setTab] = useState<DetailsPanelTab>(() => tabsByScope[scope] ?? getTabForScope(scope))\n\n // Keep localStorage and local state in sync\n const updateTab = useCallback(\n (newTab: DetailsPanelTab) => {\n setTab(newTab)\n setTabsByScope({ ...tabsByScope, [scope]: newTab })\n },\n [scope, setTabsByScope],\n )\n\n const currentTab = tab\n const isFeed = ['activity', 'comments', 'versions', 'checklists'].includes(currentTab)\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":["DetailsPanelContext","createContext","DetailsPanelProvider","children","defaultTab","hasLicenseProp","debug","forwardedProps","currentUser","useGlobalContext","isDeveloperMode","_a","isGuest","_b","powerLicense","setPowerpackDialog","usePowerpack","hasLicense","panelOpenByScope","setPanelOpenByScope","useState","feedAnnotations","setFeedAnnotations","getOpenForScope","useCallback","scope","setPanelOpen","isOpen","newState","tabsByScope","useLocalStorage","getTabForScope","slideOut","setSlideOut","openSlideOut","params","closeSlideOut","setHighlightedActivities","pip","setPip","openPip","closePip","entities","setEntities","highlightedActivities","value","jsx","useDetailsPanelContext","context","useContext","useScopedDetailsPanel","setTabsByScope","tab","setTab","updateTab","newTab","currentTab","isFeed"],"mappings":"88JAiHA,MAAMA,EAAsBC,gBAAmD,MAAS,EAQ3EC,EAA4D,CAAC,CACxE,SAAAC,EACA,WAAAC,EAAa,WACb,WAAYC,EACZ,MAAAC,EAAQ,CAAC,EACT,GAAGC,CACL,IAAM,SAEJ,KAAM,CAAE,KAAMC,CAAY,EAAIC,mBAAiB,EACzCC,EACJ,oBAAqBJ,EAChBA,EAAM,kBACPK,EAAAH,GAAA,YAAAA,EAAa,SAAb,YAAAG,EAAqB,gBAAiB,GACtCC,EAAU,YAAaN,EAASA,EAAM,SAAsBO,EAAAL,GAAA,YAAAA,EAAa,OAAb,YAAAK,EAAmB,QAG/E,CAAE,aAAAC,EAAc,mBAAAC,CAAmB,EAAIC,eAAa,EACpDC,EACJ,eAAgBX,EAASA,EAAM,WAAyB,CAAC,CAACQ,GAAgBT,EAGtE,CAACa,EAAkBC,CAAmB,EAAIC,EAAAA,SAA2B,CAAA,CAAE,EACvE,CAACC,EAAiBC,CAAkB,EAAIF,EAAAA,SAAoC,CAAA,CAAE,EAG9EG,EAAkBC,EAAA,YACrBC,GAEKP,EAAiBO,CAAK,EACjBP,EAAiBO,CAAK,EAIxB,GAET,CAACP,CAAgB,CACnB,EAEMQ,EAAeF,EAAA,YACnB,CAACC,EAAeE,IAAoB,CAE5B,MAAAC,EAAW,CAAE,GAAGV,CAAiB,EACvCU,EAASH,CAAK,EAAIE,EAGlBR,EAAoBS,CAAQ,CAC9B,EACA,CAACV,CAAgB,CACnB,EAGM,CAACW,CAAW,EAAIC,kBAAiC,wBAAyB,CAAA,CAAE,EAG5EC,EAAiBP,EAAA,YACpBC,GAEKI,EAAYJ,CAAK,EACZI,EAAYJ,CAAK,EAInBrB,EAET,CAACyB,EAAazB,CAAU,CAC1B,EAKM,CAAC4B,EAAUC,CAAW,EAAIb,EAAAA,SAA0B,IAAI,EAGxDc,EAAeV,cAAsDW,GAAW,CACpFF,EAAYE,CAAM,CACpB,EAAG,EAAE,EAGCC,EAAgBZ,EAAAA,YAAY,IAAM,CACtCS,EAAY,IAAI,EACZD,GACFK,EAAyB,CAAA,CAAE,CAE/B,EAAG,EAAE,EAEC,CAACC,EAAKC,CAAM,EAAInB,EAAAA,SAAiC,IAAI,EAErDoB,EAAUhB,cAAac,GAAyB,CACpDC,EAAOD,CAAG,CACZ,EAAG,EAAE,EACCG,EAAWjB,EAAAA,YAAY,IAAM,CACjCe,EAAO,IAAI,CACb,EAAG,EAAE,EAEC,CAACG,EAAUC,CAAW,EAAIvB,EAAAA,SAA0B,IAAI,EAExD,CAACwB,EAAuBP,CAAwB,EAAIjB,EAAAA,SAAmB,CAAA,CAAE,EAEzEyB,EAAQ,CAEZ,iBAAA3B,EACA,gBAAAK,EACA,aAAAG,EACA,oBAAAP,EAEA,YAAAU,EACA,eAAAE,EAEA,SAAAC,EACA,aAAAE,EACA,cAAAE,EAEA,sBAAAQ,EACA,yBAAAP,EAEA,IAAAC,EACA,QAAAE,EACA,SAAAC,EAEA,SAAAC,EACA,YAAAC,EACA,gBAAAtB,EACA,mBAAAC,EACA,gBAAAZ,EACA,QAAAE,EACA,WAAAK,EACA,eAAgBF,EAChB,GAAGR,CACL,EAEA,OAAQuC,EAAAA,kBAAAA,IAAA9C,EAAoB,SAApB,CAA6B,MAAA6C,EAAe,SAAA1C,CAAS,CAAA,CAC/D,EAGa4C,EAAyB,IAA+B,CAC7D,MAAAC,EAAUC,aAAWjD,CAAmB,EAC9C,GAAIgD,IAAY,OACR,MAAA,IAAI,MAAM,uDAAuD,EAElE,OAAAA,CACT,EAGaE,EAAyBzB,GAAkB,CACtD,KAAM,CAAE,gBAAAF,EAAiB,aAAAG,EAAc,eAAAK,CAAA,EAAmBgB,EAAuB,EAE3E,CAAClB,EAAasB,CAAc,EAAIrB,EAAA,gBACpC,wBACA,CAAA,CACF,EAEM,CAACsB,EAAKC,CAAM,EAAIjC,EAAA,SAA0B,IAAMS,EAAYJ,CAAK,GAAKM,EAAeN,CAAK,CAAC,EAG3F6B,EAAY9B,EAAA,YACf+B,GAA4B,CAC3BF,EAAOE,CAAM,EACbJ,EAAe,CAAE,GAAGtB,EAAa,CAACJ,CAAK,EAAG8B,EAAQ,CACpD,EACA,CAAC9B,EAAO0B,CAAc,CACxB,EAEMK,EAAaJ,EACbK,EAAS,CAAC,WAAY,WAAY,WAAY,YAAY,EAAE,SAASD,CAAU,EAE9E,MAAA,CACL,OAAQjC,EAAgBE,CAAK,EAC7B,QAAUE,GAAoBD,EAAaD,EAAOE,CAAM,EACxD,WAAA6B,EACA,OAAQF,EACR,OAAAG,CACF,CACF"}
1
+ {"version":3,"file":"DetailsPanelContext.cjs.js","sources":["../../../../src/context/DetailsPanelContext.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useCallback,\n ReactNode,\n useState,\n useEffect,\n} from 'react'\nimport { useLocalStorage } from '@shared/hooks'\nimport { DetailsPanelEntityType } from '@shared/api'\nimport type { UserModel } from '@shared/api'\nimport { useLocation, useNavigate, useParams } from 'react-router-dom'\nimport { useSearchParams } from 'react-router-dom'\nimport { SavedAnnotationMetadata } from '@shared/containers'\nimport { PowerpackFeature, usePowerpack } from './PowerpackContext'\nimport { useGlobalContext } from './GlobalContext'\nimport { useURIContext } from './UriContext'\n\nexport type FeedFilters = 'activity' | 'comments' | 'versions' | 'checklists'\n\nexport type DetailsPanelTab = FeedFilters | 'details' | 'files'\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\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 // 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 isDeveloperMode: boolean\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// Create the context\nconst DetailsPanelContext = createContext<DetailsPanelContextType | undefined>(undefined)\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 = 'activity',\n hasLicense: hasLicenseProp,\n debug = {},\n ...forwardedProps\n}) => {\n // get current user\n const { user: currentUser } = useGlobalContext()\n const isDeveloperMode =\n 'isDeveloperMode' in debug\n ? (debug.isDeveloperMode as boolean)\n : currentUser?.attrib?.developerMode ?? false\n const isGuest = 'isGuest' in debug ? (debug.isGuest as boolean) : currentUser?.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] = useLocalStorage<TabStateByScope>('details/tabs-by-scope', {})\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 if (tabsByScope[scope]) {\n return tabsByScope[scope]\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 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] = useSearchParams()\n\n // on first load, check if there is a uri or URL params and open details panel if present\n useEffect(() => {\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 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 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 activity tab\n if (activity) {\n setHighlightedActivities([activity])\n }\n }\n }, [])\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 isDeveloperMode,\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 DetailsProvider')\n }\n return context\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] = useLocalStorage<TabStateByScope>(\n 'details/tabs-by-scope',\n {},\n )\n\n const [tab, setTab] = useState<DetailsPanelTab>(() => tabsByScope[scope] ?? getTabForScope(scope))\n\n // Keep localStorage and local state in sync\n const updateTab = useCallback(\n (newTab: DetailsPanelTab) => {\n setTab(newTab)\n setTabsByScope({ ...tabsByScope, [scope]: newTab })\n },\n [scope, setTabsByScope],\n )\n\n const currentTab = tab\n const isFeed = ['activity', 'comments', 'versions', 'checklists'].includes(currentTab)\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":["DetailsPanelContext","createContext","DetailsPanelProvider","children","defaultTab","hasLicenseProp","debug","forwardedProps","currentUser","useGlobalContext","isDeveloperMode","_a","isGuest","_b","powerLicense","setPowerpackDialog","usePowerpack","hasLicense","panelOpenByScope","setPanelOpenByScope","useState","feedAnnotations","setFeedAnnotations","getOpenForScope","useCallback","scope","setPanelOpen","isOpen","newState","tabsByScope","useLocalStorage","getTabForScope","slideOut","setSlideOut","openSlideOut","params","closeSlideOut","setHighlightedActivities","pip","setPip","openPip","closePip","entities","setEntities","highlightedActivities","uriType","uri","entity","getUriEntities","useURIContext","searchParams","useSearchParams","useEffect","result","entityUriData","r","entityData","projectName","id","newEntities","err","project","type","activity","value","jsx","useDetailsPanelContext","context","useContext","useScopedDetailsPanel","setTabsByScope","tab","setTab","updateTab","newTab","currentTab","isFeed"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { j as I } from "../../../_virtual/jsx-runtime.es.js";
2
- import { createContext as J, useContext as K, useState as m, useCallback as p } from "react";
3
- import { useLocalStorage as w } from "../hooks/useLocalStorage.es.js";
1
+ import { j as ot } from "../../../_virtual/jsx-runtime.es.js";
2
+ import { createContext as it, useContext as et, useState as n, useCallback as s, useEffect as rt } from "react";
3
+ import { useLocalStorage as G } from "../hooks/useLocalStorage.es.js";
4
4
  import "./RemoteModulesContext.es.js";
5
5
  import "../../../_virtual/runtime.es.js";
6
6
  import "../../../_virtual/semver.es.js";
@@ -86,6 +86,7 @@ import "../api/queries/versions/updateVersions.es.js";
86
86
  import "../api/queries/views/getViews.es.js";
87
87
  import "../api/queries/views/updateViews.es.js";
88
88
  import "../api/queries/watchers/getWatchers.es.js";
89
+ import "../api/queries/uris/getUris.es.js";
89
90
  import "lodash";
90
91
  import "react-toastify";
91
92
  import "./ThumbnailUploaderContext.es.js";
@@ -95,101 +96,142 @@ import "react-dom";
95
96
  import "./pip/PiPWrapper.es.js";
96
97
  import "./AddonProjectContext.es.js";
97
98
  import "./AddonContext.es.js";
98
- import { usePowerpack as N } from "./PowerpackContext.es.js";
99
+ import { usePowerpack as pt } from "./PowerpackContext.es.js";
99
100
  import "./MoveEntityContext.es.js";
100
101
  import "./MenuContext.es.js";
101
102
  import "./WebsocketContext.es.js";
102
- import { useGlobalContext as Q } from "./GlobalContext.es.js";
103
+ import { useGlobalContext as st } from "./GlobalContext.es.js";
103
104
  import "./ProjectContext.es.js";
105
+ import "./ProjectFoldersContext.es.js";
106
+ import { useURIContext as nt } from "./UriContext.es.js";
104
107
  import "react-redux";
105
108
  import "custom-protocol-check";
106
109
  import "../containers/ProjectTreeTable/components/GroupSettingsFallback.es.js";
107
- const F = J(void 0), Vo = ({
108
- children: t,
109
- defaultTab: s = "activity",
110
- hasLicense: l,
111
- debug: e = {},
112
- ...n
110
+ import { useSearchParams as mt } from "react-router-dom";
111
+ const A = it(void 0), di = ({
112
+ children: o,
113
+ defaultTab: a = "activity",
114
+ hasLicense: h,
115
+ debug: p = {},
116
+ ...l
113
117
  }) => {
114
- var x, D;
115
- const { user: r } = Q(), u = "isDeveloperMode" in e ? e.isDeveloperMode : ((x = r == null ? void 0 : r.attrib) == null ? void 0 : x.developerMode) ?? !1, d = "isGuest" in e ? e.isGuest : (D = r == null ? void 0 : r.data) == null ? void 0 : D.isGuest, { powerLicense: P, setPowerpackDialog: c } = N(), S = "hasLicense" in e ? e.hasLicense : !!P || l, [o, v] = m({}), [C, L] = m([]), g = p(
116
- (i) => o[i] ? o[i] : !1,
117
- [o]
118
- ), B = p(
119
- (i, z) => {
120
- const y = { ...o };
121
- y[i] = z, v(y);
118
+ var F, C;
119
+ const { user: e } = st(), S = "isDeveloperMode" in p ? p.isDeveloperMode : ((F = e == null ? void 0 : e.attrib) == null ? void 0 : F.developerMode) ?? !1, g = "isGuest" in p ? p.isGuest : (C = e == null ? void 0 : e.data) == null ? void 0 : C.isGuest, { powerLicense: O, setPowerpackDialog: u } = pt(), b = "hasLicense" in p ? p.hasLicense : !!O || h, [i, T] = n({}), [M, N] = n([]), R = s(
120
+ (t) => i[t] ? i[t] : !1,
121
+ [i]
122
+ ), H = s(
123
+ (t, P) => {
124
+ const m = { ...i };
125
+ m[t] = P, T(m);
122
126
  },
123
- [o]
124
- ), [a] = w("details/tabs-by-scope", {}), G = p(
125
- (i) => a[i] ? a[i] : s,
126
- [a, s]
127
- ), [h, O] = m(null), T = p((i) => {
128
- O(i);
129
- }, []), k = p(() => {
130
- O(null), h && f([]);
131
- }, []), [A, b] = m(null), M = p((i) => {
132
- b(i);
133
- }, []), j = p(() => {
134
- b(null);
135
- }, []), [E, H] = m(null), [R, f] = m([]), q = {
127
+ [i]
128
+ ), [d] = G("details/tabs-by-scope", {}), q = s(
129
+ (t) => d[t] ? d[t] : a,
130
+ [d, a]
131
+ ), [j, D] = n(null), z = s((t) => {
132
+ D(t);
133
+ }, []), J = s(() => {
134
+ D(null), j && x([]);
135
+ }, []), [K, E] = n(null), Q = s((t) => {
136
+ E(t);
137
+ }, []), V = s(() => {
138
+ E(null);
139
+ }, []), [W, w] = n(null), [X, x] = n([]), { uriType: Y, uri: Z, entity: f, getUriEntities: _ } = nt(), [y] = mt();
140
+ rt(() => {
141
+ if (Y === "entity" && f && f.entityType !== "product") {
142
+ _().then((c) => {
143
+ var B;
144
+ if (c.length === 0) return;
145
+ const v = c.find((tt) => tt.uri === Z), r = (B = v == null ? void 0 : v.entities) == null ? void 0 : B[0];
146
+ if (!v || !r) return;
147
+ const L = (r == null ? void 0 : r.projectName) || f.projectName || "", k = r.representationId || r.versionId || r.productId || r.taskId || r.folderId;
148
+ if (!L || !k) return;
149
+ const U = {
150
+ entityType: f.entityType,
151
+ entities: [
152
+ {
153
+ id: k,
154
+ projectName: L
155
+ }
156
+ ],
157
+ source: "uri"
158
+ };
159
+ w(U);
160
+ }).catch((c) => {
161
+ console.warn("Failed to get URI entities:", c);
162
+ });
163
+ return;
164
+ }
165
+ const t = y.get("project"), P = y.get("type"), m = y.get("id"), I = y.get("activity");
166
+ t && P && m && (w({
167
+ entityType: P,
168
+ entities: [
169
+ {
170
+ id: m,
171
+ projectName: t
172
+ }
173
+ ],
174
+ source: "url"
175
+ }), I && x([I]));
176
+ }, []);
177
+ const $ = {
136
178
  // open state for the panel by scope
137
- panelOpenByScope: o,
138
- getOpenForScope: g,
139
- setPanelOpen: B,
140
- setPanelOpenByScope: v,
179
+ panelOpenByScope: i,
180
+ getOpenForScope: R,
181
+ setPanelOpen: H,
182
+ setPanelOpenByScope: T,
141
183
  // tab preferences
142
- tabsByScope: a,
143
- getTabForScope: G,
184
+ tabsByScope: d,
185
+ getTabForScope: q,
144
186
  // slide out state
145
- slideOut: h,
146
- openSlideOut: T,
147
- closeSlideOut: k,
187
+ slideOut: j,
188
+ openSlideOut: z,
189
+ closeSlideOut: J,
148
190
  // highlighted activities
149
- highlightedActivities: R,
150
- setHighlightedActivities: f,
191
+ highlightedActivities: X,
192
+ setHighlightedActivities: x,
151
193
  // PiP state
152
- pip: A,
153
- openPip: M,
154
- closePip: j,
194
+ pip: K,
195
+ openPip: Q,
196
+ closePip: V,
155
197
  // entities state
156
- entities: E,
157
- setEntities: H,
158
- feedAnnotations: C,
159
- setFeedAnnotations: L,
160
- isDeveloperMode: u,
161
- isGuest: d,
162
- hasLicense: S,
163
- onPowerFeature: c,
164
- ...n
198
+ entities: W,
199
+ setEntities: w,
200
+ feedAnnotations: M,
201
+ setFeedAnnotations: N,
202
+ isDeveloperMode: S,
203
+ isGuest: g,
204
+ hasLicense: b,
205
+ onPowerFeature: u,
206
+ ...l
165
207
  };
166
- return /* @__PURE__ */ I.jsx(F.Provider, { value: q, children: t });
167
- }, V = () => {
168
- const t = K(F);
169
- if (t === void 0)
208
+ return /* @__PURE__ */ ot.jsx(A.Provider, { value: $, children: o });
209
+ }, ct = () => {
210
+ const o = et(A);
211
+ if (o === void 0)
170
212
  throw new Error("useDetailsPanel must be used within a DetailsProvider");
171
- return t;
172
- }, Wo = (t) => {
173
- const { getOpenForScope: s, setPanelOpen: l, getTabForScope: e } = V(), [n, r] = w(
213
+ return o;
214
+ }, fi = (o) => {
215
+ const { getOpenForScope: a, setPanelOpen: h, getTabForScope: p } = ct(), [l, e] = G(
174
216
  "details/tabs-by-scope",
175
217
  {}
176
- ), [u, d] = m(() => n[t] ?? e(t)), P = p(
177
- (o) => {
178
- d(o), r({ ...n, [t]: o });
218
+ ), [S, g] = n(() => l[o] ?? p(o)), O = s(
219
+ (i) => {
220
+ g(i), e({ ...l, [o]: i });
179
221
  },
180
- [t, r]
181
- ), c = u, S = ["activity", "comments", "versions", "checklists"].includes(c);
222
+ [o, e]
223
+ ), u = S, b = ["activity", "comments", "versions", "checklists"].includes(u);
182
224
  return {
183
- isOpen: s(t),
184
- setOpen: (o) => l(t, o),
185
- currentTab: c,
186
- setTab: P,
187
- isFeed: S
225
+ isOpen: a(o),
226
+ setOpen: (i) => h(o, i),
227
+ currentTab: u,
228
+ setTab: O,
229
+ isFeed: b
188
230
  };
189
231
  };
190
232
  export {
191
- Vo as DetailsPanelProvider,
192
- V as useDetailsPanelContext,
193
- Wo as useScopedDetailsPanel
233
+ di as DetailsPanelProvider,
234
+ ct as useDetailsPanelContext,
235
+ fi as useScopedDetailsPanel
194
236
  };
195
237
  //# sourceMappingURL=DetailsPanelContext.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DetailsPanelContext.es.js","sources":["../../../../src/context/DetailsPanelContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useCallback, ReactNode, useState } from 'react'\nimport { useLocalStorage } from '@shared/hooks'\nimport { DetailsPanelEntityType } from '@shared/api'\nimport type { UserModel } from '@shared/api'\nimport { useLocation, useNavigate, useParams } from 'react-router-dom'\nimport { useSearchParams } from 'react-router-dom'\nimport { SavedAnnotationMetadata } from '@shared/containers'\nimport { PowerpackFeature, usePowerpack } from './PowerpackContext'\nimport { useGlobalContext } from './GlobalContext'\n\nexport type FeedFilters = 'activity' | 'comments' | 'versions' | 'checklists'\n\nexport type DetailsPanelTab = FeedFilters | 'details' | 'files'\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}\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\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 // 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 isDeveloperMode: boolean\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// Create the context\nconst DetailsPanelContext = createContext<DetailsPanelContextType | undefined>(undefined)\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 = 'activity',\n hasLicense: hasLicenseProp,\n debug = {},\n ...forwardedProps\n}) => {\n // get current user\n const { user: currentUser } = useGlobalContext()\n const isDeveloperMode =\n 'isDeveloperMode' in debug\n ? (debug.isDeveloperMode as boolean)\n : currentUser?.attrib?.developerMode ?? false\n const isGuest = 'isGuest' in debug ? (debug.isGuest as boolean) : currentUser?.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] = useLocalStorage<TabStateByScope>('details/tabs-by-scope', {})\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 if (tabsByScope[scope]) {\n return tabsByScope[scope]\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 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 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 isDeveloperMode,\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 DetailsProvider')\n }\n return context\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] = useLocalStorage<TabStateByScope>(\n 'details/tabs-by-scope',\n {},\n )\n\n const [tab, setTab] = useState<DetailsPanelTab>(() => tabsByScope[scope] ?? getTabForScope(scope))\n\n // Keep localStorage and local state in sync\n const updateTab = useCallback(\n (newTab: DetailsPanelTab) => {\n setTab(newTab)\n setTabsByScope({ ...tabsByScope, [scope]: newTab })\n },\n [scope, setTabsByScope],\n )\n\n const currentTab = tab\n const isFeed = ['activity', 'comments', 'versions', 'checklists'].includes(currentTab)\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":["DetailsPanelContext","createContext","DetailsPanelProvider","children","defaultTab","hasLicenseProp","debug","forwardedProps","currentUser","useGlobalContext","isDeveloperMode","_a","isGuest","_b","powerLicense","setPowerpackDialog","usePowerpack","hasLicense","panelOpenByScope","setPanelOpenByScope","useState","feedAnnotations","setFeedAnnotations","getOpenForScope","useCallback","scope","setPanelOpen","isOpen","newState","tabsByScope","useLocalStorage","getTabForScope","slideOut","setSlideOut","openSlideOut","params","closeSlideOut","setHighlightedActivities","pip","setPip","openPip","closePip","entities","setEntities","highlightedActivities","value","jsx","useDetailsPanelContext","context","useContext","useScopedDetailsPanel","setTabsByScope","tab","setTab","updateTab","newTab","currentTab","isFeed"],"mappings":"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"}
1
+ {"version":3,"file":"DetailsPanelContext.es.js","sources":["../../../../src/context/DetailsPanelContext.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useCallback,\n ReactNode,\n useState,\n useEffect,\n} from 'react'\nimport { useLocalStorage } from '@shared/hooks'\nimport { DetailsPanelEntityType } from '@shared/api'\nimport type { UserModel } from '@shared/api'\nimport { useLocation, useNavigate, useParams } from 'react-router-dom'\nimport { useSearchParams } from 'react-router-dom'\nimport { SavedAnnotationMetadata } from '@shared/containers'\nimport { PowerpackFeature, usePowerpack } from './PowerpackContext'\nimport { useGlobalContext } from './GlobalContext'\nimport { useURIContext } from './UriContext'\n\nexport type FeedFilters = 'activity' | 'comments' | 'versions' | 'checklists'\n\nexport type DetailsPanelTab = FeedFilters | 'details' | 'files'\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\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 // 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 isDeveloperMode: boolean\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// Create the context\nconst DetailsPanelContext = createContext<DetailsPanelContextType | undefined>(undefined)\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 = 'activity',\n hasLicense: hasLicenseProp,\n debug = {},\n ...forwardedProps\n}) => {\n // get current user\n const { user: currentUser } = useGlobalContext()\n const isDeveloperMode =\n 'isDeveloperMode' in debug\n ? (debug.isDeveloperMode as boolean)\n : currentUser?.attrib?.developerMode ?? false\n const isGuest = 'isGuest' in debug ? (debug.isGuest as boolean) : currentUser?.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] = useLocalStorage<TabStateByScope>('details/tabs-by-scope', {})\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 if (tabsByScope[scope]) {\n return tabsByScope[scope]\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 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] = useSearchParams()\n\n // on first load, check if there is a uri or URL params and open details panel if present\n useEffect(() => {\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 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 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 activity tab\n if (activity) {\n setHighlightedActivities([activity])\n }\n }\n }, [])\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 isDeveloperMode,\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 DetailsProvider')\n }\n return context\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] = useLocalStorage<TabStateByScope>(\n 'details/tabs-by-scope',\n {},\n )\n\n const [tab, setTab] = useState<DetailsPanelTab>(() => tabsByScope[scope] ?? getTabForScope(scope))\n\n // Keep localStorage and local state in sync\n const updateTab = useCallback(\n (newTab: DetailsPanelTab) => {\n setTab(newTab)\n setTabsByScope({ ...tabsByScope, [scope]: newTab })\n },\n [scope, setTabsByScope],\n )\n\n const currentTab = tab\n const isFeed = ['activity', 'comments', 'versions', 'checklists'].includes(currentTab)\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":["DetailsPanelContext","createContext","DetailsPanelProvider","children","defaultTab","hasLicenseProp","debug","forwardedProps","currentUser","useGlobalContext","isDeveloperMode","_a","isGuest","_b","powerLicense","setPowerpackDialog","usePowerpack","hasLicense","panelOpenByScope","setPanelOpenByScope","useState","feedAnnotations","setFeedAnnotations","getOpenForScope","useCallback","scope","setPanelOpen","isOpen","newState","tabsByScope","useLocalStorage","getTabForScope","slideOut","setSlideOut","openSlideOut","params","closeSlideOut","setHighlightedActivities","pip","setPip","openPip","closePip","entities","setEntities","highlightedActivities","uriType","uri","entity","getUriEntities","useURIContext","searchParams","useSearchParams","useEffect","result","entityUriData","r","entityData","projectName","id","newEntities","err","project","type","activity","value","jsx","useDetailsPanelContext","context","useContext","useScopedDetailsPanel","setTabsByScope","tab","setTab","updateTab","newTab","currentTab","isFeed"],"mappings":"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"}