@ynput/ayon-frontend-shared 0.2.21 → 0.2.22

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 (330) hide show
  1. package/dist/DetailsPanel.cjs.js +6 -5
  2. package/dist/DetailsPanel.cjs.js.map +1 -1
  3. package/dist/DetailsPanel.es.js +6 -5
  4. package/dist/DetailsPanel.es.js.map +1 -1
  5. package/dist/_virtual/index.cjs4.js +4 -4
  6. package/dist/_virtual/index.cjs5.js +4 -4
  7. package/dist/_virtual/index.cjs6.js +2 -2
  8. package/dist/_virtual/index.cjs7.js +2 -2
  9. package/dist/_virtual/index.es4.js +4 -4
  10. package/dist/_virtual/index.es5.js +4 -4
  11. package/dist/_virtual/index.es6.js +2 -2
  12. package/dist/_virtual/index.es7.js +2 -2
  13. package/dist/api.cjs.js +22 -19
  14. package/dist/api.cjs.js.map +1 -1
  15. package/dist/api.es.js +8 -5
  16. package/dist/api.es.js.map +1 -1
  17. package/dist/index.cjs.js +6 -5
  18. package/dist/index.cjs.js.map +1 -1
  19. package/dist/index.es.js +6 -5
  20. package/dist/index.es.js.map +1 -1
  21. package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
  22. package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
  23. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  24. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  25. package/dist/node_modules/rehype-prism-plus/dist/index.es.cjs.js +1 -1
  26. package/dist/node_modules/rehype-prism-plus/dist/index.es.es.js +1 -1
  27. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  28. package/dist/node_modules/remove-accents/index.es.js +1 -1
  29. package/dist/shared/src/api/base/client.cjs.js +20 -19
  30. package/dist/shared/src/api/base/client.cjs.js.map +1 -1
  31. package/dist/shared/src/api/base/client.es.js +20 -19
  32. package/dist/shared/src/api/base/client.es.js.map +1 -1
  33. package/dist/shared/src/api/generated/access.cjs.js +8 -0
  34. package/dist/shared/src/api/generated/access.cjs.js.map +1 -1
  35. package/dist/shared/src/api/generated/access.es.js +8 -0
  36. package/dist/shared/src/api/generated/access.es.js.map +1 -1
  37. package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
  38. package/dist/shared/src/api/generated/views.es.js.map +1 -1
  39. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +6 -5
  40. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  41. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +6 -5
  42. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  43. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +6 -5
  44. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  45. package/dist/shared/src/api/queries/entities/updateEntity.es.js +6 -5
  46. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  47. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +6 -5
  48. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  49. package/dist/shared/src/api/queries/overview/updateOverview.es.js +6 -5
  50. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  51. package/dist/shared/src/api/queries/share/share.cjs.js +66 -0
  52. package/dist/shared/src/api/queries/share/share.cjs.js.map +1 -0
  53. package/dist/shared/src/api/queries/share/share.es.js +66 -0
  54. package/dist/shared/src/api/queries/share/share.es.js.map +1 -0
  55. package/dist/shared/src/api/queries/users/getUsers.cjs.js +6 -5
  56. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  57. package/dist/shared/src/api/queries/users/getUsers.es.js +6 -5
  58. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  59. package/dist/shared/src/api/queries/views/getViews.cjs.js +5 -1
  60. package/dist/shared/src/api/queries/views/getViews.cjs.js.map +1 -1
  61. package/dist/shared/src/api/queries/views/getViews.es.js +5 -1
  62. package/dist/shared/src/api/queries/views/getViews.es.js.map +1 -1
  63. package/dist/shared/src/api/queries/views/updateViews.cjs.js +0 -2
  64. package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -1
  65. package/dist/shared/src/api/queries/views/updateViews.es.js +0 -2
  66. package/dist/shared/src/api/queries/views/updateViews.es.js.map +1 -1
  67. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +6 -5
  68. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  69. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +6 -5
  70. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  71. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js +6 -5
  72. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js.map +1 -1
  73. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js +6 -5
  74. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js.map +1 -1
  75. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +6 -5
  76. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  77. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +6 -5
  78. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  79. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +6 -5
  80. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  81. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +6 -5
  82. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  83. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +6 -5
  84. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  85. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +6 -5
  86. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  87. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +6 -5
  88. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  89. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +6 -5
  90. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  91. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +6 -5
  92. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  93. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +6 -5
  94. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  95. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +6 -5
  96. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  97. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +6 -5
  98. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  99. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +6 -5
  100. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  101. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +6 -5
  102. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  103. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +6 -5
  104. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  105. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +6 -5
  106. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  107. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +6 -5
  108. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  109. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +6 -5
  110. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  111. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +6 -5
  112. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  113. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +6 -5
  114. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  115. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +6 -5
  116. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  117. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +6 -5
  118. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  119. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +6 -5
  120. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  121. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +6 -5
  122. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  123. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +6 -5
  124. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  125. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +6 -5
  126. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  127. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +6 -5
  128. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  129. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +6 -5
  130. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  131. package/dist/shared/src/components/Watchers/Watchers.cjs.js +6 -5
  132. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  133. package/dist/shared/src/components/Watchers/Watchers.es.js +6 -5
  134. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  135. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +6 -5
  136. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  137. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +6 -5
  138. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  139. package/dist/shared/src/containers/Actions/Actions.cjs.js +6 -5
  140. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  141. package/dist/shared/src/containers/Actions/Actions.es.js +6 -5
  142. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  143. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +6 -5
  144. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  145. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +6 -5
  146. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  147. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +6 -5
  148. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  149. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +6 -5
  150. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  151. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +6 -5
  152. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  153. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +6 -5
  154. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  155. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +6 -5
  156. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  157. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +6 -5
  158. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  159. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +6 -5
  160. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  161. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +6 -5
  162. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  163. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +6 -5
  164. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  165. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +6 -5
  166. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  167. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +6 -5
  168. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  169. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +6 -5
  170. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  171. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +6 -5
  172. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  173. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +6 -5
  174. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  175. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +6 -5
  176. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  177. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +6 -5
  178. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  179. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +15 -9
  180. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  181. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +15 -9
  182. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  183. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +6 -5
  184. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  185. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +6 -5
  186. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  187. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js.map +1 -1
  188. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js.map +1 -1
  189. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +52 -77
  190. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  191. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +52 -77
  192. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  193. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +6 -5
  194. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  195. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +6 -5
  196. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  197. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +6 -5
  198. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  199. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +6 -5
  200. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  201. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +6 -5
  202. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  203. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +6 -5
  204. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  205. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +6 -5
  206. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  207. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +6 -5
  208. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  209. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +6 -5
  210. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  211. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +6 -5
  212. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  213. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +6 -5
  214. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  215. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +6 -5
  216. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  217. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js +6 -5
  218. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js.map +1 -1
  219. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js +6 -5
  220. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js.map +1 -1
  221. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js +14 -8
  222. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js.map +1 -1
  223. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js +14 -8
  224. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js.map +1 -1
  225. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +6 -5
  226. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  227. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +6 -5
  228. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  229. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +6 -5
  230. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  231. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +6 -5
  232. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  233. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +6 -5
  234. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  235. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +6 -5
  236. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  237. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js +17 -1
  238. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js.map +1 -1
  239. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js +17 -1
  240. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js.map +1 -1
  241. package/dist/shared/src/containers/Views/ViewItem/ViewItem.styled.cjs.js +4 -2
  242. package/dist/shared/src/containers/Views/ViewItem/ViewItem.styled.cjs.js.map +1 -1
  243. package/dist/shared/src/containers/Views/ViewItem/ViewItem.styled.es.js +4 -2
  244. package/dist/shared/src/containers/Views/ViewItem/ViewItem.styled.es.js.map +1 -1
  245. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.cjs.js.map +1 -1
  246. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.es.js.map +1 -1
  247. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +12 -7
  248. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  249. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +12 -7
  250. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  251. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +33 -6
  252. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  253. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +34 -7
  254. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  255. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +31 -5
  256. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
  257. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +31 -5
  258. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
  259. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +16 -10
  260. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  261. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +16 -10
  262. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  263. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +6 -5
  264. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  265. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +6 -5
  266. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  267. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +45 -6
  268. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  269. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +45 -6
  270. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  271. package/dist/shared/src/containers/Views/hooks/useViewsShortcuts.cjs.js +3 -40
  272. package/dist/shared/src/containers/Views/hooks/useViewsShortcuts.cjs.js.map +1 -1
  273. package/dist/shared/src/containers/Views/hooks/useViewsShortcuts.es.js +3 -40
  274. package/dist/shared/src/containers/Views/hooks/useViewsShortcuts.es.js.map +1 -1
  275. package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.cjs.js.map +1 -1
  276. package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.es.js.map +1 -1
  277. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +6 -5
  278. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  279. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +6 -5
  280. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  281. package/dist/shared/src/context/AddonProjectContext.cjs.js +6 -5
  282. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  283. package/dist/shared/src/context/AddonProjectContext.es.js +6 -5
  284. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  285. package/dist/shared/src/context/DetailsPanelContext.cjs.js +6 -5
  286. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  287. package/dist/shared/src/context/DetailsPanelContext.es.js +6 -5
  288. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  289. package/dist/shared/src/context/PowerpackContext.cjs.js +6 -5
  290. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  291. package/dist/shared/src/context/PowerpackContext.es.js +6 -5
  292. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  293. package/dist/shared/src/context/RemoteModulesContext.cjs.js +6 -5
  294. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  295. package/dist/shared/src/context/RemoteModulesContext.es.js +6 -5
  296. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  297. package/dist/shared/src/hooks/useActionTriggers.cjs.js +6 -5
  298. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  299. package/dist/shared/src/hooks/useActionTriggers.es.js +6 -5
  300. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  301. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +6 -5
  302. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  303. package/dist/shared/src/hooks/useEntityUpdate.es.js +6 -5
  304. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  305. package/dist/shared/src/hooks/useLoadModule.cjs.js.map +1 -1
  306. package/dist/shared/src/hooks/useLoadModule.es.js.map +1 -1
  307. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +6 -5
  308. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  309. package/dist/shared/src/hooks/useScopedStatuses.es.js +6 -5
  310. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  311. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +6 -5
  312. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  313. package/dist/shared/src/hooks/useUserProjectConfig.es.js +6 -5
  314. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  315. package/dist/types/api/generated/access.d.ts +15 -0
  316. package/dist/types/api/generated/views.d.ts +4 -4
  317. package/dist/types/api/queries/index.d.ts +6 -5
  318. package/dist/types/api/queries/share/index.d.ts +1 -0
  319. package/dist/types/api/queries/share/share.d.ts +150 -0
  320. package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsContext.d.ts +10 -15
  321. package/dist/types/containers/Views/ViewItem/ViewItem.d.ts +1 -0
  322. package/dist/types/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.d.ts +2 -1
  323. package/dist/types/containers/Views/context/ViewsContext.d.ts +3 -1
  324. package/dist/types/containers/Views/hooks/useBuildViewMenuItems.d.ts +2 -1
  325. package/dist/types/containers/Views/hooks/useViewsMutations.d.ts +7 -0
  326. package/dist/types/containers/Views/index.d.ts +1 -1
  327. package/dist/types/containers/Views/utils/getCustomViewsFallback.d.ts +3 -3
  328. package/package.json +1 -1
  329. package/dist/types/api/generated/powerPack1.1.1Views.d.ts +0 -25
  330. package/dist/types/containers/Views/hooks/useOverviewViewSettings.d.ts +0 -0
@@ -48,6 +48,7 @@ require("../api/queries/addons/updateAddons.cjs.js");
48
48
  require("../api/queries/attributes/getAttributes.cjs.js");
49
49
  require("../api/queries/attributes/updateAttributes.cjs.js");
50
50
  require("../api/queries/authentication/getAuthentication.cjs.js");
51
+ require("../api/queries/cloud/cloud.cjs.js");
51
52
  require("../api/queries/entities/getEntity.cjs.js");
52
53
  require("../api/queries/entities/getEntityPanel.cjs.js");
53
54
  require("../api/queries/entities/updateEntity.cjs.js");
@@ -56,24 +57,24 @@ require("../api/queries/entityLists/updateLists.cjs.js");
56
57
  require("../api/queries/entityLists/getListsAttributes.cjs.js");
57
58
  require("../api/queries/entityLists/updateListsAttributes.cjs.js");
58
59
  require("../api/queries/folders/getFolders.cjs.js");
60
+ require("../api/queries/grouping/getGrouping.cjs.js");
59
61
  require("../api/queries/overview/getOverview.cjs.js");
