@ynput/ayon-frontend-shared 0.2.39 → 0.2.41

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 (436) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +24 -22
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/api.cjs.js +1 -1
  5. package/dist/api.es.js +256 -248
  6. package/dist/api.es.js.map +1 -1
  7. package/dist/index.cjs.js +1 -1
  8. package/dist/index.es.js +11 -9
  9. package/dist/index.es.js.map +1 -1
  10. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
  11. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
  12. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +16 -16
  13. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
  14. package/dist/shared/src/api/queries/config/getConfig.cjs.js +2 -0
  15. package/dist/shared/src/api/queries/config/getConfig.cjs.js.map +1 -0
  16. package/dist/shared/src/api/queries/config/getConfig.es.js +111 -0
  17. package/dist/shared/src/api/queries/config/getConfig.es.js.map +1 -0
  18. package/dist/shared/src/api/queries/config/updateConfig.cjs.js +2 -0
  19. package/dist/shared/src/api/queries/config/updateConfig.cjs.js.map +1 -0
  20. package/dist/shared/src/api/queries/config/updateConfig.es.js +13 -0
  21. package/dist/shared/src/api/queries/config/updateConfig.es.js.map +1 -0
  22. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  23. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  24. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +5 -3
  25. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  26. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +1 -1
  27. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  28. package/dist/shared/src/api/queries/entities/updateEntity.es.js +5 -3
  29. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  30. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
  31. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
  32. package/dist/shared/src/api/queries/links/getEntityLinks.es.js +106 -86
  33. package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
  34. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  35. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  36. package/dist/shared/src/api/queries/overview/updateOverview.es.js +68 -66
  37. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  38. package/dist/shared/src/api/queries/users/getUsers.cjs.js +2 -2
  39. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  40. package/dist/shared/src/api/queries/users/getUsers.es.js +34 -32
  41. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  42. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.cjs.js +8 -7
  43. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.cjs.js.map +1 -1
  44. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.es.js +24 -20
  45. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.es.js.map +1 -1
  46. package/dist/shared/src/components/Chips/Chips.cjs.js +10 -6
  47. package/dist/shared/src/components/Chips/Chips.cjs.js.map +1 -1
  48. package/dist/shared/src/components/Chips/Chips.es.js +44 -38
  49. package/dist/shared/src/components/Chips/Chips.es.js.map +1 -1
  50. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  51. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  52. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +4 -2
  53. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  54. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  55. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  56. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +4 -2
  57. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  58. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  59. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  60. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +4 -2
  61. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  62. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  63. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  64. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +4 -2
  65. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  66. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  67. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  68. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +4 -2
  69. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  70. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  71. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  72. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +4 -2
  73. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  74. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  75. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  76. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +6 -4
  77. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  78. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  79. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  80. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +4 -2
  81. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  82. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  83. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  84. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +28 -25
  85. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  86. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
  87. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
  88. package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js +5 -0
  89. package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js.map +1 -1
  90. package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js +5 -0
  91. package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js.map +1 -1
  92. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  93. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  94. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +4 -2
  95. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  96. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  97. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  98. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +4 -2
  99. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  100. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  101. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  102. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +4 -2
  103. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  104. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  105. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  106. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +6 -4
  107. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  108. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  109. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  110. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +4 -2
  111. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  112. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  113. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  114. package/dist/shared/src/components/RenameForm/RenameForm.es.js +4 -2
  115. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  116. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  117. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  118. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +4 -2
  119. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  120. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  121. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  122. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +4 -2
  123. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  124. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  125. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  126. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +5 -3
  127. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  128. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  129. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  130. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +4 -2
  131. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  132. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  133. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  134. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +4 -2
  135. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  136. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  137. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  138. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +8 -6
  139. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  140. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  141. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  142. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +4 -2
  143. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  144. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  145. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  146. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +4 -2
  147. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  148. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  149. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  150. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +6 -4
  151. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  152. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  153. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  154. package/dist/shared/src/components/Watchers/Watchers.es.js +4 -2
  155. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  156. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  157. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  158. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +4 -2
  159. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  160. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  161. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  162. package/dist/shared/src/containers/Actions/Actions.es.js +4 -2
  163. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  164. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  165. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  166. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +4 -2
  167. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  168. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  169. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  170. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +4 -2
  171. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  172. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  173. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  174. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +4 -2
  175. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  176. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  177. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  178. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +5 -3
  179. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  180. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  181. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  182. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +4 -2
  183. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  184. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  185. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  186. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +4 -2
  187. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  188. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
  189. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
  190. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +4 -2
  191. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
  192. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  193. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  194. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +4 -2
  195. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  196. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  197. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  198. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +4 -2
  199. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  200. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  201. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  202. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +4 -2
  203. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  204. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  205. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  206. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +4 -2
  207. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  208. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  209. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  210. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +4 -2
  211. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  212. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  213. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  214. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +4 -2
  215. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  216. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  217. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  218. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +4 -2
  219. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  220. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  221. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  222. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +4 -2
  223. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  224. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  225. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  226. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +4 -2
  227. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  228. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  229. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  230. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +4 -2
  231. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  232. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  233. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  234. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +7 -5
  235. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  236. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  237. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  238. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +4 -2
  239. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  240. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  241. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  242. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +4 -2
  243. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  244. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  245. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  246. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +4 -2
  247. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  248. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  249. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  250. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +4 -2
  251. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  252. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  253. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  254. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +4 -2
  255. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  256. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  257. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  258. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +4 -2
  259. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  260. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  261. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  262. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +6 -4
  263. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  264. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  265. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  266. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +4 -2
  267. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  268. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  269. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  270. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +7 -5
  271. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  272. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  273. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  274. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +4 -2
  275. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  276. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  277. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  278. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +4 -2
  279. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  280. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  281. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  282. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +4 -2
  283. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  284. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  285. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  286. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +4 -2
  287. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  288. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  289. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  290. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +30 -28
  291. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  292. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  293. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  294. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +4 -2
  295. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  296. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  297. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  298. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +4 -2
  299. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  300. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  301. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  302. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +4 -2
  303. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  304. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  305. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  306. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +4 -2
  307. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  308. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  309. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  310. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +4 -2
  311. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  312. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  313. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  314. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +4 -2
  315. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  316. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  317. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  318. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +15 -13
  319. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  320. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.cjs.js +1 -1
  321. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.cjs.js.map +1 -1
  322. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.es.js +34 -21
  323. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.es.js.map +1 -1
  324. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  325. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  326. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +31 -28
  327. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  328. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  329. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  330. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +4 -2
  331. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  332. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  333. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  334. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +4 -2
  335. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  336. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  337. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  338. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +4 -2
  339. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  340. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  341. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  342. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +4 -2
  343. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  344. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  345. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  346. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +6 -4
  347. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  348. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  349. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  350. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +4 -2
  351. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  352. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
  353. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  354. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +4 -2
  355. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  356. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  357. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  358. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +4 -2
  359. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  360. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  361. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  362. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +4 -2
  363. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  364. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  365. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  366. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +4 -2
  367. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  368. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  369. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  370. package/dist/shared/src/context/AddonProjectContext.es.js +6 -4
  371. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  372. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  373. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  374. package/dist/shared/src/context/DetailsPanelContext.es.js +6 -4
  375. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  376. package/dist/shared/src/context/GlobalContext.cjs.js +1 -1
  377. package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -1
  378. package/dist/shared/src/context/GlobalContext.es.js +6 -4
  379. package/dist/shared/src/context/GlobalContext.es.js.map +1 -1
  380. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  381. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  382. package/dist/shared/src/context/PowerpackContext.es.js +8 -6
  383. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  384. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  385. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  386. package/dist/shared/src/context/ProjectContext.es.js +44 -38
  387. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  388. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  389. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  390. package/dist/shared/src/context/ProjectFoldersContext.es.js +6 -4
  391. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  392. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  393. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  394. package/dist/shared/src/context/RemoteModulesContext.es.js +6 -4
  395. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  396. package/dist/shared/src/context/UriContext.cjs.js +1 -1
  397. package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
  398. package/dist/shared/src/context/UriContext.es.js +7 -5
  399. package/dist/shared/src/context/UriContext.es.js.map +1 -1
  400. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  401. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  402. package/dist/shared/src/context/WebsocketContext.es.js +6 -4
  403. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  404. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  405. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  406. package/dist/shared/src/hooks/useActionTriggers.es.js +4 -2
  407. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  408. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  409. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  410. package/dist/shared/src/hooks/useEntityUpdate.es.js +4 -2
  411. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  412. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
  413. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
  414. package/dist/shared/src/hooks/useGetEntityGroups.es.js +4 -2
  415. package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
  416. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  417. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  418. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +4 -2
  419. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  420. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  421. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  422. package/dist/shared/src/hooks/useScopedStatuses.es.js +6 -4
  423. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  424. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  425. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  426. package/dist/shared/src/hooks/useUserProjectConfig.es.js +4 -2
  427. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  428. package/dist/types/api/queries/config/getConfig.d.ts +747 -0
  429. package/dist/types/api/queries/config/index.d.ts +2 -0
  430. package/dist/types/api/queries/config/updateConfig.d.ts +171 -0
  431. package/dist/types/api/queries/index.d.ts +1 -0
  432. package/dist/types/api/queries/links/getEntityLinks.d.ts +2 -1
  433. package/dist/types/components/AddonLoadingScreen/AddonLoadingScreen.d.ts +7 -2
  434. package/dist/types/components/Chips/Chips.d.ts +1 -0
  435. package/dist/types/components/LinksManager/LinksManager.d.ts +1 -0
  436. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DetailsPanelContext.cjs.js","sources":["../../../../src/context/DetailsPanelContext.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useCallback,\n ReactNode,\n useState,\n useEffect,\n} from 'react'\nimport { useLocalStorage } from '@shared/hooks'\nimport { DetailsPanelEntityType } from '@shared/api'\nimport type { UserModel } from '@shared/api'\nimport { useLocation, useNavigate, useParams } from 'react-router-dom'\nimport { useSearchParams } from 'react-router-dom'\nimport { SavedAnnotationMetadata } from '@shared/containers'\nimport { PowerpackFeature, usePowerpack } from './PowerpackContext'\nimport { useGlobalContext } from './GlobalContext'\nimport { useURIContext } from './UriContext'\n\nexport type FeedFilters = 'activity' | 'comments' | 'versions' | 'checklists'\n\nexport type DetailsPanelTab = FeedFilters | 'details' | 'files'\n\nexport type SlideOut = {\n entityId: string\n entityType: DetailsPanelEntityType\n projectName: string\n}\n\nexport type DetailsPanelPip = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n scope: string\n}\n\nexport type Entities = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n entitySubTypes?: string[]\n source?: 'uri' | 'url' | 'related' // uri = ayon+entity://..., url = ?project=...&type=...&id=...\n}\n\nexport interface OpenStateByScope {\n [scope: string]: boolean\n}\n\n// Create a new interface for managing tab state by scope\nexport interface TabStateByScope {\n [scope: string]: DetailsPanelTab\n}\n\n// these props get forwarded to the details panel value\n// it's mainly redux callbacks that cannot be used in shared library\nexport interface DetailsPanelContextProps {\n dispatch?: any // this is a redux dispatch function and it's quite annoying we need to do this\n user: UserModel\n viewer?: {\n reviewableIds: string[]\n taskId?: string | null\n folderId?: string | null\n }\n // redux callback actions\n onOpenImage?: (args: any) => void\n onGoToFrame?: (frame: number) => void\n onOpenViewer?: (args: any) => void\n onUpdateEntity?: (data: { operations: any[]; entityType: string }) => void\n // route hooks\n useParams: typeof useParams\n useNavigate: typeof useNavigate\n useLocation: typeof useLocation\n useSearchParams: typeof useSearchParams\n feedAnnotationsEnabled?: boolean\n hasLicense?: boolean\n // debugging used to simulate different values\n debug?: {\n isDeveloperMode?: boolean\n isGuest?: boolean\n hasLicense?: boolean\n }\n}\n\n// Interface for our simplified context\nexport interface DetailsPanelContextType extends DetailsPanelContextProps {\n // user\n isDeveloperMode: boolean\n isGuest: boolean\n // Open state for the panel by scope\n panelOpenByScope: OpenStateByScope\n getOpenForScope: (scope: string) => boolean\n setPanelOpen: (scope: string, isOpen: boolean) => void\n setPanelOpenByScope: (newState: OpenStateByScope) => void\n\n // Tab preferences by scope\n tabsByScope: TabStateByScope\n getTabForScope: (scope: string) => DetailsPanelTab\n\n // Slide out state\n slideOut: null | SlideOut\n openSlideOut: (slideOut: SlideOut) => void\n closeSlideOut: () => void\n\n // Highlighted activities\n highlightedActivities: string[]\n setHighlightedActivities: (activities: string[]) => void\n\n // PiP state\n pip: DetailsPanelPip | null\n openPip: (pip: DetailsPanelPip) => void\n closePip: () => void\n\n // Entities state\n entities: Entities | null\n setEntities: (entities: Entities | null) => void\n\n // Annotations\n feedAnnotations: SavedAnnotationMetadata[]\n setFeedAnnotations: (annotations: SavedAnnotationMetadata[]) => void\n\n // powerpack\n onPowerFeature: (feature: PowerpackFeature) => void\n}\n\n// Create the context\nconst DetailsPanelContext = createContext<DetailsPanelContextType | undefined>(undefined)\n\n// Provider component\nexport interface DetailsPanelProviderProps extends DetailsPanelContextProps {\n children: ReactNode\n defaultTab?: DetailsPanelTab\n}\n\nexport const DetailsPanelProvider: React.FC<DetailsPanelProviderProps> = ({\n children,\n defaultTab = 'activity',\n hasLicense: hasLicenseProp,\n debug = {},\n ...forwardedProps\n}) => {\n // get current user\n const { user: currentUser } = useGlobalContext()\n const isDeveloperMode =\n 'isDeveloperMode' in debug\n ? (debug.isDeveloperMode as boolean)\n : currentUser?.attrib?.developerMode ?? false\n const isGuest = 'isGuest' in debug ? (debug.isGuest as boolean) : currentUser?.data?.isGuest\n\n // get license from powerpack or forwarded down from props\n const { powerLicense, setPowerpackDialog } = usePowerpack()\n const hasLicense =\n 'hasLicense' in debug ? (debug.hasLicense as boolean) : !!powerLicense || hasLicenseProp\n\n // keep track of the currently open panel by scope\n const [panelOpenByScope, setPanelOpenByScope] = useState<OpenStateByScope>({})\n const [feedAnnotations, setFeedAnnotations] = useState<SavedAnnotationMetadata[]>([])\n\n // get the current open state for a specific scope\n const getOpenForScope = useCallback(\n (scope: string): boolean => {\n // Check if we have a saved preference for this scope\n if (panelOpenByScope[scope]) {\n return panelOpenByScope[scope]\n }\n\n // Fall back to default\n return false\n },\n [panelOpenByScope],\n )\n // Set open state for a scope\n const setPanelOpen = useCallback(\n (scope: string, isOpen: boolean) => {\n // Create a new state object based on current open state\n const newState = { ...panelOpenByScope }\n newState[scope] = isOpen\n\n // Update the state with the new object\n setPanelOpenByScope(newState)\n },\n [panelOpenByScope],\n )\n\n // Use localStorage to persist tab preferences by scope\n const [tabsByScope] = useLocalStorage<TabStateByScope>('details/tabs-by-scope', {})\n\n // Get the current tab for a specific scope\n const getTabForScope = useCallback(\n (scope: string): DetailsPanelTab => {\n // Check if we have a saved preference for this scope\n if (tabsByScope[scope]) {\n return tabsByScope[scope]\n }\n\n // Fall back to default\n return defaultTab\n },\n [tabsByScope, defaultTab],\n )\n\n // Set tab for a scope\n\n // is the slide out open?\n const [slideOut, setSlideOut] = useState<null | SlideOut>(null)\n\n // open the slide out\n const openSlideOut = useCallback<DetailsPanelContextType['openSlideOut']>((params) => {\n setSlideOut(params)\n }, [])\n\n // close the slide out\n const closeSlideOut = useCallback(() => {\n setSlideOut(null)\n if (slideOut) {\n setHighlightedActivities([])\n }\n }, [])\n\n const [pip, setPip] = useState<DetailsPanelPip | null>(null)\n\n const openPip = useCallback((pip: DetailsPanelPip) => {\n setPip(pip)\n }, [])\n const closePip = useCallback(() => {\n setPip(null)\n }, [])\n\n const [entities, setEntities] = useState<Entities | null>(null)\n\n const [highlightedActivities, setHighlightedActivities] = useState<string[]>([])\n\n const { uriType, uri, entity, getUriEntities } = useURIContext()\n const [searchParams] = useSearchParams()\n\n // on first load, check if there is a uri or URL params and open details panel if present\n useEffect(() => {\n // Priority 1: Check for 'uri' parameter (ayon+entity://...)\n if (uriType === 'entity' && entity && entity.entityType !== 'product') {\n getUriEntities()\n .then((result) => {\n if (result.length === 0) return\n\n const entityUriData = result.find((r) => r.uri === uri)\n const entityData = entityUriData?.entities?.[0]\n\n if (!entityUriData || !entityData) return\n const projectName = entityData?.projectName || entity.projectName || ''\n const id =\n entityData.representationId ||\n entityData.versionId ||\n entityData.productId ||\n entityData.taskId ||\n entityData.folderId\n\n if (!projectName || !id) return\n\n const newEntities: Entities = {\n entityType: entity.entityType as DetailsPanelEntityType,\n entities: [\n {\n id: id,\n projectName: projectName,\n },\n ],\n source: 'uri',\n }\n\n setEntities(newEntities)\n })\n .catch((err) => {\n console.warn('Failed to get URI entities:', err)\n })\n return\n }\n\n // Priority 2: Check for URL params (project, type, id)\n const project = searchParams.get('project')\n const type = searchParams.get('type')\n const id = searchParams.get('id')\n const activity = searchParams.get('activity')\n\n if (project && type && id) {\n const newEntities: Entities = {\n entityType: type as DetailsPanelEntityType,\n entities: [\n {\n id,\n projectName: project,\n },\n ],\n source: 'url',\n }\n\n setEntities(newEntities)\n\n // if there is an activity param, open the activity tab\n if (activity) {\n setHighlightedActivities([activity])\n }\n }\n }, [])\n\n const value = {\n // open state for the panel by scope\n panelOpenByScope,\n getOpenForScope,\n setPanelOpen,\n setPanelOpenByScope,\n // tab preferences\n tabsByScope,\n getTabForScope,\n // slide out state\n slideOut,\n openSlideOut,\n closeSlideOut,\n // highlighted activities\n highlightedActivities,\n setHighlightedActivities,\n // PiP state\n pip,\n openPip,\n closePip,\n // entities state\n entities,\n setEntities,\n feedAnnotations,\n setFeedAnnotations,\n isDeveloperMode,\n isGuest,\n hasLicense,\n onPowerFeature: setPowerpackDialog,\n ...forwardedProps,\n }\n\n return <DetailsPanelContext.Provider value={value}>{children}</DetailsPanelContext.Provider>\n}\n\n// Custom hook to use the details context\nexport const useDetailsPanelContext = (): DetailsPanelContextType => {\n const context = useContext(DetailsPanelContext)\n if (context === undefined) {\n throw new Error('useDetailsPanel must be used within a DetailsProvider')\n }\n return context\n}\n\n// Add a specialized hook for using a panel in a specific scope\nexport const useScopedDetailsPanel = (scope: string) => {\n const { getOpenForScope, setPanelOpen, getTabForScope } = useDetailsPanelContext()\n\n const [tabsByScope, setTabsByScope] = useLocalStorage<TabStateByScope>(\n 'details/tabs-by-scope',\n {},\n )\n\n const [tab, setTab] = useState<DetailsPanelTab>(() => tabsByScope[scope] ?? getTabForScope(scope))\n\n // Keep localStorage and local state in sync\n const updateTab = useCallback(\n (newTab: DetailsPanelTab) => {\n setTab(newTab)\n setTabsByScope({ ...tabsByScope, [scope]: newTab })\n },\n [scope, setTabsByScope],\n )\n\n const currentTab = tab\n const isFeed = ['activity', 'comments', 'versions', 'checklists'].includes(currentTab)\n\n return {\n isOpen: getOpenForScope(scope),\n setOpen: (isOpen: boolean) => setPanelOpen(scope, isOpen),\n currentTab,\n setTab: updateTab,\n isFeed,\n }\n}\n"],"names":["DetailsPanelContext","createContext","DetailsPanelProvider","children","defaultTab","hasLicenseProp","debug","forwardedProps","currentUser","useGlobalContext","isDeveloperMode","_a","isGuest","_b","powerLicense","setPowerpackDialog","usePowerpack","hasLicense","panelOpenByScope","setPanelOpenByScope","useState","feedAnnotations","setFeedAnnotations","getOpenForScope","useCallback","scope","setPanelOpen","isOpen","newState","tabsByScope","useLocalStorage","getTabForScope","slideOut","setSlideOut","openSlideOut","params","closeSlideOut","setHighlightedActivities","pip","setPip","openPip","closePip","entities","setEntities","highlightedActivities","uriType","uri","entity","getUriEntities","useURIContext","searchParams","useSearchParams","useEffect","result","entityUriData","r","entityData","projectName","id","newEntities","err","project","type","activity","value","jsx","useDetailsPanelContext","context","useContext","useScopedDetailsPanel","setTabsByScope","tab","setTab","updateTab","newTab","currentTab","isFeed"],"mappings":"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"}
