@ynput/ayon-frontend-shared 0.2.37 → 0.2.38

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 (529) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +67 -66
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +182 -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.es10.js +3 -3
  13. package/dist/_virtual/index.es11.js +5 -5
  14. package/dist/_virtual/index.es12.js +5 -5
  15. package/dist/api.cjs.js +1 -1
  16. package/dist/api.es.js +107 -106
  17. package/dist/components.cjs.js +1 -1
  18. package/dist/components.es.js +135 -133
  19. package/dist/components.es.js.map +1 -1
  20. package/dist/context.cjs.js +1 -1
  21. package/dist/context.es.js +15 -12
  22. package/dist/context.es.js.map +1 -1
  23. package/dist/index.cjs.js +1 -1
  24. package/dist/index.es.js +56 -55
  25. package/dist/index.es.js.map +1 -1
  26. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  27. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  28. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  29. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  30. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  31. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  32. package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
  33. package/dist/shared/src/api/generated/views.es.js.map +1 -1
  34. package/dist/shared/src/api/queries/project/getProject.cjs.js +1 -1
  35. package/dist/shared/src/api/queries/project/getProject.cjs.js.map +1 -1
  36. package/dist/shared/src/api/queries/project/getProject.es.js +7 -1
  37. package/dist/shared/src/api/queries/project/getProject.es.js.map +1 -1
  38. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
  39. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  40. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +73 -67
  41. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  42. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
  43. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
  44. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +131 -114
  45. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
  46. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  47. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  48. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +3 -2
  49. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  50. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  51. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  52. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +3 -2
  53. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  54. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +2 -2
  55. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  56. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +61 -50
  57. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  58. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  59. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  60. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +3 -2
  61. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  62. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  63. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  64. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +70 -69
  65. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  66. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  67. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  68. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +3 -2
  69. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  70. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  71. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  72. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +5 -4
  73. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  74. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  75. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  76. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +106 -106
  77. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  78. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  79. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  80. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +53 -52
  81. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  82. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  83. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  84. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +58 -46
  85. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  86. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
  87. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  88. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +5 -4
  89. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  90. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  91. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  92. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +44 -43
  93. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  94. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
  95. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  96. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +81 -80
  97. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  98. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  99. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  100. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +43 -42
  101. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  102. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +2 -0
  103. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -0
  104. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +263 -0
  105. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -0
  106. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +2 -2
  107. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  108. package/dist/shared/src/components/RenameForm/RenameForm.es.js +65 -64
  109. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  110. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  111. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  112. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +139 -142
  113. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  114. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  115. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  116. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +49 -48
  117. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  118. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  119. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  120. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +48 -47
  121. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  122. package/dist/shared/src/components/ReviewablesList/getGroupedReviewables.cjs.js +1 -1
  123. package/dist/shared/src/components/ReviewablesList/getGroupedReviewables.cjs.js.map +1 -1
  124. package/dist/shared/src/components/ReviewablesList/getGroupedReviewables.es.js +19 -27
  125. package/dist/shared/src/components/ReviewablesList/getGroupedReviewables.es.js.map +1 -1
  126. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  127. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  128. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +221 -211
  129. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  130. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +1 -1
  131. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  132. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +23 -22
  133. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  134. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  135. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  136. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +47 -46
  137. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  138. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
  139. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  140. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +8 -7
  141. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  142. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +6 -6
  143. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  144. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +108 -112
  145. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  146. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  147. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  148. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +22 -23
  149. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  150. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  151. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  152. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +48 -47
  153. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  154. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  155. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  156. package/dist/shared/src/containers/Actions/Actions.es.js +3 -2
  157. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  158. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  159. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  160. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +49 -48
  161. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  162. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  163. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  164. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +164 -166
  165. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  166. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  167. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  168. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +57 -56
  169. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  170. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  171. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  172. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +103 -97
  173. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  174. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  175. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  176. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +87 -86
  177. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  178. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  179. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  180. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +3 -2
  181. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  182. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
  183. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
  184. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +18 -17
  185. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
  186. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js +1 -1
  187. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js.map +1 -1
  188. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js +3 -2
  189. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js.map +1 -1
  190. package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.cjs.js +1 -1
  191. package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.cjs.js.map +1 -1
  192. package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.es.js +25 -22
  193. package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.es.js.map +1 -1
  194. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  195. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  196. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +3 -2
  197. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  198. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  199. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  200. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +44 -43
  201. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  202. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  203. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  204. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +48 -47
  205. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  206. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  207. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  208. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +48 -47
  209. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  210. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  211. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  212. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +48 -47
  213. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  214. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  215. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  216. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +44 -46
  217. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  218. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  219. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  220. package/dist/shared/src/containers/Feed/Feed.es.js +4 -3
  221. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  222. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  223. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  224. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +3 -2
  225. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  226. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  227. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  228. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +3 -2
  229. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  230. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  231. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  232. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +110 -109
  233. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  234. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  235. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  236. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +3 -2
  237. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  238. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  239. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  240. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +3 -2
  241. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  242. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  243. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  244. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +12 -11
  245. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  246. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  247. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  248. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +43 -43
  249. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  250. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  251. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  252. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +6 -5
  253. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  254. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js +1 -1
  255. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js.map +1 -1
  256. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js +11 -9
  257. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js.map +1 -1
  258. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  259. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  260. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +333 -333
  261. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  262. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  263. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  264. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +52 -51
  265. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  266. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  267. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  268. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +42 -41
  269. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  270. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  271. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  272. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +52 -51
  273. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  274. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  275. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  276. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +50 -49
  277. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  278. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +3 -3
  279. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  280. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +235 -214
  281. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  282. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  283. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  284. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +45 -40
  285. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  286. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  287. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  288. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
  289. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
  290. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +160 -156
  291. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
  292. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  293. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  294. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +59 -58
  295. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  296. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  297. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  298. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +10 -9
  299. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  300. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  301. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  302. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +65 -66
  303. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  304. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  305. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  306. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +111 -112
  307. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  308. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  309. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  310. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +57 -57
  311. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  312. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  313. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  314. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +50 -49
  315. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  316. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  317. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  318. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +59 -53
  319. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  320. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  321. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  322. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +3 -2
  323. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  324. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js +1 -1
  325. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js.map +1 -1
  326. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js +15 -20
  327. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js.map +1 -1
  328. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  329. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  330. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +49 -48
  331. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  332. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  333. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  334. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +46 -45
  335. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  336. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  337. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  338. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +50 -49
  339. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  340. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  341. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  342. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +51 -50
  343. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  344. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  345. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  346. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +66 -65
  347. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  348. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.cjs.js +1 -1
  349. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.cjs.js.map +1 -1
  350. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.es.js +4 -4
  351. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.es.js.map +1 -1
  352. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  353. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  354. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +55 -54
  355. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  356. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  357. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  358. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +130 -116
  359. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  360. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  361. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  362. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +57 -56
  363. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  364. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js +1 -1
  365. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js.map +1 -1
  366. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js +26 -34
  367. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js.map +1 -1
  368. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
  369. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  370. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +108 -220
  371. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  372. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  373. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  374. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +63 -62
  375. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  376. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  377. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  378. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +46 -45
  379. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  380. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +3 -3
  381. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
  382. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +58 -62
  383. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
  384. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  385. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  386. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +114 -113
  387. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  388. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  389. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  390. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +48 -47
  391. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  392. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  393. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  394. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +3 -2
  395. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  396. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +2 -2
  397. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  398. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +3 -2
  399. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  400. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  401. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  402. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +92 -87
  403. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  404. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  405. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  406. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +3 -2
  407. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  408. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
  409. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  410. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +3 -2
  411. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  412. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  413. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  414. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  415. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  416. package/dist/shared/src/context/DetailsPanelContext.es.js +5 -4
  417. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  418. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  419. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  420. package/dist/shared/src/context/PowerpackContext.es.js +7 -6
  421. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  422. package/dist/shared/src/context/ProjectContext.cjs.js +2 -0
  423. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -0
  424. package/dist/shared/src/context/ProjectContext.es.js +182 -0
  425. package/dist/shared/src/context/ProjectContext.es.js.map +1 -0
  426. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  427. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  428. package/dist/shared/src/context/WebsocketContext.es.js +47 -46
  429. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  430. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  431. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  432. package/dist/shared/src/hooks/useEntityUpdate.es.js +3 -2
  433. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  434. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
  435. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
  436. package/dist/shared/src/hooks/useGetEntityGroups.es.js +6 -5
  437. package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
  438. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  439. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  440. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +3 -2
  441. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  442. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  443. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  444. package/dist/shared/src/hooks/useUserProjectConfig.es.js +3 -2
  445. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  446. package/dist/shared/src/util/versionUploadHelpers.cjs.js +1 -1
  447. package/dist/shared/src/util/versionUploadHelpers.cjs.js.map +1 -1
  448. package/dist/shared/src/util/versionUploadHelpers.es.js +24 -34
  449. package/dist/shared/src/util/versionUploadHelpers.es.js.map +1 -1
  450. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js +1 -1
  451. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js.map +1 -1
  452. package/dist/src/components/Menu/MenuComponents/Menu.es.js +3 -2
  453. package/dist/src/components/Menu/MenuComponents/Menu.es.js.map +1 -1
  454. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js +1 -1
  455. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js.map +1 -1
  456. package/dist/src/components/Menu/MenuComponents/MenuItem.es.js +6 -5
  457. package/dist/src/components/Menu/MenuComponents/MenuItem.es.js.map +1 -1
  458. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js +1 -1
  459. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js.map +1 -1
  460. package/dist/src/components/Menu/MenuComponents/MenuList.es.js +3 -2
  461. package/dist/src/components/Menu/MenuComponents/MenuList.es.js.map +1 -1
  462. package/dist/types/api/generated/views.d.ts +13 -21
  463. package/dist/types/api/queries/actions/getActions.d.ts +6 -6
  464. package/dist/types/api/queries/activities/getActivities.d.ts +8 -8
  465. package/dist/types/api/queries/activities/getCategories.d.ts +2 -2
  466. package/dist/types/api/queries/activities/getMentions.d.ts +2 -2
  467. package/dist/types/api/queries/addons/getAddons.d.ts +8 -8
  468. package/dist/types/api/queries/attributes/getAttributes.d.ts +4 -4
  469. package/dist/types/api/queries/authentication/getAuthentication.d.ts +2 -2
  470. package/dist/types/api/queries/cloud/cloud.d.ts +4 -4
  471. package/dist/types/api/queries/entities/getEntity.d.ts +10 -10
  472. package/dist/types/api/queries/entities/getEntityPanel.d.ts +4 -4
  473. package/dist/types/api/queries/entityLists/getLists.d.ts +188 -188
  474. package/dist/types/api/queries/entityLists/getListsAttributes.d.ts +2 -2
  475. package/dist/types/api/queries/entityLists/listFolders.d.ts +2 -2
  476. package/dist/types/api/queries/folders/getFolders.d.ts +4 -4
  477. package/dist/types/api/queries/grouping/getGrouping.d.ts +2 -2
  478. package/dist/types/api/queries/links/getEntityLinks.d.ts +2 -2
  479. package/dist/types/api/queries/overview/getOverview.d.ts +10 -10
  480. package/dist/types/api/queries/permissions/getPermissions.d.ts +4 -4
  481. package/dist/types/api/queries/project/getProject.d.ts +190 -6
  482. package/dist/types/api/queries/review/getReview.d.ts +6 -6
  483. package/dist/types/api/queries/share/share.d.ts +2 -2
  484. package/dist/types/api/queries/system/getSystem.d.ts +6 -6
  485. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +11 -8
  486. package/dist/types/api/queries/users/getUsers.d.ts +20 -20
  487. package/dist/types/api/queries/users/guests.d.ts +2 -2
  488. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +9 -6
  489. package/dist/types/api/queries/versions/getVersionsProductsUtils.d.ts +5 -5
  490. package/dist/types/api/queries/versions/updateVersions.d.ts +2 -2
  491. package/dist/types/api/queries/views/getViews.d.ts +8 -8
  492. package/dist/types/api/queries/watchers/getWatchers.d.ts +2 -2
  493. package/dist/types/components/DetailsPanelDetails/hooks/index.d.ts +0 -1
  494. package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +29 -0
  495. package/dist/types/components/RemotePage/index.d.ts +1 -0
  496. package/dist/types/components/ReviewablesList/getGroupedReviewables.d.ts +1 -2
  497. package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +1 -0
  498. package/dist/types/components/index.d.ts +31 -30
  499. package/dist/types/containers/DetailsPanel/DetailsPanel.d.ts +3 -2
  500. package/dist/types/containers/DetailsPanel/helpers/mergeProjectInfo.d.ts +4 -2
  501. package/dist/types/containers/Feed/mentionHelpers/getMentionVersions.d.ts +2 -1
  502. package/dist/types/containers/ProjectTreeTable/context/ProjectDataContext.d.ts +0 -5
  503. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +0 -4
  504. package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +1 -7
  505. package/dist/types/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.d.ts +2 -3
  506. package/dist/types/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.d.ts +1 -3
  507. package/dist/types/containers/ProjectTreeTable/hooks/useGetEntityTypeData.d.ts +5 -3
  508. package/dist/types/containers/ProjectTreeTable/utils/getTableFieldOptions.d.ts +3 -2
  509. package/dist/types/containers/Views/index.d.ts +1 -1
  510. package/dist/types/context/AddonProjectContext.d.ts +9 -14
  511. package/dist/types/context/ProjectContext.d.ts +33 -0
  512. package/dist/types/context/index.d.ts +1 -0
  513. package/dist/types/hooks/useGroupByRemoteModules.d.ts +2 -1
  514. package/dist/types/util/index.d.ts +0 -2
  515. package/dist/types/util/versionUploadHelpers.d.ts +0 -1
  516. package/dist/util.cjs.js +1 -1
  517. package/dist/util.es.js +55 -58
  518. package/dist/util.es.js.map +1 -1
  519. package/package.json +1 -1
  520. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js +0 -2
  521. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js.map +0 -1
  522. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js +0 -113
  523. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js.map +0 -1
  524. package/dist/shared/src/util/productTypes.cjs.js +0 -2
  525. package/dist/shared/src/util/productTypes.cjs.js.map +0 -1
  526. package/dist/shared/src/util/productTypes.es.js +0 -25
  527. package/dist/shared/src/util/productTypes.es.js.map +0 -1
  528. package/dist/types/components/DetailsPanelDetails/hooks/useEntityData.d.ts +0 -12
  529. package/dist/types/util/productTypes.d.ts +0 -8
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const B=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");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");const F=require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");const u=require("react"),E=require("../ViewsMenu/ViewsMenu.cjs.js"),S=require("@ynput/ayon-react-components"),G=require("../utils/generateWorkingView.cjs.js"),y=require("react-toastify"),K=require("../../../hooks/useLoadModule.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("lodash");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");const N=require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");const A=require("../utils/getCustomViewsFallback.cjs.js"),_="_working_",Q=({viewsList:d,workingView:q,viewType:n,projectName:w,currentUser:o,useWorkingView:m,editingViewId:g,collapsed:t,setCollapsed:V,onSelect:a,onEdit:R,onSave:W,onResetWorkingView:l,selectedId:c})=>{const{powerLicense:x}=N.usePowerpack(),[h]=F.useCreateViewMutation(),D=u.useMemo(()=>d.map(e=>({...e,isOwner:e.owner===(o==null?void 0:o.name),highlighted:g===e.id?"save":void 0})),[d,o,g]),L={id:_,label:m?"Personal view":"Working view",startContent:m&&B.jsxRuntimeExports.jsx(S.Icon,{icon:"person"}),isEditable:!1},f=u.useCallback(async()=>{let e=q==null?void 0:q.id;if(!q)try{console.warn("No working view found, creating a new one");const r=G.generateWorkingView();await h({payload:r,viewType:n,projectName:w}).unwrap(),e=r.id}catch(r){y.toast.error(`Failed to create working view: ${r}`)}a(e)},[q,n,h,w,a]),P=async e=>{try{await W(e),a(e)}catch(r){y.toast.error(r)}},[O,{isLoading:T}]=K.useLoadModule({addon:"powerpack",remote:"views",module:"getCustomViews",fallback:A.getCustomViewsFallback,skip:!n||!x}),{myViews:p,sharedViews:I,allPrivateViews:v}=O({viewsList:D,onEdit:R,onSelect:a,onSave:P}),k=u.useCallback(e=>{V({...t,[e]:!t[e]})},[t,V]),C=u.useMemo(()=>[{id:"myViews",title:"My views",items:p},{id:"sharedViews",title:"Shared views",items:I},{id:"allPrivateViews",title:"All private views",items:v}],[p,I,v]),M=u.useMemo(()=>({...L,onClick:f,isEditable:!!l,onResetView:l}),[f,l]);return u.useMemo(()=>{const e=[M],r=C.filter(i=>{var s;return(((s=i.items)==null?void 0:s.length)||0)>0});return r.length>0&&e.push(E.VIEW_DIVIDER),r.forEach(i=>{const s=!!t[i.id];if(e.push({type:"section",id:i.id,title:i.title,collapsed:s,onToggle:()=>k(i.id)}),!s)e.push(...i.items);else if(c){const b=i.items.find(j=>j.id===c);b&&e.push(b)}}),r.length>0&&e.push(E.VIEW_DIVIDER),e},[M,C,t,k,c])};exports.WORKING_VIEW_ID=_;exports.default=Q;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const B=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");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");const F=require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");const u=require("react"),E=require("../ViewsMenu/ViewsMenu.cjs.js"),S=require("@ynput/ayon-react-components"),G=require("../utils/generateWorkingView.cjs.js"),y=require("react-toastify"),K=require("../../../hooks/useLoadModule.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("lodash");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");const N=require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");const A=require("../utils/getCustomViewsFallback.cjs.js"),_="_working_",Q=({viewsList:d,workingView:q,viewType:n,projectName:w,currentUser:o,useWorkingView:m,editingViewId:g,collapsed:t,setCollapsed:V,onSelect:a,onEdit:R,onSave:W,onResetWorkingView:l,selectedId:c})=>{const{powerLicense:x}=N.usePowerpack(),[h]=F.useCreateViewMutation(),D=u.useMemo(()=>d.map(e=>({...e,isOwner:e.owner===(o==null?void 0:o.name),highlighted:g===e.id?"save":void 0})),[d,o,g]),L={id:_,label:m?"Personal view":"Working view",startContent:m&&B.jsxRuntimeExports.jsx(S.Icon,{icon:"person"}),isEditable:!1},f=u.useCallback(async()=>{let e=q==null?void 0:q.id;if(!q)try{console.warn("No working view found, creating a new one");const r=G.generateWorkingView();await h({payload:r,viewType:n,projectName:w}).unwrap(),e=r.id}catch(r){y.toast.error(`Failed to create working view: ${r}`)}a(e)},[q,n,h,w,a]),P=async e=>{try{await W(e),a(e)}catch(r){y.toast.error(r)}},[O,{isLoading:T}]=K.useLoadModule({addon:"powerpack",remote:"views",module:"getCustomViews",fallback:A.getCustomViewsFallback,skip:!n||!x}),{myViews:p,sharedViews:I,allPrivateViews:v}=O({viewsList:D,onEdit:R,onSelect:a,onSave:P}),k=u.useCallback(e=>{V({...t,[e]:!t[e]})},[t,V]),C=u.useMemo(()=>[{id:"myViews",title:"My views",items:p},{id:"sharedViews",title:"Shared views",items:I},{id:"allPrivateViews",title:"All private views",items:v}],[p,I,v]),M=u.useMemo(()=>({...L,onClick:f,isEditable:!!l,onResetView:l}),[f,l]);return u.useMemo(()=>{const e=[M],r=C.filter(i=>{var s;return(((s=i.items)==null?void 0:s.length)||0)>0});return r.length>0&&e.push(E.VIEW_DIVIDER),r.forEach(i=>{const s=!!t[i.id];if(e.push({type:"section",id:i.id,title:i.title,collapsed:s,onToggle:()=>k(i.id)}),!s)e.push(...i.items);else if(c){const b=i.items.find(j=>j.id===c);b&&e.push(b)}}),r.length>0&&e.push(E.VIEW_DIVIDER),e},[M,C,t,k,c])};exports.WORKING_VIEW_ID=_;exports.default=Q;
2
2
  //# sourceMappingURL=useBuildViewMenuItems.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useBuildViewMenuItems.cjs.js","sources":["../../../../../../src/containers/Views/hooks/useBuildViewMenuItems.tsx"],"sourcesContent":["import { useCreateViewMutation, UserModel, ViewListItemModel } from '@shared/api'\nimport { useCallback, useMemo } from 'react'\nimport { VIEW_DIVIDER, ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { ViewItem } from '../ViewItem/ViewItem'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { generateWorkingView } from '../utils/generateWorkingView'\nimport { toast } from 'react-toastify'\nimport { useLoadModule, useLocalStorage } from '@shared/hooks'\nimport { getCustomViewsFallback } from '../utils/getCustomViewsFallback'\nimport { usePowerpack } from '@shared/context'\nimport { CollapsedViewState } from '../context/ViewsContext'\n\n// constants\nexport const WORKING_VIEW_ID = '_working_' as const\nexport const NEW_VIEW_ID = '_new_view_' as const\nexport type ViewListItemModelExtended = ViewListItemModel & {\n isOwner: boolean\n highlighted?: 'save' | 'edit'\n}\n\ntype Props = {\n viewsList: ViewListItemModel[]\n workingView?: ViewListItemModel\n viewType?: string\n projectName?: string\n currentUser?: UserModel\n useWorkingView?: boolean\n editingViewId?: string // the preview id of the view being edited\n selectedId?: string\n collapsed: CollapsedViewState\n setCollapsed: (state: CollapsedViewState) => void\n onEdit: (viewId: string) => void\n onSelect: (viewId: string) => void\n onSave: (viewId: string) => Promise<void>\n onResetWorkingView?: () => void\n}\n\nconst useBuildViewMenuItems = ({\n viewsList,\n workingView,\n viewType,\n projectName,\n currentUser,\n useWorkingView,\n editingViewId,\n collapsed,\n setCollapsed,\n onSelect,\n onEdit,\n onSave,\n onResetWorkingView,\n selectedId,\n}: Props): ViewMenuItem[] => {\n const { powerLicense } = usePowerpack()\n\n // MUTATIONS\n const [createView] = useCreateViewMutation()\n\n const extendedViewsList: ViewListItemModelExtended[] = useMemo(\n () =>\n viewsList.map((view) => ({\n ...view,\n isOwner: view.owner === currentUser?.name,\n highlighted: editingViewId === view.id ? 'save' : undefined,\n })),\n [viewsList, currentUser, editingViewId],\n )\n\n const workingBaseView: ViewItem = {\n id: WORKING_VIEW_ID,\n label: useWorkingView ? 'Personal view' : 'Working view',\n startContent: useWorkingView && <Icon icon=\"person\" />,\n isEditable: false,\n }\n\n // if we have a working view, we use it, otherwise we create one\n const handleWorkingViewChange = useCallback(async () => {\n let workingViewId = workingView?.id\n if (!workingView) {\n // no working view found, create one\n try {\n console.warn('No working view found, creating a new one')\n const workingView = generateWorkingView()\n await createView({\n payload: workingView,\n viewType: viewType as string,\n projectName: projectName,\n }).unwrap()\n // set id of the new view\n workingViewId = workingView.id\n } catch (error: any) {\n toast.error(`Failed to create working view: ${error}`)\n }\n }\n // select the working view\n onSelect(workingViewId as string)\n }, [workingView, viewType, createView, projectName, onSelect])\n\n const handleEditView = async (viewId: string) => {\n // save the view and then selected it\n try {\n await onSave(viewId)\n onSelect(viewId)\n } catch (error: any) {\n toast.error(error)\n }\n }\n\n const [getCustomViews, { isLoading: isLoadingQueries }] = useLoadModule({\n addon: 'powerpack',\n remote: 'views',\n module: 'getCustomViews',\n fallback: getCustomViewsFallback,\n // minVersion: minVersion,\n skip: !viewType || !powerLicense,\n })\n\n const { myViews, sharedViews, allPrivateViews } = getCustomViews({\n viewsList: extendedViewsList,\n onEdit,\n onSelect,\n onSave: handleEditView,\n })\n\n const toggleSection = useCallback(\n (id: string) => {\n setCollapsed({ ...collapsed, [id]: !collapsed[id] })\n },\n [collapsed, setCollapsed],\n )\n\n const sections: Array<{ id: string; title: string; items: ViewItem[] }> = useMemo(() => {\n return [\n { id: 'myViews', title: 'My views', items: myViews as ViewItem[] },\n { id: 'sharedViews', title: 'Shared views', items: sharedViews as ViewItem[] },\n { id: 'allPrivateViews', title: 'All private views', items: allPrivateViews as ViewItem[] },\n ]\n }, [myViews, sharedViews, allPrivateViews])\n\n const workingViewItem: ViewMenuItem = useMemo(\n () => ({\n ...workingBaseView,\n onClick: handleWorkingViewChange,\n // expose reset button when handler is provided\n isEditable: Boolean(onResetWorkingView),\n onResetView: onResetWorkingView,\n }),\n [handleWorkingViewChange, onResetWorkingView],\n )\n\n // Build list with headers after computing items, omit sections with no items, and hide items when collapsed\n const viewItems: ViewMenuItem[] = useMemo(() => {\n const result: ViewMenuItem[] = [workingViewItem]\n\n // Add divider only if any section exists\n const visibleSections = sections.filter((s) => (s.items?.length || 0) > 0)\n if (visibleSections.length > 0) result.push(VIEW_DIVIDER)\n\n visibleSections.forEach((section) => {\n const isCollapsed = !!collapsed[section.id]\n result.push({\n type: 'section',\n id: section.id,\n title: section.title,\n collapsed: isCollapsed,\n onToggle: () => toggleSection(section.id),\n })\n if (!isCollapsed) {\n result.push(...section.items)\n } else if (selectedId) {\n const selectedItem = section.items.find((i) => i.id === selectedId)\n if (selectedItem) result.push(selectedItem)\n }\n })\n\n // Add a closing divider after all sections (only if sections exist)\n if (visibleSections.length > 0) result.push(VIEW_DIVIDER)\n\n return result\n }, [workingViewItem, sections, collapsed, toggleSection, selectedId])\n\n return viewItems\n}\n\nexport default useBuildViewMenuItems\n"],"names":["WORKING_VIEW_ID","useBuildViewMenuItems","viewsList","workingView","viewType","projectName","currentUser","useWorkingView","editingViewId","collapsed","setCollapsed","onSelect","onEdit","onSave","onResetWorkingView","selectedId","powerLicense","usePowerpack","createView","useCreateViewMutation","extendedViewsList","useMemo","view","workingBaseView","jsx","Icon","handleWorkingViewChange","useCallback","workingViewId","generateWorkingView","error","toast","handleEditView","viewId","getCustomViews","isLoadingQueries","useLoadModule","getCustomViewsFallback","myViews","sharedViews","allPrivateViews","toggleSection","id","sections","workingViewItem","result","visibleSections","s","_a","VIEW_DIVIDER","section","isCollapsed","selectedItem","i"],"mappings":"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"}