60
62
  require("../api/queries/overview/updateOverview.cjs.js");
63
+ require("../api/queries/permissions/getPermissions.cjs.js");
64
+ require("../api/queries/products/createProduct.cjs.js");
61
65
  const getProject = require("../api/queries/project/getProject.cjs.js");
62
66
  require("../api/queries/project/updateProject.cjs.js");
63
67
  require("../api/queries/review/getReview.cjs.js");
64
68
  require("../api/queries/review/updateReview.cjs.js");
69
+ require("../api/queries/share/share.cjs.js");
65
70
  require("../api/queries/system/getSystem.cjs.js");
66
71
  require("../api/queries/userDashboard/getUserDashboard.cjs.js");
67
72
  require("../api/queries/users/getUsers.cjs.js");
68
73
  require("../api/queries/users/updateUsers.cjs.js");
69
- require("../api/queries/watchers/getWatchers.cjs.js");
70
- require("../api/queries/permissions/getPermissions.cjs.js");
71
- require("../api/queries/grouping/getGrouping.cjs.js");
72
74
  require("../api/queries/versions/updateVersions.cjs.js");
73
- require("../api/queries/products/createProduct.cjs.js");
74
- require("../api/queries/cloud/cloud.cjs.js");
75
75
  require("../api/queries/views/getViews.cjs.js");
76
76
  require("../api/queries/views/updateViews.cjs.js");
77
+ require("../api/queries/watchers/getWatchers.cjs.js");
77
78
  const React = require("react");
78
79
  const AddonProjectContext = React.createContext(void 0);