1
+ {"version":3,"file":"DetailsPanelContext.cjs.js","sources":["../../../../src/context/DetailsPanelContext.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useCallback,\n ReactNode,\n useState,\n useEffect,\n} from 'react'\nimport { useLocalStorage } from '@shared/hooks'\nimport { DetailsPanelEntityType } from '@shared/api'\nimport type { UserModel } from '@shared/api'\nimport { useLocation, useNavigate, useParams } from 'react-router-dom'\nimport { useSearchParams } from 'react-router-dom'\nimport { SavedAnnotationMetadata } from '@shared/containers'\nimport { PowerpackFeature, usePowerpack } from './PowerpackContext'\nimport { useGlobalContext } from './GlobalContext'\nimport { useURIContext } from './UriContext'\n\nexport type FeedFilters = 'activity' | 'comments' | 'versions' | 'checklists'\n\nexport type DetailsPanelTab = FeedFilters | 'details' | 'files'\n\nexport type SlideOut = {\n entityId: string\n entityType: DetailsPanelEntityType\n projectName: string\n}\n\nexport type DetailsPanelPip = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n scope: string\n}\n\nexport type Entities = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n entitySubTypes?: string[]\n source?: 'uri' | 'url' | 'related' // uri = ayon+entity://..., url = ?project=...&type=...&id=...\n}\n\nexport interface OpenStateByScope {\n [scope: string]: boolean\n}\n\n// Create a new interface for managing tab state by scope\nexport interface TabStateByScope {\n [scope: string]: DetailsPanelTab\n}\n\n// these props get forwarded to the details panel value\n// it's mainly redux callbacks that cannot be used in shared library\nexport interface DetailsPanelContextProps {\n dispatch?: any // this is a redux dispatch function and it's quite annoying we need to do this\n user: UserModel\n viewer?: {\n reviewableIds: string[]\n taskId?: string | null\n folderId?: string | null\n }\n // redux callback actions\n onOpenImage?: (args: any) => void\n onGoToFrame?: (frame: number) => void\n onOpenViewer?: (args: any) => void\n onUpdateEntity?: (data: { operations: any[]; entityType: string }) => void\n // route hooks\n useParams: typeof useParams\n useNavigate: typeof useNavigate\n useLocation: typeof useLocation\n useSearchParams: typeof useSearchParams\n feedAnnotationsEnabled?: boolean\n hasLicense?: boolean\n // debugging used to simulate different values\n debug?: {\n isDeveloperMode?: boolean\n isGuest?: boolean\n hasLicense?: boolean\n }\n}\n\n// Interface for our simplified context\nexport interface DetailsPanelContextType extends DetailsPanelContextProps {\n // user\n isDeveloperMode: boolean\n isGuest: boolean\n // Open state for the panel by scope\n panelOpenByScope: OpenStateByScope\n getOpenForScope: (scope: string) => boolean\n setPanelOpen: (scope: string, isOpen: boolean) => void\n setPanelOpenByScope: (newState: OpenStateByScope) => void\n\n // Tab preferences by scope\n tabsByScope: TabStateByScope\n getTabForScope: (scope: string) => DetailsPanelTab\n\n // Slide out state\n slideOut: null | SlideOut\n openSlideOut: (slideOut: SlideOut) => void\n closeSlideOut: () => void\n\n // Highlighted activities\n highlightedActivities: string[]\n setHighlightedActivities: (activities: string[]) => void\n\n // PiP state\n pip: DetailsPanelPip | null\n openPip: (pip: DetailsPanelPip) => void\n closePip: () => void\n\n // Entities state\n entities: Entities | null\n setEntities: (entities: Entities | null) => void\n\n // Annotations\n feedAnnotations: SavedAnnotationMetadata[]\n setFeedAnnotations: (annotations: SavedAnnotationMetadata[]) => void\n\n // powerpack\n onPowerFeature: (feature: PowerpackFeature) => void\n}\n\n// Create the context\nconst DetailsPanelContext = createContext<DetailsPanelContextType | undefined>(undefined)\n\n// Provider component\nexport interface DetailsPanelProviderProps extends DetailsPanelContextProps {\n children: ReactNode\n defaultTab?: DetailsPanelTab\n}\n\nexport const DetailsPanelProvider: React.FC<DetailsPanelProviderProps> = ({\n children,\n defaultTab = 'activity',\n hasLicense: hasLicenseProp,\n debug = {},\n ...forwardedProps\n}) => {\n // get current user\n const { user: currentUser } = useGlobalContext()\n const isDeveloperMode =\n 'isDeveloperMode' in debug\n ? (debug.isDeveloperMode as boolean)\n : currentUser?.attrib?.developerMode ?? false\n const isGuest = 'isGuest' in debug ? (debug.isGuest as boolean) : currentUser?.data?.isGuest\n\n // get license from powerpack or forwarded down from props\n const { powerLicense, setPowerpackDialog } = usePowerpack()\n const hasLicense =\n 'hasLicense' in debug ? (debug.hasLicense as boolean) : !!powerLicense || hasLicenseProp\n\n // keep track of the currently open panel by scope\n const [panelOpenByScope, setPanelOpenByScope] = useState<OpenStateByScope>({})\n const [feedAnnotations, setFeedAnnotations] = useState<SavedAnnotationMetadata[]>([])\n\n // get the current open state for a specific scope\n const getOpenForScope = useCallback(\n (scope: string): boolean => {\n // Check if we have a saved preference for this scope\n if (panelOpenByScope[scope]) {\n return panelOpenByScope[scope]\n }\n\n // Fall back to default\n return false\n },\n [panelOpenByScope],\n )\n // Set open state for a scope\n const setPanelOpen = useCallback(\n (scope: string, isOpen: boolean) => {\n // Create a new state object based on current open state\n const newState = { ...panelOpenByScope }\n newState[scope] = isOpen\n\n // Update the state with the new object\n setPanelOpenByScope(newState)\n },\n [panelOpenByScope],\n )\n\n // Use localStorage to persist tab preferences by scope\n const [tabsByScope] = useLocalStorage<TabStateByScope>('details/tabs-by-scope', {})\n\n // Get the current tab for a specific scope\n const getTabForScope = useCallback(\n (scope: string): DetailsPanelTab => {\n // Check if we have a saved preference for this scope\n if (tabsByScope[scope]) {\n return tabsByScope[scope]\n }\n\n // Fall back to default\n return defaultTab\n },\n [tabsByScope, defaultTab],\n )\n\n // Set tab for a scope\n\n // is the slide out open?\n const [slideOut, setSlideOut] = useState<null | SlideOut>(null)\n\n // open the slide out\n const openSlideOut = useCallback<DetailsPanelContextType['openSlideOut']>((params) => {\n setSlideOut(params)\n }, [])\n\n // close the slide out\n const closeSlideOut = useCallback(() => {\n setSlideOut(null)\n if (slideOut) {\n setHighlightedActivities([])\n }\n }, [])\n\n const [pip, setPip] = useState<DetailsPanelPip | null>(null)\n\n const openPip = useCallback((pip: DetailsPanelPip) => {\n setPip(pip)\n }, [])\n const closePip = useCallback(() => {\n setPip(null)\n }, [])\n\n const [entities, setEntities] = useState<Entities | null>(null)\n\n const [highlightedActivities, setHighlightedActivities] = useState<string[]>([])\n\n const { uriType, uri, entity, getUriEntities } = useURIContext()\n const [searchParams] = useSearchParams()\n\n // on first load, check if there is a uri or URL params and open details panel if present\n useEffect(() => {\n // Priority 1: Check for 'uri' parameter (ayon+entity://...)\n if (uriType === 'entity' && entity && entity.entityType !== 'product') {\n getUriEntities()\n .then((result) => {\n if (result.length === 0) return\n\n const entityUriData = result.find((r) => r.uri === uri)\n const entityData = entityUriData?.entities?.[0]\n\n if (!entityUriData || !entityData) return\n const projectName = entityData?.projectName || entity.projectName || ''\n const id =\n entityData.representationId ||\n entityData.versionId ||\n entityData.productId ||\n entityData.taskId ||\n entityData.folderId\n\n if (!projectName || !id) return\n\n const newEntities: Entities = {\n entityType: entity.entityType as DetailsPanelEntityType,\n entities: [\n {\n id: id,\n projectName: projectName,\n },\n ],\n source: 'uri',\n }\n\n setEntities(newEntities)\n })\n .catch((err) => {\n console.warn('Failed to get URI entities:', err)\n })\n return\n }\n\n // Priority 2: Check for URL params (project, type, id)\n const project = searchParams.get('project')\n const type = searchParams.get('type')\n const id = searchParams.get('id')\n const activity = searchParams.get('activity')\n\n if (project && type && id) {\n const newEntities: Entities = {\n entityType: type as DetailsPanelEntityType,\n entities: [\n {\n id,\n projectName: project,\n },\n ],\n source: 'url',\n }\n\n setEntities(newEntities)\n\n // if there is an activity param, open the activity tab\n if (activity) {\n setHighlightedActivities([activity])\n }\n }\n }, [])\n\n const value = {\n // open state for the panel by scope\n panelOpenByScope,\n getOpenForScope,\n setPanelOpen,\n setPanelOpenByScope,\n // tab preferences\n tabsByScope,\n getTabForScope,\n // slide out state\n slideOut,\n openSlideOut,\n closeSlideOut,\n // highlighted activities\n highlightedActivities,\n setHighlightedActivities,\n // PiP state\n pip,\n openPip,\n closePip,\n // entities state\n entities,\n setEntities,\n feedAnnotations,\n setFeedAnnotations,\n isDeveloperMode,\n isGuest,\n hasLicense,\n onPowerFeature: setPowerpackDialog,\n ...forwardedProps,\n }\n\n return <DetailsPanelContext.Provider value={value}>{children}</DetailsPanelContext.Provider>\n}\n\n// Custom hook to use the details context\nexport const useDetailsPanelContext = (): DetailsPanelContextType => {\n const context = useContext(DetailsPanelContext)\n if (context === undefined) {\n throw new Error('useDetailsPanel must be used within a DetailsProvider')\n }\n return context\n}\n\n// Add a specialized hook for using a panel in a specific scope\nexport const useScopedDetailsPanel = (scope: string) => {\n const { getOpenForScope, setPanelOpen, getTabForScope } = useDetailsPanelContext()\n\n const [tabsByScope, setTabsByScope] = useLocalStorage<TabStateByScope>(\n 'details/tabs-by-scope',\n {},\n )\n\n const [tab, setTab] = useState<DetailsPanelTab>(() => tabsByScope[scope] ?? getTabForScope(scope))\n\n // Keep localStorage and local state in sync\n const updateTab = useCallback(\n (newTab: DetailsPanelTab) => {\n setTab(newTab)\n setTabsByScope({ ...tabsByScope, [scope]: newTab })\n },\n [scope, setTabsByScope],\n )\n\n const currentTab = tab\n const isFeed = ['activity', 'comments', 'versions', 'checklists'].includes(currentTab)\n\n return {\n isOpen: getOpenForScope(scope),\n setOpen: (isOpen: boolean) => setPanelOpen(scope, isOpen),\n currentTab,\n setTab: updateTab,\n isFeed,\n }\n}\n"],"names":["DetailsPanelContext","createContext","DetailsPanelProvider","children","defaultTab","hasLicenseProp","debug","forwardedProps","currentUser","useGlobalContext","isDeveloperMode","_a","isGuest","_b","powerLicense","setPowerpackDialog","usePowerpack","hasLicense","panelOpenByScope","setPanelOpenByScope","useState","feedAnnotations","setFeedAnnotations","getOpenForScope","useCallback","scope","setPanelOpen","isOpen","newState","tabsByScope","useLocalStorage","getTabForScope","slideOut","setSlideOut","openSlideOut","params","closeSlideOut","setHighlightedActivities","pip","setPip","openPip","closePip","entities","setEntities","highlightedActivities","uriType","uri","entity","getUriEntities","useURIContext","searchParams","useSearchParams","useEffect","result","entityUriData","r","entityData","projectName","id","newEntities","err","project","type","activity","value","jsx","useDetailsPanelContext","context","useContext","useScopedDetailsPanel","setTabsByScope","tab","setTab","updateTab","newTab","currentTab","isFeed"],"mappings":"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"}
@@ -54,6 +54,8 @@ import "../api/queries/attributes/getAttributes.es.js";
54
54
  import "../api/queries/attributes/updateAttributes.es.js";
55
55
  import "../api/queries/authentication/getAuthentication.es.js";
56
56
  import "../api/queries/cloud/cloud.es.js";
57
+ import "../api/queries/config/getConfig.es.js";
58
+ import "../api/queries/config/updateConfig.es.js";
57
59
  import "../api/queries/entities/getEntity.es.js";
58
60
  import "../api/queries/entities/getEntityPanel.es.js";
59
61
  import "../api/queries/entities/updateEntity.es.js";
@@ -108,7 +110,7 @@ import "react-redux";
108
110
  import "custom-protocol-check";
109
111
  import "../containers/ProjectTreeTable/components/GroupSettingsFallback.es.js";
110
112
  import { useSearchParams as mt } from "react-router-dom";