1
+ {"version":3,"file":"useBuildViewMenuItems.cjs.js","sources":["../../../../../../src/containers/Views/hooks/useBuildViewMenuItems.tsx"],"sourcesContent":["import { useCreateViewMutation, UserModel, ViewListItemModel } from '@shared/api'\nimport { useCallback, useMemo } from 'react'\nimport { VIEW_DIVIDER, ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { ViewItem } from '../ViewItem/ViewItem'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { generateWorkingView } from '../utils/generateWorkingView'\nimport { toast } from 'react-toastify'\nimport { useLoadModule, useLocalStorage } from '@shared/hooks'\nimport { getCustomViewsFallback } from '../utils/getCustomViewsFallback'\nimport { usePowerpack } from '@shared/context'\nimport { CollapsedViewState } from '../context/ViewsContext'\n\n// constants\nexport const WORKING_VIEW_ID = '_working_' as const\nexport const NEW_VIEW_ID = '_new_view_' as const\nexport type ViewListItemModelExtended = ViewListItemModel & {\n isOwner: boolean\n highlighted?: 'save' | 'edit'\n}\n\ntype Props = {\n viewsList: ViewListItemModel[]\n workingView?: ViewListItemModel\n viewType?: string\n projectName?: string\n currentUser?: UserModel\n useWorkingView?: boolean\n editingViewId?: string // the preview id of the view being edited\n selectedId?: string\n collapsed: CollapsedViewState\n setCollapsed: (state: CollapsedViewState) => void\n onEdit: (viewId: string) => void\n onSelect: (viewId: string) => void\n onSave: (viewId: string) => Promise<void>\n onResetWorkingView?: () => void\n}\n\nconst useBuildViewMenuItems = ({\n viewsList,\n workingView,\n viewType,\n projectName,\n currentUser,\n useWorkingView,\n editingViewId,\n collapsed,\n setCollapsed,\n onSelect,\n onEdit,\n onSave,\n onResetWorkingView,\n selectedId,\n}: Props): ViewMenuItem[] => {\n const { powerLicense } = usePowerpack()\n\n // MUTATIONS\n const [createView] = useCreateViewMutation()\n\n const extendedViewsList: ViewListItemModelExtended[] = useMemo(\n () =>\n viewsList.map((view) => ({\n ...view,\n isOwner: view.owner === currentUser?.name,\n highlighted: editingViewId === view.id ? 'save' : undefined,\n })),\n [viewsList, currentUser, editingViewId],\n )\n\n const workingBaseView: ViewItem = {\n id: WORKING_VIEW_ID,\n label: useWorkingView ? 'Personal view' : 'Working view',\n startContent: useWorkingView && <Icon icon=\"person\" />,\n isEditable: false,\n }\n\n // if we have a working view, we use it, otherwise we create one\n const handleWorkingViewChange = useCallback(async () => {\n let workingViewId = workingView?.id\n if (!workingView) {\n // no working view found, create one\n try {\n console.warn('No working view found, creating a new one')\n const workingView = generateWorkingView()\n await createView({\n payload: workingView,\n viewType: viewType as string,\n projectName: projectName,\n }).unwrap()\n // set id of the new view\n workingViewId = workingView.id\n } catch (error: any) {\n toast.error(`Failed to create working view: ${error}`)\n }\n }\n // select the working view\n onSelect(workingViewId as string)\n }, [workingView, viewType, createView, projectName, onSelect])\n\n const handleEditView = async (viewId: string) => {\n // save the view and then selected it\n try {\n await onSave(viewId)\n onSelect(viewId)\n } catch (error: any) {\n toast.error(error)\n }\n }\n\n const [getCustomViews, { isLoading: isLoadingQueries }] = useLoadModule({\n addon: 'powerpack',\n remote: 'views',\n module: 'getCustomViews',\n fallback: getCustomViewsFallback,\n // minVersion: minVersion,\n skip: !viewType || !powerLicense,\n })\n\n const { myViews, sharedViews, allPrivateViews } = getCustomViews({\n viewsList: extendedViewsList,\n onEdit,\n onSelect,\n onSave: handleEditView,\n })\n\n const toggleSection = useCallback(\n (id: string) => {\n setCollapsed({ ...collapsed, [id]: !collapsed[id] })\n },\n [collapsed, setCollapsed],\n )\n\n const sections: Array<{ id: string; title: string; items: ViewItem[] }> = useMemo(() => {\n return [\n { id: 'myViews', title: 'My views', items: myViews as ViewItem[] },\n { id: 'sharedViews', title: 'Shared views', items: sharedViews as ViewItem[] },\n { id: 'allPrivateViews', title: 'All private views', items: allPrivateViews as ViewItem[] },\n ]\n }, [myViews, sharedViews, allPrivateViews])\n\n const workingViewItem: ViewMenuItem = useMemo(\n () => ({\n ...workingBaseView,\n onClick: handleWorkingViewChange,\n // expose reset button when handler is provided\n isEditable: Boolean(onResetWorkingView),\n onResetView: onResetWorkingView,\n }),\n [handleWorkingViewChange, onResetWorkingView],\n )\n\n // Build list with headers after computing items, omit sections with no items, and hide items when collapsed\n const viewItems: ViewMenuItem[] = useMemo(() => {\n const result: ViewMenuItem[] = [workingViewItem]\n\n // Add divider only if any section exists\n const visibleSections = sections.filter((s) => (s.items?.length || 0) > 0)\n if (visibleSections.length > 0) result.push(VIEW_DIVIDER)\n\n visibleSections.forEach((section) => {\n const isCollapsed = !!collapsed[section.id]\n result.push({\n type: 'section',\n id: section.id,\n title: section.title,\n collapsed: isCollapsed,\n onToggle: () => toggleSection(section.id),\n })\n if (!isCollapsed) {\n result.push(...section.items)\n } else if (selectedId) {\n const selectedItem = section.items.find((i) => i.id === selectedId)\n if (selectedItem) result.push(selectedItem)\n }\n })\n\n // Add a closing divider after all sections (only if sections exist)\n if (visibleSections.length > 0) result.push(VIEW_DIVIDER)\n\n return result\n }, [workingViewItem, sections, collapsed, toggleSection, selectedId])\n\n return viewItems\n}\n\nexport default useBuildViewMenuItems\n"],"names":["WORKING_VIEW_ID","useBuildViewMenuItems","viewsList","workingView","viewType","projectName","currentUser","useWorkingView","editingViewId","collapsed","setCollapsed","onSelect","onEdit","onSave","onResetWorkingView","selectedId","powerLicense","usePowerpack","createView","useCreateViewMutation","extendedViewsList","useMemo","view","workingBaseView","jsx","Icon","handleWorkingViewChange","useCallback","workingViewId","generateWorkingView","error","toast","handleEditView","viewId","getCustomViews","isLoadingQueries","useLoadModule","getCustomViewsFallback","myViews","sharedViews","allPrivateViews","toggleSection","id","sections","workingViewItem","result","visibleSections","s","_a","VIEW_DIVIDER","section","isCollapsed","selectedItem","i"],"mappings":"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"}
@@ -104,11 +104,12 @@ import "../../../context/MoveEntityContext.es.js";
104
104
  import "../../../context/MenuContext.es.js";