79
80
  const AddonProjectProvider = ({
@@ -1 +1 @@
1
- {"version":3,"file":"AddonProjectContext.cjs.js","sources":["../../../../src/context/AddonProjectContext.tsx"],"sourcesContent":["import { ProjectModel, useGetProjectQuery } from '@shared/api'\nimport { createContext, FC, useContext } from 'react'\nimport router from 'react-router-dom'\n\nexport type RemoteAddonProjectComponent = FC<RemoteAddonProjectProps>\nexport type RemoteAddonProject = {\n id: string\n component: RemoteAddonProjectComponent\n name: string\n module: string\n}\n\nexport type RouterTypes = {\n useParams: typeof router.useParams\n useNavigate: typeof router.useNavigate\n useLocation: typeof router.useLocation\n useSearchParams: typeof router.useSearchParams\n}\n\nexport interface RemoteAddonProjectProps {\n projectName: string\n router: RouterTypes\n}\n\n// types for props passed to the provider\nexport interface AddonProjectContextProps extends RemoteAddonProjectProps {\n children: React.ReactNode\n}\n\n// types returned by context\nexport interface AddonProjectContextType extends RemoteAddonProjectProps {\n project: ProjectModel | undefined\n}\n\nconst AddonProjectContext = createContext<AddonProjectContextType | undefined>(undefined)\n\nexport const AddonProjectProvider = ({\n children,\n projectName,\n ...props\n}: AddonProjectContextProps) => {\n const { data: project } = useGetProjectQuery(\n { projectName: projectName as string },\n { skip: !projectName },\n )\n return (\n <AddonProjectContext.Provider value={{ ...props, projectName, project }}>\n {children}\n </AddonProjectContext.Provider>\n )\n}\n\nexport const useAddonProjectContext = () => {\n const context = useContext(AddonProjectContext)\n if (!context) {\n throw new Error('useAddonProjectContext must be used within a AddonProjectContext')\n }\n return context\n}\n"],"names":["createContext","useGetProjectQuery","jsx","useContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,MAAM,sBAAsBA,oBAAmD,MAAS;AAEjF,MAAM,uBAAuB,CAAC;AAAA,EACnC;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAgC;AACxB,QAAA,EAAE,MAAM,QAAA,IAAYC,WAAA;AAAA,IACxB,EAAE,YAAmC;AAAA,IACrC,EAAE,MAAM,CAAC,YAAY;AAAA,EACvB;AAEE,SAAAC,iDAAC,oBAAoB,UAApB,EAA6B,OAAO,EAAE,GAAG,OAAO,aAAa,QAAQ,GACnE,SACH,CAAA;AAEJ;AAEO,MAAM,yBAAyB,MAAM;AACpC,QAAA,UAAUC,iBAAW,mBAAmB;AAC9C,MAAI,CAAC,SAAS;AACN,UAAA,IAAI,MAAM,kEAAkE;AAAA,EAAA;AAE7E,SAAA;AACT;;;"}
1
+ {"version":3,"file":"AddonProjectContext.cjs.js","sources":["../../../../src/context/AddonProjectContext.tsx"],"sourcesContent":["import { ProjectModel, useGetProjectQuery } from '@shared/api'\nimport { createContext, FC, useContext } from 'react'\nimport router from 'react-router-dom'\n\nexport type RemoteAddonProjectComponent = FC<RemoteAddonProjectProps>\nexport type RemoteAddonProject = {\n id: string\n component: RemoteAddonProjectComponent\n name: string\n module: string\n}\n\nexport type RouterTypes = {\n useParams: typeof router.useParams\n useNavigate: typeof router.useNavigate\n useLocation: typeof router.useLocation\n useSearchParams: typeof router.useSearchParams\n}\n\nexport interface RemoteAddonProjectProps {\n projectName: string\n router: RouterTypes\n}\n\n// types for props passed to the provider\nexport interface AddonProjectContextProps extends RemoteAddonProjectProps {\n children: React.ReactNode\n}\n\n// types returned by context\nexport interface AddonProjectContextType extends RemoteAddonProjectProps {\n project: ProjectModel | undefined\n}\n\nconst AddonProjectContext = createContext<AddonProjectContextType | undefined>(undefined)\n\nexport const AddonProjectProvider = ({\n children,\n projectName,\n ...props\n}: AddonProjectContextProps) => {\n const { data: project } = useGetProjectQuery(\n { projectName: projectName as string },\n { skip: !projectName },\n )\n return (\n <AddonProjectContext.Provider value={{ ...props, projectName, project }}>\n {children}\n </AddonProjectContext.Provider>\n )\n}\n\nexport const useAddonProjectContext = () => {\n const context = useContext(AddonProjectContext)\n if (!context) {\n throw new Error('useAddonProjectContext must be used within a AddonProjectContext')\n }\n return context\n}\n"],"names":["createContext","useGetProjectQuery","jsx","useContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,MAAM,sBAAsBA,oBAAmD,MAAS;AAEjF,MAAM,uBAAuB,CAAC;AAAA,EACnC;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAgC;AACxB,QAAA,EAAE,MAAM,QAAA,IAAYC,WAAA;AAAA,IACxB,EAAE,YAAmC;AAAA,IACrC,EAAE,MAAM,CAAC,YAAY;AAAA,EACvB;AAEE,SAAAC,iDAAC,oBAAoB,UAApB,EAA6B,OAAO,EAAE,GAAG,OAAO,aAAa,QAAQ,GACnE,SACH,CAAA;AAEJ;AAEO,MAAM,yBAAyB,MAAM;AACpC,QAAA,UAAUC,iBAAW,mBAAmB;AAC9C,MAAI,CAAC,SAAS;AACN,UAAA,IAAI,MAAM,kEAAkE;AAAA,EAAA;AAE7E,SAAA;AACT;;;"}
@@ -46,6 +46,7 @@ import "../api/queries/addons/updateAddons.es.js";
46
46
  import "../api/queries/attributes/getAttributes.es.js";
47
47
  import "../api/queries/attributes/updateAttributes.es.js";
48
48
  import "../api/queries/authentication/getAuthentication.es.js";
49
+ import "../api/queries/cloud/cloud.es.js";
49
50
  import "../api/queries/entities/getEntity.es.js";
50
51
  import "../api/queries/entities/getEntityPanel.es.js";
51
52
  import "../api/queries/entities/updateEntity.es.js";
@@ -54,24 +55,24 @@ import "../api/queries/entityLists/updateLists.es.js";
54
55
  import "../api/queries/entityLists/getListsAttributes.es.js";
55
56
  import "../api/queries/entityLists/updateListsAttributes.es.js";
56
57
  import "../api/queries/folders/getFolders.es.js";
58
+ import "../api/queries/grouping/getGrouping.es.js";
57
59
  import "../api/queries/overview/getOverview.es.js";
58
60
  import "../api/queries/overview/updateOverview.es.js";
61
+ import "../api/queries/permissions/getPermissions.es.js";
62
+ import "../api/queries/products/createProduct.es.js";
59
63
  import { useGetProjectQuery } from "../api/queries/project/getProject.es.js";
60
64
  import "../api/queries/project/updateProject.es.js";
61
65
  import "../api/queries/review/getReview.es.js";
62
66
  import "../api/queries/review/updateReview.es.js";
67
+ import "../api/queries/share/share.es.js";
63
68
  import "../api/queries/system/getSystem.es.js";
64
69
  import "../api/queries/userDashboard/getUserDashboard.es.js";
65
70
  import "../api/queries/users/getUsers.es.js";
66
71
  import "../api/queries/users/updateUsers.es.js";
67
- import "../api/queries/watchers/getWatchers.es.js";
68
- import "../api/queries/permissions/getPermissions.es.js";
69
- import "../api/queries/grouping/getGrouping.es.js";
70
72
  import "../api/queries/versions/updateVersions.es.js";
71
- import "../api/queries/products/createProduct.es.js";
72
- import "../api/queries/cloud/cloud.es.js";
73
73
  import "../api/queries/views/getViews.es.js";
74
74
  import "../api/queries/views/updateViews.es.js";
75
+ import "../api/queries/watchers/getWatchers.es.js";
75
76
  import { createContext, useContext } from "react";
76
77
  const AddonProjectContext = createContext(void 0);
77
78
  const AddonProjectProvider = ({
@@ -1 +1 @@
1
- {"version":3,"file":"AddonProjectContext.es.js","sources":["../../../../src/context/AddonProjectContext.tsx"],"sourcesContent":["import { ProjectModel, useGetProjectQuery } from '@shared/api'\nimport { createContext, FC, useContext } from 'react'\nimport router from 'react-router-dom'\n\nexport type RemoteAddonProjectComponent = FC<RemoteAddonProjectProps>\nexport type RemoteAddonProject = {\n id: string\n component: RemoteAddonProjectComponent\n name: string\n module: string\n}\n\nexport type RouterTypes = {\n useParams: typeof router.useParams\n useNavigate: typeof router.useNavigate\n useLocation: typeof router.useLocation\n useSearchParams: typeof router.useSearchParams\n}\n\nexport interface RemoteAddonProjectProps {\n projectName: string\n router: RouterTypes\n}\n\n// types for props passed to the provider\nexport interface AddonProjectContextProps extends RemoteAddonProjectProps {\n children: React.ReactNode\n}\n\n// types returned by context\nexport interface AddonProjectContextType extends RemoteAddonProjectProps {\n project: ProjectModel | undefined\n}\n\nconst AddonProjectContext = createContext<AddonProjectContextType | undefined>(undefined)\n\nexport const AddonProjectProvider = ({\n children,\n projectName,\n ...props\n}: AddonProjectContextProps) => {\n const { data: project } = useGetProjectQuery(\n { projectName: projectName as string },\n { skip: !projectName },\n )\n return (\n <AddonProjectContext.Provider value={{ ...props, projectName, project }}>\n {children}\n </AddonProjectContext.Provider>\n )\n}\n\nexport const useAddonProjectContext = () => {\n const context = useContext(AddonProjectContext)\n if (!context) {\n throw new Error('useAddonProjectContext must be used within a AddonProjectContext')\n }\n return context\n}\n"],"names":["jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,MAAM,sBAAsB,cAAmD,MAAS;AAEjF,MAAM,uBAAuB,CAAC;AAAA,EACnC;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAgC;AACxB,QAAA,EAAE,MAAM,QAAA,IAAY;AAAA,IACxB,EAAE,YAAmC;AAAA,IACrC,EAAE,MAAM,CAAC,YAAY;AAAA,EACvB;AAEE,SAAAA,sCAAC,oBAAoB,UAApB,EAA6B,OAAO,EAAE,GAAG,OAAO,aAAa,QAAQ,GACnE,SACH,CAAA;AAEJ;AAEO,MAAM,yBAAyB,MAAM;AACpC,QAAA,UAAU,WAAW,mBAAmB;AAC9C,MAAI,CAAC,SAAS;AACN,UAAA,IAAI,MAAM,kEAAkE;AAAA,EAAA;AAE7E,SAAA;AACT;"}
1
+ {"version":3,"file":"AddonProjectContext.es.js","sources":["../../../../src/context/AddonProjectContext.tsx"],"sourcesContent":["import { ProjectModel, useGetProjectQuery } from '@shared/api'\nimport { createContext, FC, useContext } from 'react'\nimport router from 'react-router-dom'\n\nexport type RemoteAddonProjectComponent = FC<RemoteAddonProjectProps>\nexport type RemoteAddonProject = {\n id: string\n component: RemoteAddonProjectComponent\n name: string\n module: string\n}\n\nexport type RouterTypes = {\n useParams: typeof router.useParams\n useNavigate: typeof router.useNavigate\n useLocation: typeof router.useLocation\n useSearchParams: typeof router.useSearchParams\n}\n\nexport interface RemoteAddonProjectProps {\n projectName: string\n router: RouterTypes\n}\n\n// types for props passed to the provider\nexport interface AddonProjectContextProps extends RemoteAddonProjectProps {\n children: React.ReactNode\n}\n\n// types returned by context\nexport interface AddonProjectContextType extends RemoteAddonProjectProps {\n project: ProjectModel | undefined\n}\n\nconst AddonProjectContext = createContext<AddonProjectContextType | undefined>(undefined)\n\nexport const AddonProjectProvider = ({\n children,\n projectName,\n ...props\n}: AddonProjectContextProps) => {\n const { data: project } = useGetProjectQuery(\n { projectName: projectName as string },\n { skip: !projectName },\n )\n return (\n <AddonProjectContext.Provider value={{ ...props, projectName, project }}>\n {children}\n </AddonProjectContext.Provider>\n )\n}\n\nexport const useAddonProjectContext = () => {\n const context = useContext(AddonProjectContext)\n if (!context) {\n throw new Error('useAddonProjectContext must be used within a AddonProjectContext')\n }\n return context\n}\n"],"names":["jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,MAAM,sBAAsB,cAAmD,MAAS;AAEjF,MAAM,uBAAuB,CAAC;AAAA,EACnC;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAgC;AACxB,QAAA,EAAE,MAAM,QAAA,IAAY;AAAA,IACxB,EAAE,YAAmC;AAAA,IACrC,EAAE,MAAM,CAAC,YAAY;AAAA,EACvB;AAEE,SAAAA,sCAAC,oBAAoB,UAApB,EAA6B,OAAO,EAAE,GAAG,OAAO,aAAa,QAAQ,GACnE,SACH,CAAA;AAEJ;AAEO,MAAM,yBAAyB,MAAM;AACpC,QAAA,UAAU,WAAW,mBAAmB;AAC9C,MAAI,CAAC,SAAS;AACN,UAAA,IAAI,MAAM,kEAAkE;AAAA,EAAA;AAE7E,SAAA;AACT;"}
@@ -53,6 +53,7 @@ require("../api/queries/addons/updateAddons.cjs.js");
53
53
  require("../api/queries/attributes/getAttributes.cjs.js");
54
54
  require("../api/queries/attributes/updateAttributes.cjs.js");
55
55
  require("../api/queries/authentication/getAuthentication.cjs.js");
56
+ require("../api/queries/cloud/cloud.cjs.js");
56
57
  require("../api/queries/entities/getEntity.cjs.js");
57
58
  require("../api/queries/entities/getEntityPanel.cjs.js");
58
59
  require("../api/queries/entities/updateEntity.cjs.js");
@@ -61,24 +62,24 @@ require("../api/queries/entityLists/updateLists.cjs.js");
61
62
  require("../api/queries/entityLists/getListsAttributes.cjs.js");
62
63
  require("../api/queries/entityLists/updateListsAttributes.cjs.js");
63
64
  require("../api/queries/folders/getFolders.cjs.js");
65
+ require("../api/queries/grouping/getGrouping.cjs.js");
64
66
  require("../api/queries/overview/getOverview.cjs.js");
65
67
  require("../api/queries/overview/updateOverview.cjs.js");
68
+ require("../api/queries/permissions/getPermissions.cjs.js");
69
+ require("../api/queries/products/createProduct.cjs.js");
66
70
  require("../api/queries/project/getProject.cjs.js");
67
71
  require("../api/queries/project/updateProject.cjs.js");
68
72
  require("../api/queries/review/getReview.cjs.js");
69
73
  require("../api/queries/review/updateReview.cjs.js");
74
+ require("../api/queries/share/share.cjs.js");
70
75
  require("../api/queries/system/getSystem.cjs.js");
71
76
  require("../api/queries/userDashboard/getUserDashboard.cjs.js");
72
77
  const getUsers = require("../api/queries/users/getUsers.cjs.js");
73
78
  require("../api/queries/users/updateUsers.cjs.js");
74
- require("../api/queries/watchers/getWatchers.cjs.js");
75
- require("../api/queries/permissions/getPermissions.cjs.js");
76
- require("../api/queries/grouping/getGrouping.cjs.js");
77
79
  require("../api/queries/versions/updateVersions.cjs.js");
78
- require("../api/queries/products/createProduct.cjs.js");
79
- require("../api/queries/cloud/cloud.cjs.js");
80
80
  require("../api/queries/views/getViews.cjs.js");
81
81
  require("../api/queries/views/updateViews.cjs.js");
82
+ require("../api/queries/watchers/getWatchers.cjs.js");
82
83
  require("lodash");
83
84
  require("react-toastify");
84
85
  require("./ThumbnailUploaderContext.cjs.js");
@@ -1 +1 @@
1
- {"version":3,"file":"DetailsPanelContext.cjs.js","sources":["../../../../src/context/DetailsPanelContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useCallback, ReactNode, useState } from 'react'\nimport { useLocalStorage } from '@shared/hooks'\nimport { DetailsPanelEntityType, useGetCurrentUserQuery } 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'\n\nexport type FeedFilters = 'activity' | 'comments' | 'versions' | 'checklists'\n\nexport type DetailsPanelTab = FeedFilters | 'attribs' | '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 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}\n\n// Interface for our simplified context\nexport interface DetailsPanelContextType extends DetailsPanelContextProps {\n // user\n isDeveloperMode: 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 setTab: (scope: string, tab: DetailsPanelTab) => void\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 // Annotations\n feedAnnotations: SavedAnnotationMetadata[]\n setFeedAnnotations: (annotations: SavedAnnotationMetadata[]) => 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 ...forwardedProps\n}) => {\n // get current user\n const { data: currentUser } = useGetCurrentUserQuery()\n const isDeveloperMode = currentUser?.attrib?.developerMode ?? false\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, setTabsByScope] = useLocalStorage<TabStateByScope>(\n 'details/tabs-by-scope',\n {},\n )\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 const setTab = useCallback(\n (scope: string, tab: DetailsPanelTab) => {\n // Create a new state object based on current tabsByScope\n const newState = { ...tabsByScope }\n newState[scope] = tab\n\n // Update the state with the new object\n setTabsByScope(newState)\n },\n [tabsByScope, setTabsByScope],\n )\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 setHighlightedActivities([])\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 [highlightedActivities, setHighlightedActivities] = useState<string[]>([])\n\n const value = {\n // open state for the panel by scope\n panelOpenByScope,\n getOpenForScope,\n setPanelOpen,\n setPanelOpenByScope,\n // tab preferences\n tabsByScope,\n getTabForScope,\n setTab,\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 feedAnnotations,\n setFeedAnnotations,\n isDeveloperMode,\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 { getTabForScope, setTab, getOpenForScope, setPanelOpen } = useDetailsPanelContext()\n\n return {\n isOpen: getOpenForScope(scope),\n setOpen: (isOpen: boolean) => setPanelOpen(scope, isOpen),\n currentTab: getTabForScope(scope),\n setTab: (tab: DetailsPanelTab) => setTab(scope, tab),\n isFeed: ['activity', 'comments', 'versions', 'checklists'].includes(getTabForScope(scope)),\n }\n}\n"],"names":["createContext","useGetCurrentUserQuery","useState","useCallback","useLocalStorage","pip","jsx","useContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2FA,MAAM,sBAAsBA,oBAAmD,MAAS;AAQjF,MAAM,uBAA4D,CAAC;AAAA,EACxE;AAAA,EACA,aAAa;AAAA,EACb,GAAG;AACL,MAAM;;AAEJ,QAAM,EAAE,MAAM,YAAY,IAAIC,gCAAuB;AAC/C,QAAA,oBAAkB,gDAAa,WAAb,mBAAqB,kBAAiB;AAG9D,QAAM,CAAC,kBAAkB,mBAAmB,IAAIC,MAAAA,SAA2B,CAAA,CAAE;AAC7E,QAAM,CAAC,iBAAiB,kBAAkB,IAAIA,MAAAA,SAAoC,CAAA,CAAE;AAGpF,QAAM,kBAAkBC,MAAA;AAAA,IACtB,CAAC,UAA2B;AAEtB,UAAA,iBAAiB,KAAK,GAAG;AAC3B,eAAO,iBAAiB,KAAK;AAAA,MAAA;AAIxB,aAAA;AAAA,IACT;AAAA,IACA,CAAC,gBAAgB;AAAA,EACnB;AAEA,QAAM,eAAeA,MAAA;AAAA,IACnB,CAAC,OAAe,WAAoB;AAE5B,YAAA,WAAW,EAAE,GAAG,iBAAiB;AACvC,eAAS,KAAK,IAAI;AAGlB,0BAAoB,QAAQ;AAAA,IAC9B;AAAA,IACA,CAAC,gBAAgB;AAAA,EACnB;AAGM,QAAA,CAAC,aAAa,cAAc,IAAIC,gBAAA;AAAA,IACpC;AAAA,IACA,CAAA;AAAA,EACF;AAGA,QAAM,iBAAiBD,MAAA;AAAA,IACrB,CAAC,UAAmC;AAE9B,UAAA,YAAY,KAAK,GAAG;AACtB,eAAO,YAAY,KAAK;AAAA,MAAA;AAInB,aAAA;AAAA,IACT;AAAA,IACA,CAAC,aAAa,UAAU;AAAA,EAC1B;AAGA,QAAM,SAASA,MAAA;AAAA,IACb,CAAC,OAAe,QAAyB;AAEjC,YAAA,WAAW,EAAE,GAAG,YAAY;AAClC,eAAS,KAAK,IAAI;AAGlB,qBAAe,QAAQ;AAAA,IACzB;AAAA,IACA,CAAC,aAAa,cAAc;AAAA,EAC9B;AAGA,QAAM,CAAC,UAAU,WAAW,IAAID,MAAAA,SAA0B,IAAI;AAGxD,QAAA,eAAeC,kBAAqD,CAAC,WAAW;AACpF,gBAAY,MAAM;AAAA,EACpB,GAAG,EAAE;AAGC,QAAA,gBAAgBA,MAAAA,YAAY,MAAM;AACtC,gBAAY,IAAI;AAChB,6BAAyB,CAAA,CAAE;AAAA,EAC7B,GAAG,EAAE;AAEL,QAAM,CAAC,KAAK,MAAM,IAAID,MAAAA,SAAiC,IAAI;AAErD,QAAA,UAAUC,kBAAY,CAACE,SAAyB;AACpD,WAAOA,IAAG;AAAA,EACZ,GAAG,EAAE;AACC,QAAA,WAAWF,MAAAA,YAAY,MAAM;AACjC,WAAO,IAAI;AAAA,EACb,GAAG,EAAE;AAEL,QAAM,CAAC,uBAAuB,wBAAwB,IAAID,MAAAA,SAAmB,CAAA,CAAE;AAE/E,QAAM,QAAQ;AAAA;AAAA,IAEZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL;AAEA,SAAQI,2BAAAA,kBAAAA,IAAA,oBAAoB,UAApB,EAA6B,OAAe,SAAS,CAAA;AAC/D;AAGO,MAAM,yBAAyB,MAA+B;AAC7D,QAAA,UAAUC,iBAAW,mBAAmB;AAC9C,MAAI,YAAY,QAAW;AACnB,UAAA,IAAI,MAAM,uDAAuD;AAAA,EAAA;AAElE,SAAA;AACT;AAGa,MAAA,wBAAwB,CAAC,UAAkB;AACtD,QAAM,EAAE,gBAAgB,QAAQ,iBAAiB,aAAA,IAAiB,uBAAuB;AAElF,SAAA;AAAA,IACL,QAAQ,gBAAgB,KAAK;AAAA,IAC7B,SAAS,CAAC,WAAoB,aAAa,OAAO,MAAM;AAAA,IACxD,YAAY,eAAe,KAAK;AAAA,IAChC,QAAQ,CAAC,QAAyB,OAAO,OAAO,GAAG;AAAA,IACnD,QAAQ,CAAC,YAAY,YAAY,YAAY,YAAY,EAAE,SAAS,eAAe,KAAK,CAAC;AAAA,EAC3F;AACF;;;;"}
1
+ {"version":3,"file":"DetailsPanelContext.cjs.js","sources":["../../../../src/context/DetailsPanelContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useCallback, ReactNode, useState } from 'react'\nimport { useLocalStorage } from '@shared/hooks'\nimport { DetailsPanelEntityType, useGetCurrentUserQuery } 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'\n\nexport type FeedFilters = 'activity' | 'comments' | 'versions' | 'checklists'\n\nexport type DetailsPanelTab = FeedFilters | 'attribs' | '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 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}\n\n// Interface for our simplified context\nexport interface DetailsPanelContextType extends DetailsPanelContextProps {\n // user\n isDeveloperMode: 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 setTab: (scope: string, tab: DetailsPanelTab) => void\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 // Annotations\n feedAnnotations: SavedAnnotationMetadata[]\n setFeedAnnotations: (annotations: SavedAnnotationMetadata[]) => 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 ...forwardedProps\n}) => {\n // get current user\n const { data: currentUser } = useGetCurrentUserQuery()\n const isDeveloperMode = currentUser?.attrib?.developerMode ?? false\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, setTabsByScope] = useLocalStorage<TabStateByScope>(\n 'details/tabs-by-scope',\n {},\n )\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 const setTab = useCallback(\n (scope: string, tab: DetailsPanelTab) => {\n // Create a new state object based on current tabsByScope\n const newState = { ...tabsByScope }\n newState[scope] = tab\n\n // Update the state with the new object\n setTabsByScope(newState)\n },\n [tabsByScope, setTabsByScope],\n )\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 setHighlightedActivities([])\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 [highlightedActivities, setHighlightedActivities] = useState<string[]>([])\n\n const value = {\n // open state for the panel by scope\n panelOpenByScope,\n getOpenForScope,\n setPanelOpen,\n setPanelOpenByScope,\n // tab preferences\n tabsByScope,\n getTabForScope,\n setTab,\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 feedAnnotations,\n setFeedAnnotations,\n isDeveloperMode,\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 { getTabForScope, setTab, getOpenForScope, setPanelOpen } = useDetailsPanelContext()\n\n return {\n isOpen: getOpenForScope(scope),\n setOpen: (isOpen: boolean) => setPanelOpen(scope, isOpen),\n currentTab: getTabForScope(scope),\n setTab: (tab: DetailsPanelTab) => setTab(scope, tab),\n isFeed: ['activity', 'comments', 'versions', 'checklists'].includes(getTabForScope(scope)),\n }\n}\n"],"names":["createContext","useGetCurrentUserQuery","useState","useCallback","useLocalStorage","pip","jsx","useContext"],"mappings":"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"}
@@ -51,6 +51,7 @@ import "../api/queries/addons/updateAddons.es.js";
51
51
  import "../api/queries/attributes/getAttributes.es.js";
52
52
  import "../api/queries/attributes/updateAttributes.es.js";
53
53
  import "../api/queries/authentication/getAuthentication.es.js";
54
+ import "../api/queries/cloud/cloud.es.js";
54
55
  import "../api/queries/entities/getEntity.es.js";
55
56
  import "../api/queries/entities/getEntityPanel.es.js";
56
57
  import "../api/queries/entities/updateEntity.es.js";
@@ -59,24 +60,24 @@ import "../api/queries/entityLists/updateLists.es.js";
59
60
  import "../api/queries/entityLists/getListsAttributes.es.js";
60
61
  import "../api/queries/entityLists/updateListsAttributes.es.js";
61
62
  import "../api/queries/folders/getFolders.es.js";
63
+ import "../api/queries/grouping/getGrouping.es.js";
62
64
  import "../api/queries/overview/getOverview.es.js";
63
65
  import "../api/queries/overview/updateOverview.es.js";
66
+ import "../api/queries/permissions/getPermissions.es.js";
67
+ import "../api/queries/products/createProduct.es.js";
64
68
  import "../api/queries/project/getProject.es.js";
65
69
  import "../api/queries/project/updateProject.es.js";
66
70
  import "../api/queries/review/getReview.es.js";
67
71
  import "../api/queries/review/updateReview.es.js";
72
+ import "../api/queries/share/share.es.js";
68
73
  import "../api/queries/system/getSystem.es.js";
69
74
  import "../api/queries/userDashboard/getUserDashboard.es.js";
70
75
  import { useGetCurrentUserQuery } from "../api/queries/users/getUsers.es.js";
71
76
  import "../api/queries/users/updateUsers.es.js";
72
- import "../api/queries/watchers/getWatchers.es.js";
73
- import "../api/queries/permissions/getPermissions.es.js";
74
- import "../api/queries/grouping/getGrouping.es.js";
75
77
  import "../api/queries/versions/updateVersions.es.js";
76
- import "../api/queries/products/createProduct.es.js";
77
- import "../api/queries/cloud/cloud.es.js";
78
78
  import "../api/queries/views/getViews.es.js";
79
79
  import "../api/queries/views/updateViews.es.js";
80
+ import "../api/queries/watchers/getWatchers.es.js";
80
81
  import "lodash";
81
82
  import "react-toastify";
82
83
  import "./ThumbnailUploaderContext.es.js";
@@ -1 +1 @@
1
- {"version":3,"file":"DetailsPanelContext.es.js","sources":["../../../../src/context/DetailsPanelContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useCallback, ReactNode, useState } from 'react'\nimport { useLocalStorage } from '@shared/hooks'\nimport { DetailsPanelEntityType, useGetCurrentUserQuery } 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'\n\nexport type FeedFilters = 'activity' | 'comments' | 'versions' | 'checklists'\n\nexport type DetailsPanelTab = FeedFilters | 'attribs' | '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 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}\n\n// Interface for our simplified context\nexport interface DetailsPanelContextType extends DetailsPanelContextProps {\n // user\n isDeveloperMode: 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 setTab: (scope: string, tab: DetailsPanelTab) => void\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 // Annotations\n feedAnnotations: SavedAnnotationMetadata[]\n setFeedAnnotations: (annotations: SavedAnnotationMetadata[]) => 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 ...forwardedProps\n}) => {\n // get current user\n const { data: currentUser } = useGetCurrentUserQuery()\n const isDeveloperMode = currentUser?.attrib?.developerMode ?? false\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, setTabsByScope] = useLocalStorage<TabStateByScope>(\n 'details/tabs-by-scope',\n {},\n )\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 const setTab = useCallback(\n (scope: string, tab: DetailsPanelTab) => {\n // Create a new state object based on current tabsByScope\n const newState = { ...tabsByScope }\n newState[scope] = tab\n\n // Update the state with the new object\n setTabsByScope(newState)\n },\n [tabsByScope, setTabsByScope],\n )\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 setHighlightedActivities([])\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 [highlightedActivities, setHighlightedActivities] = useState<string[]>([])\n\n const value = {\n // open state for the panel by scope\n panelOpenByScope,\n getOpenForScope,\n setPanelOpen,\n setPanelOpenByScope,\n // tab preferences\n tabsByScope,\n getTabForScope,\n setTab,\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 feedAnnotations,\n setFeedAnnotations,\n isDeveloperMode,\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 { getTabForScope, setTab, getOpenForScope, setPanelOpen } = useDetailsPanelContext()\n\n return {\n isOpen: getOpenForScope(scope),\n setOpen: (isOpen: boolean) => setPanelOpen(scope, isOpen),\n currentTab: getTabForScope(scope),\n setTab: (tab: DetailsPanelTab) => setTab(scope, tab),\n isFeed: ['activity', 'comments', 'versions', 'checklists'].includes(getTabForScope(scope)),\n }\n}\n"],"names":["pip","jsx"],"mappings":"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"}
1
+ {"version":3,"file":"DetailsPanelContext.es.js","sources":["../../../../src/context/DetailsPanelContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useCallback, ReactNode, useState } from 'react'\nimport { useLocalStorage } from '@shared/hooks'\nimport { DetailsPanelEntityType, useGetCurrentUserQuery } 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'\n\nexport type FeedFilters = 'activity' | 'comments' | 'versions' | 'checklists'\n\nexport type DetailsPanelTab = FeedFilters | 'attribs' | '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 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}\n\n// Interface for our simplified context\nexport interface DetailsPanelContextType extends DetailsPanelContextProps {\n // user\n isDeveloperMode: 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 setTab: (scope: string, tab: DetailsPanelTab) => void\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 // Annotations\n feedAnnotations: SavedAnnotationMetadata[]\n setFeedAnnotations: (annotations: SavedAnnotationMetadata[]) => 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 ...forwardedProps\n}) => {\n // get current user\n const { data: currentUser } = useGetCurrentUserQuery()\n const isDeveloperMode = currentUser?.attrib?.developerMode ?? false\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, setTabsByScope] = useLocalStorage<TabStateByScope>(\n 'details/tabs-by-scope',\n {},\n )\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 const setTab = useCallback(\n (scope: string, tab: DetailsPanelTab) => {\n // Create a new state object based on current tabsByScope\n const newState = { ...tabsByScope }\n newState[scope] = tab\n\n // Update the state with the new object\n setTabsByScope(newState)\n },\n [tabsByScope, setTabsByScope],\n )\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 setHighlightedActivities([])\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 [highlightedActivities, setHighlightedActivities] = useState<string[]>([])\n\n const value = {\n // open state for the panel by scope\n panelOpenByScope,\n getOpenForScope,\n setPanelOpen,\n setPanelOpenByScope,\n // tab preferences\n tabsByScope,\n getTabForScope,\n setTab,\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 feedAnnotations,\n setFeedAnnotations,\n isDeveloperMode,\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 { getTabForScope, setTab, getOpenForScope, setPanelOpen } = useDetailsPanelContext()\n\n return {\n isOpen: getOpenForScope(scope),\n setOpen: (isOpen: boolean) => setPanelOpen(scope, isOpen),\n currentTab: getTabForScope(scope),\n setTab: (tab: DetailsPanelTab) => setTab(scope, tab),\n isFeed: ['activity', 'comments', 'versions', 'checklists'].includes(getTabForScope(scope)),\n }\n}\n"],"names":["pip","jsx"],"mappings":"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"}
@@ -52,6 +52,7 @@ require("../api/queries/addons/updateAddons.cjs.js");
52
52
  require("../api/queries/attributes/getAttributes.cjs.js");
53
53
  require("../api/queries/attributes/updateAttributes.cjs.js");
54
54
  require("../api/queries/authentication/getAuthentication.cjs.js");
55
+ require("../api/queries/cloud/cloud.cjs.js");
55
56
  require("../api/queries/entities/getEntity.cjs.js");
56
57
  require("../api/queries/entities/getEntityPanel.cjs.js");
57
58
  require("../api/queries/entities/updateEntity.cjs.js");
@@ -60,24 +61,24 @@ require("../api/queries/entityLists/updateLists.cjs.js");
60
61
  require("../api/queries/entityLists/getListsAttributes.cjs.js");
61
62
  require("../api/queries/entityLists/updateListsAttributes.cjs.js");
62
63
  require("../api/queries/folders/getFolders.cjs.js");
64
+ require("../api/queries/grouping/getGrouping.cjs.js");
63
65
  require("../api/queries/overview/getOverview.cjs.js");
64
66
  require("../api/queries/overview/updateOverview.cjs.js");
67
+ require("../api/queries/permissions/getPermissions.cjs.js");
68
+ require("../api/queries/products/createProduct.cjs.js");
65
69
  require("../api/queries/project/getProject.cjs.js");
66
70
  require("../api/queries/project/updateProject.cjs.js");
67
71
  require("../api/queries/review/getReview.cjs.js");
68
72
  require("../api/queries/review/updateReview.cjs.js");
73
+ require("../api/queries/share/share.cjs.js");
69
74
  require("../api/queries/system/getSystem.cjs.js");
70
75
  require("../api/queries/userDashboard/getUserDashboard.cjs.js");
71
76
  require("../api/queries/users/getUsers.cjs.js");
72
77
  require("../api/queries/users/updateUsers.cjs.js");
73
- require("../api/queries/watchers/getWatchers.cjs.js");
74
- require("../api/queries/permissions/getPermissions.cjs.js");
75
- require("../api/queries/grouping/getGrouping.cjs.js");
76
78
  require("../api/queries/versions/updateVersions.cjs.js");
77
- require("../api/queries/products/createProduct.cjs.js");
78
- require("../api/queries/cloud/cloud.cjs.js");
79
79
  require("../api/queries/views/getViews.cjs.js");
80
80
  require("../api/queries/views/updateViews.cjs.js");
81
+ require("../api/queries/watchers/getWatchers.cjs.js");
81
82
  require("lodash");
82
83
  require("react-toastify");
83
84
  require("./RemoteModulesContext.cjs.js");
@@ -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 | 'groupAttributes'\n | 'sharedViews'\nexport type PowerpackDialogType = {\n label: string\n description: string\n bullet: string\n icon?: string\n}\n\nexport const powerpackFeatures: {\n [key in PowerpackFeature]: PowerpackDialogType\n} = {\n slicer: {\n label: 'Slicer',\n description: 'Advanced filtering system for project organization.',\n bullet: 'Powerful project filtering tools',\n },\n annotations: {\n label: 'Annotations',\n description: 'Create detailed visual feedback directly on media files.',\n bullet: 'Advanced media review 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 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 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}\nexport type PowerpackContextType = {\n selectedPowerPack: null | PowerpackFeature\n setPowerpackDialog: (open: PowerpackContextType['selectedPowerPack']) => void\n powerpackDialog: PowerpackDialogType | null\n powerLicense: 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 // 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 }] = 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 } else if (isLoaded) {\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 }\n }\n }\n\n checkLicense()\n }, [debug, isLoaded, checkPowerLicense])\n\n const value = useMemo(\n () => ({\n powerLicense: powerLicense,\n selectedPowerPack,\n setPowerpackDialog,\n powerpackDialog: resolvePowerPackDialog(selectedPowerPack),\n }),\n [powerLicense, selectedPowerPack, setPowerpackDialog],\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":["createContext","useState","useLoadModule","useEffect","useMemo","jsx","useContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBO,MAAM,oBAET;AAAA,EACF,QAAQ;AAAA,IACN,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,aAAa;AAAA,IACX,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,UAAU;AAAA,IACR,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,iBAAiB;AAAA,IACf,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,gBAAgB;AAAA,IACd,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,iBAAiB;AAAA,IACf,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,aAAa;AAAA,IACX,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EAAA;AAEZ;AAQA,MAAM,mBAAmBA,oBAAgD,MAAS;AAE3E,MAAM,oBAAoB,CAAC;AAAA,EAChC;AAAA,EACA;AACF,MAGM;AACJ,QAAM,CAAC,mBAAmB,kBAAkB,IAC1CC,MAAAA,SAAoD,IAAI;AAEpD,QAAA,yBAAyB,CAAC,aAAwD;AAClF,QAAA,CAAC,SAAiB,QAAA;AACtB,WAAO,kBAAkB,QAAQ;AAAA,EACnC;AAGA,QAAM,CAAC,cAAc,eAAe,IAAIA,MAAAA,SAAS,KAAK;AAMtD,QAAM,uBAAkD,YAAY;AAGpE,QAAM,CAAC,mBAAmB,EAAE,UAAU,UAAW,CAAA,IAAIC,cAAAA,cAAyC;AAAA,IAC5F,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAU;AAAA,EAAA,CACX;AAEDC,QAAAA,UAAU,MAAM;AACd,UAAM,eAAe,YAAY;AAC3B,WAAA,+BAAO,kBAAiB,QAAW;AAC7B,gBAAA,KAAK,8BAA8B,MAAM,YAAY;AAC7D,wBAAgB,MAAM,YAAY;AAAA,iBACzB,UAAU;AACf,YAAA;AACI,gBAAA,kBAAkB,MAAM,kBAAkB;AAChD,0BAAgB,eAAe;AAAA,iBACxB,OAAO;AACN,kBAAA,MAAM,iCAAiC,KAAK;AACpD,0BAAgB,KAAK;AAAA,QAAA;AAAA,MACvB;AAAA,IAEJ;AAEa,iBAAA;AAAA,EACZ,GAAA,CAAC,OAAO,UAAU,iBAAiB,CAAC;AAEvC,QAAM,QAAQC,MAAA;AAAA,IACZ,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA,iBAAiB,uBAAuB,iBAAiB;AAAA,IAAA;AAAA,IAE3D,CAAC,cAAc,mBAAmB,kBAAkB;AAAA,EACtD;AAEA,SAAQC,2BAAAA,kBAAAA,IAAA,iBAAiB,UAAjB,EAA0B,OAAe,SAAS,CAAA;AAC5D;AAEO,MAAM,eAAe,MAAM;AAC1B,QAAA,UAAUC,iBAAW,gBAAgB;AAC3C,MAAI,YAAY,QAAW;AACnB,UAAA,IAAI,MAAM,sDAAsD;AAAA,EAAA;AAEjE,SAAA;AACT;;;;"}
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 | 'groupAttributes'\n | 'sharedViews'\nexport type PowerpackDialogType = {\n label: string\n description: string\n bullet: string\n icon?: string\n}\n\nexport const powerpackFeatures: {\n [key in PowerpackFeature]: PowerpackDialogType\n} = {\n slicer: {\n label: 'Slicer',\n description: 'Advanced filtering system for project organization.',\n bullet: 'Powerful project filtering tools',\n },\n annotations: {\n label: 'Annotations',\n description: 'Create detailed visual feedback directly on media files.',\n bullet: 'Advanced media review 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 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 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}\nexport type PowerpackContextType = {\n selectedPowerPack: null | PowerpackFeature\n setPowerpackDialog: (open: PowerpackContextType['selectedPowerPack']) => void\n powerpackDialog: PowerpackDialogType | null\n powerLicense: 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 // 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 }] = 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 } else if (isLoaded) {\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 }\n }\n }\n\n checkLicense()\n }, [debug, isLoaded, checkPowerLicense])\n\n const value = useMemo(\n () => ({\n powerLicense: powerLicense,\n selectedPowerPack,\n setPowerpackDialog,\n powerpackDialog: resolvePowerPackDialog(selectedPowerPack),\n }),\n [powerLicense, selectedPowerPack, setPowerpackDialog],\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":["createContext","useState","useLoadModule","useEffect","useMemo","jsx","useContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBO,MAAM,oBAET;AAAA,EACF,QAAQ;AAAA,IACN,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,aAAa;AAAA,IACX,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,UAAU;AAAA,IACR,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,iBAAiB;AAAA,IACf,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,gBAAgB;AAAA,IACd,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,iBAAiB;AAAA,IACf,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,aAAa;AAAA,IACX,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EAAA;AAEZ;AAQA,MAAM,mBAAmBA,oBAAgD,MAAS;AAE3E,MAAM,oBAAoB,CAAC;AAAA,EAChC;AAAA,EACA;AACF,MAGM;AACJ,QAAM,CAAC,mBAAmB,kBAAkB,IAC1CC,MAAAA,SAAoD,IAAI;AAEpD,QAAA,yBAAyB,CAAC,aAAwD;AAClF,QAAA,CAAC,SAAiB,QAAA;AACtB,WAAO,kBAAkB,QAAQ;AAAA,EACnC;AAGA,QAAM,CAAC,cAAc,eAAe,IAAIA,MAAAA,SAAS,KAAK;AAMtD,QAAM,uBAAkD,YAAY;AAGpE,QAAM,CAAC,mBAAmB,EAAE,UAAU,UAAW,CAAA,IAAIC,cAAAA,cAAyC;AAAA,IAC5F,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAU;AAAA,EAAA,CACX;AAEDC,QAAAA,UAAU,MAAM;AACd,UAAM,eAAe,YAAY;AAC3B,WAAA,+BAAO,kBAAiB,QAAW;AAC7B,gBAAA,KAAK,8BAA8B,MAAM,YAAY;AAC7D,wBAAgB,MAAM,YAAY;AAAA,iBACzB,UAAU;AACf,YAAA;AACI,gBAAA,kBAAkB,MAAM,kBAAkB;AAChD,0BAAgB,eAAe;AAAA,iBACxB,OAAO;AACN,kBAAA,MAAM,iCAAiC,KAAK;AACpD,0BAAgB,KAAK;AAAA,QAAA;AAAA,MACvB;AAAA,IAEJ;AAEa,iBAAA;AAAA,EACZ,GAAA,CAAC,OAAO,UAAU,iBAAiB,CAAC;AAEvC,QAAM,QAAQC,MAAA;AAAA,IACZ,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA,iBAAiB,uBAAuB,iBAAiB;AAAA,IAAA;AAAA,IAE3D,CAAC,cAAc,mBAAmB,kBAAkB;AAAA,EACtD;AAEA,SAAQC,2BAAAA,kBAAAA,IAAA,iBAAiB,UAAjB,EAA0B,OAAe,SAAS,CAAA;AAC5D;AAEO,MAAM,eAAe,MAAM;AAC1B,QAAA,UAAUC,iBAAW,gBAAgB;AAC3C,MAAI,YAAY,QAAW;AACnB,UAAA,IAAI,MAAM,sDAAsD;AAAA,EAAA;AAEjE,SAAA;AACT;;;;"}
@@ -50,6 +50,7 @@ import "../api/queries/addons/updateAddons.es.js";
50
50
  import "../api/queries/attributes/getAttributes.es.js";
51
51
  import "../api/queries/attributes/updateAttributes.es.js";
52
52
  import "../api/queries/authentication/getAuthentication.es.js";
53
+ import "../api/queries/cloud/cloud.es.js";
53
54
  import "../api/queries/entities/getEntity.es.js";
54
55
  import "../api/queries/entities/getEntityPanel.es.js";
55
56
  import "../api/queries/entities/updateEntity.es.js";
@@ -58,24 +59,24 @@ import "../api/queries/entityLists/updateLists.es.js";
58
59
  import "../api/queries/entityLists/getListsAttributes.es.js";
59
60
  import "../api/queries/entityLists/updateListsAttributes.es.js";
60
61
  import "../api/queries/folders/getFolders.es.js";
62
+ import "../api/queries/grouping/getGrouping.es.js";
61
63
  import "../api/queries/overview/getOverview.es.js";
62
64
  import "../api/queries/overview/updateOverview.es.js";
65
+ import "../api/queries/permissions/getPermissions.es.js";
66
+ import "../api/queries/products/createProduct.es.js";
63
67
  import "../api/queries/project/getProject.es.js";
64
68
  import "../api/queries/project/updateProject.es.js";
65
69
  import "../api/queries/review/getReview.es.js";
66
70
  import "../api/queries/review/updateReview.es.js";
71
+ import "../api/queries/share/share.es.js";
67
72
  import "../api/queries/system/getSystem.es.js";
68
73
  import "../api/queries/userDashboard/getUserDashboard.es.js";
69
74
  import "../api/queries/users/getUsers.es.js";
70
75
  import "../api/queries/users/updateUsers.es.js";
71
- import "../api/queries/watchers/getWatchers.es.js";
72
- import "../api/queries/permissions/getPermissions.es.js";
73
- import "../api/queries/grouping/getGrouping.es.js";
74
76
  import "../api/queries/versions/updateVersions.es.js";
75
- import "../api/queries/products/createProduct.es.js";
76
- import "../api/queries/cloud/cloud.es.js";
77
77
  import "../api/queries/views/getViews.es.js";
78
78
  import "../api/queries/views/updateViews.es.js";
79
+ import "../api/queries/watchers/getWatchers.es.js";
79
80
  import "lodash";
80
81
  import "react-toastify";
81
82
  import "./RemoteModulesContext.es.js";
@@ -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 | 'groupAttributes'\n | 'sharedViews'\nexport type PowerpackDialogType = {\n label: string\n description: string\n bullet: string\n icon?: string\n}\n\nexport const powerpackFeatures: {\n [key in PowerpackFeature]: PowerpackDialogType\n} = {\n slicer: {\n label: 'Slicer',\n description: 'Advanced filtering system for project organization.',\n bullet: 'Powerful project filtering tools',\n },\n annotations: {\n label: 'Annotations',\n description: 'Create detailed visual feedback directly on media files.',\n bullet: 'Advanced media review 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 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 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}\nexport type PowerpackContextType = {\n selectedPowerPack: null | PowerpackFeature\n setPowerpackDialog: (open: PowerpackContextType['selectedPowerPack']) => void\n powerpackDialog: PowerpackDialogType | null\n powerLicense: 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 // 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 }] = 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 } else if (isLoaded) {\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 }\n }\n }\n\n checkLicense()\n }, [debug, isLoaded, checkPowerLicense])\n\n const value = useMemo(\n () => ({\n powerLicense: powerLicense,\n selectedPowerPack,\n setPowerpackDialog,\n powerpackDialog: resolvePowerPackDialog(selectedPowerPack),\n }),\n [powerLicense, selectedPowerPack, setPowerpackDialog],\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":["jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBO,MAAM,oBAET;AAAA,EACF,QAAQ;AAAA,IACN,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,aAAa;AAAA,IACX,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,UAAU;AAAA,IACR,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,iBAAiB;AAAA,IACf,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,gBAAgB;AAAA,IACd,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,iBAAiB;AAAA,IACf,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,aAAa;AAAA,IACX,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EAAA;AAEZ;AAQA,MAAM,mBAAmB,cAAgD,MAAS;AAE3E,MAAM,oBAAoB,CAAC;AAAA,EAChC;AAAA,EACA;AACF,MAGM;AACJ,QAAM,CAAC,mBAAmB,kBAAkB,IAC1C,SAAoD,IAAI;AAEpD,QAAA,yBAAyB,CAAC,aAAwD;AAClF,QAAA,CAAC,SAAiB,QAAA;AACtB,WAAO,kBAAkB,QAAQ;AAAA,EACnC;AAGA,QAAM,CAAC,cAAc,eAAe,IAAI,SAAS,KAAK;AAMtD,QAAM,uBAAkD,YAAY;AAGpE,QAAM,CAAC,mBAAmB,EAAE,UAAU,UAAW,CAAA,IAAI,cAAyC;AAAA,IAC5F,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAU;AAAA,EAAA,CACX;AAED,YAAU,MAAM;AACd,UAAM,eAAe,YAAY;AAC3B,WAAA,+BAAO,kBAAiB,QAAW;AAC7B,gBAAA,KAAK,8BAA8B,MAAM,YAAY;AAC7D,wBAAgB,MAAM,YAAY;AAAA,iBACzB,UAAU;AACf,YAAA;AACI,gBAAA,kBAAkB,MAAM,kBAAkB;AAChD,0BAAgB,eAAe;AAAA,iBACxB,OAAO;AACN,kBAAA,MAAM,iCAAiC,KAAK;AACpD,0BAAgB,KAAK;AAAA,QAAA;AAAA,MACvB;AAAA,IAEJ;AAEa,iBAAA;AAAA,EACZ,GAAA,CAAC,OAAO,UAAU,iBAAiB,CAAC;AAEvC,QAAM,QAAQ;AAAA,IACZ,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA,iBAAiB,uBAAuB,iBAAiB;AAAA,IAAA;AAAA,IAE3D,CAAC,cAAc,mBAAmB,kBAAkB;AAAA,EACtD;AAEA,SAAQA,kCAAAA,IAAA,iBAAiB,UAAjB,EAA0B,OAAe,SAAS,CAAA;AAC5D;AAEO,MAAM,eAAe,MAAM;AAC1B,QAAA,UAAU,WAAW,gBAAgB;AAC3C,MAAI,YAAY,QAAW;AACnB,UAAA,IAAI,MAAM,sDAAsD;AAAA,EAAA;AAEjE,SAAA;AACT;"}
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 | 'groupAttributes'\n | 'sharedViews'\nexport type PowerpackDialogType = {\n label: string\n description: string\n bullet: string\n icon?: string\n}\n\nexport const powerpackFeatures: {\n [key in PowerpackFeature]: PowerpackDialogType\n} = {\n slicer: {\n label: 'Slicer',\n description: 'Advanced filtering system for project organization.',\n bullet: 'Powerful project filtering tools',\n },\n annotations: {\n label: 'Annotations',\n description: 'Create detailed visual feedback directly on media files.',\n bullet: 'Advanced media review 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 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 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}\nexport type PowerpackContextType = {\n selectedPowerPack: null | PowerpackFeature\n setPowerpackDialog: (open: PowerpackContextType['selectedPowerPack']) => void\n powerpackDialog: PowerpackDialogType | null\n powerLicense: 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 // 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 }] = 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 } else if (isLoaded) {\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 }\n }\n }\n\n checkLicense()\n }, [debug, isLoaded, checkPowerLicense])\n\n const value = useMemo(\n () => ({\n powerLicense: powerLicense,\n selectedPowerPack,\n setPowerpackDialog,\n powerpackDialog: resolvePowerPackDialog(selectedPowerPack),\n }),\n [powerLicense, selectedPowerPack, setPowerpackDialog],\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":["jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBO,MAAM,oBAET;AAAA,EACF,QAAQ;AAAA,IACN,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,aAAa;AAAA,IACX,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,UAAU;AAAA,IACR,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,iBAAiB;AAAA,IACf,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,gBAAgB;AAAA,IACd,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,iBAAiB;AAAA,IACf,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,aAAa;AAAA,IACX,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EAAA;AAEZ;AAQA,MAAM,mBAAmB,cAAgD,MAAS;AAE3E,MAAM,oBAAoB,CAAC;AAAA,EAChC;AAAA,EACA;AACF,MAGM;AACJ,QAAM,CAAC,mBAAmB,kBAAkB,IAC1C,SAAoD,IAAI;AAEpD,QAAA,yBAAyB,CAAC,aAAwD;AAClF,QAAA,CAAC,SAAiB,QAAA;AACtB,WAAO,kBAAkB,QAAQ;AAAA,EACnC;AAGA,QAAM,CAAC,cAAc,eAAe,IAAI,SAAS,KAAK;AAMtD,QAAM,uBAAkD,YAAY;AAGpE,QAAM,CAAC,mBAAmB,EAAE,UAAU,UAAW,CAAA,IAAI,cAAyC;AAAA,IAC5F,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAU;AAAA,EAAA,CACX;AAED,YAAU,MAAM;AACd,UAAM,eAAe,YAAY;AAC3B,WAAA,+BAAO,kBAAiB,QAAW;AAC7B,gBAAA,KAAK,8BAA8B,MAAM,YAAY;AAC7D,wBAAgB,MAAM,YAAY;AAAA,iBACzB,UAAU;AACf,YAAA;AACI,gBAAA,kBAAkB,MAAM,kBAAkB;AAChD,0BAAgB,eAAe;AAAA,iBACxB,OAAO;AACN,kBAAA,MAAM,iCAAiC,KAAK;AACpD,0BAAgB,KAAK;AAAA,QAAA;AAAA,MACvB;AAAA,IAEJ;AAEa,iBAAA;AAAA,EACZ,GAAA,CAAC,OAAO,UAAU,iBAAiB,CAAC;AAEvC,QAAM,QAAQ;AAAA,IACZ,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA,iBAAiB,uBAAuB,iBAAiB;AAAA,IAAA;AAAA,IAE3D,CAAC,cAAc,mBAAmB,kBAAkB;AAAA,EACtD;AAEA,SAAQA,kCAAAA,IAAA,iBAAiB,UAAjB,EAA0B,OAAe,SAAS,CAAA;AAC5D;AAEO,MAAM,eAAe,MAAM;AAC1B,QAAA,UAAU,WAAW,gBAAgB;AAC3C,MAAI,YAAY,QAAW;AACnB,UAAA,IAAI,MAAM,sDAAsD;AAAA,EAAA;AAEjE,SAAA;AACT;"}
@@ -50,6 +50,7 @@ require("../api/queries/addons/updateAddons.cjs.js");
50
50
  require("../api/queries/attributes/getAttributes.cjs.js");
51
51
  require("../api/queries/attributes/updateAttributes.cjs.js");
52
52
  require("../api/queries/authentication/getAuthentication.cjs.js");
53
+ require("../api/queries/cloud/cloud.cjs.js");
53
54
  require("../api/queries/entities/getEntity.cjs.js");
54
55
  require("../api/queries/entities/getEntityPanel.cjs.js");
55
56
  require("../api/queries/entities/updateEntity.cjs.js");
@@ -58,24 +59,24 @@ require("../api/queries/entityLists/updateLists.cjs.js");
58
59
  require("../api/queries/entityLists/getListsAttributes.cjs.js");
59
60
  require("../api/queries/entityLists/updateListsAttributes.cjs.js");
60
61
  require("../api/queries/folders/getFolders.cjs.js");
62
+ require("../api/queries/grouping/getGrouping.cjs.js");
61
63
  require("../api/queries/overview/getOverview.cjs.js");
62
64
  require("../api/queries/overview/updateOverview.cjs.js");
65
+ require("../api/queries/permissions/getPermissions.cjs.js");
66
+ require("../api/queries/products/createProduct.cjs.js");
63
67
  require("../api/queries/project/getProject.cjs.js");
64
68
  require("../api/queries/project/updateProject.cjs.js");
65
69
  require("../api/queries/review/getReview.cjs.js");
66
70
  require("../api/queries/review/updateReview.cjs.js");
71
+ require("../api/queries/share/share.cjs.js");
67
72
  const getSystem = require("../api/queries/system/getSystem.cjs.js");
68
73
  require("../api/queries/userDashboard/getUserDashboard.cjs.js");
69
74
  require("../api/queries/users/getUsers.cjs.js");
70
75
  require("../api/queries/users/updateUsers.cjs.js");
71
- require("../api/queries/watchers/getWatchers.cjs.js");
72
- require("../api/queries/permissions/getPermissions.cjs.js");
73
- require("../api/queries/grouping/getGrouping.cjs.js");
74
76
  require("../api/queries/versions/updateVersions.cjs.js");
75
- require("../api/queries/products/createProduct.cjs.js");
76
- require("../api/queries/cloud/cloud.cjs.js");
77
77
  require("../api/queries/views/getViews.cjs.js");
78
78
  require("../api/queries/views/updateViews.cjs.js");
79
+ require("../api/queries/watchers/getWatchers.cjs.js");
79
80
  const RemoteModulesContext = React.createContext({
80
81
  isLoading: true,
81
82
  modules: [],
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteModulesContext.cjs.js","sources":["../../../../src/context/RemoteModulesContext.tsx"],"sourcesContent":["import { createContext, useContext, ReactNode, useEffect, useState } from 'react'\nimport { registerRemotes } from '@module-federation/enhanced/runtime'\nimport {\n FrontendModuleListItem,\n useListFrontendModulesQuery,\n useGetSiteInfoQuery,\n} from '@shared/api'\n\ntype Module = {\n remote: string\n addon: string\n version: string\n modules: string[]\n}\n\ntype RemoteModulesContextType = {\n isLoading: boolean\n modules: FrontendModuleListItem[]\n remotesInitialized: boolean\n}\n\nconst RemoteModulesContext = createContext<RemoteModulesContextType>({\n isLoading: true,\n modules: [],\n remotesInitialized: false,\n})\n\ntype Props = {\n children: ReactNode\n skip?: boolean\n}\n\nexport const RemoteModulesProvider = ({ children, skip }: Props) => {\n // only load if logged in\n const { data: addonRemoteModules = [], isLoading } = useListFrontendModulesQuery(undefined, {\n skip,\n })\n\n const { data: info = {}, isLoading: isLoadingInfo } = useGetSiteInfoQuery(\n { full: true },\n { skip },\n )\n\n const [remotesInitialized, setRemotesInitialized] = useState(false)\n\n useEffect(() => {\n // waiting for loading or it has already been initialized\n if (isLoading || isLoadingInfo || remotesInitialized) return\n\n // no remotes found, nothing to do\n if (!addonRemoteModules.length) {\n setRemotesInitialized(true)\n return\n }\n\n // create a flat map of modules to load\n const allRemotes: Module[] = []\n\n addonRemoteModules.forEach((addon) => {\n const { addonName, addonVersion, modules = {} } = addon\n\n Object.entries(modules).forEach(([remote, modules]) => {\n allRemotes.push({\n remote,\n addon: addonName,\n version: addonVersion,\n modules,\n })\n })\n })\n\n console.log('registerAddonRemotes', allRemotes)\n registerRemotes(\n allRemotes.map((r) => ({\n name: r.remote,\n alias: r.remote,\n entry: `/addons/${r.addon || r.remote}/${r.version}/frontend/modules/${\n r.remote\n }/remoteEntry.js?server=${info?.releaseInfo?.version || info?.releaseInfo}-${\n info?.releaseInfo?.buildDate\n }-${new Date().getTime()}`,\n type: 'module',\n })),\n )\n\n setRemotesInitialized(true)\n }, [addonRemoteModules, isLoading, isLoadingInfo, remotesInitialized])\n\n return (\n <RemoteModulesContext.Provider\n value={{\n isLoading,\n modules: addonRemoteModules,\n remotesInitialized,\n }}\n >\n {children}\n </RemoteModulesContext.Provider>\n )\n}\n\nexport const useRemoteModules = () => {\n const context = useContext(RemoteModulesContext)\n\n if (context === undefined) {\n throw new Error('useRemoteModules must be used within a RemoteModulesProvider')\n }\n\n return context\n}\n"],"names":["createContext","useListFrontendModulesQuery","useGetSiteInfoQuery","useState","useEffect","modules","registerRemotes","jsx","useContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,MAAM,uBAAuBA,MAAAA,cAAwC;AAAA,EACnE,WAAW;AAAA,EACX,SAAS,CAAC;AAAA,EACV,oBAAoB;AACtB,CAAC;AAOM,MAAM,wBAAwB,CAAC,EAAE,UAAU,WAAkB;AAE5D,QAAA,EAAE,MAAM,qBAAqB,CAAA,GAAI,UAAU,IAAIC,sCAA4B,QAAW;AAAA,IAC1F;AAAA,EAAA,CACD;AAED,QAAM,EAAE,MAAM,OAAO,CAAI,GAAA,WAAW,kBAAkBC,UAAA;AAAA,IACpD,EAAE,MAAM,KAAK;AAAA,IACb,EAAE,KAAK;AAAA,EACT;AAEA,QAAM,CAAC,oBAAoB,qBAAqB,IAAIC,MAAAA,SAAS,KAAK;AAElEC,QAAAA,UAAU,MAAM;AAEV,QAAA,aAAa,iBAAiB,mBAAoB;AAGlD,QAAA,CAAC,mBAAmB,QAAQ;AAC9B,4BAAsB,IAAI;AAC1B;AAAA,IAAA;AAIF,UAAM,aAAuB,CAAC;AAEX,uBAAA,QAAQ,CAAC,UAAU;AACpC,YAAM,EAAE,WAAW,cAAc,UAAU,CAAA,EAAO,IAAA;AAE3C,aAAA,QAAQ,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQC,QAAO,MAAM;AACrD,mBAAW,KAAK;AAAA,UACd;AAAA,UACA,OAAO;AAAA,UACP,SAAS;AAAA,UACT,SAAAA;AAAAA,QAAA,CACD;AAAA,MAAA,CACF;AAAA,IAAA,CACF;AAEO,YAAA,IAAI,wBAAwB,UAAU;AAC9CC,YAAA,eAAA;AAAA,MACE,WAAW,IAAI,CAAC,MAAO;;AAAA;AAAA,UACrB,MAAM,EAAE;AAAA,UACR,OAAO,EAAE;AAAA,UACT,OAAO,WAAW,EAAE,SAAS,EAAE,MAAM,IAAI,EAAE,OAAO,qBAChD,EAAE,MACJ,4BAA0B,kCAAM,gBAAN,mBAAmB,aAAW,6BAAM,YAAW,KACvE,kCAAM,gBAAN,mBAAmB,SACrB,KAAQ,oBAAA,KAAA,GAAO,QAAS,CAAA;AAAA,UACxB,MAAM;AAAA,QAAA;AAAA,OACN;AAAA,IACJ;AAEA,0BAAsB,IAAI;AAAA,KACzB,CAAC,oBAAoB,WAAW,eAAe,kBAAkB,CAAC;AAGnE,SAAAC,2BAAA,kBAAA;AAAA,IAAC,qBAAqB;AAAA,IAArB;AAAA,MACC,OAAO;AAAA,QACL;AAAA,QACA,SAAS;AAAA,QACT;AAAA,MACF;AAAA,MAEC;AAAA,IAAA;AAAA,EACH;AAEJ;AAEO,MAAM,mBAAmB,MAAM;AAC9B,QAAA,UAAUC,iBAAW,oBAAoB;AAE/C,MAAI,YAAY,QAAW;AACnB,UAAA,IAAI,MAAM,8DAA8D;AAAA,EAAA;AAGzE,SAAA;AACT;;;"}
1
+ {"version":3,"file":"RemoteModulesContext.cjs.js","sources":["../../../../src/context/RemoteModulesContext.tsx"],"sourcesContent":["import { createContext, useContext, ReactNode, useEffect, useState } from 'react'\nimport { registerRemotes } from '@module-federation/enhanced/runtime'\nimport {\n FrontendModuleListItem,\n useListFrontendModulesQuery,\n useGetSiteInfoQuery,\n} from '@shared/api'\n\ntype Module = {\n remote: string\n addon: string\n version: string\n modules: string[]\n}\n\ntype RemoteModulesContextType = {\n isLoading: boolean\n modules: FrontendModuleListItem[]\n remotesInitialized: boolean\n}\n\nconst RemoteModulesContext = createContext<RemoteModulesContextType>({\n isLoading: true,\n modules: [],\n remotesInitialized: false,\n})\n\ntype Props = {\n children: ReactNode\n skip?: boolean\n}\n\nexport const RemoteModulesProvider = ({ children, skip }: Props) => {\n // only load if logged in\n const { data: addonRemoteModules = [], isLoading } = useListFrontendModulesQuery(undefined, {\n skip,\n })\n\n const { data: info = {}, isLoading: isLoadingInfo } = useGetSiteInfoQuery(\n { full: true },\n { skip },\n )\n\n const [remotesInitialized, setRemotesInitialized] = useState(false)\n\n useEffect(() => {\n // waiting for loading or it has already been initialized\n if (isLoading || isLoadingInfo || remotesInitialized) return\n\n // no remotes found, nothing to do\n if (!addonRemoteModules.length) {\n setRemotesInitialized(true)\n return\n }\n\n // create a flat map of modules to load\n const allRemotes: Module[] = []\n\n addonRemoteModules.forEach((addon) => {\n const { addonName, addonVersion, modules = {} } = addon\n\n Object.entries(modules).forEach(([remote, modules]) => {\n allRemotes.push({\n remote,\n addon: addonName,\n version: addonVersion,\n modules,\n })\n })\n })\n\n console.log('registerAddonRemotes', allRemotes)\n registerRemotes(\n allRemotes.map((r) => ({\n name: r.remote,\n alias: r.remote,\n entry: `/addons/${r.addon || r.remote}/${r.version}/frontend/modules/${\n r.remote\n }/remoteEntry.js?server=${info?.releaseInfo?.version || info?.releaseInfo}-${\n info?.releaseInfo?.buildDate\n }-${new Date().getTime()}`,\n type: 'module',\n })),\n )\n\n setRemotesInitialized(true)\n }, [addonRemoteModules, isLoading, isLoadingInfo, remotesInitialized])\n\n return (\n <RemoteModulesContext.Provider\n value={{\n isLoading,\n modules: addonRemoteModules,\n remotesInitialized,\n }}\n >\n {children}\n </RemoteModulesContext.Provider>\n )\n}\n\nexport const useRemoteModules = () => {\n const context = useContext(RemoteModulesContext)\n\n if (context === undefined) {\n throw new Error('useRemoteModules must be used within a RemoteModulesProvider')\n }\n\n return context\n}\n"],"names":["createContext","useListFrontendModulesQuery","useGetSiteInfoQuery","useState","useEffect","modules","registerRemotes","jsx","useContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,MAAM,uBAAuBA,MAAAA,cAAwC;AAAA,EACnE,WAAW;AAAA,EACX,SAAS,CAAC;AAAA,EACV,oBAAoB;AACtB,CAAC;AAOM,MAAM,wBAAwB,CAAC,EAAE,UAAU,WAAkB;AAE5D,QAAA,EAAE,MAAM,qBAAqB,CAAA,GAAI,UAAU,IAAIC,sCAA4B,QAAW;AAAA,IAC1F;AAAA,EAAA,CACD;AAED,QAAM,EAAE,MAAM,OAAO,CAAI,GAAA,WAAW,kBAAkBC,UAAA;AAAA,IACpD,EAAE,MAAM,KAAK;AAAA,IACb,EAAE,KAAK;AAAA,EACT;AAEA,QAAM,CAAC,oBAAoB,qBAAqB,IAAIC,MAAAA,SAAS,KAAK;AAElEC,QAAAA,UAAU,MAAM;AAEV,QAAA,aAAa,iBAAiB,mBAAoB;AAGlD,QAAA,CAAC,mBAAmB,QAAQ;AAC9B,4BAAsB,IAAI;AAC1B;AAAA,IAAA;AAIF,UAAM,aAAuB,CAAC;AAEX,uBAAA,QAAQ,CAAC,UAAU;AACpC,YAAM,EAAE,WAAW,cAAc,UAAU,CAAA,EAAO,IAAA;AAE3C,aAAA,QAAQ,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQC,QAAO,MAAM;AACrD,mBAAW,KAAK;AAAA,UACd;AAAA,UACA,OAAO;AAAA,UACP,SAAS;AAAA,UACT,SAAAA;AAAAA,QAAA,CACD;AAAA,MAAA,CACF;AAAA,IAAA,CACF;AAEO,YAAA,IAAI,wBAAwB,UAAU;AAC9CC,YAAA,eAAA;AAAA,MACE,WAAW,IAAI,CAAC,MAAO;;AAAA;AAAA,UACrB,MAAM,EAAE;AAAA,UACR,OAAO,EAAE;AAAA,UACT,OAAO,WAAW,EAAE,SAAS,EAAE,MAAM,IAAI,EAAE,OAAO,qBAChD,EAAE,MACJ,4BAA0B,kCAAM,gBAAN,mBAAmB,aAAW,6BAAM,YAAW,KACvE,kCAAM,gBAAN,mBAAmB,SACrB,KAAQ,oBAAA,KAAA,GAAO,QAAS,CAAA;AAAA,UACxB,MAAM;AAAA,QAAA;AAAA,OACN;AAAA,IACJ;AAEA,0BAAsB,IAAI;AAAA,KACzB,CAAC,oBAAoB,WAAW,eAAe,kBAAkB,CAAC;AAGnE,SAAAC,2BAAA,kBAAA;AAAA,IAAC,qBAAqB;AAAA,IAArB;AAAA,MACC,OAAO;AAAA,QACL;AAAA,QACA,SAAS;AAAA,QACT;AAAA,MACF;AAAA,MAEC;AAAA,IAAA;AAAA,EACH;AAEJ;AAEO,MAAM,mBAAmB,MAAM;AAC9B,QAAA,UAAUC,iBAAW,oBAAoB;AAE/C,MAAI,YAAY,QAAW;AACnB,UAAA,IAAI,MAAM,8DAA8D;AAAA,EAAA;AAGzE,SAAA;AACT;;;"}
@@ -48,6 +48,7 @@ import "../api/queries/addons/updateAddons.es.js";
48
48
  import "../api/queries/attributes/getAttributes.es.js";
49
49
  import "../api/queries/attributes/updateAttributes.es.js";
50
50
  import "../api/queries/authentication/getAuthentication.es.js";
51
+ import "../api/queries/cloud/cloud.es.js";
51
52
  import "../api/queries/entities/getEntity.es.js";
52
53
  import "../api/queries/entities/getEntityPanel.es.js";
53
54
  import "../api/queries/entities/updateEntity.es.js";
@@ -56,24 +57,24 @@ import "../api/queries/entityLists/updateLists.es.js";
56
57
  import "../api/queries/entityLists/getListsAttributes.es.js";
57
58
  import "../api/queries/entityLists/updateListsAttributes.es.js";
58
59
  import "../api/queries/folders/getFolders.es.js";
60
+ import "../api/queries/grouping/getGrouping.es.js";
59
61
  import "../api/queries/overview/getOverview.es.js";
60
62
  import "../api/queries/overview/updateOverview.es.js";
63
+ import "../api/queries/permissions/getPermissions.es.js";
64
+ import "../api/queries/products/createProduct.es.js";
61
65
  import "../api/queries/project/getProject.es.js";
62
66
  import "../api/queries/project/updateProject.es.js";
63
67
  import "../api/queries/review/getReview.es.js";
64
68
  import "../api/queries/review/updateReview.es.js";
69
+ import "../api/queries/share/share.es.js";
65
70
  import { useListFrontendModulesQuery, useGetSiteInfoQuery } from "../api/queries/system/getSystem.es.js";
66
71
  import "../api/queries/userDashboard/getUserDashboard.es.js";
67
72
  import "../api/queries/users/getUsers.es.js";
68
73
  import "../api/queries/users/updateUsers.es.js";
69
- import "../api/queries/watchers/getWatchers.es.js";
70
- import "../api/queries/permissions/getPermissions.es.js";
71
- import "../api/queries/grouping/getGrouping.es.js";
72
74
  import "../api/queries/versions/updateVersions.es.js";
73
- import "../api/queries/products/createProduct.es.js";
74
- import "../api/queries/cloud/cloud.es.js";
75
75
  import "../api/queries/views/getViews.es.js";
76
76
  import "../api/queries/views/updateViews.es.js";
77
+ import "../api/queries/watchers/getWatchers.es.js";
77
78
  const RemoteModulesContext = createContext({
78
79
  isLoading: true,
79
80
  modules: [],
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteModulesContext.es.js","sources":["../../../../src/context/RemoteModulesContext.tsx"],"sourcesContent":["import { createContext, useContext, ReactNode, useEffect, useState } from 'react'\nimport { registerRemotes } from '@module-federation/enhanced/runtime'\nimport {\n FrontendModuleListItem,\n useListFrontendModulesQuery,\n useGetSiteInfoQuery,\n} from '@shared/api'\n\ntype Module = {\n remote: string\n addon: string\n version: string\n modules: string[]\n}\n\ntype RemoteModulesContextType = {\n isLoading: boolean\n modules: FrontendModuleListItem[]\n remotesInitialized: boolean\n}\n\nconst RemoteModulesContext = createContext<RemoteModulesContextType>({\n isLoading: true,\n modules: [],\n remotesInitialized: false,\n})\n\ntype Props = {\n children: ReactNode\n skip?: boolean\n}\n\nexport const RemoteModulesProvider = ({ children, skip }: Props) => {\n // only load if logged in\n const { data: addonRemoteModules = [], isLoading } = useListFrontendModulesQuery(undefined, {\n skip,\n })\n\n const { data: info = {}, isLoading: isLoadingInfo } = useGetSiteInfoQuery(\n { full: true },\n { skip },\n )\n\n const [remotesInitialized, setRemotesInitialized] = useState(false)\n\n useEffect(() => {\n // waiting for loading or it has already been initialized\n if (isLoading || isLoadingInfo || remotesInitialized) return\n\n // no remotes found, nothing to do\n if (!addonRemoteModules.length) {\n setRemotesInitialized(true)\n return\n }\n\n // create a flat map of modules to load\n const allRemotes: Module[] = []\n\n addonRemoteModules.forEach((addon) => {\n const { addonName, addonVersion, modules = {} } = addon\n\n Object.entries(modules).forEach(([remote, modules]) => {\n allRemotes.push({\n remote,\n addon: addonName,\n version: addonVersion,\n modules,\n })\n })\n })\n\n console.log('registerAddonRemotes', allRemotes)\n registerRemotes(\n allRemotes.map((r) => ({\n name: r.remote,\n alias: r.remote,\n entry: `/addons/${r.addon || r.remote}/${r.version}/frontend/modules/${\n r.remote\n }/remoteEntry.js?server=${info?.releaseInfo?.version || info?.releaseInfo}-${\n info?.releaseInfo?.buildDate\n }-${new Date().getTime()}`,\n type: 'module',\n })),\n )\n\n setRemotesInitialized(true)\n }, [addonRemoteModules, isLoading, isLoadingInfo, remotesInitialized])\n\n return (\n <RemoteModulesContext.Provider\n value={{\n isLoading,\n modules: addonRemoteModules,\n remotesInitialized,\n }}\n >\n {children}\n </RemoteModulesContext.Provider>\n )\n}\n\nexport const useRemoteModules = () => {\n const context = useContext(RemoteModulesContext)\n\n if (context === undefined) {\n throw new Error('useRemoteModules must be used within a RemoteModulesProvider')\n }\n\n return context\n}\n"],"names":["modules","registerRemotes","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,MAAM,uBAAuB,cAAwC;AAAA,EACnE,WAAW;AAAA,EACX,SAAS,CAAC;AAAA,EACV,oBAAoB;AACtB,CAAC;AAOM,MAAM,wBAAwB,CAAC,EAAE,UAAU,WAAkB;AAE5D,QAAA,EAAE,MAAM,qBAAqB,CAAA,GAAI,UAAU,IAAI,4BAA4B,QAAW;AAAA,IAC1F;AAAA,EAAA,CACD;AAED,QAAM,EAAE,MAAM,OAAO,CAAI,GAAA,WAAW,kBAAkB;AAAA,IACpD,EAAE,MAAM,KAAK;AAAA,IACb,EAAE,KAAK;AAAA,EACT;AAEA,QAAM,CAAC,oBAAoB,qBAAqB,IAAI,SAAS,KAAK;AAElE,YAAU,MAAM;AAEV,QAAA,aAAa,iBAAiB,mBAAoB;AAGlD,QAAA,CAAC,mBAAmB,QAAQ;AAC9B,4BAAsB,IAAI;AAC1B;AAAA,IAAA;AAIF,UAAM,aAAuB,CAAC;AAEX,uBAAA,QAAQ,CAAC,UAAU;AACpC,YAAM,EAAE,WAAW,cAAc,UAAU,CAAA,EAAO,IAAA;AAE3C,aAAA,QAAQ,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQA,QAAO,MAAM;AACrD,mBAAW,KAAK;AAAA,UACd;AAAA,UACA,OAAO;AAAA,UACP,SAAS;AAAA,UACT,SAAAA;AAAAA,QAAA,CACD;AAAA,MAAA,CACF;AAAA,IAAA,CACF;AAEO,YAAA,IAAI,wBAAwB,UAAU;AAC9CC,mBAAA;AAAA,MACE,WAAW,IAAI,CAAC,MAAO;;AAAA;AAAA,UACrB,MAAM,EAAE;AAAA,UACR,OAAO,EAAE;AAAA,UACT,OAAO,WAAW,EAAE,SAAS,EAAE,MAAM,IAAI,EAAE,OAAO,qBAChD,EAAE,MACJ,4BAA0B,kCAAM,gBAAN,mBAAmB,aAAW,6BAAM,YAAW,KACvE,kCAAM,gBAAN,mBAAmB,SACrB,KAAQ,oBAAA,KAAA,GAAO,QAAS,CAAA;AAAA,UACxB,MAAM;AAAA,QAAA;AAAA,OACN;AAAA,IACJ;AAEA,0BAAsB,IAAI;AAAA,KACzB,CAAC,oBAAoB,WAAW,eAAe,kBAAkB,CAAC;AAGnE,SAAAC,kCAAA;AAAA,IAAC,qBAAqB;AAAA,IAArB;AAAA,MACC,OAAO;AAAA,QACL;AAAA,QACA,SAAS;AAAA,QACT;AAAA,MACF;AAAA,MAEC;AAAA,IAAA;AAAA,EACH;AAEJ;AAEO,MAAM,mBAAmB,MAAM;AAC9B,QAAA,UAAU,WAAW,oBAAoB;AAE/C,MAAI,YAAY,QAAW;AACnB,UAAA,IAAI,MAAM,8DAA8D;AAAA,EAAA;AAGzE,SAAA;AACT;"}
1
+ {"version":3,"file":"RemoteModulesContext.es.js","sources":["../../../../src/context/RemoteModulesContext.tsx"],"sourcesContent":["import { createContext, useContext, ReactNode, useEffect, useState } from 'react'\nimport { registerRemotes } from '@module-federation/enhanced/runtime'\nimport {\n FrontendModuleListItem,\n useListFrontendModulesQuery,\n useGetSiteInfoQuery,\n} from '@shared/api'\n\ntype Module = {\n remote: string\n addon: string\n version: string\n modules: string[]\n}\n\ntype RemoteModulesContextType = {\n isLoading: boolean\n modules: FrontendModuleListItem[]\n remotesInitialized: boolean\n}\n\nconst RemoteModulesContext = createContext<RemoteModulesContextType>({\n isLoading: true,\n modules: [],\n remotesInitialized: false,\n})\n\ntype Props = {\n children: ReactNode\n skip?: boolean\n}\n\nexport const RemoteModulesProvider = ({ children, skip }: Props) => {\n // only load if logged in\n const { data: addonRemoteModules = [], isLoading } = useListFrontendModulesQuery(undefined, {\n skip,\n })\n\n const { data: info = {}, isLoading: isLoadingInfo } = useGetSiteInfoQuery(\n { full: true },\n { skip },\n )\n\n const [remotesInitialized, setRemotesInitialized] = useState(false)\n\n useEffect(() => {\n // waiting for loading or it has already been initialized\n if (isLoading || isLoadingInfo || remotesInitialized) return\n\n // no remotes found, nothing to do\n if (!addonRemoteModules.length) {\n setRemotesInitialized(true)\n return\n }\n\n // create a flat map of modules to load\n const allRemotes: Module[] = []\n\n addonRemoteModules.forEach((addon) => {\n const { addonName, addonVersion, modules = {} } = addon\n\n Object.entries(modules).forEach(([remote, modules]) => {\n allRemotes.push({\n remote,\n addon: addonName,\n version: addonVersion,\n modules,\n })\n })\n })\n\n console.log('registerAddonRemotes', allRemotes)\n registerRemotes(\n allRemotes.map((r) => ({\n name: r.remote,\n alias: r.remote,\n entry: `/addons/${r.addon || r.remote}/${r.version}/frontend/modules/${\n r.remote\n }/remoteEntry.js?server=${info?.releaseInfo?.version || info?.releaseInfo}-${\n info?.releaseInfo?.buildDate\n }-${new Date().getTime()}`,\n type: 'module',\n })),\n )\n\n setRemotesInitialized(true)\n }, [addonRemoteModules, isLoading, isLoadingInfo, remotesInitialized])\n\n return (\n <RemoteModulesContext.Provider\n value={{\n isLoading,\n modules: addonRemoteModules,\n remotesInitialized,\n }}\n >\n {children}\n </RemoteModulesContext.Provider>\n )\n}\n\nexport const useRemoteModules = () => {\n const context = useContext(RemoteModulesContext)\n\n if (context === undefined) {\n throw new Error('useRemoteModules must be used within a RemoteModulesProvider')\n }\n\n return context\n}\n"],"names":["modules","registerRemotes","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,MAAM,uBAAuB,cAAwC;AAAA,EACnE,WAAW;AAAA,EACX,SAAS,CAAC;AAAA,EACV,oBAAoB;AACtB,CAAC;AAOM,MAAM,wBAAwB,CAAC,EAAE,UAAU,WAAkB;AAE5D,QAAA,EAAE,MAAM,qBAAqB,CAAA,GAAI,UAAU,IAAI,4BAA4B,QAAW;AAAA,IAC1F;AAAA,EAAA,CACD;AAED,QAAM,EAAE,MAAM,OAAO,CAAI,GAAA,WAAW,kBAAkB;AAAA,IACpD,EAAE,MAAM,KAAK;AAAA,IACb,EAAE,KAAK;AAAA,EACT;AAEA,QAAM,CAAC,oBAAoB,qBAAqB,IAAI,SAAS,KAAK;AAElE,YAAU,MAAM;AAEV,QAAA,aAAa,iBAAiB,mBAAoB;AAGlD,QAAA,CAAC,mBAAmB,QAAQ;AAC9B,4BAAsB,IAAI;AAC1B;AAAA,IAAA;AAIF,UAAM,aAAuB,CAAC;AAEX,uBAAA,QAAQ,CAAC,UAAU;AACpC,YAAM,EAAE,WAAW,cAAc,UAAU,CAAA,EAAO,IAAA;AAE3C,aAAA,QAAQ,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQA,QAAO,MAAM;AACrD,mBAAW,KAAK;AAAA,UACd;AAAA,UACA,OAAO;AAAA,UACP,SAAS;AAAA,UACT,SAAAA;AAAAA,QAAA,CACD;AAAA,MAAA,CACF;AAAA,IAAA,CACF;AAEO,YAAA,IAAI,wBAAwB,UAAU;AAC9CC,mBAAA;AAAA,MACE,WAAW,IAAI,CAAC,MAAO;;AAAA;AAAA,UACrB,MAAM,EAAE;AAAA,UACR,OAAO,EAAE;AAAA,UACT,OAAO,WAAW,EAAE,SAAS,EAAE,MAAM,IAAI,EAAE,OAAO,qBAChD,EAAE,MACJ,4BAA0B,kCAAM,gBAAN,mBAAmB,aAAW,6BAAM,YAAW,KACvE,kCAAM,gBAAN,mBAAmB,SACrB,KAAQ,oBAAA,KAAA,GAAO,QAAS,CAAA;AAAA,UACxB,MAAM;AAAA,QAAA;AAAA,OACN;AAAA,IACJ;AAEA,0BAAsB,IAAI;AAAA,KACzB,CAAC,oBAAoB,WAAW,eAAe,kBAAkB,CAAC;AAGnE,SAAAC,kCAAA;AAAA,IAAC,qBAAqB;AAAA,IAArB;AAAA,MACC,OAAO;AAAA,QACL;AAAA,QACA,SAAS;AAAA,QACT;AAAA,MACF;AAAA,MAEC;AAAA,IAAA;AAAA,EACH;AAEJ;AAEO,MAAM,mBAAmB,MAAM;AAC9B,QAAA,UAAU,WAAW,oBAAoB;AAE/C,MAAI,YAAY,QAAW;AACnB,UAAA,IAAI,MAAM,8DAA8D;AAAA,EAAA;AAGzE,SAAA;AACT;"}