111
- const A = it(void 0), di = ({
113
+ const A = it(void 0), yi = ({
112
114
  children: o,
113
115
  defaultTab: a = "activity",
114
116
  hasLicense: h,
@@ -211,7 +213,7 @@ const A = it(void 0), di = ({
211
213
  if (o === void 0)
212
214
  throw new Error("useDetailsPanel must be used within a DetailsProvider");
213
215
  return o;
214
- }, fi = (o) => {
216
+ }, Pi = (o) => {
215
217
  const { getOpenForScope: a, setPanelOpen: h, getTabForScope: p } = ct(), [l, e] = G(
216
218
  "details/tabs-by-scope",
217
219
  {}
@@ -230,8 +232,8 @@ const A = it(void 0), di = ({
230
232
  };
231
233
  };
232
234
  export {
233
- di as DetailsPanelProvider,
235
+ yi as DetailsPanelProvider,
234
236
  ct as useDetailsPanelContext,
235
- fi as useScopedDetailsPanel
237
+ Pi as useScopedDetailsPanel
236
238
  };
237
239
  //# sourceMappingURL=DetailsPanelContext.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DetailsPanelContext.es.js","sources":["../../../../src/context/DetailsPanelContext.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useCallback,\n ReactNode,\n useState,\n useEffect,\n} from 'react'\nimport { useLocalStorage } from '@shared/hooks'\nimport { DetailsPanelEntityType } from '@shared/api'\nimport type { UserModel } from '@shared/api'\nimport { useLocation, useNavigate, useParams } from 'react-router-dom'\nimport { useSearchParams } from 'react-router-dom'\nimport { SavedAnnotationMetadata } from '@shared/containers'\nimport { PowerpackFeature, usePowerpack } from './PowerpackContext'\nimport { useGlobalContext } from './GlobalContext'\nimport { useURIContext } from './UriContext'\n\nexport type FeedFilters = 'activity' | 'comments' | 'versions' | 'checklists'\n\nexport type DetailsPanelTab = FeedFilters | 'details' | 'files'\n\nexport type SlideOut = {\n entityId: string\n entityType: DetailsPanelEntityType\n projectName: string\n}\n\nexport type DetailsPanelPip = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n scope: string\n}\n\nexport type Entities = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n entitySubTypes?: string[]\n source?: 'uri' | 'url' | 'related' // uri = ayon+entity://..., url = ?project=...&type=...&id=...\n}\n\nexport interface OpenStateByScope {\n [scope: string]: boolean\n}\n\n// Create a new interface for managing tab state by scope\nexport interface TabStateByScope {\n [scope: string]: DetailsPanelTab\n}\n\n// these props get forwarded to the details panel value\n// it's mainly redux callbacks that cannot be used in shared library\nexport interface DetailsPanelContextProps {\n dispatch?: any // this is a redux dispatch function and it's quite annoying we need to do this\n user: UserModel\n viewer?: {\n reviewableIds: string[]\n taskId?: string | null\n folderId?: string | null\n }\n // redux callback actions\n onOpenImage?: (args: any) => void\n onGoToFrame?: (frame: number) => void\n onOpenViewer?: (args: any) => void\n onUpdateEntity?: (data: { operations: any[]; entityType: string }) => void\n // route hooks\n useParams: typeof useParams\n useNavigate: typeof useNavigate\n useLocation: typeof useLocation\n useSearchParams: typeof useSearchParams\n feedAnnotationsEnabled?: boolean\n hasLicense?: boolean\n // debugging used to simulate different values\n debug?: {\n isDeveloperMode?: boolean\n isGuest?: boolean\n hasLicense?: boolean\n }\n}\n\n// Interface for our simplified context\nexport interface DetailsPanelContextType extends DetailsPanelContextProps {\n // user\n isDeveloperMode: boolean\n isGuest: boolean\n // Open state for the panel by scope\n panelOpenByScope: OpenStateByScope\n getOpenForScope: (scope: string) => boolean\n setPanelOpen: (scope: string, isOpen: boolean) => void\n setPanelOpenByScope: (newState: OpenStateByScope) => void\n\n // Tab preferences by scope\n tabsByScope: TabStateByScope\n getTabForScope: (scope: string) => DetailsPanelTab\n\n // Slide out state\n slideOut: null | SlideOut\n openSlideOut: (slideOut: SlideOut) => void\n closeSlideOut: () => void\n\n // Highlighted activities\n highlightedActivities: string[]\n setHighlightedActivities: (activities: string[]) => void\n\n // PiP state\n pip: DetailsPanelPip | null\n openPip: (pip: DetailsPanelPip) => void\n closePip: () => void\n\n // Entities state\n entities: Entities | null\n setEntities: (entities: Entities | null) => void\n\n // Annotations\n feedAnnotations: SavedAnnotationMetadata[]\n setFeedAnnotations: (annotations: SavedAnnotationMetadata[]) => void\n\n // powerpack\n onPowerFeature: (feature: PowerpackFeature) => void\n}\n\n// Create the context\nconst DetailsPanelContext = createContext<DetailsPanelContextType | undefined>(undefined)\n\n// Provider component\nexport interface DetailsPanelProviderProps extends DetailsPanelContextProps {\n children: ReactNode\n defaultTab?: DetailsPanelTab\n}\n\nexport const DetailsPanelProvider: React.FC<DetailsPanelProviderProps> = ({\n children,\n defaultTab = 'activity',\n hasLicense: hasLicenseProp,\n debug = {},\n ...forwardedProps\n}) => {\n // get current user\n const { user: currentUser } = useGlobalContext()\n const isDeveloperMode =\n 'isDeveloperMode' in debug\n ? (debug.isDeveloperMode as boolean)\n : currentUser?.attrib?.developerMode ?? false\n const isGuest = 'isGuest' in debug ? (debug.isGuest as boolean) : currentUser?.data?.isGuest\n\n // get license from powerpack or forwarded down from props\n const { powerLicense, setPowerpackDialog } = usePowerpack()\n const hasLicense =\n 'hasLicense' in debug ? (debug.hasLicense as boolean) : !!powerLicense || hasLicenseProp\n\n // keep track of the currently open panel by scope\n const [panelOpenByScope, setPanelOpenByScope] = useState<OpenStateByScope>({})\n const [feedAnnotations, setFeedAnnotations] = useState<SavedAnnotationMetadata[]>([])\n\n // get the current open state for a specific scope\n const getOpenForScope = useCallback(\n (scope: string): boolean => {\n // Check if we have a saved preference for this scope\n if (panelOpenByScope[scope]) {\n return panelOpenByScope[scope]\n }\n\n // Fall back to default\n return false\n },\n [panelOpenByScope],\n )\n // Set open state for a scope\n const setPanelOpen = useCallback(\n (scope: string, isOpen: boolean) => {\n // Create a new state object based on current open state\n const newState = { ...panelOpenByScope }\n newState[scope] = isOpen\n\n // Update the state with the new object\n setPanelOpenByScope(newState)\n },\n [panelOpenByScope],\n )\n\n // Use localStorage to persist tab preferences by scope\n const [tabsByScope] = useLocalStorage<TabStateByScope>('details/tabs-by-scope', {})\n\n // Get the current tab for a specific scope\n const getTabForScope = useCallback(\n (scope: string): DetailsPanelTab => {\n // Check if we have a saved preference for this scope\n if (tabsByScope[scope]) {\n return tabsByScope[scope]\n }\n\n // Fall back to default\n return defaultTab\n },\n [tabsByScope, defaultTab],\n )\n\n // Set tab for a scope\n\n // is the slide out open?\n const [slideOut, setSlideOut] = useState<null | SlideOut>(null)\n\n // open the slide out\n const openSlideOut = useCallback<DetailsPanelContextType['openSlideOut']>((params) => {\n setSlideOut(params)\n }, [])\n\n // close the slide out\n const closeSlideOut = useCallback(() => {\n setSlideOut(null)\n if (slideOut) {\n setHighlightedActivities([])\n }\n }, [])\n\n const [pip, setPip] = useState<DetailsPanelPip | null>(null)\n\n const openPip = useCallback((pip: DetailsPanelPip) => {\n setPip(pip)\n }, [])\n const closePip = useCallback(() => {\n setPip(null)\n }, [])\n\n const [entities, setEntities] = useState<Entities | null>(null)\n\n const [highlightedActivities, setHighlightedActivities] = useState<string[]>([])\n\n const { uriType, uri, entity, getUriEntities } = useURIContext()\n const [searchParams] = useSearchParams()\n\n // on first load, check if there is a uri or URL params and open details panel if present\n useEffect(() => {\n // Priority 1: Check for 'uri' parameter (ayon+entity://...)\n if (uriType === 'entity' && entity && entity.entityType !== 'product') {\n getUriEntities()\n .then((result) => {\n if (result.length === 0) return\n\n const entityUriData = result.find((r) => r.uri === uri)\n const entityData = entityUriData?.entities?.[0]\n\n if (!entityUriData || !entityData) return\n const projectName = entityData?.projectName || entity.projectName || ''\n const id =\n entityData.representationId ||\n entityData.versionId ||\n entityData.productId ||\n entityData.taskId ||\n entityData.folderId\n\n if (!projectName || !id) return\n\n const newEntities: Entities = {\n entityType: entity.entityType as DetailsPanelEntityType,\n entities: [\n {\n id: id,\n projectName: projectName,\n },\n ],\n source: 'uri',\n }\n\n setEntities(newEntities)\n })\n .catch((err) => {\n console.warn('Failed to get URI entities:', err)\n })\n return\n }\n\n // Priority 2: Check for URL params (project, type, id)\n const project = searchParams.get('project')\n const type = searchParams.get('type')\n const id = searchParams.get('id')\n const activity = searchParams.get('activity')\n\n if (project && type && id) {\n const newEntities: Entities = {\n entityType: type as DetailsPanelEntityType,\n entities: [\n {\n id,\n projectName: project,\n },\n ],\n source: 'url',\n }\n\n setEntities(newEntities)\n\n // if there is an activity param, open the activity tab\n if (activity) {\n setHighlightedActivities([activity])\n }\n }\n }, [])\n\n const value = {\n // open state for the panel by scope\n panelOpenByScope,\n getOpenForScope,\n setPanelOpen,\n setPanelOpenByScope,\n // tab preferences\n tabsByScope,\n getTabForScope,\n // slide out state\n slideOut,\n openSlideOut,\n closeSlideOut,\n // highlighted activities\n highlightedActivities,\n setHighlightedActivities,\n // PiP state\n pip,\n openPip,\n closePip,\n // entities state\n entities,\n setEntities,\n feedAnnotations,\n setFeedAnnotations,\n isDeveloperMode,\n isGuest,\n hasLicense,\n onPowerFeature: setPowerpackDialog,\n ...forwardedProps,\n }\n\n return <DetailsPanelContext.Provider value={value}>{children}</DetailsPanelContext.Provider>\n}\n\n// Custom hook to use the details context\nexport const useDetailsPanelContext = (): DetailsPanelContextType => {\n const context = useContext(DetailsPanelContext)\n if (context === undefined) {\n throw new Error('useDetailsPanel must be used within a DetailsProvider')\n }\n return context\n}\n\n// Add a specialized hook for using a panel in a specific scope\nexport const useScopedDetailsPanel = (scope: string) => {\n const { getOpenForScope, setPanelOpen, getTabForScope } = useDetailsPanelContext()\n\n const [tabsByScope, setTabsByScope] = useLocalStorage<TabStateByScope>(\n 'details/tabs-by-scope',\n {},\n )\n\n const [tab, setTab] = useState<DetailsPanelTab>(() => tabsByScope[scope] ?? getTabForScope(scope))\n\n // Keep localStorage and local state in sync\n const updateTab = useCallback(\n (newTab: DetailsPanelTab) => {\n setTab(newTab)\n setTabsByScope({ ...tabsByScope, [scope]: newTab })\n },\n [scope, setTabsByScope],\n )\n\n const currentTab = tab\n const isFeed = ['activity', 'comments', 'versions', 'checklists'].includes(currentTab)\n\n return {\n isOpen: getOpenForScope(scope),\n setOpen: (isOpen: boolean) => setPanelOpen(scope, isOpen),\n currentTab,\n setTab: updateTab,\n isFeed,\n }\n}\n"],"names":["DetailsPanelContext","createContext","DetailsPanelProvider","children","defaultTab","hasLicenseProp","debug","forwardedProps","currentUser","useGlobalContext","isDeveloperMode","_a","isGuest","_b","powerLicense","setPowerpackDialog","usePowerpack","hasLicense","panelOpenByScope","setPanelOpenByScope","useState","feedAnnotations","setFeedAnnotations","getOpenForScope","useCallback","scope","setPanelOpen","isOpen","newState","tabsByScope","useLocalStorage","getTabForScope","slideOut","setSlideOut","openSlideOut","params","closeSlideOut","setHighlightedActivities","pip","setPip","openPip","closePip","entities","setEntities","highlightedActivities","uriType","uri","entity","getUriEntities","useURIContext","searchParams","useSearchParams","useEffect","result","entityUriData","r","entityData","projectName","id","newEntities","err","project","type","activity","value","jsx","useDetailsPanelContext","context","useContext","useScopedDetailsPanel","setTabsByScope","tab","setTab","updateTab","newTab","currentTab","isFeed"],"mappings":"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"}
1
+ {"version":3,"file":"DetailsPanelContext.es.js","sources":["../../../../src/context/DetailsPanelContext.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useCallback,\n ReactNode,\n useState,\n useEffect,\n} from 'react'\nimport { useLocalStorage } from '@shared/hooks'\nimport { DetailsPanelEntityType } from '@shared/api'\nimport type { UserModel } from '@shared/api'\nimport { useLocation, useNavigate, useParams } from 'react-router-dom'\nimport { useSearchParams } from 'react-router-dom'\nimport { SavedAnnotationMetadata } from '@shared/containers'\nimport { PowerpackFeature, usePowerpack } from './PowerpackContext'\nimport { useGlobalContext } from './GlobalContext'\nimport { useURIContext } from './UriContext'\n\nexport type FeedFilters = 'activity' | 'comments' | 'versions' | 'checklists'\n\nexport type DetailsPanelTab = FeedFilters | 'details' | 'files'\n\nexport type SlideOut = {\n entityId: string\n entityType: DetailsPanelEntityType\n projectName: string\n}\n\nexport type DetailsPanelPip = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n scope: string\n}\n\nexport type Entities = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n entitySubTypes?: string[]\n source?: 'uri' | 'url' | 'related' // uri = ayon+entity://..., url = ?project=...&type=...&id=...\n}\n\nexport interface OpenStateByScope {\n [scope: string]: boolean\n}\n\n// Create a new interface for managing tab state by scope\nexport interface TabStateByScope {\n [scope: string]: DetailsPanelTab\n}\n\n// these props get forwarded to the details panel value\n// it's mainly redux callbacks that cannot be used in shared library\nexport interface DetailsPanelContextProps {\n dispatch?: any // this is a redux dispatch function and it's quite annoying we need to do this\n user: UserModel\n viewer?: {\n reviewableIds: string[]\n taskId?: string | null\n folderId?: string | null\n }\n // redux callback actions\n onOpenImage?: (args: any) => void\n onGoToFrame?: (frame: number) => void\n onOpenViewer?: (args: any) => void\n onUpdateEntity?: (data: { operations: any[]; entityType: string }) => void\n // route hooks\n useParams: typeof useParams\n useNavigate: typeof useNavigate\n useLocation: typeof useLocation\n useSearchParams: typeof useSearchParams\n feedAnnotationsEnabled?: boolean\n hasLicense?: boolean\n // debugging used to simulate different values\n debug?: {\n isDeveloperMode?: boolean\n isGuest?: boolean\n hasLicense?: boolean\n }\n}\n\n// Interface for our simplified context\nexport interface DetailsPanelContextType extends DetailsPanelContextProps {\n // user\n isDeveloperMode: boolean\n isGuest: boolean\n // Open state for the panel by scope\n panelOpenByScope: OpenStateByScope\n getOpenForScope: (scope: string) => boolean\n setPanelOpen: (scope: string, isOpen: boolean) => void\n setPanelOpenByScope: (newState: OpenStateByScope) => void\n\n // Tab preferences by scope\n tabsByScope: TabStateByScope\n getTabForScope: (scope: string) => DetailsPanelTab\n\n // Slide out state\n slideOut: null | SlideOut\n openSlideOut: (slideOut: SlideOut) => void\n closeSlideOut: () => void\n\n // Highlighted activities\n highlightedActivities: string[]\n setHighlightedActivities: (activities: string[]) => void\n\n // PiP state\n pip: DetailsPanelPip | null\n openPip: (pip: DetailsPanelPip) => void\n closePip: () => void\n\n // Entities state\n entities: Entities | null\n setEntities: (entities: Entities | null) => void\n\n // Annotations\n feedAnnotations: SavedAnnotationMetadata[]\n setFeedAnnotations: (annotations: SavedAnnotationMetadata[]) => void\n\n // powerpack\n onPowerFeature: (feature: PowerpackFeature) => void\n}\n\n// Create the context\nconst DetailsPanelContext = createContext<DetailsPanelContextType | undefined>(undefined)\n\n// Provider component\nexport interface DetailsPanelProviderProps extends DetailsPanelContextProps {\n children: ReactNode\n defaultTab?: DetailsPanelTab\n}\n\nexport const DetailsPanelProvider: React.FC<DetailsPanelProviderProps> = ({\n children,\n defaultTab = 'activity',\n hasLicense: hasLicenseProp,\n debug = {},\n ...forwardedProps\n}) => {\n // get current user\n const { user: currentUser } = useGlobalContext()\n const isDeveloperMode =\n 'isDeveloperMode' in debug\n ? (debug.isDeveloperMode as boolean)\n : currentUser?.attrib?.developerMode ?? false\n const isGuest = 'isGuest' in debug ? (debug.isGuest as boolean) : currentUser?.data?.isGuest\n\n // get license from powerpack or forwarded down from props\n const { powerLicense, setPowerpackDialog } = usePowerpack()\n const hasLicense =\n 'hasLicense' in debug ? (debug.hasLicense as boolean) : !!powerLicense || hasLicenseProp\n\n // keep track of the currently open panel by scope\n const [panelOpenByScope, setPanelOpenByScope] = useState<OpenStateByScope>({})\n const [feedAnnotations, setFeedAnnotations] = useState<SavedAnnotationMetadata[]>([])\n\n // get the current open state for a specific scope\n const getOpenForScope = useCallback(\n (scope: string): boolean => {\n // Check if we have a saved preference for this scope\n if (panelOpenByScope[scope]) {\n return panelOpenByScope[scope]\n }\n\n // Fall back to default\n return false\n },\n [panelOpenByScope],\n )\n // Set open state for a scope\n const setPanelOpen = useCallback(\n (scope: string, isOpen: boolean) => {\n // Create a new state object based on current open state\n const newState = { ...panelOpenByScope }\n newState[scope] = isOpen\n\n // Update the state with the new object\n setPanelOpenByScope(newState)\n },\n [panelOpenByScope],\n )\n\n // Use localStorage to persist tab preferences by scope\n const [tabsByScope] = useLocalStorage<TabStateByScope>('details/tabs-by-scope', {})\n\n // Get the current tab for a specific scope\n const getTabForScope = useCallback(\n (scope: string): DetailsPanelTab => {\n // Check if we have a saved preference for this scope\n if (tabsByScope[scope]) {\n return tabsByScope[scope]\n }\n\n // Fall back to default\n return defaultTab\n },\n [tabsByScope, defaultTab],\n )\n\n // Set tab for a scope\n\n // is the slide out open?\n const [slideOut, setSlideOut] = useState<null | SlideOut>(null)\n\n // open the slide out\n const openSlideOut = useCallback<DetailsPanelContextType['openSlideOut']>((params) => {\n setSlideOut(params)\n }, [])\n\n // close the slide out\n const closeSlideOut = useCallback(() => {\n setSlideOut(null)\n if (slideOut) {\n setHighlightedActivities([])\n }\n }, [])\n\n const [pip, setPip] = useState<DetailsPanelPip | null>(null)\n\n const openPip = useCallback((pip: DetailsPanelPip) => {\n setPip(pip)\n }, [])\n const closePip = useCallback(() => {\n setPip(null)\n }, [])\n\n const [entities, setEntities] = useState<Entities | null>(null)\n\n const [highlightedActivities, setHighlightedActivities] = useState<string[]>([])\n\n const { uriType, uri, entity, getUriEntities } = useURIContext()\n const [searchParams] = useSearchParams()\n\n // on first load, check if there is a uri or URL params and open details panel if present\n useEffect(() => {\n // Priority 1: Check for 'uri' parameter (ayon+entity://...)\n if (uriType === 'entity' && entity && entity.entityType !== 'product') {\n getUriEntities()\n .then((result) => {\n if (result.length === 0) return\n\n const entityUriData = result.find((r) => r.uri === uri)\n const entityData = entityUriData?.entities?.[0]\n\n if (!entityUriData || !entityData) return\n const projectName = entityData?.projectName || entity.projectName || ''\n const id =\n entityData.representationId ||\n entityData.versionId ||\n entityData.productId ||\n entityData.taskId ||\n entityData.folderId\n\n if (!projectName || !id) return\n\n const newEntities: Entities = {\n entityType: entity.entityType as DetailsPanelEntityType,\n entities: [\n {\n id: id,\n projectName: projectName,\n },\n ],\n source: 'uri',\n }\n\n setEntities(newEntities)\n })\n .catch((err) => {\n console.warn('Failed to get URI entities:', err)\n })\n return\n }\n\n // Priority 2: Check for URL params (project, type, id)\n const project = searchParams.get('project')\n const type = searchParams.get('type')\n const id = searchParams.get('id')\n const activity = searchParams.get('activity')\n\n if (project && type && id) {\n const newEntities: Entities = {\n entityType: type as DetailsPanelEntityType,\n entities: [\n {\n id,\n projectName: project,\n },\n ],\n source: 'url',\n }\n\n setEntities(newEntities)\n\n // if there is an activity param, open the activity tab\n if (activity) {\n setHighlightedActivities([activity])\n }\n }\n }, [])\n\n const value = {\n // open state for the panel by scope\n panelOpenByScope,\n getOpenForScope,\n setPanelOpen,\n setPanelOpenByScope,\n // tab preferences\n tabsByScope,\n getTabForScope,\n // slide out state\n slideOut,\n openSlideOut,\n closeSlideOut,\n // highlighted activities\n highlightedActivities,\n setHighlightedActivities,\n // PiP state\n pip,\n openPip,\n closePip,\n // entities state\n entities,\n setEntities,\n feedAnnotations,\n setFeedAnnotations,\n isDeveloperMode,\n isGuest,\n hasLicense,\n onPowerFeature: setPowerpackDialog,\n ...forwardedProps,\n }\n\n return <DetailsPanelContext.Provider value={value}>{children}</DetailsPanelContext.Provider>\n}\n\n// Custom hook to use the details context\nexport const useDetailsPanelContext = (): DetailsPanelContextType => {\n const context = useContext(DetailsPanelContext)\n if (context === undefined) {\n throw new Error('useDetailsPanel must be used within a DetailsProvider')\n }\n return context\n}\n\n// Add a specialized hook for using a panel in a specific scope\nexport const useScopedDetailsPanel = (scope: string) => {\n const { getOpenForScope, setPanelOpen, getTabForScope } = useDetailsPanelContext()\n\n const [tabsByScope, setTabsByScope] = useLocalStorage<TabStateByScope>(\n 'details/tabs-by-scope',\n {},\n )\n\n const [tab, setTab] = useState<DetailsPanelTab>(() => tabsByScope[scope] ?? getTabForScope(scope))\n\n // Keep localStorage and local state in sync\n const updateTab = useCallback(\n (newTab: DetailsPanelTab) => {\n setTab(newTab)\n setTabsByScope({ ...tabsByScope, [scope]: newTab })\n },\n [scope, setTabsByScope],\n )\n\n const currentTab = tab\n const isFeed = ['activity', 'comments', 'versions', 'checklists'].includes(currentTab)\n\n return {\n isOpen: getOpenForScope(scope),\n setOpen: (isOpen: boolean) => setPanelOpen(scope, isOpen),\n currentTab,\n setTab: updateTab,\n isFeed,\n }\n}\n"],"names":["DetailsPanelContext","createContext","DetailsPanelProvider","children","defaultTab","hasLicenseProp","debug","forwardedProps","currentUser","useGlobalContext","isDeveloperMode","_a","isGuest","_b","powerLicense","setPowerpackDialog","usePowerpack","hasLicense","panelOpenByScope","setPanelOpenByScope","useState","feedAnnotations","setFeedAnnotations","getOpenForScope","useCallback","scope","setPanelOpen","isOpen","newState","tabsByScope","useLocalStorage","getTabForScope","slideOut","setSlideOut","openSlideOut","params","closeSlideOut","setHighlightedActivities","pip","setPip","openPip","closePip","entities","setEntities","highlightedActivities","uriType","uri","entity","getUriEntities","useURIContext","searchParams","useSearchParams","useEffect","result","entityUriData","r","entityData","projectName","id","newEntities","err","project","type","activity","value","jsx","useDetailsPanelContext","context","useContext","useScopedDetailsPanel","setTabsByScope","tab","setTab","updateTab","newTab","currentTab","isFeed"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("../../../_virtual/jsx-runtime.cjs.js"),i=require("react");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");const x=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");const f=require("../api/queries/system/getSystem.cjs.js");require("../api/queries/userDashboard/getUserDashboard.cjs.js");const g=require("../api/queries/users/getUsers.cjs.js");require("../api/queries/users/updateUsers.cjs.js");require("../api/queries/users/guests.cjs.js");require("../api/queries/versions/updateVersions.cjs.js");require("../api/queries/views/getViews.cjs.js");require("../api/queries/views/updateViews.cjs.js");require("../api/queries/watchers/getWatchers.cjs.js");require("../api/queries/uris/getUris.cjs.js");const q=i.createContext(void 0),G=({children:e,skip:o=!1})=>{const{data:r,isLoading:t,error:s}=f.useGetSiteInfoQuery({full:!0},{skip:o}),{data:u,isLoading:n,error:a}=g.useGetCurrentUserQuery(),{data:l,isLoading:d,error:c}=x.useGetYnputCloudInfoQuery(void 0,{skip:!(u!=null&&u.name)});return b.jsxRuntimeExports.jsx(q.Provider,{value:{siteInfo:r,attributes:(r==null?void 0:r.attributes)||[],user:u,cloudInfo:l,isLoading:{siteInfo:t,user:n,cloudInfo:d},error:{siteInfo:s,user:a,cloudInfo:c}},children:e})},v=()=>{const e=i.useContext(q);if(e===void 0)throw new Error("useGlobalContext must be used within a GlobalProvider");return e};exports.GlobalProvider=G;exports.useGlobalContext=v;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("../../../_virtual/jsx-runtime.cjs.js"),i=require("react");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");const x=require("../api/queries/cloud/cloud.cjs.js");require("../api/queries/config/getConfig.cjs.js");require("../api/queries/config/updateConfig.cjs.js");require("../api/queries/entities/getEntity.cjs.js");require("../api/queries/entities/getEntityPanel.cjs.js");require("../api/queries/entities/updateEntity.cjs.js");require("../api/queries/entityLists/getLists.cjs.js");require("../api/queries/entityLists/updateLists.cjs.js");require("../api/queries/entityLists/getListsAttributes.cjs.js");require("../api/queries/entityLists/updateListsAttributes.cjs.js");require("../api/queries/entityLists/listFolders.cjs.js");require("../api/queries/folders/getFolders.cjs.js");require("../api/queries/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");const f=require("../api/queries/system/getSystem.cjs.js");require("../api/queries/userDashboard/getUserDashboard.cjs.js");const g=require("../api/queries/users/getUsers.cjs.js");require("../api/queries/users/updateUsers.cjs.js");require("../api/queries/users/guests.cjs.js");require("../api/queries/versions/updateVersions.cjs.js");require("../api/queries/views/getViews.cjs.js");require("../api/queries/views/updateViews.cjs.js");require("../api/queries/watchers/getWatchers.cjs.js");require("../api/queries/uris/getUris.cjs.js");const q=i.createContext(void 0),G=({children:e,skip:o=!1})=>{const{data:r,isLoading:t,error:s}=f.useGetSiteInfoQuery({full:!0},{skip:o}),{data:u,isLoading:n,error:a}=g.useGetCurrentUserQuery(),{data:l,isLoading:d,error:c}=x.useGetYnputCloudInfoQuery(void 0,{skip:!(u!=null&&u.name)});return b.jsxRuntimeExports.jsx(q.Provider,{value:{siteInfo:r,attributes:(r==null?void 0:r.attributes)||[],user:u,cloudInfo:l,isLoading:{siteInfo:t,user:n,cloudInfo:d},error:{siteInfo:s,user:a,cloudInfo:c}},children:e})},v=()=>{const e=i.useContext(q);if(e===void 0)throw new Error("useGlobalContext must be used within a GlobalProvider");return e};exports.GlobalProvider=G;exports.useGlobalContext=v;
2
2
  //# sourceMappingURL=GlobalContext.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalContext.cjs.js","sources":["../../../../src/context/GlobalContext.tsx"],"sourcesContent":["import { createContext, useContext, ReactNode, useEffect } from 'react'\nimport {\n useGetSiteInfoQuery,\n GetSiteInfoResult,\n useGetCurrentUserQuery,\n GetCurrentUserApiResponse,\n useGetYnputCloudInfoQuery,\n GetYnputCloudInfoApiResponse,\n AttributeModel,\n} from '@shared/api'\n\ntype GlobalContextType = {\n siteInfo: GetSiteInfoResult | undefined\n attributes: AttributeModel[]\n user: GetCurrentUserApiResponse | undefined\n cloudInfo: GetYnputCloudInfoApiResponse | undefined\n isLoading: {\n siteInfo: boolean\n user: boolean\n cloudInfo: boolean\n }\n error: {\n siteInfo: any\n user: any\n cloudInfo: any\n }\n}\n\nconst GlobalContext = createContext<GlobalContextType | undefined>(undefined)\n\ntype Props = {\n children: ReactNode\n skip?: boolean\n}\n\nexport const GlobalProvider = ({ children, skip = false }: Props) => {\n const { data: siteInfo, isLoading, error } = useGetSiteInfoQuery({ full: true }, { skip })\n const { data: user, isLoading: isLoadingUser, error: userError } = useGetCurrentUserQuery()\n // wait until user is logged in\n const {\n data: cloudInfo,\n isLoading: isLoadingCloud,\n error: cloudError,\n } = useGetYnputCloudInfoQuery(undefined, { skip: !user?.name })\n\n return (\n <GlobalContext.Provider\n value={{\n siteInfo,\n attributes: siteInfo?.attributes || [],\n user,\n cloudInfo,\n isLoading: {\n siteInfo: isLoading,\n user: isLoadingUser,\n cloudInfo: isLoadingCloud,\n },\n error: {\n siteInfo: error,\n user: userError,\n cloudInfo: cloudError,\n },\n }}\n >\n {children}\n </GlobalContext.Provider>\n )\n}\n\nexport const useGlobalContext = () => {\n const context = useContext(GlobalContext)\n\n if (context === undefined) {\n throw new Error('useGlobalContext must be used within a GlobalProvider')\n }\n\n return context\n}\n"],"names":["GlobalContext","createContext","GlobalProvider","children","skip","siteInfo","isLoading","error","useGetSiteInfoQuery","user","isLoadingUser","userError","useGetCurrentUserQuery","cloudInfo","isLoadingCloud","cloudError","useGetYnputCloudInfoQuery","jsx","useGlobalContext","context","useContext"],"mappings":"itIA4BA,MAAMA,EAAgBC,gBAA6C,MAAS,EAO/DC,EAAiB,CAAC,CAAE,SAAAC,EAAU,KAAAC,EAAO,MAAmB,CACnE,KAAM,CAAE,KAAMC,EAAU,UAAAC,EAAW,MAAAC,CAAM,EAAIC,sBAAoB,CAAE,KAAM,IAAQ,CAAE,KAAAJ,EAAM,EACnF,CAAE,KAAMK,EAAM,UAAWC,EAAe,MAAOC,GAAcC,yBAAuB,EAEpF,CACJ,KAAMC,EACN,UAAWC,EACX,MAAOC,CAAA,EACLC,EAAAA,0BAA0B,OAAW,CAAE,KAAM,EAACP,GAAA,MAAAA,EAAM,MAAM,EAG5D,OAAAQ,EAAA,kBAAA,IAACjB,EAAc,SAAd,CACC,MAAO,CACL,SAAAK,EACA,YAAYA,GAAA,YAAAA,EAAU,aAAc,CAAC,EACrC,KAAAI,EACA,UAAAI,EACA,UAAW,CACT,SAAUP,EACV,KAAMI,EACN,UAAWI,CACb,EACA,MAAO,CACL,SAAUP,EACV,KAAMI,EACN,UAAWI,CAAA,CAEf,EAEC,SAAAZ,CAAA,CACH,CAEJ,EAEae,EAAmB,IAAM,CAC9B,MAAAC,EAAUC,aAAWpB,CAAa,EAExC,GAAImB,IAAY,OACR,MAAA,IAAI,MAAM,uDAAuD,EAGlE,OAAAA,CACT"}
1
+ {"version":3,"file":"GlobalContext.cjs.js","sources":["../../../../src/context/GlobalContext.tsx"],"sourcesContent":["import { createContext, useContext, ReactNode, useEffect } from 'react'\nimport {\n useGetSiteInfoQuery,\n GetSiteInfoResult,\n useGetCurrentUserQuery,\n GetCurrentUserApiResponse,\n useGetYnputCloudInfoQuery,\n GetYnputCloudInfoApiResponse,\n AttributeModel,\n} from '@shared/api'\n\ntype GlobalContextType = {\n siteInfo: GetSiteInfoResult | undefined\n attributes: AttributeModel[]\n user: GetCurrentUserApiResponse | undefined\n cloudInfo: GetYnputCloudInfoApiResponse | undefined\n isLoading: {\n siteInfo: boolean\n user: boolean\n cloudInfo: boolean\n }\n error: {\n siteInfo: any\n user: any\n cloudInfo: any\n }\n}\n\nconst GlobalContext = createContext<GlobalContextType | undefined>(undefined)\n\ntype Props = {\n children: ReactNode\n skip?: boolean\n}\n\nexport const GlobalProvider = ({ children, skip = false }: Props) => {\n const { data: siteInfo, isLoading, error } = useGetSiteInfoQuery({ full: true }, { skip })\n const { data: user, isLoading: isLoadingUser, error: userError } = useGetCurrentUserQuery()\n // wait until user is logged in\n const {\n data: cloudInfo,\n isLoading: isLoadingCloud,\n error: cloudError,\n } = useGetYnputCloudInfoQuery(undefined, { skip: !user?.name })\n\n return (\n <GlobalContext.Provider\n value={{\n siteInfo,\n attributes: siteInfo?.attributes || [],\n user,\n cloudInfo,\n isLoading: {\n siteInfo: isLoading,\n user: isLoadingUser,\n cloudInfo: isLoadingCloud,\n },\n error: {\n siteInfo: error,\n user: userError,\n cloudInfo: cloudError,\n },\n }}\n >\n {children}\n </GlobalContext.Provider>\n )\n}\n\nexport const useGlobalContext = () => {\n const context = useContext(GlobalContext)\n\n if (context === undefined) {\n throw new Error('useGlobalContext must be used within a GlobalProvider')\n }\n\n return context\n}\n"],"names":["GlobalContext","createContext","GlobalProvider","children","skip","siteInfo","isLoading","error","useGetSiteInfoQuery","user","isLoadingUser","userError","useGetCurrentUserQuery","cloudInfo","isLoadingCloud","cloudError","useGetYnputCloudInfoQuery","jsx","useGlobalContext","context","useContext"],"mappings":"wzIA4BA,MAAMA,EAAgBC,gBAA6C,MAAS,EAO/DC,EAAiB,CAAC,CAAE,SAAAC,EAAU,KAAAC,EAAO,MAAmB,CACnE,KAAM,CAAE,KAAMC,EAAU,UAAAC,EAAW,MAAAC,CAAM,EAAIC,sBAAoB,CAAE,KAAM,IAAQ,CAAE,KAAAJ,EAAM,EACnF,CAAE,KAAMK,EAAM,UAAWC,EAAe,MAAOC,GAAcC,yBAAuB,EAEpF,CACJ,KAAMC,EACN,UAAWC,EACX,MAAOC,CAAA,EACLC,EAAAA,0BAA0B,OAAW,CAAE,KAAM,EAACP,GAAA,MAAAA,EAAM,MAAM,EAG5D,OAAAQ,EAAA,kBAAA,IAACjB,EAAc,SAAd,CACC,MAAO,CACL,SAAAK,EACA,YAAYA,GAAA,YAAAA,EAAU,aAAc,CAAC,EACrC,KAAAI,EACA,UAAAI,EACA,UAAW,CACT,SAAUP,EACV,KAAMI,EACN,UAAWI,CACb,EACA,MAAO,CACL,SAAUP,EACV,KAAMI,EACN,UAAWI,CAAA,CAEf,EAEC,SAAAZ,CAAA,CACH,CAEJ,EAEae,EAAmB,IAAM,CAC9B,MAAAC,EAAUC,aAAWpB,CAAa,EAExC,GAAImB,IAAY,OACR,MAAA,IAAI,MAAM,uDAAuD,EAGlE,OAAAA,CACT"}
@@ -50,6 +50,8 @@ import "../api/queries/attributes/getAttributes.es.js";
50
50
  import "../api/queries/attributes/updateAttributes.es.js";
51
51
  import "../api/queries/authentication/getAuthentication.es.js";
52
52
  import { useGetYnputCloudInfoQuery as x } from "../api/queries/cloud/cloud.es.js";
53
+ import "../api/queries/config/getConfig.es.js";
54
+ import "../api/queries/config/updateConfig.es.js";
53
55
  import "../api/queries/entities/getEntity.es.js";
54
56
  import "../api/queries/entities/getEntityPanel.es.js";
55
57
  import "../api/queries/entities/updateEntity.es.js";
@@ -83,7 +85,7 @@ import "../api/queries/views/getViews.es.js";
83
85
  import "../api/queries/views/updateViews.es.js";
84
86
  import "../api/queries/watchers/getWatchers.es.js";
85
87
  import "../api/queries/uris/getUris.es.js";
86
- const i = f(void 0), Xo = ({ children: o, skip: m = !1 }) => {
88
+ const i = f(void 0), _o = ({ children: o, skip: m = !1 }) => {
87
89
  const { data: r, isLoading: p, error: e } = b({ full: !0 }, { skip: m }), { data: t, isLoading: s, error: n } = C(), {
88
90
  data: u,
89
91
  isLoading: a,
@@ -111,14 +113,14 @@ const i = f(void 0), Xo = ({ children: o, skip: m = !1 }) => {
111
113
  children: o
112
114
  }
113
115
  );
114
- }, Zo = () => {
116
+ }, $o = () => {
115
117
  const o = c(i);
116
118
  if (o === void 0)
117
119
  throw new Error("useGlobalContext must be used within a GlobalProvider");
118
120
  return o;
119
121
  };
120
122
  export {
121
- Xo as GlobalProvider,
122
- Zo as useGlobalContext
123
+ _o as GlobalProvider,
124
+ $o as useGlobalContext
123
125
  };
124
126
  //# sourceMappingURL=GlobalContext.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalContext.es.js","sources":["../../../../src/context/GlobalContext.tsx"],"sourcesContent":["import { createContext, useContext, ReactNode, useEffect } from 'react'\nimport {\n useGetSiteInfoQuery,\n GetSiteInfoResult,\n useGetCurrentUserQuery,\n GetCurrentUserApiResponse,\n useGetYnputCloudInfoQuery,\n GetYnputCloudInfoApiResponse,\n AttributeModel,\n} from '@shared/api'\n\ntype GlobalContextType = {\n siteInfo: GetSiteInfoResult | undefined\n attributes: AttributeModel[]\n user: GetCurrentUserApiResponse | undefined\n cloudInfo: GetYnputCloudInfoApiResponse | undefined\n isLoading: {\n siteInfo: boolean\n user: boolean\n cloudInfo: boolean\n }\n error: {\n siteInfo: any\n user: any\n cloudInfo: any\n }\n}\n\nconst GlobalContext = createContext<GlobalContextType | undefined>(undefined)\n\ntype Props = {\n children: ReactNode\n skip?: boolean\n}\n\nexport const GlobalProvider = ({ children, skip = false }: Props) => {\n const { data: siteInfo, isLoading, error } = useGetSiteInfoQuery({ full: true }, { skip })\n const { data: user, isLoading: isLoadingUser, error: userError } = useGetCurrentUserQuery()\n // wait until user is logged in\n const {\n data: cloudInfo,\n isLoading: isLoadingCloud,\n error: cloudError,\n } = useGetYnputCloudInfoQuery(undefined, { skip: !user?.name })\n\n return (\n <GlobalContext.Provider\n value={{\n siteInfo,\n attributes: siteInfo?.attributes || [],\n user,\n cloudInfo,\n isLoading: {\n siteInfo: isLoading,\n user: isLoadingUser,\n cloudInfo: isLoadingCloud,\n },\n error: {\n siteInfo: error,\n user: userError,\n cloudInfo: cloudError,\n },\n }}\n >\n {children}\n </GlobalContext.Provider>\n )\n}\n\nexport const useGlobalContext = () => {\n const context = useContext(GlobalContext)\n\n if (context === undefined) {\n throw new Error('useGlobalContext must be used within a GlobalProvider')\n }\n\n return context\n}\n"],"names":["GlobalContext","createContext","GlobalProvider","children","skip","siteInfo","isLoading","error","useGetSiteInfoQuery","user","isLoadingUser","userError","useGetCurrentUserQuery","cloudInfo","isLoadingCloud","cloudError","useGetYnputCloudInfoQuery","jsx","useGlobalContext","context","useContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,MAAMA,IAAgBC,EAA6C,MAAS,GAO/DC,KAAiB,CAAC,EAAE,UAAAC,GAAU,MAAAC,IAAO,SAAmB;AACnE,QAAM,EAAE,MAAMC,GAAU,WAAAC,GAAW,OAAAC,EAAM,IAAIC,EAAoB,EAAE,MAAM,MAAQ,EAAE,MAAAJ,GAAM,GACnF,EAAE,MAAMK,GAAM,WAAWC,GAAe,OAAOC,MAAcC,EAAuB,GAEpF;AAAA,IACJ,MAAMC;AAAA,IACN,WAAWC;AAAA,IACX,OAAOC;AAAA,EAAA,IACLC,EAA0B,QAAW,EAAE,MAAM,EAACP,KAAA,QAAAA,EAAM,OAAM;AAG5D,SAAAQ,gBAAAA,EAAA;AAAA,IAACjB,EAAc;AAAA,IAAd;AAAA,MACC,OAAO;AAAA,QACL,UAAAK;AAAA,QACA,aAAYA,KAAA,gBAAAA,EAAU,eAAc,CAAC;AAAA,QACrC,MAAAI;AAAA,QACA,WAAAI;AAAA,QACA,WAAW;AAAA,UACT,UAAUP;AAAA,UACV,MAAMI;AAAA,UACN,WAAWI;AAAA,QACb;AAAA,QACA,OAAO;AAAA,UACL,UAAUP;AAAA,UACV,MAAMI;AAAA,UACN,WAAWI;AAAA,QAAA;AAAA,MAEf;AAAA,MAEC,UAAAZ;AAAA,IAAA;AAAA,EACH;AAEJ,GAEae,KAAmB,MAAM;AAC9B,QAAAC,IAAUC,EAAWpB,CAAa;AAExC,MAAImB,MAAY;AACR,UAAA,IAAI,MAAM,uDAAuD;AAGlE,SAAAA;AACT;"}
1
+ {"version":3,"file":"GlobalContext.es.js","sources":["../../../../src/context/GlobalContext.tsx"],"sourcesContent":["import { createContext, useContext, ReactNode, useEffect } from 'react'\nimport {\n useGetSiteInfoQuery,\n GetSiteInfoResult,\n useGetCurrentUserQuery,\n GetCurrentUserApiResponse,\n useGetYnputCloudInfoQuery,\n GetYnputCloudInfoApiResponse,\n AttributeModel,\n} from '@shared/api'\n\ntype GlobalContextType = {\n siteInfo: GetSiteInfoResult | undefined\n attributes: AttributeModel[]\n user: GetCurrentUserApiResponse | undefined\n cloudInfo: GetYnputCloudInfoApiResponse | undefined\n isLoading: {\n siteInfo: boolean\n user: boolean\n cloudInfo: boolean\n }\n error: {\n siteInfo: any\n user: any\n cloudInfo: any\n }\n}\n\nconst GlobalContext = createContext<GlobalContextType | undefined>(undefined)\n\ntype Props = {\n children: ReactNode\n skip?: boolean\n}\n\nexport const GlobalProvider = ({ children, skip = false }: Props) => {\n const { data: siteInfo, isLoading, error } = useGetSiteInfoQuery({ full: true }, { skip })\n const { data: user, isLoading: isLoadingUser, error: userError } = useGetCurrentUserQuery()\n // wait until user is logged in\n const {\n data: cloudInfo,\n isLoading: isLoadingCloud,\n error: cloudError,\n } = useGetYnputCloudInfoQuery(undefined, { skip: !user?.name })\n\n return (\n <GlobalContext.Provider\n value={{\n siteInfo,\n attributes: siteInfo?.attributes || [],\n user,\n cloudInfo,\n isLoading: {\n siteInfo: isLoading,\n user: isLoadingUser,\n cloudInfo: isLoadingCloud,\n },\n error: {\n siteInfo: error,\n user: userError,\n cloudInfo: cloudError,\n },\n }}\n >\n {children}\n </GlobalContext.Provider>\n )\n}\n\nexport const useGlobalContext = () => {\n const context = useContext(GlobalContext)\n\n if (context === undefined) {\n throw new Error('useGlobalContext must be used within a GlobalProvider')\n }\n\n return context\n}\n"],"names":["GlobalContext","createContext","GlobalProvider","children","skip","siteInfo","isLoading","error","useGetSiteInfoQuery","user","isLoadingUser","userError","useGetCurrentUserQuery","cloudInfo","isLoadingCloud","cloudError","useGetYnputCloudInfoQuery","jsx","useGlobalContext","context","useContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,MAAMA,IAAgBC,EAA6C,MAAS,GAO/DC,KAAiB,CAAC,EAAE,UAAAC,GAAU,MAAAC,IAAO,SAAmB;AACnE,QAAM,EAAE,MAAMC,GAAU,WAAAC,GAAW,OAAAC,EAAM,IAAIC,EAAoB,EAAE,MAAM,MAAQ,EAAE,MAAAJ,GAAM,GACnF,EAAE,MAAMK,GAAM,WAAWC,GAAe,OAAOC,MAAcC,EAAuB,GAEpF;AAAA,IACJ,MAAMC;AAAA,IACN,WAAWC;AAAA,IACX,OAAOC;AAAA,EAAA,IACLC,EAA0B,QAAW,EAAE,MAAM,EAACP,KAAA,QAAAA,EAAM,OAAM;AAG5D,SAAAQ,gBAAAA,EAAA;AAAA,IAACjB,EAAc;AAAA,IAAd;AAAA,MACC,OAAO;AAAA,QACL,UAAAK;AAAA,QACA,aAAYA,KAAA,gBAAAA,EAAU,eAAc,CAAC;AAAA,QACrC,MAAAI;AAAA,QACA,WAAAI;AAAA,QACA,WAAW;AAAA,UACT,UAAUP;AAAA,UACV,MAAMI;AAAA,UACN,WAAWI;AAAA,QACb;AAAA,QACA,OAAO;AAAA,UACL,UAAUP;AAAA,UACV,MAAMI;AAAA,UACN,WAAWI;AAAA,QAAA;AAAA,MAEf;AAAA,MAEC,UAAAZ;AAAA,IAAA;AAAA,EACH;AAEJ,GAEae,KAAmB,MAAM;AAC9B,QAAAC,IAAUC,EAAWpB,CAAa;AAExC,MAAImB,MAAY;AACR,UAAA,IAAI,MAAM,uDAAuD;AAGlE,SAAAA;AACT;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("../../../_virtual/jsx-runtime.cjs.js"),e=require("react"),g=require("../hooks/useLoadModule.cjs.js");require("../../../_virtual/runtime.cjs.js");require("../../../_virtual/semver.cjs.js");require("../api/base/client.cjs.js");require("../api/generated/graphql.cjs.js");require("../api/generated/graphqlLinks.cjs.js");require("../api/generated/access.cjs.js");require("../api/generated/actions.cjs.js");require("../api/generated/activityFeed.cjs.js");require("../api/generated/addons.cjs.js");require("../api/generated/anatomy.cjs.js");require("../api/generated/attributes.cjs.js");require("../api/generated/authentication.cjs.js");require("../api/generated/bundles.cjs.js");require("../api/generated/configuration.cjs.js");require("../api/generated/desktop.cjs.js");require("../api/generated/entityLists.cjs.js");require("../api/generated/events.cjs.js");require("../api/generated/files.cjs.js");require("../api/generated/folders.cjs.js");require("../api/generated/inbox.cjs.js");require("../api/generated/links.cjs.js");require("../api/generated/market.cjs.js");require("../api/generated/onboarding.cjs.js");require("../api/generated/operations.cjs.js");require("../api/generated/products.cjs.js");require("../api/generated/projectDashboard.cjs.js");require("../api/generated/projects.cjs.js");require("../api/generated/reviewables.cjs.js");require("../api/generated/services.cjs.js");require("../api/generated/system.cjs.js");require("../api/generated/tasks.cjs.js");require("../api/generated/teams.cjs.js");require("../api/generated/thumbnails.cjs.js");require("../api/generated/uRIs.cjs.js");require("../api/generated/users.cjs.js");require("../api/generated/versions.cjs.js");require("../api/generated/workfiles.cjs.js");require("../api/generated/ynputCloud.cjs.js");require("../api/generated/grouping.cjs.js");require("../api/generated/views.cjs.js");require("../api/queries/actions/getActions.cjs.js");require("../api/queries/activities/getActivities.cjs.js");require("../api/queries/activities/updateActivities.cjs.js");require("../api/queries/activities/updateReaction.cjs.js");require("../api/queries/activities/getMentions.cjs.js");require("../api/queries/activities/getCategories.cjs.js");require("../api/queries/addons/getAddons.cjs.js");require("../api/queries/addons/updateAddons.cjs.js");require("../api/queries/attributes/getAttributes.cjs.js");require("../api/queries/attributes/updateAttributes.cjs.js");require("../api/queries/authentication/getAuthentication.cjs.js");require("../api/queries/cloud/cloud.cjs.js");require("../api/queries/entities/getEntity.cjs.js");require("../api/queries/entities/getEntityPanel.cjs.js");require("../api/queries/entities/updateEntity.cjs.js");require("../api/queries/entityLists/getLists.cjs.js");require("../api/queries/entityLists/updateLists.cjs.js");require("../api/queries/entityLists/getListsAttributes.cjs.js");require("../api/queries/entityLists/updateListsAttributes.cjs.js");require("../api/queries/entityLists/listFolders.cjs.js");require("../api/queries/folders/getFolders.cjs.js");require("../api/queries/grouping/getGrouping.cjs.js");require("../api/queries/links/updateLinks.cjs.js");require("../api/queries/links/getLinks.cjs.js");require("../api/queries/links/getEntityLinks.cjs.js");require("../api/queries/overview/getOverview.cjs.js");require("../api/queries/overview/updateOverview.cjs.js");require("../api/queries/versions/getVersionsProducts.cjs.js");require("../api/queries/permissions/getPermissions.cjs.js");require("../api/queries/products/createProduct.cjs.js");require("../api/queries/project/getProject.cjs.js");require("../api/queries/project/updateProject.cjs.js");require("../api/queries/review/getReview.cjs.js");require("../api/queries/review/updateReview.cjs.js");require("../api/queries/share/share.cjs.js");require("../api/queries/system/getSystem.cjs.js");require("../api/queries/userDashboard/getUserDashboard.cjs.js");require("../api/queries/users/getUsers.cjs.js");require("../api/queries/users/updateUsers.cjs.js");require("../api/queries/users/guests.cjs.js");require("../api/queries/versions/updateVersions.cjs.js");require("../api/queries/views/getViews.cjs.js");require("../api/queries/views/updateViews.cjs.js");require("../api/queries/watchers/getWatchers.cjs.js");require("../api/queries/uris/getUris.cjs.js");require("lodash");require("react-toastify");require("./RemoteModulesContext.cjs.js");require("./DetailsPanelContext.cjs.js");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");require("./MoveEntityContext.cjs.js");require("./MenuContext.cjs.js");require("./WebsocketContext.cjs.js");require("./GlobalContext.cjs.js");require("./ProjectContext.cjs.js");require("./ProjectFoldersContext.cjs.js");require("./UriContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");const k=["annotations","sharedViews","listFolders","groupAttributes","listAccess","slicer","releases","advancedFilters","listAttributes","commentCategories"],w={annotations:{label:"Annotations",description:"Create detailed visual feedback directly on media files.",bullet:"Advanced media review tools"},sharedViews:{label:"Shared Views",description:"Save custom views and share them with team members for better collaboration.",bullet:"Save and share custom views"},listFolders:{label:"List Folders",description:"Organize your lists into folders for a cleaner and more structured view.",bullet:"Organize lists into folders"},groupAttributes:{label:"Group Attributes",description:"Group tasks by assignees, status, or other attributes for better organization.",bullet:"Group tasks by attributes"},commentCategories:{label:"Comment Categories",description:"Organize comments with categories, assign permissions, and use colors for better distinction. Set visibility rules to control who can view specific comments.",bullet:"Enhanced comment organization, permissions, and visibility"},slicer:{label:"Slicer",description:"Advanced filtering system for project organization.",bullet:"Powerful project filtering tools"},releases:{label:"Release History",description:"Access and download the complete archive of releases",bullet:"Full release archive access"},advancedFilters:{label:"Advanced Filters",description:"Customize your view and find your data with powerful filtering options",bullet:"Advanced filtering options"},listAttributes:{label:"List Attributes",description:"Add custom attributes to your lists for better collaboration and organization.",bullet:"Custom attributes for lists"},listAccess:{label:"List Access",description:"Manage and control access to your lists with advanced sharing options.",bullet:"Advanced list sharing options"}},b=e.createContext(void 0),P=({children:i,debug:r})=>{const[t,n]=e.useState(null),f=u=>u?w[u]:null,[c,s]=e.useState(!1),[l,o]=e.useState(!0),m=async()=>!1,[q,{isLoaded:d,isLoading:p}]=g.useLoadModule({addon:"powerpack",remote:"license",module:"checkPowerLicense",fallback:m});e.useEffect(()=>{(async()=>{if((r==null?void 0:r.powerLicense)!==void 0)console.warn("Using debug power license:",r.powerLicense),s(r.powerLicense),o(!1);else if(d||!p){try{const a=await q();s(a)}catch(a){console.error("Error checking power license:",a),s(!1)}finally{o(!1)}o(!1)}})()},[r,d,p,q]);const v=e.useMemo(()=>({powerLicense:c,isLoading:l,selectedPowerPack:t,setPowerpackDialog:n,powerpackDialog:f(t)}),[c,t,n,l]);return h.jsxRuntimeExports.jsx(b.Provider,{value:v,children:i})},L=()=>{const i=e.useContext(b);if(i===void 0)throw new Error("usePowerpack must be used within a PowerpackProvider");return i};exports.PowerpackProvider=P;exports.powerpackFeatureOrder=k;exports.powerpackFeatures=w;exports.usePowerpack=L;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("../../../_virtual/jsx-runtime.cjs.js"),e=require("react"),g=require("../hooks/useLoadModule.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/config/getConfig.cjs.js");require("../api/queries/config/updateConfig.cjs.js");require("../api/queries/entities/getEntity.cjs.js");require("../api/queries/entities/getEntityPanel.cjs.js");require("../api/queries/entities/updateEntity.cjs.js");require("../api/queries/entityLists/getLists.cjs.js");require("../api/queries/entityLists/updateLists.cjs.js");require("../api/queries/entityLists/getListsAttributes.cjs.js");require("../api/queries/entityLists/updateListsAttributes.cjs.js");require("../api/queries/entityLists/listFolders.cjs.js");require("../api/queries/folders/getFolders.cjs.js");require("../api/queries/grouping/getGrouping.cjs.js");require("../api/queries/links/updateLinks.cjs.js");require("../api/queries/links/getLinks.cjs.js");require("../api/queries/links/getEntityLinks.cjs.js");require("../api/queries/overview/getOverview.cjs.js");require("../api/queries/overview/updateOverview.cjs.js");require("../api/queries/versions/getVersionsProducts.cjs.js");require("../api/queries/permissions/getPermissions.cjs.js");require("../api/queries/products/createProduct.cjs.js");require("../api/queries/project/getProject.cjs.js");require("../api/queries/project/updateProject.cjs.js");require("../api/queries/review/getReview.cjs.js");require("../api/queries/review/updateReview.cjs.js");require("../api/queries/share/share.cjs.js");require("../api/queries/system/getSystem.cjs.js");require("../api/queries/userDashboard/getUserDashboard.cjs.js");require("../api/queries/users/getUsers.cjs.js");require("../api/queries/users/updateUsers.cjs.js");require("../api/queries/users/guests.cjs.js");require("../api/queries/versions/updateVersions.cjs.js");require("../api/queries/views/getViews.cjs.js");require("../api/queries/views/updateViews.cjs.js");require("../api/queries/watchers/getWatchers.cjs.js");require("../api/queries/uris/getUris.cjs.js");require("lodash");require("react-toastify");require("./RemoteModulesContext.cjs.js");require("./DetailsPanelContext.cjs.js");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");require("./MoveEntityContext.cjs.js");require("./MenuContext.cjs.js");require("./WebsocketContext.cjs.js");require("./GlobalContext.cjs.js");require("./ProjectContext.cjs.js");require("./ProjectFoldersContext.cjs.js");require("./UriContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");const k=["annotations","sharedViews","listFolders","groupAttributes","listAccess","slicer","releases","advancedFilters","listAttributes","commentCategories"],w={annotations:{label:"Annotations",description:"Create detailed visual feedback directly on media files.",bullet:"Advanced media review tools"},sharedViews:{label:"Shared Views",description:"Save custom views and share them with team members for better collaboration.",bullet:"Save and share custom views"},listFolders:{label:"List Folders",description:"Organize your lists into folders for a cleaner and more structured view.",bullet:"Organize lists into folders"},groupAttributes:{label:"Group Attributes",description:"Group tasks by assignees, status, or other attributes for better organization.",bullet:"Group tasks by attributes"},commentCategories:{label:"Comment Categories",description:"Organize comments with categories, assign permissions, and use colors for better distinction. Set visibility rules to control who can view specific comments.",bullet:"Enhanced comment organization, permissions, and visibility"},slicer:{label:"Slicer",description:"Advanced filtering system for project organization.",bullet:"Powerful project filtering tools"},releases:{label:"Release History",description:"Access and download the complete archive of releases",bullet:"Full release archive access"},advancedFilters:{label:"Advanced Filters",description:"Customize your view and find your data with powerful filtering options",bullet:"Advanced filtering options"},listAttributes:{label:"List Attributes",description:"Add custom attributes to your lists for better collaboration and organization.",bullet:"Custom attributes for lists"},listAccess:{label:"List Access",description:"Manage and control access to your lists with advanced sharing options.",bullet:"Advanced list sharing options"}},b=e.createContext(void 0),P=({children:i,debug:r})=>{const[t,n]=e.useState(null),f=u=>u?w[u]:null,[c,s]=e.useState(!1),[l,o]=e.useState(!0),m=async()=>!1,[q,{isLoaded:d,isLoading:p}]=g.useLoadModule({addon:"powerpack",remote:"license",module:"checkPowerLicense",fallback:m});e.useEffect(()=>{(async()=>{if((r==null?void 0:r.powerLicense)!==void 0)console.warn("Using debug power license:",r.powerLicense),s(r.powerLicense),o(!1);else if(d||!p){try{const a=await q();s(a)}catch(a){console.error("Error checking power license:",a),s(!1)}finally{o(!1)}o(!1)}})()},[r,d,p,q]);const v=e.useMemo(()=>({powerLicense:c,isLoading:l,selectedPowerPack:t,setPowerpackDialog:n,powerpackDialog:f(t)}),[c,t,n,l]);return h.jsxRuntimeExports.jsx(b.Provider,{value:v,children:i})},L=()=>{const i=e.useContext(b);if(i===void 0)throw new Error("usePowerpack must be used within a PowerpackProvider");return i};exports.PowerpackProvider=P;exports.powerpackFeatureOrder=k;exports.powerpackFeatures=w;exports.usePowerpack=L;
2
2
  //# sourceMappingURL=PowerpackContext.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PowerpackContext.cjs.js","sources":["../../../../src/context/PowerpackContext.tsx"],"sourcesContent":["import { useLoadModule } from '@shared/hooks'\nimport { createContext, useContext, ReactNode, useState, useEffect, useMemo } from 'react'\n\nexport type PowerpackFeature =\n | 'slicer'\n | 'annotations'\n | 'releases'\n | 'advancedFilters'\n | 'listAttributes'\n | 'listFolders'\n | 'listAccess'\n | 'groupAttributes'\n | 'sharedViews'\n | 'commentCategories'\nexport type PowerpackDialogType = {\n label: string\n description: string\n bullet: string\n icon?: string\n}\n\nexport const powerpackFeatureOrder: PowerpackFeature[] = [\n 'annotations',\n 'sharedViews',\n 'listFolders',\n 'groupAttributes',\n 'listAccess',\n 'slicer',\n 'releases',\n 'advancedFilters',\n 'listAttributes',\n 'commentCategories',\n]\n\nexport const powerpackFeatures: {\n [key in PowerpackFeature]: Omit<PowerpackDialogType, 'priority'>\n} = {\n annotations: {\n label: 'Annotations',\n description: 'Create detailed visual feedback directly on media files.',\n bullet: 'Advanced media review tools',\n },\n sharedViews: {\n label: 'Shared Views',\n description: 'Save custom views and share them with team members for better collaboration.',\n bullet: 'Save and share custom views',\n },\n listFolders: {\n label: 'List Folders',\n description: 'Organize your lists into folders for a cleaner and more structured view.',\n bullet: 'Organize lists into folders',\n },\n groupAttributes: {\n label: 'Group Attributes',\n description: 'Group tasks by assignees, status, or other attributes for better organization.',\n bullet: 'Group tasks by attributes',\n },\n commentCategories: {\n label: 'Comment Categories',\n description:\n 'Organize comments with categories, assign permissions, and use colors for better distinction. Set visibility rules to control who can view specific comments.',\n bullet: 'Enhanced comment organization, permissions, and visibility',\n },\n slicer: {\n label: 'Slicer',\n description: 'Advanced filtering system for project organization.',\n bullet: 'Powerful project filtering tools',\n },\n releases: {\n label: 'Release History',\n description: 'Access and download the complete archive of releases',\n bullet: 'Full release archive access',\n },\n advancedFilters: {\n label: 'Advanced Filters',\n description: 'Customize your view and find your data with powerful filtering options',\n bullet: 'Advanced filtering options',\n },\n listAttributes: {\n label: 'List Attributes',\n description: 'Add custom attributes to your lists for better collaboration and organization.',\n bullet: 'Custom attributes for lists',\n },\n listAccess: {\n label: 'List Access',\n description: 'Manage and control access to your lists with advanced sharing options.',\n bullet: 'Advanced list sharing options',\n },\n}\nexport type PowerpackContextType = {\n selectedPowerPack: null | PowerpackFeature\n setPowerpackDialog: (open: PowerpackContextType['selectedPowerPack']) => void\n powerpackDialog: PowerpackDialogType | null\n powerLicense: boolean\n isLoading: boolean\n}\n\nconst PowerpackContext = createContext<PowerpackContextType | undefined>(undefined)\n\nexport const PowerpackProvider = ({\n children,\n debug,\n}: {\n children: ReactNode\n debug?: { powerLicense?: boolean }\n}) => {\n const [selectedPowerPack, setPowerpackDialog] =\n useState<PowerpackContextType['selectedPowerPack']>(null)\n\n const resolvePowerPackDialog = (selected: PowerpackContextType['selectedPowerPack']) => {\n if (!selected) return null\n return powerpackFeatures[selected]\n }\n\n // check license state\n const [powerLicense, setPowerLicense] = useState(false)\n\n // loading state\n const [isLoading, setIsLoading] = useState(true)\n\n // Define the type for the license check function\n type CheckPowerLicenseFunction = () => Promise<boolean>\n\n // Fallback function that returns false when the module isn't loaded\n const fallbackCheckLicense: CheckPowerLicenseFunction = async () => false\n\n // Load the remote module\n const [checkPowerLicense, { isLoaded, isLoading: isLoadingModule }] =\n useLoadModule<CheckPowerLicenseFunction>({\n addon: 'powerpack',\n remote: 'license',\n module: 'checkPowerLicense',\n fallback: fallbackCheckLicense,\n })\n\n useEffect(() => {\n const checkLicense = async () => {\n if (debug?.powerLicense !== undefined) {\n console.warn('Using debug power license:', debug.powerLicense)\n setPowerLicense(debug.powerLicense)\n setIsLoading(false)\n } else if (isLoaded || !isLoadingModule) {\n try {\n const hasPowerLicense = await checkPowerLicense()\n setPowerLicense(hasPowerLicense)\n } catch (error) {\n console.error('Error checking power license:', error)\n setPowerLicense(false)\n } finally {\n setIsLoading(false)\n }\n setIsLoading(false)\n }\n }\n\n checkLicense()\n }, [debug, isLoaded, isLoadingModule, checkPowerLicense])\n\n const value = useMemo(\n () => ({\n powerLicense: powerLicense,\n isLoading,\n selectedPowerPack,\n setPowerpackDialog,\n powerpackDialog: resolvePowerPackDialog(selectedPowerPack),\n }),\n [powerLicense, selectedPowerPack, setPowerpackDialog, isLoading],\n )\n\n return <PowerpackContext.Provider value={value}>{children}</PowerpackContext.Provider>\n}\n\nexport const usePowerpack = () => {\n const context = useContext(PowerpackContext)\n if (context === undefined) {\n throw new Error('usePowerpack must be used within a PowerpackProvider')\n }\n return context\n}\n"],"names":["powerpackFeatureOrder","powerpackFeatures","PowerpackContext","createContext","PowerpackProvider","children","debug","selectedPowerPack","setPowerpackDialog","useState","resolvePowerPackDialog","selected","powerLicense","setPowerLicense","isLoading","setIsLoading","fallbackCheckLicense","checkPowerLicense","isLoaded","isLoadingModule","useLoadModule","useEffect","hasPowerLicense","error","value","useMemo","jsx","usePowerpack","context","useContext"],"mappings":"sjKAqBO,MAAMA,EAA4C,CACvD,cACA,cACA,cACA,kBACA,aACA,SACA,WACA,kBACA,iBACA,mBACF,EAEaC,EAET,CACF,YAAa,CACX,MAAO,cACP,YAAa,2DACb,OAAQ,6BACV,EACA,YAAa,CACX,MAAO,eACP,YAAa,+EACb,OAAQ,6BACV,EACA,YAAa,CACX,MAAO,eACP,YAAa,2EACb,OAAQ,6BACV,EACA,gBAAiB,CACf,MAAO,mBACP,YAAa,iFACb,OAAQ,2BACV,EACA,kBAAmB,CACjB,MAAO,qBACP,YACE,gKACF,OAAQ,4DACV,EACA,OAAQ,CACN,MAAO,SACP,YAAa,sDACb,OAAQ,kCACV,EACA,SAAU,CACR,MAAO,kBACP,YAAa,uDACb,OAAQ,6BACV,EACA,gBAAiB,CACf,MAAO,mBACP,YAAa,yEACb,OAAQ,4BACV,EACA,eAAgB,CACd,MAAO,kBACP,YAAa,iFACb,OAAQ,6BACV,EACA,WAAY,CACV,MAAO,cACP,YAAa,yEACb,OAAQ,+BAAA,CAEZ,EASMC,EAAmBC,gBAAgD,MAAS,EAErEC,EAAoB,CAAC,CAChC,SAAAC,EACA,MAAAC,CACF,IAGM,CACJ,KAAM,CAACC,EAAmBC,CAAkB,EAC1CC,EAAAA,SAAoD,IAAI,EAEpDC,EAA0BC,GACzBA,EACEV,EAAkBU,CAAQ,EADX,KAKlB,CAACC,EAAcC,CAAe,EAAIJ,EAAAA,SAAS,EAAK,EAGhD,CAACK,EAAWC,CAAY,EAAIN,EAAAA,SAAS,EAAI,EAMzCO,EAAkD,SAAY,GAG9D,CAACC,EAAmB,CAAE,SAAAC,EAAU,UAAWC,CAAgB,CAAC,EAChEC,gBAAyC,CACvC,MAAO,YACP,OAAQ,UACR,OAAQ,oBACR,SAAUJ,CAAA,CACX,EAEHK,EAAAA,UAAU,IAAM,EACO,SAAY,CAC3B,IAAAf,GAAA,YAAAA,EAAO,gBAAiB,OAClB,QAAA,KAAK,6BAA8BA,EAAM,YAAY,EAC7DO,EAAgBP,EAAM,YAAY,EAClCS,EAAa,EAAK,UACTG,GAAY,CAACC,EAAiB,CACnC,GAAA,CACI,MAAAG,EAAkB,MAAML,EAAkB,EAChDJ,EAAgBS,CAAe,QACxBC,EAAO,CACN,QAAA,MAAM,gCAAiCA,CAAK,EACpDV,EAAgB,EAAK,CAAA,QACrB,CACAE,EAAa,EAAK,CAAA,CAEpBA,EAAa,EAAK,CAAA,CAEtB,GAEa,GACZ,CAACT,EAAOY,EAAUC,EAAiBF,CAAiB,CAAC,EAExD,MAAMO,EAAQC,EAAA,QACZ,KAAO,CACL,aAAAb,EACA,UAAAE,EACA,kBAAAP,EACA,mBAAAC,EACA,gBAAiBE,EAAuBH,CAAiB,CAAA,GAE3D,CAACK,EAAcL,EAAmBC,EAAoBM,CAAS,CACjE,EAEA,OAAQY,EAAAA,kBAAAA,IAAAxB,EAAiB,SAAjB,CAA0B,MAAAsB,EAAe,SAAAnB,CAAS,CAAA,CAC5D,EAEasB,EAAe,IAAM,CAC1B,MAAAC,EAAUC,aAAW3B,CAAgB,EAC3C,GAAI0B,IAAY,OACR,MAAA,IAAI,MAAM,sDAAsD,EAEjE,OAAAA,CACT"}
1
+ {"version":3,"file":"PowerpackContext.cjs.js","sources":["../../../../src/context/PowerpackContext.tsx"],"sourcesContent":["import { useLoadModule } from '@shared/hooks'\nimport { createContext, useContext, ReactNode, useState, useEffect, useMemo } from 'react'\n\nexport type PowerpackFeature =\n | 'slicer'\n | 'annotations'\n | 'releases'\n | 'advancedFilters'\n | 'listAttributes'\n | 'listFolders'\n | 'listAccess'\n | 'groupAttributes'\n | 'sharedViews'\n | 'commentCategories'\nexport type PowerpackDialogType = {\n label: string\n description: string\n bullet: string\n icon?: string\n}\n\nexport const powerpackFeatureOrder: PowerpackFeature[] = [\n 'annotations',\n 'sharedViews',\n 'listFolders',\n 'groupAttributes',\n 'listAccess',\n 'slicer',\n 'releases',\n 'advancedFilters',\n 'listAttributes',\n 'commentCategories',\n]\n\nexport const powerpackFeatures: {\n [key in PowerpackFeature]: Omit<PowerpackDialogType, 'priority'>\n} = {\n annotations: {\n label: 'Annotations',\n description: 'Create detailed visual feedback directly on media files.',\n bullet: 'Advanced media review tools',\n },\n sharedViews: {\n label: 'Shared Views',\n description: 'Save custom views and share them with team members for better collaboration.',\n bullet: 'Save and share custom views',\n },\n listFolders: {\n label: 'List Folders',\n description: 'Organize your lists into folders for a cleaner and more structured view.',\n bullet: 'Organize lists into folders',\n },\n groupAttributes: {\n label: 'Group Attributes',\n description: 'Group tasks by assignees, status, or other attributes for better organization.',\n bullet: 'Group tasks by attributes',\n },\n commentCategories: {\n label: 'Comment Categories',\n description:\n 'Organize comments with categories, assign permissions, and use colors for better distinction. Set visibility rules to control who can view specific comments.',\n bullet: 'Enhanced comment organization, permissions, and visibility',\n },\n slicer: {\n label: 'Slicer',\n description: 'Advanced filtering system for project organization.',\n bullet: 'Powerful project filtering tools',\n },\n releases: {\n label: 'Release History',\n description: 'Access and download the complete archive of releases',\n bullet: 'Full release archive access',\n },\n advancedFilters: {\n label: 'Advanced Filters',\n description: 'Customize your view and find your data with powerful filtering options',\n bullet: 'Advanced filtering options',\n },\n listAttributes: {\n label: 'List Attributes',\n description: 'Add custom attributes to your lists for better collaboration and organization.',\n bullet: 'Custom attributes for lists',\n },\n listAccess: {\n label: 'List Access',\n description: 'Manage and control access to your lists with advanced sharing options.',\n bullet: 'Advanced list sharing options',\n },\n}\nexport type PowerpackContextType = {\n selectedPowerPack: null | PowerpackFeature\n setPowerpackDialog: (open: PowerpackContextType['selectedPowerPack']) => void\n powerpackDialog: PowerpackDialogType | null\n powerLicense: boolean\n isLoading: boolean\n}\n\nconst PowerpackContext = createContext<PowerpackContextType | undefined>(undefined)\n\nexport const PowerpackProvider = ({\n children,\n debug,\n}: {\n children: ReactNode\n debug?: { powerLicense?: boolean }\n}) => {\n const [selectedPowerPack, setPowerpackDialog] =\n useState<PowerpackContextType['selectedPowerPack']>(null)\n\n const resolvePowerPackDialog = (selected: PowerpackContextType['selectedPowerPack']) => {\n if (!selected) return null\n return powerpackFeatures[selected]\n }\n\n // check license state\n const [powerLicense, setPowerLicense] = useState(false)\n\n // loading state\n const [isLoading, setIsLoading] = useState(true)\n\n // Define the type for the license check function\n type CheckPowerLicenseFunction = () => Promise<boolean>\n\n // Fallback function that returns false when the module isn't loaded\n const fallbackCheckLicense: CheckPowerLicenseFunction = async () => false\n\n // Load the remote module\n const [checkPowerLicense, { isLoaded, isLoading: isLoadingModule }] =\n useLoadModule<CheckPowerLicenseFunction>({\n addon: 'powerpack',\n remote: 'license',\n module: 'checkPowerLicense',\n fallback: fallbackCheckLicense,\n })\n\n useEffect(() => {\n const checkLicense = async () => {\n if (debug?.powerLicense !== undefined) {\n console.warn('Using debug power license:', debug.powerLicense)\n setPowerLicense(debug.powerLicense)\n setIsLoading(false)\n } else if (isLoaded || !isLoadingModule) {\n try {\n const hasPowerLicense = await checkPowerLicense()\n setPowerLicense(hasPowerLicense)\n } catch (error) {\n console.error('Error checking power license:', error)\n setPowerLicense(false)\n } finally {\n setIsLoading(false)\n }\n setIsLoading(false)\n }\n }\n\n checkLicense()\n }, [debug, isLoaded, isLoadingModule, checkPowerLicense])\n\n const value = useMemo(\n () => ({\n powerLicense: powerLicense,\n isLoading,\n selectedPowerPack,\n setPowerpackDialog,\n powerpackDialog: resolvePowerPackDialog(selectedPowerPack),\n }),\n [powerLicense, selectedPowerPack, setPowerpackDialog, isLoading],\n )\n\n return <PowerpackContext.Provider value={value}>{children}</PowerpackContext.Provider>\n}\n\nexport const usePowerpack = () => {\n const context = useContext(PowerpackContext)\n if (context === undefined) {\n throw new Error('usePowerpack must be used within a PowerpackProvider')\n }\n return context\n}\n"],"names":["powerpackFeatureOrder","powerpackFeatures","PowerpackContext","createContext","PowerpackProvider","children","debug","selectedPowerPack","setPowerpackDialog","useState","resolvePowerPackDialog","selected","powerLicense","setPowerLicense","isLoading","setIsLoading","fallbackCheckLicense","checkPowerLicense","isLoaded","isLoadingModule","useLoadModule","useEffect","hasPowerLicense","error","value","useMemo","jsx","usePowerpack","context","useContext"],"mappings":"6pKAqBO,MAAMA,EAA4C,CACvD,cACA,cACA,cACA,kBACA,aACA,SACA,WACA,kBACA,iBACA,mBACF,EAEaC,EAET,CACF,YAAa,CACX,MAAO,cACP,YAAa,2DACb,OAAQ,6BACV,EACA,YAAa,CACX,MAAO,eACP,YAAa,+EACb,OAAQ,6BACV,EACA,YAAa,CACX,MAAO,eACP,YAAa,2EACb,OAAQ,6BACV,EACA,gBAAiB,CACf,MAAO,mBACP,YAAa,iFACb,OAAQ,2BACV,EACA,kBAAmB,CACjB,MAAO,qBACP,YACE,gKACF,OAAQ,4DACV,EACA,OAAQ,CACN,MAAO,SACP,YAAa,sDACb,OAAQ,kCACV,EACA,SAAU,CACR,MAAO,kBACP,YAAa,uDACb,OAAQ,6BACV,EACA,gBAAiB,CACf,MAAO,mBACP,YAAa,yEACb,OAAQ,4BACV,EACA,eAAgB,CACd,MAAO,kBACP,YAAa,iFACb,OAAQ,6BACV,EACA,WAAY,CACV,MAAO,cACP,YAAa,yEACb,OAAQ,+BAAA,CAEZ,EASMC,EAAmBC,gBAAgD,MAAS,EAErEC,EAAoB,CAAC,CAChC,SAAAC,EACA,MAAAC,CACF,IAGM,CACJ,KAAM,CAACC,EAAmBC,CAAkB,EAC1CC,EAAAA,SAAoD,IAAI,EAEpDC,EAA0BC,GACzBA,EACEV,EAAkBU,CAAQ,EADX,KAKlB,CAACC,EAAcC,CAAe,EAAIJ,EAAAA,SAAS,EAAK,EAGhD,CAACK,EAAWC,CAAY,EAAIN,EAAAA,SAAS,EAAI,EAMzCO,EAAkD,SAAY,GAG9D,CAACC,EAAmB,CAAE,SAAAC,EAAU,UAAWC,CAAgB,CAAC,EAChEC,gBAAyC,CACvC,MAAO,YACP,OAAQ,UACR,OAAQ,oBACR,SAAUJ,CAAA,CACX,EAEHK,EAAAA,UAAU,IAAM,EACO,SAAY,CAC3B,IAAAf,GAAA,YAAAA,EAAO,gBAAiB,OAClB,QAAA,KAAK,6BAA8BA,EAAM,YAAY,EAC7DO,EAAgBP,EAAM,YAAY,EAClCS,EAAa,EAAK,UACTG,GAAY,CAACC,EAAiB,CACnC,GAAA,CACI,MAAAG,EAAkB,MAAML,EAAkB,EAChDJ,EAAgBS,CAAe,QACxBC,EAAO,CACN,QAAA,MAAM,gCAAiCA,CAAK,EACpDV,EAAgB,EAAK,CAAA,QACrB,CACAE,EAAa,EAAK,CAAA,CAEpBA,EAAa,EAAK,CAAA,CAEtB,GAEa,GACZ,CAACT,EAAOY,EAAUC,EAAiBF,CAAiB,CAAC,EAExD,MAAMO,EAAQC,EAAA,QACZ,KAAO,CACL,aAAAb,EACA,UAAAE,EACA,kBAAAP,EACA,mBAAAC,EACA,gBAAiBE,EAAuBH,CAAiB,CAAA,GAE3D,CAACK,EAAcL,EAAmBC,EAAoBM,CAAS,CACjE,EAEA,OAAQY,EAAAA,kBAAAA,IAAAxB,EAAiB,SAAjB,CAA0B,MAAAsB,EAAe,SAAAnB,CAAS,CAAA,CAC5D,EAEasB,EAAe,IAAM,CAC1B,MAAAC,EAAUC,aAAW3B,CAAgB,EAC3C,GAAI0B,IAAY,OACR,MAAA,IAAI,MAAM,sDAAsD,EAEjE,OAAAA,CACT"}
@@ -53,6 +53,8 @@ import "../api/queries/attributes/getAttributes.es.js";
53
53
  import "../api/queries/attributes/updateAttributes.es.js";
54
54
  import "../api/queries/authentication/getAuthentication.es.js";
55
55
  import "../api/queries/cloud/cloud.es.js";
56
+ import "../api/queries/config/getConfig.es.js";
57
+ import "../api/queries/config/updateConfig.es.js";
56
58
  import "../api/queries/entities/getEntity.es.js";
57
59
  import "../api/queries/entities/getEntityPanel.es.js";
58
60
  import "../api/queries/entities/updateEntity.es.js";
@@ -107,7 +109,7 @@ import "./UriContext.es.js";
107
109
  import "react-redux";
108
110
  import "custom-protocol-check";
109
111
  import "../containers/ProjectTreeTable/components/GroupSettingsFallback.es.js";
110
- const xo = [
112
+ const So = [
111
113
  "annotations",
112
114
  "sharedViews",
113
115
  "listFolders",
@@ -169,7 +171,7 @@ const xo = [
169
171
  description: "Manage and control access to your lists with advanced sharing options.",
170
172
  bullet: "Advanced list sharing options"
171
173
  }
172
- }, w = g(void 0), zo = ({
174
+ }, w = g(void 0), jo = ({
173
175
  children: o,
174
176
  debug: t
175
177
  }) => {
@@ -207,16 +209,16 @@ const xo = [
207
209
  [n, i, a, l]
208
210
  );
209
211
  return /* @__PURE__ */ h.jsx(w.Provider, { value: v, children: o });
210
- }, So = () => {
212
+ }, Eo = () => {
211
213
  const o = k(w);
212
214
  if (o === void 0)
213
215
  throw new Error("usePowerpack must be used within a PowerpackProvider");
214
216
  return o;
215
217
  };
216
218
  export {
217
- zo as PowerpackProvider,
218
- xo as powerpackFeatureOrder,
219
+ jo as PowerpackProvider,
220
+ So as powerpackFeatureOrder,
219
221
  y as powerpackFeatures,
220
- So as usePowerpack
222
+ Eo as usePowerpack
221
223
  };
222
224
  //# sourceMappingURL=PowerpackContext.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PowerpackContext.es.js","sources":["../../../../src/context/PowerpackContext.tsx"],"sourcesContent":["import { useLoadModule } from '@shared/hooks'\nimport { createContext, useContext, ReactNode, useState, useEffect, useMemo } from 'react'\n\nexport type PowerpackFeature =\n | 'slicer'\n | 'annotations'\n | 'releases'\n | 'advancedFilters'\n | 'listAttributes'\n | 'listFolders'\n | 'listAccess'\n | 'groupAttributes'\n | 'sharedViews'\n | 'commentCategories'\nexport type PowerpackDialogType = {\n label: string\n description: string\n bullet: string\n icon?: string\n}\n\nexport const powerpackFeatureOrder: PowerpackFeature[] = [\n 'annotations',\n 'sharedViews',\n 'listFolders',\n 'groupAttributes',\n 'listAccess',\n 'slicer',\n 'releases',\n 'advancedFilters',\n 'listAttributes',\n 'commentCategories',\n]\n\nexport const powerpackFeatures: {\n [key in PowerpackFeature]: Omit<PowerpackDialogType, 'priority'>\n} = {\n annotations: {\n label: 'Annotations',\n description: 'Create detailed visual feedback directly on media files.',\n bullet: 'Advanced media review tools',\n },\n sharedViews: {\n label: 'Shared Views',\n description: 'Save custom views and share them with team members for better collaboration.',\n bullet: 'Save and share custom views',\n },\n listFolders: {\n label: 'List Folders',\n description: 'Organize your lists into folders for a cleaner and more structured view.',\n bullet: 'Organize lists into folders',\n },\n groupAttributes: {\n label: 'Group Attributes',\n description: 'Group tasks by assignees, status, or other attributes for better organization.',\n bullet: 'Group tasks by attributes',\n },\n commentCategories: {\n label: 'Comment Categories',\n description:\n 'Organize comments with categories, assign permissions, and use colors for better distinction. Set visibility rules to control who can view specific comments.',\n bullet: 'Enhanced comment organization, permissions, and visibility',\n },\n slicer: {\n label: 'Slicer',\n description: 'Advanced filtering system for project organization.',\n bullet: 'Powerful project filtering tools',\n },\n releases: {\n label: 'Release History',\n description: 'Access and download the complete archive of releases',\n bullet: 'Full release archive access',\n },\n advancedFilters: {\n label: 'Advanced Filters',\n description: 'Customize your view and find your data with powerful filtering options',\n bullet: 'Advanced filtering options',\n },\n listAttributes: {\n label: 'List Attributes',\n description: 'Add custom attributes to your lists for better collaboration and organization.',\n bullet: 'Custom attributes for lists',\n },\n listAccess: {\n label: 'List Access',\n description: 'Manage and control access to your lists with advanced sharing options.',\n bullet: 'Advanced list sharing options',\n },\n}\nexport type PowerpackContextType = {\n selectedPowerPack: null | PowerpackFeature\n setPowerpackDialog: (open: PowerpackContextType['selectedPowerPack']) => void\n powerpackDialog: PowerpackDialogType | null\n powerLicense: boolean\n isLoading: boolean\n}\n\nconst PowerpackContext = createContext<PowerpackContextType | undefined>(undefined)\n\nexport const PowerpackProvider = ({\n children,\n debug,\n}: {\n children: ReactNode\n debug?: { powerLicense?: boolean }\n}) => {\n const [selectedPowerPack, setPowerpackDialog] =\n useState<PowerpackContextType['selectedPowerPack']>(null)\n\n const resolvePowerPackDialog = (selected: PowerpackContextType['selectedPowerPack']) => {\n if (!selected) return null\n return powerpackFeatures[selected]\n }\n\n // check license state\n const [powerLicense, setPowerLicense] = useState(false)\n\n // loading state\n const [isLoading, setIsLoading] = useState(true)\n\n // Define the type for the license check function\n type CheckPowerLicenseFunction = () => Promise<boolean>\n\n // Fallback function that returns false when the module isn't loaded\n const fallbackCheckLicense: CheckPowerLicenseFunction = async () => false\n\n // Load the remote module\n const [checkPowerLicense, { isLoaded, isLoading: isLoadingModule }] =\n useLoadModule<CheckPowerLicenseFunction>({\n addon: 'powerpack',\n remote: 'license',\n module: 'checkPowerLicense',\n fallback: fallbackCheckLicense,\n })\n\n useEffect(() => {\n const checkLicense = async () => {\n if (debug?.powerLicense !== undefined) {\n console.warn('Using debug power license:', debug.powerLicense)\n setPowerLicense(debug.powerLicense)\n setIsLoading(false)\n } else if (isLoaded || !isLoadingModule) {\n try {\n const hasPowerLicense = await checkPowerLicense()\n setPowerLicense(hasPowerLicense)\n } catch (error) {\n console.error('Error checking power license:', error)\n setPowerLicense(false)\n } finally {\n setIsLoading(false)\n }\n setIsLoading(false)\n }\n }\n\n checkLicense()\n }, [debug, isLoaded, isLoadingModule, checkPowerLicense])\n\n const value = useMemo(\n () => ({\n powerLicense: powerLicense,\n isLoading,\n selectedPowerPack,\n setPowerpackDialog,\n powerpackDialog: resolvePowerPackDialog(selectedPowerPack),\n }),\n [powerLicense, selectedPowerPack, setPowerpackDialog, isLoading],\n )\n\n return <PowerpackContext.Provider value={value}>{children}</PowerpackContext.Provider>\n}\n\nexport const usePowerpack = () => {\n const context = useContext(PowerpackContext)\n if (context === undefined) {\n throw new Error('usePowerpack must be used within a PowerpackProvider')\n }\n return context\n}\n"],"names":["powerpackFeatureOrder","powerpackFeatures","PowerpackContext","createContext","PowerpackProvider","children","debug","selectedPowerPack","setPowerpackDialog","useState","resolvePowerPackDialog","selected","powerLicense","setPowerLicense","isLoading","setIsLoading","fallbackCheckLicense","checkPowerLicense","isLoaded","isLoadingModule","useLoadModule","useEffect","hasPowerLicense","error","value","useMemo","jsx","usePowerpack","context","useContext"],"mappings":"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"}
1
+ {"version":3,"file":"PowerpackContext.es.js","sources":["../../../../src/context/PowerpackContext.tsx"],"sourcesContent":["import { useLoadModule } from '@shared/hooks'\nimport { createContext, useContext, ReactNode, useState, useEffect, useMemo } from 'react'\n\nexport type PowerpackFeature =\n | 'slicer'\n | 'annotations'\n | 'releases'\n | 'advancedFilters'\n | 'listAttributes'\n | 'listFolders'\n | 'listAccess'\n | 'groupAttributes'\n | 'sharedViews'\n | 'commentCategories'\nexport type PowerpackDialogType = {\n label: string\n description: string\n bullet: string\n icon?: string\n}\n\nexport const powerpackFeatureOrder: PowerpackFeature[] = [\n 'annotations',\n 'sharedViews',\n 'listFolders',\n 'groupAttributes',\n 'listAccess',\n 'slicer',\n 'releases',\n 'advancedFilters',\n 'listAttributes',\n 'commentCategories',\n]\n\nexport const powerpackFeatures: {\n [key in PowerpackFeature]: Omit<PowerpackDialogType, 'priority'>\n} = {\n annotations: {\n label: 'Annotations',\n description: 'Create detailed visual feedback directly on media files.',\n bullet: 'Advanced media review tools',\n },\n sharedViews: {\n label: 'Shared Views',\n description: 'Save custom views and share them with team members for better collaboration.',\n bullet: 'Save and share custom views',\n },\n listFolders: {\n label: 'List Folders',\n description: 'Organize your lists into folders for a cleaner and more structured view.',\n bullet: 'Organize lists into folders',\n },\n groupAttributes: {\n label: 'Group Attributes',\n description: 'Group tasks by assignees, status, or other attributes for better organization.',\n bullet: 'Group tasks by attributes',\n },\n commentCategories: {\n label: 'Comment Categories',\n description:\n 'Organize comments with categories, assign permissions, and use colors for better distinction. Set visibility rules to control who can view specific comments.',\n bullet: 'Enhanced comment organization, permissions, and visibility',\n },\n slicer: {\n label: 'Slicer',\n description: 'Advanced filtering system for project organization.',\n bullet: 'Powerful project filtering tools',\n },\n releases: {\n label: 'Release History',\n description: 'Access and download the complete archive of releases',\n bullet: 'Full release archive access',\n },\n advancedFilters: {\n label: 'Advanced Filters',\n description: 'Customize your view and find your data with powerful filtering options',\n bullet: 'Advanced filtering options',\n },\n listAttributes: {\n label: 'List Attributes',\n description: 'Add custom attributes to your lists for better collaboration and organization.',\n bullet: 'Custom attributes for lists',\n },\n listAccess: {\n label: 'List Access',\n description: 'Manage and control access to your lists with advanced sharing options.',\n bullet: 'Advanced list sharing options',\n },\n}\nexport type PowerpackContextType = {\n selectedPowerPack: null | PowerpackFeature\n setPowerpackDialog: (open: PowerpackContextType['selectedPowerPack']) => void\n powerpackDialog: PowerpackDialogType | null\n powerLicense: boolean\n isLoading: boolean\n}\n\nconst PowerpackContext = createContext<PowerpackContextType | undefined>(undefined)\n\nexport const PowerpackProvider = ({\n children,\n debug,\n}: {\n children: ReactNode\n debug?: { powerLicense?: boolean }\n}) => {\n const [selectedPowerPack, setPowerpackDialog] =\n useState<PowerpackContextType['selectedPowerPack']>(null)\n\n const resolvePowerPackDialog = (selected: PowerpackContextType['selectedPowerPack']) => {\n if (!selected) return null\n return powerpackFeatures[selected]\n }\n\n // check license state\n const [powerLicense, setPowerLicense] = useState(false)\n\n // loading state\n const [isLoading, setIsLoading] = useState(true)\n\n // Define the type for the license check function\n type CheckPowerLicenseFunction = () => Promise<boolean>\n\n // Fallback function that returns false when the module isn't loaded\n const fallbackCheckLicense: CheckPowerLicenseFunction = async () => false\n\n // Load the remote module\n const [checkPowerLicense, { isLoaded, isLoading: isLoadingModule }] =\n useLoadModule<CheckPowerLicenseFunction>({\n addon: 'powerpack',\n remote: 'license',\n module: 'checkPowerLicense',\n fallback: fallbackCheckLicense,\n })\n\n useEffect(() => {\n const checkLicense = async () => {\n if (debug?.powerLicense !== undefined) {\n console.warn('Using debug power license:', debug.powerLicense)\n setPowerLicense(debug.powerLicense)\n setIsLoading(false)\n } else if (isLoaded || !isLoadingModule) {\n try {\n const hasPowerLicense = await checkPowerLicense()\n setPowerLicense(hasPowerLicense)\n } catch (error) {\n console.error('Error checking power license:', error)\n setPowerLicense(false)\n } finally {\n setIsLoading(false)\n }\n setIsLoading(false)\n }\n }\n\n checkLicense()\n }, [debug, isLoaded, isLoadingModule, checkPowerLicense])\n\n const value = useMemo(\n () => ({\n powerLicense: powerLicense,\n isLoading,\n selectedPowerPack,\n setPowerpackDialog,\n powerpackDialog: resolvePowerPackDialog(selectedPowerPack),\n }),\n [powerLicense, selectedPowerPack, setPowerpackDialog, isLoading],\n )\n\n return <PowerpackContext.Provider value={value}>{children}</PowerpackContext.Provider>\n}\n\nexport const usePowerpack = () => {\n const context = useContext(PowerpackContext)\n if (context === undefined) {\n throw new Error('usePowerpack must be used within a PowerpackProvider')\n }\n return context\n}\n"],"names":["powerpackFeatureOrder","powerpackFeatures","PowerpackContext","createContext","PowerpackProvider","children","debug","selectedPowerPack","setPowerpackDialog","useState","resolvePowerPackDialog","selected","powerLicense","setPowerLicense","isLoading","setIsLoading","fallbackCheckLicense","checkPowerLicense","isLoaded","isLoadingModule","useLoadModule","useEffect","hasPowerLicense","error","value","useMemo","jsx","usePowerpack","context","useContext"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const w=require("../../../_virtual/jsx-runtime.cjs.js"),t=require("react");require("../api/base/client.cjs.js");require("../api/generated/graphql.cjs.js");require("../api/generated/graphqlLinks.cjs.js");require("../api/generated/access.cjs.js");require("../api/generated/actions.cjs.js");require("../api/generated/activityFeed.cjs.js");require("../api/generated/addons.cjs.js");require("../api/generated/anatomy.cjs.js");require("../api/generated/attributes.cjs.js");require("../api/generated/authentication.cjs.js");require("../api/generated/bundles.cjs.js");require("../api/generated/configuration.cjs.js");require("../api/generated/desktop.cjs.js");require("../api/generated/entityLists.cjs.js");require("../api/generated/events.cjs.js");require("../api/generated/files.cjs.js");require("../api/generated/folders.cjs.js");require("../api/generated/inbox.cjs.js");require("../api/generated/links.cjs.js");require("../api/generated/market.cjs.js");require("../api/generated/onboarding.cjs.js");require("../api/generated/operations.cjs.js");require("../api/generated/products.cjs.js");require("../api/generated/projectDashboard.cjs.js");require("../api/generated/projects.cjs.js");require("../api/generated/reviewables.cjs.js");require("../api/generated/services.cjs.js");require("../api/generated/system.cjs.js");require("../api/generated/tasks.cjs.js");require("../api/generated/teams.cjs.js");require("../api/generated/thumbnails.cjs.js");require("../api/generated/uRIs.cjs.js");require("../api/generated/users.cjs.js");require("../api/generated/versions.cjs.js");require("../api/generated/workfiles.cjs.js");require("../api/generated/ynputCloud.cjs.js");require("../api/generated/grouping.cjs.js");require("../api/generated/views.cjs.js");require("../api/queries/actions/getActions.cjs.js");require("../api/queries/activities/getActivities.cjs.js");require("../api/queries/activities/updateActivities.cjs.js");require("../api/queries/activities/updateReaction.cjs.js");require("../api/queries/activities/getMentions.cjs.js");require("../api/queries/activities/getCategories.cjs.js");require("../api/queries/addons/getAddons.cjs.js");require("../api/queries/addons/updateAddons.cjs.js");require("../api/queries/attributes/getAttributes.cjs.js");require("../api/queries/attributes/updateAttributes.cjs.js");require("../api/queries/authentication/getAuthentication.cjs.js");require("../api/queries/cloud/cloud.cjs.js");require("../api/queries/entities/getEntity.cjs.js");require("../api/queries/entities/getEntityPanel.cjs.js");require("../api/queries/entities/updateEntity.cjs.js");require("../api/queries/entityLists/getLists.cjs.js");require("../api/queries/entityLists/updateLists.cjs.js");require("../api/queries/entityLists/getListsAttributes.cjs.js");require("../api/queries/entityLists/updateListsAttributes.cjs.js");require("../api/queries/entityLists/listFolders.cjs.js");require("../api/queries/folders/getFolders.cjs.js");require("../api/queries/grouping/getGrouping.cjs.js");require("../api/queries/links/updateLinks.cjs.js");require("../api/queries/links/getLinks.cjs.js");require("../api/queries/links/getEntityLinks.cjs.js");require("../api/queries/overview/getOverview.cjs.js");require("../api/queries/overview/updateOverview.cjs.js");require("../api/queries/versions/getVersionsProducts.cjs.js");require("../api/queries/permissions/getPermissions.cjs.js");require("../api/queries/products/createProduct.cjs.js");const c=require("../api/queries/project/getProject.cjs.js");require("../api/queries/project/updateProject.cjs.js");require("../api/queries/review/getReview.cjs.js");require("../api/queries/review/updateReview.cjs.js");require("../api/queries/share/share.cjs.js");require("../api/queries/system/getSystem.cjs.js");require("../api/queries/userDashboard/getUserDashboard.cjs.js");require("../api/queries/users/getUsers.cjs.js");require("../api/queries/users/updateUsers.cjs.js");require("../api/queries/users/guests.cjs.js");require("../api/queries/versions/updateVersions.cjs.js");require("../api/queries/views/getViews.cjs.js");require("../api/queries/views/updateViews.cjs.js");require("../api/queries/watchers/getWatchers.cjs.js");require("../api/queries/uris/getUris.cjs.js");require("lodash");require("react-toastify");const E=require("../util/getEntityTypeIcon.cjs.js");require("uuid");require("../util/pubsub.cjs.js");const G={name:"",code:"",productTypes:[],folderTypes:[],taskTypes:[],tags:[],statuses:[],createdAt:"",updatedAt:"",active:!0,attrib:{},data:{},config:{},library:!1,linkTypes:[],ownAttrib:[]},f=t.createContext(void 0),Q=({projectName:r,children:g})=>{const{data:i,isLoading:a,isFetching:x,isSuccess:C,isUninitialized:b,error:l,refetch:d}=c.useGetProjectQuery({projectName:r},{skip:!r}),{data:q,refetch:P}=c.useGetProductTypesQuery({projectName:r},{skip:!r}),{data:k={},refetch:y}=c.useGetProjectAnatomyQuery({projectName:r},{skip:!r}),n=(q==null?void 0:q.productTypes)||[],u=q==null?void 0:q.default,T=t.useCallback(o=>{var e;return(e=i==null?void 0:i.folderTypes)==null?void 0:e.find(s=>s.name===o)},[i]),v=t.useCallback(o=>{var e;return(e=i==null?void 0:i.taskTypes)==null?void 0:e.find(s=>s.name===o)},[i]),h=t.useCallback(o=>{const e=n.find(s=>s.name===o)||u;return{icon:(e==null?void 0:e.icon)||E.getEntityTypeIcon("product"),color:e==null?void 0:e.color}},[n,u]),m=t.useCallback(()=>n.map(e=>({value:e.name,label:e.name,icon:e.icon||(u==null?void 0:u.icon)||"",color:e.color||(u==null?void 0:u.color)||""})),[n]),j=t.useCallback(()=>{d(),P(),y()},[d,P,y]),A={getFolderType:T,getTaskType:v,getProductType:h,getProductTypeOptions:m,refetch:j},p=t.useMemo(()=>({...G,...i,projectName:r,productTypes:n,anatomy:k,defaultProductType:u,isLoading:a||x,isSuccess:C,isUninitialized:b,error:l}),[i,r,a,l]);return w.jsxRuntimeExports.jsx(f.Provider,{value:{...p,...A},children:g})},R=()=>{const r=t.useContext(f);if(r===void 0)throw new Error("useProjectContext must be used within a ProjectProviderContext");return r};exports.ProjectContextProvider=Q;exports.useProjectContext=R;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const A=require("../../../_virtual/jsx-runtime.cjs.js"),t=require("react");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/config/getConfig.cjs.js");require("../api/queries/config/updateConfig.cjs.js");require("../api/queries/entities/getEntity.cjs.js");require("../api/queries/entities/getEntityPanel.cjs.js");require("../api/queries/entities/updateEntity.cjs.js");require("../api/queries/entityLists/getLists.cjs.js");require("../api/queries/entityLists/updateLists.cjs.js");require("../api/queries/entityLists/getListsAttributes.cjs.js");require("../api/queries/entityLists/updateListsAttributes.cjs.js");require("../api/queries/entityLists/listFolders.cjs.js");require("../api/queries/folders/getFolders.cjs.js");require("../api/queries/grouping/getGrouping.cjs.js");require("../api/queries/links/updateLinks.cjs.js");require("../api/queries/links/getLinks.cjs.js");require("../api/queries/links/getEntityLinks.cjs.js");require("../api/queries/overview/getOverview.cjs.js");require("../api/queries/overview/updateOverview.cjs.js");require("../api/queries/versions/getVersionsProducts.cjs.js");require("../api/queries/permissions/getPermissions.cjs.js");require("../api/queries/products/createProduct.cjs.js");const c=require("../api/queries/project/getProject.cjs.js");require("../api/queries/project/updateProject.cjs.js");require("../api/queries/review/getReview.cjs.js");require("../api/queries/review/updateReview.cjs.js");require("../api/queries/share/share.cjs.js");require("../api/queries/system/getSystem.cjs.js");require("../api/queries/userDashboard/getUserDashboard.cjs.js");require("../api/queries/users/getUsers.cjs.js");require("../api/queries/users/updateUsers.cjs.js");require("../api/queries/users/guests.cjs.js");require("../api/queries/versions/updateVersions.cjs.js");require("../api/queries/views/getViews.cjs.js");require("../api/queries/views/updateViews.cjs.js");require("../api/queries/watchers/getWatchers.cjs.js");require("../api/queries/uris/getUris.cjs.js");require("lodash");require("react-toastify");const w=require("../util/getEntityTypeIcon.cjs.js");require("uuid");require("../util/pubsub.cjs.js");const E={name:"",code:"",productTypes:[],folderTypes:[],taskTypes:[],tags:[],statuses:[],createdAt:"",updatedAt:"",active:!0,attrib:{},data:{},config:{},library:!1,linkTypes:[],ownAttrib:[]},P=t.createContext(void 0),G=({projectName:r,children:y})=>{const{data:i,isLoading:f,isFetching:g,isSuccess:x,isUninitialized:C,error:b,refetch:a}=c.useGetProjectQuery({projectName:r},{skip:!r}),{data:q,refetch:l}=c.useGetProductTypesQuery({projectName:r},{skip:!r}),{data:k={},refetch:d}=c.useGetProjectAnatomyQuery({projectName:r},{skip:!r}),n=(q==null?void 0:q.productTypes)||[],u=q==null?void 0:q.default,T=t.useCallback(o=>{var e;return(e=i==null?void 0:i.folderTypes)==null?void 0:e.find(s=>s.name===o)},[i]),h=t.useCallback(o=>{var e;return(e=i==null?void 0:i.taskTypes)==null?void 0:e.find(s=>s.name===o)},[i]),v=t.useCallback(o=>{const e=n.find(s=>s.name===o)||u;return{icon:(e==null?void 0:e.icon)||w.getEntityTypeIcon("product"),color:e==null?void 0:e.color}},[n,u]),m=t.useCallback(()=>n.map(e=>({value:e.name,label:e.name,icon:e.icon||(u==null?void 0:u.icon)||"",color:e.color||(u==null?void 0:u.color)||""})),[n]),j=t.useCallback(()=>{a(),l(),d()},[a,l,d]),p={getFolderType:T,getTaskType:h,getProductType:v,getProductTypeOptions:m,refetch:j};return A.jsxRuntimeExports.jsx(P.Provider,{value:{...E,...i,projectName:r,productTypes:n,anatomy:k,defaultProductType:u,isLoading:f||g,isSuccess:x,isUninitialized:C,error:b,...p},children:y})},Q=()=>{const r=t.useContext(P);if(r===void 0)throw new Error("useProjectContext must be used within a ProjectProviderContext");return r};exports.ProjectContextProvider=G;exports.useProjectContext=Q;
2
2
  //# sourceMappingURL=ProjectContext.cjs.js.map