105
105
  import "../../../context/WebsocketContext.es.js";
106
106
  import "../../../context/GlobalContext.es.js";
107
+ import "../../../context/ProjectContext.es.js";
107
108
  import "react-redux";
108
109
  import "custom-protocol-check";
109
110
  import "../../ProjectTreeTable/components/GroupSettingsFallback.es.js";
110
111
  import { getCustomViewsFallback as S } from "../utils/getCustomViewsFallback.es.js";
111
- const $ = "_working_", Xi = ({
112
+ const $ = "_working_", Yi = ({
112
113
  viewsList: w,
113
114
  workingView: r,
114
115
  viewType: n,
@@ -212,6 +213,6 @@ const $ = "_working_", Xi = ({
212
213
  };
213
214
  export {
214
215
  $ as WORKING_VIEW_ID,
215
- Xi as default
216
+ Yi as default
216
217
  };
217
218
  //# sourceMappingURL=useBuildViewMenuItems.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useBuildViewMenuItems.es.js","sources":["../../../../../../src/containers/Views/hooks/useBuildViewMenuItems.tsx"],"sourcesContent":["import { useCreateViewMutation, UserModel, ViewListItemModel } from '@shared/api'\nimport { useCallback, useMemo } from 'react'\nimport { VIEW_DIVIDER, ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { ViewItem } from '../ViewItem/ViewItem'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { generateWorkingView } from '../utils/generateWorkingView'\nimport { toast } from 'react-toastify'\nimport { useLoadModule, useLocalStorage } from '@shared/hooks'\nimport { getCustomViewsFallback } from '../utils/getCustomViewsFallback'\nimport { usePowerpack } from '@shared/context'\nimport { CollapsedViewState } from '../context/ViewsContext'\n\n// constants\nexport const WORKING_VIEW_ID = '_working_' as const\nexport const NEW_VIEW_ID = '_new_view_' as const\nexport type ViewListItemModelExtended = ViewListItemModel & {\n isOwner: boolean\n highlighted?: 'save' | 'edit'\n}\n\ntype Props = {\n viewsList: ViewListItemModel[]\n workingView?: ViewListItemModel\n viewType?: string\n projectName?: string\n currentUser?: UserModel\n useWorkingView?: boolean\n editingViewId?: string // the preview id of the view being edited\n selectedId?: string\n collapsed: CollapsedViewState\n setCollapsed: (state: CollapsedViewState) => void\n onEdit: (viewId: string) => void\n onSelect: (viewId: string) => void\n onSave: (viewId: string) => Promise<void>\n onResetWorkingView?: () => void\n}\n\nconst useBuildViewMenuItems = ({\n viewsList,\n workingView,\n viewType,\n projectName,\n currentUser,\n useWorkingView,\n editingViewId,\n collapsed,\n setCollapsed,\n onSelect,\n onEdit,\n onSave,\n onResetWorkingView,\n selectedId,\n}: Props): ViewMenuItem[] => {\n const { powerLicense } = usePowerpack()\n\n // MUTATIONS\n const [createView] = useCreateViewMutation()\n\n const extendedViewsList: ViewListItemModelExtended[] = useMemo(\n () =>\n viewsList.map((view) => ({\n ...view,\n isOwner: view.owner === currentUser?.name,\n highlighted: editingViewId === view.id ? 'save' : undefined,\n })),\n [viewsList, currentUser, editingViewId],\n )\n\n const workingBaseView: ViewItem = {\n id: WORKING_VIEW_ID,\n label: useWorkingView ? 'Personal view' : 'Working view',\n startContent: useWorkingView && <Icon icon=\"person\" />,\n isEditable: false,\n }\n\n // if we have a working view, we use it, otherwise we create one\n const handleWorkingViewChange = useCallback(async () => {\n let workingViewId = workingView?.id\n if (!workingView) {\n // no working view found, create one\n try {\n console.warn('No working view found, creating a new one')\n const workingView = generateWorkingView()\n await createView({\n payload: workingView,\n viewType: viewType as string,\n projectName: projectName,\n }).unwrap()\n // set id of the new view\n workingViewId = workingView.id\n } catch (error: any) {\n toast.error(`Failed to create working view: ${error}`)\n }\n }\n // select the working view\n onSelect(workingViewId as string)\n }, [workingView, viewType, createView, projectName, onSelect])\n\n const handleEditView = async (viewId: string) => {\n // save the view and then selected it\n try {\n await onSave(viewId)\n onSelect(viewId)\n } catch (error: any) {\n toast.error(error)\n }\n }\n\n const [getCustomViews, { isLoading: isLoadingQueries }] = useLoadModule({\n addon: 'powerpack',\n remote: 'views',\n module: 'getCustomViews',\n fallback: getCustomViewsFallback,\n // minVersion: minVersion,\n skip: !viewType || !powerLicense,\n })\n\n const { myViews, sharedViews, allPrivateViews } = getCustomViews({\n viewsList: extendedViewsList,\n onEdit,\n onSelect,\n onSave: handleEditView,\n })\n\n const toggleSection = useCallback(\n (id: string) => {\n setCollapsed({ ...collapsed, [id]: !collapsed[id] })\n },\n [collapsed, setCollapsed],\n )\n\n const sections: Array<{ id: string; title: string; items: ViewItem[] }> = useMemo(() => {\n return [\n { id: 'myViews', title: 'My views', items: myViews as ViewItem[] },\n { id: 'sharedViews', title: 'Shared views', items: sharedViews as ViewItem[] },\n { id: 'allPrivateViews', title: 'All private views', items: allPrivateViews as ViewItem[] },\n ]\n }, [myViews, sharedViews, allPrivateViews])\n\n const workingViewItem: ViewMenuItem = useMemo(\n () => ({\n ...workingBaseView,\n onClick: handleWorkingViewChange,\n // expose reset button when handler is provided\n isEditable: Boolean(onResetWorkingView),\n onResetView: onResetWorkingView,\n }),\n [handleWorkingViewChange, onResetWorkingView],\n )\n\n // Build list with headers after computing items, omit sections with no items, and hide items when collapsed\n const viewItems: ViewMenuItem[] = useMemo(() => {\n const result: ViewMenuItem[] = [workingViewItem]\n\n // Add divider only if any section exists\n const visibleSections = sections.filter((s) => (s.items?.length || 0) > 0)\n if (visibleSections.length > 0) result.push(VIEW_DIVIDER)\n\n visibleSections.forEach((section) => {\n const isCollapsed = !!collapsed[section.id]\n result.push({\n type: 'section',\n id: section.id,\n title: section.title,\n collapsed: isCollapsed,\n onToggle: () => toggleSection(section.id),\n })\n if (!isCollapsed) {\n result.push(...section.items)\n } else if (selectedId) {\n const selectedItem = section.items.find((i) => i.id === selectedId)\n if (selectedItem) result.push(selectedItem)\n }\n })\n\n // Add a closing divider after all sections (only if sections exist)\n if (visibleSections.length > 0) result.push(VIEW_DIVIDER)\n\n return result\n }, [workingViewItem, sections, collapsed, toggleSection, selectedId])\n\n return viewItems\n}\n\nexport default useBuildViewMenuItems\n"],"names":["WORKING_VIEW_ID","useBuildViewMenuItems","viewsList","workingView","viewType","projectName","currentUser","useWorkingView","editingViewId","collapsed","setCollapsed","onSelect","onEdit","onSave","onResetWorkingView","selectedId","powerLicense","usePowerpack","createView","useCreateViewMutation","extendedViewsList","useMemo","view","workingBaseView","jsx","Icon","handleWorkingViewChange","useCallback","workingViewId","generateWorkingView","error","toast","handleEditView","viewId","getCustomViews","isLoadingQueries","useLoadModule","getCustomViewsFallback","myViews","sharedViews","allPrivateViews","toggleSection","id","sections","workingViewItem","result","visibleSections","s","_a","VIEW_DIVIDER","section","isCollapsed","selectedItem","i"],"mappings":"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"}
1
+ {"version":3,"file":"useBuildViewMenuItems.es.js","sources":["../../../../../../src/containers/Views/hooks/useBuildViewMenuItems.tsx"],"sourcesContent":["import { useCreateViewMutation, UserModel, ViewListItemModel } from '@shared/api'\nimport { useCallback, useMemo } from 'react'\nimport { VIEW_DIVIDER, ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { ViewItem } from '../ViewItem/ViewItem'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { generateWorkingView } from '../utils/generateWorkingView'\nimport { toast } from 'react-toastify'\nimport { useLoadModule, useLocalStorage } from '@shared/hooks'\nimport { getCustomViewsFallback } from '../utils/getCustomViewsFallback'\nimport { usePowerpack } from '@shared/context'\nimport { CollapsedViewState } from '../context/ViewsContext'\n\n// constants\nexport const WORKING_VIEW_ID = '_working_' as const\nexport const NEW_VIEW_ID = '_new_view_' as const\nexport type ViewListItemModelExtended = ViewListItemModel & {\n isOwner: boolean\n highlighted?: 'save' | 'edit'\n}\n\ntype Props = {\n viewsList: ViewListItemModel[]\n workingView?: ViewListItemModel\n viewType?: string\n projectName?: string\n currentUser?: UserModel\n useWorkingView?: boolean\n editingViewId?: string // the preview id of the view being edited\n selectedId?: string\n collapsed: CollapsedViewState\n setCollapsed: (state: CollapsedViewState) => void\n onEdit: (viewId: string) => void\n onSelect: (viewId: string) => void\n onSave: (viewId: string) => Promise<void>\n onResetWorkingView?: () => void\n}\n\nconst useBuildViewMenuItems = ({\n viewsList,\n workingView,\n viewType,\n projectName,\n currentUser,\n useWorkingView,\n editingViewId,\n collapsed,\n setCollapsed,\n onSelect,\n onEdit,\n onSave,\n onResetWorkingView,\n selectedId,\n}: Props): ViewMenuItem[] => {\n const { powerLicense } = usePowerpack()\n\n // MUTATIONS\n const [createView] = useCreateViewMutation()\n\n const extendedViewsList: ViewListItemModelExtended[] = useMemo(\n () =>\n viewsList.map((view) => ({\n ...view,\n isOwner: view.owner === currentUser?.name,\n highlighted: editingViewId === view.id ? 'save' : undefined,\n })),\n [viewsList, currentUser, editingViewId],\n )\n\n const workingBaseView: ViewItem = {\n id: WORKING_VIEW_ID,\n label: useWorkingView ? 'Personal view' : 'Working view',\n startContent: useWorkingView && <Icon icon=\"person\" />,\n isEditable: false,\n }\n\n // if we have a working view, we use it, otherwise we create one\n const handleWorkingViewChange = useCallback(async () => {\n let workingViewId = workingView?.id\n if (!workingView) {\n // no working view found, create one\n try {\n console.warn('No working view found, creating a new one')\n const workingView = generateWorkingView()\n await createView({\n payload: workingView,\n viewType: viewType as string,\n projectName: projectName,\n }).unwrap()\n // set id of the new view\n workingViewId = workingView.id\n } catch (error: any) {\n toast.error(`Failed to create working view: ${error}`)\n }\n }\n // select the working view\n onSelect(workingViewId as string)\n }, [workingView, viewType, createView, projectName, onSelect])\n\n const handleEditView = async (viewId: string) => {\n // save the view and then selected it\n try {\n await onSave(viewId)\n onSelect(viewId)\n } catch (error: any) {\n toast.error(error)\n }\n }\n\n const [getCustomViews, { isLoading: isLoadingQueries }] = useLoadModule({\n addon: 'powerpack',\n remote: 'views',\n module: 'getCustomViews',\n fallback: getCustomViewsFallback,\n // minVersion: minVersion,\n skip: !viewType || !powerLicense,\n })\n\n const { myViews, sharedViews, allPrivateViews } = getCustomViews({\n viewsList: extendedViewsList,\n onEdit,\n onSelect,\n onSave: handleEditView,\n })\n\n const toggleSection = useCallback(\n (id: string) => {\n setCollapsed({ ...collapsed, [id]: !collapsed[id] })\n },\n [collapsed, setCollapsed],\n )\n\n const sections: Array<{ id: string; title: string; items: ViewItem[] }> = useMemo(() => {\n return [\n { id: 'myViews', title: 'My views', items: myViews as ViewItem[] },\n { id: 'sharedViews', title: 'Shared views', items: sharedViews as ViewItem[] },\n { id: 'allPrivateViews', title: 'All private views', items: allPrivateViews as ViewItem[] },\n ]\n }, [myViews, sharedViews, allPrivateViews])\n\n const workingViewItem: ViewMenuItem = useMemo(\n () => ({\n ...workingBaseView,\n onClick: handleWorkingViewChange,\n // expose reset button when handler is provided\n isEditable: Boolean(onResetWorkingView),\n onResetView: onResetWorkingView,\n }),\n [handleWorkingViewChange, onResetWorkingView],\n )\n\n // Build list with headers after computing items, omit sections with no items, and hide items when collapsed\n const viewItems: ViewMenuItem[] = useMemo(() => {\n const result: ViewMenuItem[] = [workingViewItem]\n\n // Add divider only if any section exists\n const visibleSections = sections.filter((s) => (s.items?.length || 0) > 0)\n if (visibleSections.length > 0) result.push(VIEW_DIVIDER)\n\n visibleSections.forEach((section) => {\n const isCollapsed = !!collapsed[section.id]\n result.push({\n type: 'section',\n id: section.id,\n title: section.title,\n collapsed: isCollapsed,\n onToggle: () => toggleSection(section.id),\n })\n if (!isCollapsed) {\n result.push(...section.items)\n } else if (selectedId) {\n const selectedItem = section.items.find((i) => i.id === selectedId)\n if (selectedItem) result.push(selectedItem)\n }\n })\n\n // Add a closing divider after all sections (only if sections exist)\n if (visibleSections.length > 0) result.push(VIEW_DIVIDER)\n\n return result\n }, [workingViewItem, sections, collapsed, toggleSection, selectedId])\n\n return viewItems\n}\n\nexport default useBuildViewMenuItems\n"],"names":["WORKING_VIEW_ID","useBuildViewMenuItems","viewsList","workingView","viewType","projectName","currentUser","useWorkingView","editingViewId","collapsed","setCollapsed","onSelect","onEdit","onSave","onResetWorkingView","selectedId","powerLicense","usePowerpack","createView","useCreateViewMutation","extendedViewsList","useMemo","view","workingBaseView","jsx","Icon","handleWorkingViewChange","useCallback","workingViewId","generateWorkingView","error","toast","handleEditView","viewId","getCustomViews","isLoadingQueries","useLoadModule","getCustomViewsFallback","myViews","sharedViews","allPrivateViews","toggleSection","id","sections","workingViewItem","result","visibleSections","s","_a","VIEW_DIVIDER","section","isCollapsed","selectedItem","i"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaO,MAAMA,IAAkB,aAwBzBC,KAAwB,CAAC;AAAA,EAC7B,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,WAAAC;AAAA,EACA,cAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,QAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,YAAAC;AACF,MAA6B;AACrB,QAAA,EAAE,cAAAC,EAAa,IAAIC,EAAa,GAGhC,CAACC,CAAU,IAAIC,EAAsB,GAErCC,IAAiDC;AAAA,IACrD,MACEnB,EAAU,IAAI,CAACoB,OAAU;AAAA,MACvB,GAAGA;AAAA,MACH,SAASA,EAAK,WAAUhB,KAAA,gBAAAA,EAAa;AAAA,MACrC,aAAaE,MAAkBc,EAAK,KAAK,SAAS;AAAA,IAAA,EAClD;AAAA,IACJ,CAACpB,GAAWI,GAAaE,CAAa;AAAA,EACxC,GAEMe,IAA4B;AAAA,IAChC,IAAIvB;AAAA,IACJ,OAAOO,IAAiB,kBAAkB;AAAA,IAC1C,cAAcA,KAAmBiB,gBAAAA,EAAA,IAAAC,GAAA,EAAK,MAAK,UAAS;AAAA,IACpD,YAAY;AAAA,EACd,GAGMC,IAA0BC,EAAY,YAAY;AACtD,QAAIC,IAAgBzB,KAAA,gBAAAA,EAAa;AACjC,QAAI,CAACA;AAEC,UAAA;AACF,gBAAQ,KAAK,2CAA2C;AACxD,cAAMA,IAAc0B,EAAoB;AACxC,cAAMX,EAAW;AAAA,UACf,SAASf;AAAAA,UACT,UAAAC;AAAA,UACA,aAAAC;AAAA,QACD,CAAA,EAAE,OAAO,GAEVuB,IAAgBzB,EAAY;AAAA,eACrB2B,GAAY;AACb,QAAAC,EAAA,MAAM,kCAAkCD,CAAK,EAAE;AAAA,MAAA;AAIzD,IAAAnB,EAASiB,CAAuB;AAAA,EAAA,GAC/B,CAACzB,GAAaC,GAAUc,GAAYb,GAAaM,CAAQ,CAAC,GAEvDqB,IAAiB,OAAOC,MAAmB;AAE3C,QAAA;AACF,YAAMpB,EAAOoB,CAAM,GACnBtB,EAASsB,CAAM;AAAA,aACRH,GAAY;AACnB,MAAAC,EAAM,MAAMD,CAAK;AAAA,IAAA;AAAA,EAErB,GAEM,CAACI,GAAgB,EAAE,WAAWC,EAAkB,CAAA,IAAIC,EAAc;AAAA,IACtE,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAUC;AAAA;AAAA,IAEV,MAAM,CAACjC,KAAY,CAACY;AAAA,EAAA,CACrB,GAEK,EAAE,SAAAsB,GAAS,aAAAC,GAAa,iBAAAC,EAAA,IAAoBN,EAAe;AAAA,IAC/D,WAAWd;AAAA,IACX,QAAAR;AAAA,IACA,UAAAD;AAAA,IACA,QAAQqB;AAAA,EAAA,CACT,GAEKS,IAAgBd;AAAA,IACpB,CAACe,MAAe;AACD,MAAAhC,EAAA,EAAE,GAAGD,GAAW,CAACiC,CAAE,GAAG,CAACjC,EAAUiC,CAAE,GAAG;AAAA,IACrD;AAAA,IACA,CAACjC,GAAWC,CAAY;AAAA,EAC1B,GAEMiC,IAAoEtB,EAAQ,MACzE;AAAA,IACL,EAAE,IAAI,WAAW,OAAO,YAAY,OAAOiB,EAAsB;AAAA,IACjE,EAAE,IAAI,eAAe,OAAO,gBAAgB,OAAOC,EAA0B;AAAA,IAC7E,EAAE,IAAI,mBAAmB,OAAO,qBAAqB,OAAOC,EAA8B;AAAA,EAC5F,GACC,CAACF,GAASC,GAAaC,CAAe,CAAC,GAEpCI,IAAgCvB;AAAA,IACpC,OAAO;AAAA,MACL,GAAGE;AAAA,MACH,SAASG;AAAA;AAAA,MAET,YAAY,EAAQZ;AAAA,MACpB,aAAaA;AAAA,IAAA;AAAA,IAEf,CAACY,GAAyBZ,CAAkB;AAAA,EAC9C;AAiCO,SA9B2BO,EAAQ,MAAM;AACxC,UAAAwB,IAAyB,CAACD,CAAe,GAGzCE,IAAkBH,EAAS,OAAO,CAACI;;AAAO,gBAAAC,IAAAD,EAAE,UAAF,gBAAAC,EAAS,WAAU,KAAK;AAAA,KAAC;AACzE,WAAIF,EAAgB,SAAS,KAAGD,EAAO,KAAKI,CAAY,GAExCH,EAAA,QAAQ,CAACI,MAAY;AACnC,YAAMC,IAAc,CAAC,CAAC1C,EAAUyC,EAAQ,EAAE;AAQ1C,UAPAL,EAAO,KAAK;AAAA,QACV,MAAM;AAAA,QACN,IAAIK,EAAQ;AAAA,QACZ,OAAOA,EAAQ;AAAA,QACf,WAAWC;AAAA,QACX,UAAU,MAAMV,EAAcS,EAAQ,EAAE;AAAA,MAAA,CACzC,GACG,CAACC;AACI,QAAAN,EAAA,KAAK,GAAGK,EAAQ,KAAK;AAAA,eACnBnC,GAAY;AACf,cAAAqC,IAAeF,EAAQ,MAAM,KAAK,CAACG,MAAMA,EAAE,OAAOtC,CAAU;AAC9D,QAAAqC,KAAqBP,EAAA,KAAKO,CAAY;AAAA,MAAA;AAAA,IAC5C,CACD,GAGGN,EAAgB,SAAS,KAAGD,EAAO,KAAKI,CAAY,GAEjDJ;AAAA,EAAA,GACN,CAACD,GAAiBD,GAAUlC,GAAWgC,GAAe1B,CAAU,CAAC;AAGtE;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react");require("../../../../../_virtual/jsx-runtime.cjs.js");require("react-dom");const n=require("../context/ViewsContext.cjs.js");require("../Views.styled.cjs.js");require("clsx");require("../ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/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");const c=require("react-toastify");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("@ynput/ayon-react-components");require("../ViewsMenu/ViewsMenu.cjs.js");require("uuid");require("../../../util/pubsub.cjs.js");const w=({viewType:r,projectName:t,viewsList:o,sourceSettings:e,onUpdateView:s})=>({onSaveViewFromCurrent:a.useCallback(async i=>{if(!r)throw"viewType are required for saving a view from another view";if(!e)throw"sourceView is required for saving a view from another view";try{await s(i,{settings:e},n.isViewStudioScope(i,o)),c.toast.success("View settings saved")}catch(u){const q=typeof u=="string"?"Failed to save view settings: "+u:"Failed to save view settings";throw console.error(q),q}},[r,t,e])});exports.useSaveViewFromCurrent=w;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react");require("../../../../../_virtual/jsx-runtime.cjs.js");require("react-dom");const n=require("../context/ViewsContext.cjs.js");require("../Views.styled.cjs.js");require("clsx");require("../ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/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");const c=require("react-toastify");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("@ynput/ayon-react-components");require("../ViewsMenu/ViewsMenu.cjs.js");require("uuid");require("../../../util/pubsub.cjs.js");const w=({viewType:r,projectName:t,viewsList:o,sourceSettings:e,onUpdateView:s})=>({onSaveViewFromCurrent:a.useCallback(async i=>{if(!r)throw"viewType are required for saving a view from another view";if(!e)throw"sourceView is required for saving a view from another view";try{await s(i,{settings:e},n.isViewStudioScope(i,o)),c.toast.success("View settings saved")}catch(u){const q=typeof u=="string"?"Failed to save view settings: "+u:"Failed to save view settings";throw console.error(q),q}},[r,t,e])});exports.useSaveViewFromCurrent=w;
2
2
  //# sourceMappingURL=useSaveViewFromCurrent.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSaveViewFromCurrent.cjs.js","sources":["../../../../../../src/containers/Views/hooks/useSaveViewFromCurrent.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { isViewStudioScope, ViewData, ViewSettings, ViewType } from '..'\nimport { UseViewMutations } from './useViewsMutations'\nimport { ViewListItemModel } from '@shared/api'\nimport { toast } from 'react-toastify'\n\ntype Props = {\n viewType?: ViewType\n projectName?: string\n viewsList: ViewListItemModel[]\n sourceSettings?: ViewSettings\n onUpdateView: UseViewMutations['onUpdateView']\n}\n\nexport const useSaveViewFromCurrent = ({\n viewType,\n projectName,\n viewsList,\n sourceSettings,\n onUpdateView,\n}: Props) => {\n // save the views settings from another views settings (uses update)\n const onSaveViewFromCurrent = useCallback(\n async (viewId: string) => {\n if (!viewType) {\n throw 'viewType are required for saving a view from another view'\n }\n\n // get the fromView settings\n if (!sourceSettings) {\n throw 'sourceView is required for saving a view from another view'\n }\n\n try {\n await onUpdateView(\n viewId,\n {\n settings: sourceSettings,\n },\n isViewStudioScope(viewId, viewsList),\n )\n\n toast.success('View settings saved')\n } catch (error) {\n const errorMessage =\n typeof error === 'string'\n ? 'Failed to save view settings: ' + error\n : 'Failed to save view settings'\n console.error(errorMessage)\n throw errorMessage\n }\n },\n [viewType, projectName, sourceSettings],\n )\n\n return { onSaveViewFromCurrent }\n}\n"],"names":["useSaveViewFromCurrent","viewType","projectName","viewsList","sourceSettings","onUpdateView","useCallback","viewId","isViewStudioScope","toast","error","errorMessage"],"mappings":"43LAcO,MAAMA,EAAyB,CAAC,CACrC,SAAAC,EACA,YAAAC,EACA,UAAAC,EACA,eAAAC,EACA,aAAAC,CACF,KAmCS,CAAE,sBAjCqBC,EAAA,YAC5B,MAAOC,GAAmB,CACxB,GAAI,CAACN,EACG,KAAA,4DAIR,GAAI,CAACG,EACG,KAAA,6DAGJ,GAAA,CACI,MAAAC,EACJE,EACA,CACE,SAAUH,CACZ,EACAI,EAAA,kBAAkBD,EAAQJ,CAAS,CACrC,EAEAM,EAAA,MAAM,QAAQ,qBAAqB,QAC5BC,EAAO,CACd,MAAMC,EACJ,OAAOD,GAAU,SACb,iCAAmCA,EACnC,+BACN,cAAQ,MAAMC,CAAY,EACpBA,CAAA,CAEV,EACA,CAACV,EAAUC,EAAaE,CAAc,CACxC,CAE+B"}
1
+ {"version":3,"file":"useSaveViewFromCurrent.cjs.js","sources":["../../../../../../src/containers/Views/hooks/useSaveViewFromCurrent.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { isViewStudioScope, ViewData, ViewSettings, ViewType } from '..'\nimport { UseViewMutations } from './useViewsMutations'\nimport { ViewListItemModel } from '@shared/api'\nimport { toast } from 'react-toastify'\n\ntype Props = {\n viewType?: ViewType\n projectName?: string\n viewsList: ViewListItemModel[]\n sourceSettings?: ViewSettings\n onUpdateView: UseViewMutations['onUpdateView']\n}\n\nexport const useSaveViewFromCurrent = ({\n viewType,\n projectName,\n viewsList,\n sourceSettings,\n onUpdateView,\n}: Props) => {\n // save the views settings from another views settings (uses update)\n const onSaveViewFromCurrent = useCallback(\n async (viewId: string) => {\n if (!viewType) {\n throw 'viewType are required for saving a view from another view'\n }\n\n // get the fromView settings\n if (!sourceSettings) {\n throw 'sourceView is required for saving a view from another view'\n }\n\n try {\n await onUpdateView(\n viewId,\n {\n settings: sourceSettings,\n },\n isViewStudioScope(viewId, viewsList),\n )\n\n toast.success('View settings saved')\n } catch (error) {\n const errorMessage =\n typeof error === 'string'\n ? 'Failed to save view settings: ' + error\n : 'Failed to save view settings'\n console.error(errorMessage)\n throw errorMessage\n }\n },\n [viewType, projectName, sourceSettings],\n )\n\n return { onSaveViewFromCurrent }\n}\n"],"names":["useSaveViewFromCurrent","viewType","projectName","viewsList","sourceSettings","onUpdateView","useCallback","viewId","isViewStudioScope","toast","error","errorMessage"],"mappings":"86LAcO,MAAMA,EAAyB,CAAC,CACrC,SAAAC,EACA,YAAAC,EACA,UAAAC,EACA,eAAAC,EACA,aAAAC,CACF,KAmCS,CAAE,sBAjCqBC,EAAA,YAC5B,MAAOC,GAAmB,CACxB,GAAI,CAACN,EACG,KAAA,4DAIR,GAAI,CAACG,EACG,KAAA,6DAGJ,GAAA,CACI,MAAAC,EACJE,EACA,CACE,SAAUH,CACZ,EACAI,EAAA,kBAAkBD,EAAQJ,CAAS,CACrC,EAEAM,EAAA,MAAM,QAAQ,qBAAqB,QAC5BC,EAAO,CACd,MAAMC,EACJ,OAAOD,GAAU,SACb,iCAAmCA,EACnC,+BACN,cAAQ,MAAMC,CAAY,EACpBA,CAAA,CAEV,EACA,CAACV,EAAUC,EAAaE,CAAc,CACxC,CAE+B"}
@@ -104,6 +104,7 @@ import "../../../context/MoveEntityContext.es.js";
104
104
  import "../../../context/MenuContext.es.js";
105
105
  import "../../../context/WebsocketContext.es.js";
106
106
  import "../../../context/GlobalContext.es.js";
107
+ import "../../../context/ProjectContext.es.js";
107
108
  import "react-redux";
108
109
  import "custom-protocol-check";
109
110
  import "../../ProjectTreeTable/components/GroupSettingsFallback.es.js";
@@ -111,7 +112,7 @@ import "@ynput/ayon-react-components";
111
112
  import "../ViewsMenu/ViewsMenu.es.js";
112
113
  import "uuid";
113
114
  import "../../../util/pubsub.es.js";
114
- const Vo = ({
115
+ const lo = ({
115
116
  viewType: o,
116
117
  projectName: p,
117
118
  viewsList: e,
@@ -139,6 +140,6 @@ const Vo = ({
139
140
  [o, p, r]
140
141
  ) });
141
142
  export {
142
- Vo as useSaveViewFromCurrent
143
+ lo as useSaveViewFromCurrent
143
144
  };
144
145
  //# sourceMappingURL=useSaveViewFromCurrent.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSaveViewFromCurrent.es.js","sources":["../../../../../../src/containers/Views/hooks/useSaveViewFromCurrent.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { isViewStudioScope, ViewData, ViewSettings, ViewType } from '..'\nimport { UseViewMutations } from './useViewsMutations'\nimport { ViewListItemModel } from '@shared/api'\nimport { toast } from 'react-toastify'\n\ntype Props = {\n viewType?: ViewType\n projectName?: string\n viewsList: ViewListItemModel[]\n sourceSettings?: ViewSettings\n onUpdateView: UseViewMutations['onUpdateView']\n}\n\nexport const useSaveViewFromCurrent = ({\n viewType,\n projectName,\n viewsList,\n sourceSettings,\n onUpdateView,\n}: Props) => {\n // save the views settings from another views settings (uses update)\n const onSaveViewFromCurrent = useCallback(\n async (viewId: string) => {\n if (!viewType) {\n throw 'viewType are required for saving a view from another view'\n }\n\n // get the fromView settings\n if (!sourceSettings) {\n throw 'sourceView is required for saving a view from another view'\n }\n\n try {\n await onUpdateView(\n viewId,\n {\n settings: sourceSettings,\n },\n isViewStudioScope(viewId, viewsList),\n )\n\n toast.success('View settings saved')\n } catch (error) {\n const errorMessage =\n typeof error === 'string'\n ? 'Failed to save view settings: ' + error\n : 'Failed to save view settings'\n console.error(errorMessage)\n throw errorMessage\n }\n },\n [viewType, projectName, sourceSettings],\n )\n\n return { onSaveViewFromCurrent }\n}\n"],"names":["useSaveViewFromCurrent","viewType","projectName","viewsList","sourceSettings","onUpdateView","useCallback","viewId","isViewStudioScope","toast","error","errorMessage"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcO,MAAMA,KAAyB,CAAC;AAAA,EACrC,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,cAAAC;AACF,OAmCS,EAAE,uBAjCqBC;AAAA,EAC5B,OAAOC,MAAmB;AACxB,QAAI,CAACN;AACG,YAAA;AAIR,QAAI,CAACG;AACG,YAAA;AAGJ,QAAA;AACI,YAAAC;AAAA,QACJE;AAAA,QACA;AAAA,UACE,UAAUH;AAAA,QACZ;AAAA,QACAI,EAAkBD,GAAQJ,CAAS;AAAA,MACrC,GAEAM,EAAM,QAAQ,qBAAqB;AAAA,aAC5BC,GAAO;AACd,YAAMC,IACJ,OAAOD,KAAU,WACb,mCAAmCA,IACnC;AACN,oBAAQ,MAAMC,CAAY,GACpBA;AAAA,IAAA;AAAA,EAEV;AAAA,EACA,CAACV,GAAUC,GAAaE,CAAc;AACxC,EAE+B;"}
1
+ {"version":3,"file":"useSaveViewFromCurrent.es.js","sources":["../../../../../../src/containers/Views/hooks/useSaveViewFromCurrent.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { isViewStudioScope, ViewData, ViewSettings, ViewType } from '..'\nimport { UseViewMutations } from './useViewsMutations'\nimport { ViewListItemModel } from '@shared/api'\nimport { toast } from 'react-toastify'\n\ntype Props = {\n viewType?: ViewType\n projectName?: string\n viewsList: ViewListItemModel[]\n sourceSettings?: ViewSettings\n onUpdateView: UseViewMutations['onUpdateView']\n}\n\nexport const useSaveViewFromCurrent = ({\n viewType,\n projectName,\n viewsList,\n sourceSettings,\n onUpdateView,\n}: Props) => {\n // save the views settings from another views settings (uses update)\n const onSaveViewFromCurrent = useCallback(\n async (viewId: string) => {\n if (!viewType) {\n throw 'viewType are required for saving a view from another view'\n }\n\n // get the fromView settings\n if (!sourceSettings) {\n throw 'sourceView is required for saving a view from another view'\n }\n\n try {\n await onUpdateView(\n viewId,\n {\n settings: sourceSettings,\n },\n isViewStudioScope(viewId, viewsList),\n )\n\n toast.success('View settings saved')\n } catch (error) {\n const errorMessage =\n typeof error === 'string'\n ? 'Failed to save view settings: ' + error\n : 'Failed to save view settings'\n console.error(errorMessage)\n throw errorMessage\n }\n },\n [viewType, projectName, sourceSettings],\n )\n\n return { onSaveViewFromCurrent }\n}\n"],"names":["useSaveViewFromCurrent","viewType","projectName","viewsList","sourceSettings","onUpdateView","useCallback","viewId","isViewStudioScope","toast","error","errorMessage"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcO,MAAMA,KAAyB,CAAC;AAAA,EACrC,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,cAAAC;AACF,OAmCS,EAAE,uBAjCqBC;AAAA,EAC5B,OAAOC,MAAmB;AACxB,QAAI,CAACN;AACG,YAAA;AAIR,QAAI,CAACG;AACG,YAAA;AAGJ,QAAA;AACI,YAAAC;AAAA,QACJE;AAAA,QACA;AAAA,UACE,UAAUH;AAAA,QACZ;AAAA,QACAI,EAAkBD,GAAQJ,CAAS;AAAA,MACrC,GAEAM,EAAM,QAAQ,qBAAqB;AAAA,aAC5BC,GAAO;AACd,YAAMC,IACJ,OAAOD,KAAU,WACb,mCAAmCA,IACnC;AACN,oBAAQ,MAAMC,CAAY,GACpBA;AAAA,IAAA;AAAA,EAEV;AAAA,EACA,CAACV,GAAUC,GAAaE,CAAc;AACxC,EAE+B;"}
@@ -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 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 AddonProjectContextProps 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}: AddonProjectContextProps) => {\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":"6rIA2CMA,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 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 +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 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 AddonProjectContextProps 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}: AddonProjectContextProps) => {\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
+ {"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,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("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 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;
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":"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"}
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":"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"}
@@ -100,10 +100,11 @@ import "./MoveEntityContext.es.js";
100
100
  import "./MenuContext.es.js";
101
101
  import "./WebsocketContext.es.js";
102
102
  import { useGlobalContext as Q } from "./GlobalContext.es.js";
103
+ import "./ProjectContext.es.js";
103
104
  import "react-redux";
104
105
  import "custom-protocol-check";
105
106
  import "../containers/ProjectTreeTable/components/GroupSettingsFallback.es.js";
106
- const F = J(void 0), Qo = ({
107
+ const F = J(void 0), Vo = ({
107
108
  children: t,
108
109
  defaultTab: s = "activity",
109
110
  hasLicense: l,
@@ -168,7 +169,7 @@ const F = J(void 0), Qo = ({
168
169
  if (t === void 0)
169
170
  throw new Error("useDetailsPanel must be used within a DetailsProvider");
170
171
  return t;
171
- }, Vo = (t) => {
172
+ }, Wo = (t) => {
172
173
  const { getOpenForScope: s, setPanelOpen: l, getTabForScope: e } = V(), [n, r] = w(
173
174
  "details/tabs-by-scope",
174
175
  {}
@@ -187,8 +188,8 @@ const F = J(void 0), Qo = ({
187
188
  };
188
189
  };
189
190
  export {
190
- Qo as DetailsPanelProvider,
191
+ Vo as DetailsPanelProvider,
191
192
  V as useDetailsPanelContext,
192
- Vo as useScopedDetailsPanel
193
+ Wo as useScopedDetailsPanel
193
194
  };
194
195
  //# 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, { 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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"}