@ynput/ayon-frontend-shared 0.2.17 → 0.2.18

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 (385) hide show
  1. package/dist/DetailsPanel.cjs.js +6 -3
  2. package/dist/DetailsPanel.cjs.js.map +1 -1
  3. package/dist/DetailsPanel.es.js +6 -3
  4. package/dist/DetailsPanel.es.js.map +1 -1
  5. package/dist/_virtual/index.cjs10.js +4 -4
  6. package/dist/_virtual/index.cjs5.js +3 -5
  7. package/dist/_virtual/index.cjs5.js.map +1 -1
  8. package/dist/_virtual/index.cjs6.js +5 -3
  9. package/dist/_virtual/index.cjs6.js.map +1 -1
  10. package/dist/_virtual/index.cjs8.js +4 -4
  11. package/dist/_virtual/index.cjs9.js +4 -4
  12. package/dist/_virtual/index.es10.js +4 -4
  13. package/dist/_virtual/index.es5.js +2 -5
  14. package/dist/_virtual/index.es5.js.map +1 -1
  15. package/dist/_virtual/index.es6.js +5 -2
  16. package/dist/_virtual/index.es6.js.map +1 -1
  17. package/dist/_virtual/index.es8.js +4 -4
  18. package/dist/_virtual/index.es9.js +4 -4
  19. package/dist/api.cjs.js +7 -0
  20. package/dist/api.cjs.js.map +1 -1
  21. package/dist/api.es.js +7 -0
  22. package/dist/api.es.js.map +1 -1
  23. package/dist/components.cjs.js +9 -4
  24. package/dist/components.cjs.js.map +1 -1
  25. package/dist/components.es.js +10 -5
  26. package/dist/components.es.js.map +1 -1
  27. package/dist/index.cjs.js +6 -3
  28. package/dist/index.cjs.js.map +1 -1
  29. package/dist/index.es.js +6 -3
  30. package/dist/index.es.js.map +1 -1
  31. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +2 -2
  32. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  33. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  34. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  35. package/dist/node_modules/rehype-prism-plus/dist/index.es.cjs.js +1 -1
  36. package/dist/node_modules/rehype-prism-plus/dist/index.es.es.js +1 -1
  37. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  38. package/dist/node_modules/remove-accents/index.es.js +1 -1
  39. package/dist/node_modules/vfile/lib/index.cjs.js +1 -1
  40. package/dist/node_modules/vfile/lib/index.es.js +1 -1
  41. package/dist/shared/src/api/generated/graphql.cjs.js +26 -23
  42. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  43. package/dist/shared/src/api/generated/graphql.es.js +26 -23
  44. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  45. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +4 -1
  46. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
  47. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +4 -1
  48. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  49. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +13 -1
  50. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  51. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +13 -1
  52. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  53. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +2 -0
  54. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  55. package/dist/shared/src/api/queries/entities/updateEntity.es.js +2 -0
  56. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  57. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +2 -0
  58. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  59. package/dist/shared/src/api/queries/overview/updateOverview.es.js +2 -0
  60. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  61. package/dist/shared/src/api/queries/products/createProduct.cjs.js +54 -0
  62. package/dist/shared/src/api/queries/products/createProduct.cjs.js.map +1 -0
  63. package/dist/shared/src/api/queries/products/createProduct.es.js +54 -0
  64. package/dist/shared/src/api/queries/products/createProduct.es.js.map +1 -0
  65. package/dist/shared/src/api/queries/users/getUsers.cjs.js +2 -0
  66. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  67. package/dist/shared/src/api/queries/users/getUsers.es.js +2 -0
  68. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  69. package/dist/shared/src/api/queries/versions/updateVersions.cjs.js +80 -0
  70. package/dist/shared/src/api/queries/versions/updateVersions.cjs.js.map +1 -0
  71. package/dist/shared/src/api/queries/versions/updateVersions.es.js +80 -0
  72. package/dist/shared/src/api/queries/versions/updateVersions.es.js.map +1 -0
  73. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +2 -0
  74. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  75. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +2 -0
  76. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  77. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js +2 -0
  78. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js.map +1 -1
  79. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js +2 -0
  80. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js.map +1 -1
  81. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +1 -1
  82. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
  83. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +1 -1
  84. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
  85. package/dist/shared/src/components/EntityPanelUploader/Dropzone.cjs.js +13 -0
  86. package/dist/shared/src/components/EntityPanelUploader/Dropzone.cjs.js.map +1 -0
  87. package/dist/shared/src/components/EntityPanelUploader/Dropzone.es.js +14 -0
  88. package/dist/shared/src/components/EntityPanelUploader/Dropzone.es.js.map +1 -0
  89. package/dist/shared/src/components/{EntityThumbnailUploader/EntityThumbnailUploader.cjs.js → EntityPanelUploader/EntityPanelUploader.cjs.js} +378 -119
  90. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -0
  91. package/dist/shared/src/components/{EntityThumbnailUploader/EntityThumbnailUploader.es.js → EntityPanelUploader/EntityPanelUploader.es.js} +378 -119
  92. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -0
  93. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js +95 -0
  94. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js.map +1 -0
  95. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.styled.es.js +95 -0
  96. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.styled.es.js.map +1 -0
  97. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +76 -0
  98. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -0
  99. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +77 -0
  100. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -0
  101. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
  102. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  103. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +1 -1
  104. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  105. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -0
  106. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  107. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +2 -0
  108. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  109. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +2 -0
  110. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  111. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +2 -0
  112. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  113. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +6 -3
  114. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  115. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +6 -3
  116. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  117. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +29 -102
  118. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  119. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +29 -102
  120. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  121. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +6 -3
  122. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  123. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +6 -3
  124. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  125. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +212 -0
  126. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -0
  127. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +212 -0
  128. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -0
  129. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +2 -0
  130. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  131. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +2 -0
  132. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  133. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js +2 -2
  134. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js.map +1 -1
  135. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js +2 -2
  136. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js.map +1 -1
  137. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +6 -3
  138. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  139. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +6 -3
  140. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  141. package/dist/shared/src/components/VersionUploader/components/UploadVersionDialog.cjs.js +85 -0
  142. package/dist/shared/src/components/VersionUploader/components/UploadVersionDialog.cjs.js.map +1 -0
  143. package/dist/shared/src/components/VersionUploader/components/UploadVersionDialog.es.js +85 -0
  144. package/dist/shared/src/components/VersionUploader/components/UploadVersionDialog.es.js.map +1 -0
  145. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +401 -0
  146. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -0
  147. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +401 -0
  148. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -0
  149. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +308 -0
  150. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -0
  151. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +308 -0
  152. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -0
  153. package/dist/shared/src/components/Watchers/Watchers.cjs.js +2 -0
  154. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  155. package/dist/shared/src/components/Watchers/Watchers.es.js +2 -0
  156. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  157. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +6 -3
  158. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  159. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +6 -3
  160. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  161. package/dist/shared/src/containers/Actions/Actions.cjs.js +2 -0
  162. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  163. package/dist/shared/src/containers/Actions/Actions.es.js +2 -0
  164. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  165. package/dist/shared/src/containers/Actions/Actions.styled.cjs.js +1 -1
  166. package/dist/shared/src/containers/Actions/Actions.styled.cjs.js.map +1 -1
  167. package/dist/shared/src/containers/Actions/Actions.styled.es.js +1 -1
  168. package/dist/shared/src/containers/Actions/Actions.styled.es.js.map +1 -1
  169. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +6 -3
  170. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  171. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +6 -3
  172. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  173. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +9 -4
  174. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  175. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +9 -4
  176. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  177. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +6 -3
  178. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  179. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +6 -3
  180. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  181. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +6 -3
  182. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  183. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +6 -3
  184. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  185. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +10 -5
  186. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  187. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +10 -5
  188. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  189. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js +1 -1
  190. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js.map +1 -1
  191. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.es.js +1 -1
  192. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.es.js.map +1 -1
  193. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +2 -0
  194. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  195. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +2 -0
  196. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  197. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +2 -0
  198. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  199. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +2 -0
  200. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  201. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.styled.cjs.js +2 -2
  202. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.styled.cjs.js.map +1 -1
  203. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.styled.es.js +2 -2
  204. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.styled.es.js.map +1 -1
  205. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js +1 -1
  206. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js.map +1 -1
  207. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.es.js +1 -1
  208. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.es.js.map +1 -1
  209. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +2 -0
  210. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  211. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +2 -0
  212. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  213. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +2 -0
  214. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  215. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +2 -0
  216. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  217. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +4 -2
  218. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  219. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +4 -2
  220. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  221. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +6 -3
  222. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  223. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +6 -3
  224. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  225. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js +3 -3
  226. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js.map +1 -1
  227. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js +3 -3
  228. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js.map +1 -1
  229. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +2 -0
  230. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  231. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +2 -0
  232. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  233. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  234. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  235. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +7 -1
  236. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
  237. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +7 -1
  238. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
  239. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +2 -0
  240. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  241. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +2 -0
  242. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  243. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +2 -0
  244. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  245. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +2 -0
  246. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  247. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +2 -0
  248. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  249. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +2 -0
  250. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  251. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.cjs.js +1 -0
  252. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.cjs.js.map +1 -1
  253. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.es.js +1 -0
  254. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.es.js.map +1 -1
  255. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js +2 -0
  256. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js.map +1 -1
  257. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js +2 -0
  258. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js.map +1 -1
  259. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js +2 -0
  260. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js.map +1 -1
  261. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js +2 -0
  262. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js.map +1 -1
  263. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js +3 -2
  264. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js.map +1 -1
  265. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js +3 -2
  266. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js.map +1 -1
  267. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js +1 -1
  268. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js.map +1 -1
  269. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js +1 -1
  270. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js.map +1 -1
  271. package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js +1 -1
  272. package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js.map +1 -1
  273. package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js +1 -1
  274. package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js.map +1 -1
  275. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +6 -3
  276. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  277. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +6 -3
  278. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  279. package/dist/shared/src/context/AddonProjectContext.cjs.js +2 -0
  280. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  281. package/dist/shared/src/context/AddonProjectContext.es.js +2 -0
  282. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  283. package/dist/shared/src/context/DetailsPanelContext.cjs.js +2 -0
  284. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  285. package/dist/shared/src/context/DetailsPanelContext.es.js +2 -0
  286. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  287. package/dist/shared/src/context/PowerpackContext.cjs.js +2 -0
  288. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  289. package/dist/shared/src/context/PowerpackContext.es.js +2 -0
  290. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  291. package/dist/shared/src/context/RemoteModulesContext.cjs.js +2 -0
  292. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  293. package/dist/shared/src/context/RemoteModulesContext.es.js +2 -0
  294. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  295. package/dist/shared/src/context/ThumbnailUploaderContext.cjs.js +15 -4
  296. package/dist/shared/src/context/ThumbnailUploaderContext.cjs.js.map +1 -1
  297. package/dist/shared/src/context/ThumbnailUploaderContext.es.js +15 -4
  298. package/dist/shared/src/context/ThumbnailUploaderContext.es.js.map +1 -1
  299. package/dist/shared/src/context/pip/PiPWrapper.cjs.js +1 -1
  300. package/dist/shared/src/context/pip/PiPWrapper.cjs.js.map +1 -1
  301. package/dist/shared/src/context/pip/PiPWrapper.es.js +1 -1
  302. package/dist/shared/src/context/pip/PiPWrapper.es.js.map +1 -1
  303. package/dist/shared/src/hooks/useActionTriggers.cjs.js +2 -0
  304. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  305. package/dist/shared/src/hooks/useActionTriggers.es.js +2 -0
  306. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  307. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +2 -0
  308. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  309. package/dist/shared/src/hooks/useEntityUpdate.es.js +2 -0
  310. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  311. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +2 -0
  312. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  313. package/dist/shared/src/hooks/useScopedStatuses.es.js +2 -0
  314. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  315. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +2 -0
  316. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  317. package/dist/shared/src/hooks/useUserProjectConfig.es.js +2 -0
  318. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  319. package/dist/shared/src/util/productTypes.cjs.js +1 -0
  320. package/dist/shared/src/util/productTypes.cjs.js.map +1 -1
  321. package/dist/shared/src/util/productTypes.es.js +1 -0
  322. package/dist/shared/src/util/productTypes.es.js.map +1 -1
  323. package/dist/shared/src/utils/extractVersionFromFilename.cjs.js +32 -0
  324. package/dist/shared/src/utils/extractVersionFromFilename.cjs.js.map +1 -0
  325. package/dist/shared/src/utils/extractVersionFromFilename.es.js +32 -0
  326. package/dist/shared/src/utils/extractVersionFromFilename.es.js.map +1 -0
  327. package/dist/shared/src/utils/versionUploadHelpers.cjs.js +121 -0
  328. package/dist/shared/src/utils/versionUploadHelpers.cjs.js.map +1 -0
  329. package/dist/shared/src/utils/versionUploadHelpers.es.js +121 -0
  330. package/dist/shared/src/utils/versionUploadHelpers.es.js.map +1 -0
  331. package/dist/types/api/generated/graphql.d.ts +47 -36
  332. package/dist/types/api/queries/activities/getActivities.d.ts +4 -4
  333. package/dist/types/api/queries/activities/updateActivities.d.ts +8 -8
  334. package/dist/types/api/queries/entities/getEntity.d.ts +4 -4
  335. package/dist/types/api/queries/entities/getEntityPanel.d.ts +4 -4
  336. package/dist/types/api/queries/entities/updateEntity.d.ts +4 -4
  337. package/dist/types/api/queries/entityLists/getLists.d.ts +4 -4
  338. package/dist/types/api/queries/index.d.ts +2 -0
  339. package/dist/types/api/queries/overview/getOverview.d.ts +4 -4
  340. package/dist/types/api/queries/products/createProduct.d.ts +161 -0
  341. package/dist/types/api/queries/products/index.d.ts +1 -0
  342. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +4 -4
  343. package/dist/types/api/queries/users/getUsers.d.ts +4 -4
  344. package/dist/types/api/queries/versions/index.d.ts +1 -0
  345. package/dist/types/api/queries/versions/updateVersions.d.ts +685 -0
  346. package/dist/types/components/EntityPanelUploader/Dropzone.d.ts +11 -0
  347. package/dist/types/components/{EntityThumbnailUploader/EntityThumbnailUploader.d.ts → EntityPanelUploader/EntityPanelUploader.d.ts} +3 -3
  348. package/dist/types/components/EntityPanelUploader/EntityPanelUploader.styled.d.ts +8 -0
  349. package/dist/types/components/EntityPanelUploader/EntityPanelUploaderDialog.d.ts +10 -0
  350. package/dist/types/components/EntityPanelUploader/index.d.ts +1 -0
  351. package/dist/types/components/ReviewablesList/index.d.ts +1 -0
  352. package/dist/types/components/ReviewablesList/useReviewablesUpload.d.ts +19 -0
  353. package/dist/types/components/VersionUploader/components/UploadVersionDialog.d.ts +5 -0
  354. package/dist/types/components/VersionUploader/components/UploadVersionForm.d.ts +18 -0
  355. package/dist/types/components/VersionUploader/context/VersionUploadContext.d.ts +54 -0
  356. package/dist/types/components/VersionUploader/index.d.ts +2 -0
  357. package/dist/types/components/index.d.ts +2 -2
  358. package/dist/types/containers/DetailsPanel/DetailsPanel.d.ts +2 -1
  359. package/dist/types/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.d.ts +3 -1
  360. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +1 -0
  361. package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +2 -1
  362. package/dist/types/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +2 -1
  363. package/dist/types/containers/ProjectTreeTable/utils/getTableFieldOptions.d.ts +2 -1
  364. package/dist/types/context/ThumbnailUploaderContext.d.ts +3 -2
  365. package/dist/types/utils/versionUploadHelpers.d.ts +63 -0
  366. package/package.json +1 -1
  367. package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.cjs.js.map +0 -1
  368. package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.es.js.map +0 -1
  369. package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.styled.cjs.js +0 -12
  370. package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.styled.cjs.js.map +0 -1
  371. package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.styled.es.js +0 -12
  372. package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.styled.es.js.map +0 -1
  373. package/dist/shared/src/components/ThumbnailUploader/ThumbnailUploader.cjs.js +0 -112
  374. package/dist/shared/src/components/ThumbnailUploader/ThumbnailUploader.cjs.js.map +0 -1
  375. package/dist/shared/src/components/ThumbnailUploader/ThumbnailUploader.es.js +0 -112
  376. package/dist/shared/src/components/ThumbnailUploader/ThumbnailUploader.es.js.map +0 -1
  377. package/dist/shared/src/components/ThumbnailUploader/ThumbnailUploader.styled.cjs.js +0 -104
  378. package/dist/shared/src/components/ThumbnailUploader/ThumbnailUploader.styled.cjs.js.map +0 -1
  379. package/dist/shared/src/components/ThumbnailUploader/ThumbnailUploader.styled.es.js +0 -104
  380. package/dist/shared/src/components/ThumbnailUploader/ThumbnailUploader.styled.es.js.map +0 -1
  381. package/dist/types/components/EntityThumbnailUploader/EntityThumbnailUploader.styled.d.ts +0 -1
  382. package/dist/types/components/EntityThumbnailUploader/index.d.ts +0 -1
  383. package/dist/types/components/ThumbnailUploader/ThumbnailUploader.d.ts +0 -17
  384. package/dist/types/components/ThumbnailUploader/ThumbnailUploader.styled.d.ts +0 -4
  385. package/dist/types/components/ThumbnailUploader/index.d.ts +0 -1
@@ -0,0 +1,308 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("../../../../../_virtual/jsx-runtime.cjs.js");
4
+ require("../../../api/base/client.cjs.js");
5
+ require("../../../api/generated/graphql.cjs.js");
6
+ require("../../../api/generated/access.cjs.js");
7
+ require("../../../api/generated/actions.cjs.js");
8
+ require("../../../api/generated/activityFeed.cjs.js");
9
+ require("../../../api/generated/addons.cjs.js");
10
+ require("../../../api/generated/anatomy.cjs.js");
11
+ require("../../../api/generated/attributes.cjs.js");
12
+ require("../../../api/generated/authentication.cjs.js");
13
+ require("../../../api/generated/bundles.cjs.js");
14
+ require("../../../api/generated/configuration.cjs.js");
15
+ require("../../../api/generated/desktop.cjs.js");
16
+ require("../../../api/generated/entityLists.cjs.js");
17
+ require("../../../api/generated/events.cjs.js");
18
+ require("../../../api/generated/files.cjs.js");
19
+ require("../../../api/generated/folders.cjs.js");
20
+ require("../../../api/generated/inbox.cjs.js");
21
+ require("../../../api/generated/links.cjs.js");
22
+ require("../../../api/generated/market.cjs.js");
23
+ require("../../../api/generated/onboarding.cjs.js");
24
+ require("../../../api/generated/operations.cjs.js");
25
+ require("../../../api/generated/products.cjs.js");
26
+ require("../../../api/generated/projectDashboard.cjs.js");
27
+ require("../../../api/generated/projects.cjs.js");
28
+ require("../../../api/generated/reviewables.cjs.js");
29
+ require("../../../api/generated/services.cjs.js");
30
+ require("../../../api/generated/system.cjs.js");
31
+ require("../../../api/generated/tasks.cjs.js");
32
+ require("../../../api/generated/teams.cjs.js");
33
+ require("../../../api/generated/thumbnails.cjs.js");
34
+ require("../../../api/generated/uRIs.cjs.js");
35
+ require("../../../api/generated/users.cjs.js");
36
+ require("../../../api/generated/versions.cjs.js");
37
+ require("../../../api/generated/workfiles.cjs.js");
38
+ require("../../../api/generated/ynputCloud.cjs.js");
39
+ require("../../../api/generated/grouping.cjs.js");
40
+ require("../../../api/queries/actions/getActions.cjs.js");
41
+ require("../../../api/queries/activities/getActivities.cjs.js");
42
+ require("../../../api/queries/activities/updateActivities.cjs.js");
43
+ require("../../../api/queries/activities/updateReaction.cjs.js");
44
+ require("../../../api/queries/activities/getMentions.cjs.js");
45
+ require("../../../api/queries/addons/getAddons.cjs.js");
46
+ require("../../../api/queries/addons/updateAddons.cjs.js");
47
+ require("../../../api/queries/attributes/getAttributes.cjs.js");
48
+ require("../../../api/queries/attributes/updateAttributes.cjs.js");
49
+ require("../../../api/queries/authentication/getAuthentication.cjs.js");
50
+ require("../../../api/queries/entities/getEntity.cjs.js");
51
+ require("../../../api/queries/entities/getEntityPanel.cjs.js");
52
+ require("../../../api/queries/entities/updateEntity.cjs.js");
53
+ require("../../../api/queries/entityLists/getLists.cjs.js");
54
+ require("../../../api/queries/entityLists/updateLists.cjs.js");
55
+ require("../../../api/queries/entityLists/getListsAttributes.cjs.js");
56
+ require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");
57
+ require("../../../api/queries/folders/getFolders.cjs.js");
58
+ require("../../../api/queries/overview/getOverview.cjs.js");
59
+ require("../../../api/queries/overview/updateOverview.cjs.js");
60
+ require("../../../api/queries/project/getProject.cjs.js");
61
+ require("../../../api/queries/project/updateProject.cjs.js");
62
+ require("../../../api/queries/review/getReview.cjs.js");
63
+ require("../../../api/queries/review/updateReview.cjs.js");
64
+ require("../../../api/queries/system/getSystem.cjs.js");
65
+ require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");
66
+ require("../../../api/queries/users/getUsers.cjs.js");
67
+ require("../../../api/queries/users/updateUsers.cjs.js");
68
+ require("../../../api/queries/watchers/getWatchers.cjs.js");
69
+ require("../../../api/queries/permissions/getPermissions.cjs.js");
70
+ require("../../../api/queries/grouping/getGrouping.cjs.js");
71
+ const updateVersions = require("../../../api/queries/versions/updateVersions.cjs.js");
72
+ const createProduct = require("../../../api/queries/products/createProduct.cjs.js");
73
+ const React = require("react");
74
+ const extractVersionFromFilename = require("../../../utils/extractVersionFromFilename.cjs.js");
75
+ const productTypes = require("../../../util/productTypes.cjs.js");
76
+ require("lodash");
77
+ const reactToastify = require("react-toastify");
78
+ require("../../../util/pubsub.cjs.js");
79
+ const versionUploadHelpers = require("../../../utils/versionUploadHelpers.cjs.js");
80
+ const VersionUploadContext = React.createContext(void 0);
81
+ const defaultFormData = {
82
+ version: 1,
83
+ name: productTypes.review.name,
84
+ productType: "review"
85
+ };
86
+ const VersionUploadProvider = ({
87
+ children,
88
+ projectName,
89
+ onVersionCreated,
90
+ dispatch
91
+ }) => {
92
+ const [folderId, setFolderId] = React.useState("");
93
+ const [productId, setProductId] = React.useState("");
94
+ const [taskId, setTaskId] = React.useState("");
95
+ const [isOpen, setIsOpen] = React.useState(false);
96
+ const [pendingFiles, setPendingFiles] = React.useState([]);
97
+ const [form, setForm] = React.useState(defaultFormData);
98
+ const [isSubmitting, setIsSubmitting] = React.useState(false);
99
+ const [error, setError] = React.useState("");
100
+ const [createdProductId, setCreatedProductId] = React.useState(null);
101
+ const [createdVersionId, setCreatedVersionId] = React.useState(null);
102
+ const { currentData: version } = updateVersions.useGetLatestProductVersionQuery(
103
+ {
104
+ projectName,
105
+ productId
106
+ },
107
+ { skip: !productId || !isOpen }
108
+ );
109
+ const onOpenVersionUpload = React.useCallback(
110
+ ({ productId: productId2, folderId: folderId2, taskId: taskId2 }) => {
111
+ setProductId(productId2 || "");
112
+ setFolderId(folderId2 || "");
113
+ setTaskId(taskId2 || "");
114
+ setIsOpen(true);
115
+ },
116
+ []
117
+ );
118
+ const onCloseVersionUpload = React.useCallback(() => {
119
+ pendingFiles.forEach((item) => {
120
+ if (item.preview) {
121
+ URL.revokeObjectURL(item.preview);
122
+ }
123
+ });
124
+ setPendingFiles([]);
125
+ setForm(defaultFormData);
126
+ setCreatedProductId(null);
127
+ setCreatedVersionId(null);
128
+ setError("");
129
+ setIsSubmitting(false);
130
+ setIsOpen(false);
131
+ setProductId("");
132
+ setFolderId("");
133
+ setTaskId("");
134
+ }, [pendingFiles]);
135
+ const [createProduct$1] = createProduct.useCreateProductMutation();
136
+ const [createVersion] = updateVersions.useCreateVersionMutation();
137
+ const onUploadVersion = React.useCallback(
138
+ async (data) => {
139
+ console.log("Uploading version with data:", data);
140
+ try {
141
+ if (version && productId) {
142
+ const versionRes = await versionUploadHelpers.createVersionHelper(createVersion, projectName, {
143
+ productId,
144
+ version: data.version
145
+ });
146
+ onVersionCreated(productId, versionRes.id);
147
+ return {
148
+ productId,
149
+ versionId: versionRes.id
150
+ };
151
+ } else {
152
+ const { product: productRes, version: versionRes } = await versionUploadHelpers.createProductAndVersion(
153
+ createProduct$1,
154
+ createVersion,
155
+ projectName,
156
+ {
157
+ folderId,
158
+ name: data.name,
159
+ productType: data.productType || "review"
160
+ },
161
+ {
162
+ version: data.version,
163
+ taskId: taskId || void 0
164
+ }
165
+ );
166
+ onVersionCreated(productRes.id, versionRes.id);
167
+ reactToastify.toast.success("Created new version");
168
+ return {
169
+ productId: productRes.id,
170
+ versionId: versionRes.id
171
+ };
172
+ }
173
+ } catch (error2) {
174
+ console.error("Error uploading version:", error2);
175
+ throw error2.message || error2;
176
+ }
177
+ },
178
+ [onCloseVersionUpload, productId, folderId, taskId, version, projectName]
179
+ );
180
+ const extractAndSetVersionFromFiles = React.useCallback(
181
+ (files) => {
182
+ if (productId) return;
183
+ const firstFile = files[0];
184
+ if (firstFile) {
185
+ const extractedVersion = extractVersionFromFilename.extractVersionFromFilename(firstFile.name);
186
+ if (extractedVersion && extractedVersion !== form.version) {
187
+ setForm((prev) => ({
188
+ ...prev,
189
+ version: extractedVersion
190
+ }));
191
+ }
192
+ }
193
+ },
194
+ [productId, form.version]
195
+ );
196
+ const handleFormChange = React.useCallback((key, value2) => {
197
+ setForm((prev) => ({
198
+ ...prev,
199
+ [key]: value2
200
+ }));
201
+ }, []);
202
+ const validateFormData = () => {
203
+ const validation = versionUploadHelpers.validateFormData(form, version == null ? void 0 : version.version, !version);
204
+ if (!validation.isValid) {
205
+ throw validation.error;
206
+ }
207
+ };
208
+ const handleFormSubmit = React.useCallback(
209
+ async (formData) => {
210
+ try {
211
+ setIsSubmitting(true);
212
+ setError("");
213
+ validateFormData();
214
+ const response = await onUploadVersion(formData);
215
+ if (response == null ? void 0 : response.productId) {
216
+ setCreatedProductId(response.productId);
217
+ }
218
+ if (response == null ? void 0 : response.versionId) {
219
+ setCreatedVersionId(response.versionId);
220
+ }
221
+ if (pendingFiles.length < 1) {
222
+ setIsSubmitting(false);
223
+ onCloseVersionUpload();
224
+ }
225
+ } catch (error2) {
226
+ setError(error2);
227
+ setIsSubmitting(false);
228
+ }
229
+ },
230
+ [onUploadVersion, pendingFiles.length, onCloseVersionUpload]
231
+ );
232
+ React.useEffect(() => {
233
+ if (!isOpen) return;
234
+ if (version) {
235
+ setForm({
236
+ ...defaultFormData,
237
+ version: versionUploadHelpers.getNextVersionNumber(version)
238
+ });
239
+ } else {
240
+ setForm(defaultFormData);
241
+ }
242
+ return () => {
243
+ setForm(defaultFormData);
244
+ };
245
+ }, [isOpen, version]);
246
+ const value = React.useMemo(
247
+ () => ({
248
+ productId,
249
+ setProductId,
250
+ folderId,
251
+ taskId,
252
+ setFolderId,
253
+ isOpen,
254
+ projectName,
255
+ version: productId ? version : void 0,
256
+ pendingFiles,
257
+ setPendingFiles,
258
+ onOpenVersionUpload,
259
+ onCloseVersionUpload,
260
+ onUploadVersion,
261
+ extractAndSetVersionFromFiles,
262
+ form,
263
+ setForm,
264
+ isSubmitting,
265
+ error,
266
+ createdProductId,
267
+ createdVersionId,
268
+ handleFormChange,
269
+ handleFormSubmit,
270
+ dispatch
271
+ }),
272
+ [
273
+ folderId,
274
+ setFolderId,
275
+ productId,
276
+ taskId,
277
+ setProductId,
278
+ isOpen,
279
+ projectName,
280
+ version,
281
+ pendingFiles,
282
+ setPendingFiles,
283
+ onOpenVersionUpload,
284
+ onCloseVersionUpload,
285
+ onUploadVersion,
286
+ extractAndSetVersionFromFiles,
287
+ form,
288
+ isSubmitting,
289
+ error,
290
+ createdProductId,
291
+ createdVersionId,
292
+ handleFormChange,
293
+ handleFormSubmit,
294
+ dispatch
295
+ ]
296
+ );
297
+ return /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(VersionUploadContext.Provider, { value, children });
298
+ };
299
+ const useVersionUploadContext = () => {
300
+ const context = React.useContext(VersionUploadContext);
301
+ if (context === void 0) {
302
+ throw new Error("useVersionUploadContext must be used within a VersionUploadProvider");
303
+ }
304
+ return context;
305
+ };
306
+ exports.VersionUploadProvider = VersionUploadProvider;
307
+ exports.useVersionUploadContext = useVersionUploadContext;
308
+ //# sourceMappingURL=VersionUploadContext.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VersionUploadContext.cjs.js","sources":["../../../../../../src/components/VersionUploader/context/VersionUploadContext.tsx"],"sourcesContent":["import {\n GetLatestVersionResult,\n useCreateVersionMutation,\n useGetLatestProductVersionQuery,\n} from '@shared/api'\nimport React, {\n createContext,\n useContext,\n useState,\n ReactNode,\n useMemo,\n useCallback,\n useEffect,\n} from 'react'\nimport { useCreateProductMutation } from '@shared/api'\nimport { extractVersionFromFilename } from '@shared/utils/extractVersionFromFilename'\nimport { productTypes } from '@shared/util'\nimport { toast } from 'react-toastify'\nimport {\n validateFormData as validateFormDataHelper,\n createProductAndVersion,\n createVersionHelper,\n handleUploadError,\n getNextVersionNumber,\n type ProductCreationData,\n type VersionCreationData,\n} from '@shared/utils/versionUploadHelpers'\n\nexport interface FormData {\n version: number\n name: string\n productType: string\n}\ninterface VersionUploadContextType {\n productId: string\n folderId: string\n taskId: string\n setProductId: (productId: string) => void\n setFolderId: (folderId: string) => void\n isOpen: boolean\n projectName: string\n version: GetLatestVersionResult | undefined\n pendingFiles: Array<{ file: File; preview?: string }>\n setPendingFiles: React.Dispatch<React.SetStateAction<Array<{ file: File; preview?: string }>>>\n extractAndSetVersionFromFiles: (files: File[]) => void\n form: FormData\n setForm: React.Dispatch<React.SetStateAction<FormData>>\n isSubmitting: boolean\n error: string\n createdProductId: string | null\n createdVersionId: string | null\n onOpenVersionUpload: (params: { productId?: string; folderId?: string; taskId?: string }) => void\n onCloseVersionUpload: () => void\n onUploadVersion: (data: FormData) => Promise<{ productId: string; versionId: string }>\n handleFormChange: (key: keyof FormData, value: string | number) => void\n handleFormSubmit: (formData: FormData) => Promise<void>\n // pass through\n dispatch: any\n}\n\nconst VersionUploadContext = createContext<VersionUploadContextType | undefined>(undefined)\n\ninterface VersionUploadProviderProps {\n children: ReactNode\n projectName: string\n onVersionCreated: (productId: string, versionId: string) => void\n dispatch: any\n}\n\nconst defaultFormData: FormData = {\n version: 1,\n name: productTypes.review.name,\n productType: 'review',\n}\n\nexport const VersionUploadProvider: React.FC<VersionUploadProviderProps> = ({\n children,\n projectName,\n onVersionCreated,\n dispatch,\n}) => {\n const [folderId, setFolderId] = useState<string>('')\n const [productId, setProductId] = useState<string>('')\n // optional taskId to link the version to\n const [taskId, setTaskId] = useState<string>('')\n const [isOpen, setIsOpen] = useState<boolean>(false)\n const [pendingFiles, setPendingFiles] = useState<Array<{ file: File; preview?: string }>>([])\n const [form, setForm] = useState<FormData>(defaultFormData)\n const [isSubmitting, setIsSubmitting] = useState(false)\n const [error, setError] = useState<string>('')\n const [createdProductId, setCreatedProductId] = useState<string | null>(null)\n const [createdVersionId, setCreatedVersionId] = useState<string | null>(null)\n\n const { currentData: version } = useGetLatestProductVersionQuery(\n {\n projectName,\n productId,\n },\n { skip: !productId || !isOpen },\n )\n\n const onOpenVersionUpload = useCallback<VersionUploadContextType['onOpenVersionUpload']>(\n ({ productId, folderId, taskId }) => {\n setProductId(productId || '')\n setFolderId(folderId || '')\n setTaskId(taskId || '')\n setIsOpen(true)\n },\n [],\n )\n\n const onCloseVersionUpload = useCallback<VersionUploadContextType['onCloseVersionUpload']>(() => {\n // Clean up pending files\n pendingFiles.forEach((item) => {\n if (item.preview) {\n URL.revokeObjectURL(item.preview)\n }\n })\n setPendingFiles([])\n setForm(defaultFormData)\n setCreatedProductId(null)\n setCreatedVersionId(null)\n setError('')\n setIsSubmitting(false)\n setIsOpen(false)\n setProductId('')\n setFolderId('')\n setTaskId('')\n }, [pendingFiles])\n\n const [createProduct] = useCreateProductMutation()\n const [createVersion] = useCreateVersionMutation()\n\n const onUploadVersion = useCallback<VersionUploadContextType['onUploadVersion']>(\n async (data: FormData) => {\n console.log('Uploading version with data:', data)\n try {\n if (version && productId) {\n // product already exists, create new version for it\n const versionRes = await createVersionHelper(createVersion, projectName, {\n productId,\n version: data.version,\n })\n\n // select the new version\n onVersionCreated(productId, versionRes.id)\n\n return {\n productId,\n versionId: versionRes.id,\n }\n } else {\n // product does not exist, create new product with version\n const { product: productRes, version: versionRes } = await createProductAndVersion(\n createProduct,\n createVersion,\n projectName,\n {\n folderId,\n name: data.name,\n productType: data.productType || 'review',\n },\n {\n version: data.version,\n taskId: taskId || undefined,\n },\n )\n\n // select the new product and version\n onVersionCreated(productRes.id, versionRes.id)\n\n toast.success('Created new version')\n\n return {\n productId: productRes.id,\n versionId: versionRes.id,\n }\n }\n } catch (error: any) {\n console.error('Error uploading version:', error)\n throw error.message || error\n }\n },\n [onCloseVersionUpload, productId, folderId, taskId, version, projectName],\n )\n\n const extractAndSetVersionFromFiles = useCallback(\n (files: File[]) => {\n // Only extract version if we don't already have a product (new product workflow)\n if (productId) return\n\n // Try to extract version from the first file\n const firstFile = files[0]\n if (firstFile) {\n const extractedVersion = extractVersionFromFilename(firstFile.name)\n if (extractedVersion && extractedVersion !== form.version) {\n setForm((prev) => ({\n ...prev,\n version: extractedVersion,\n }))\n }\n }\n },\n [productId, form.version],\n )\n\n // Handle form changes\n const handleFormChange = useCallback((key: keyof FormData, value: string | number) => {\n setForm((prev) => ({\n ...prev,\n [key]: value,\n }))\n }, [])\n\n const validateFormData = () => {\n const validation = validateFormDataHelper(form, version?.version, !version)\n if (!validation.isValid) {\n throw validation.error\n }\n }\n\n // Handle form submission\n const handleFormSubmit = useCallback(\n async (formData: FormData) => {\n try {\n setIsSubmitting(true)\n setError('')\n\n // validate the form data\n validateFormData()\n\n const response = await onUploadVersion(formData)\n\n // Extract productId and versionId from response\n if (response?.productId) {\n setCreatedProductId(response.productId)\n }\n if (response?.versionId) {\n setCreatedVersionId(response.versionId)\n }\n\n if (pendingFiles.length < 1) {\n setIsSubmitting(false)\n onCloseVersionUpload()\n }\n } catch (error: any) {\n setError(error)\n setIsSubmitting(false)\n }\n },\n [onUploadVersion, pendingFiles.length, onCloseVersionUpload],\n )\n\n // Update form when version data changes\n useEffect(() => {\n if (!isOpen) return\n\n if (version) {\n setForm({\n ...defaultFormData,\n version: getNextVersionNumber(version),\n })\n } else {\n setForm(defaultFormData)\n }\n\n return () => {\n setForm(defaultFormData)\n }\n }, [isOpen, version])\n\n const value = useMemo(\n () => ({\n productId,\n setProductId,\n folderId,\n taskId,\n setFolderId,\n isOpen,\n projectName,\n version: productId ? version : undefined,\n pendingFiles,\n setPendingFiles,\n onOpenVersionUpload,\n onCloseVersionUpload,\n onUploadVersion,\n extractAndSetVersionFromFiles,\n form,\n setForm,\n isSubmitting,\n error,\n createdProductId,\n createdVersionId,\n handleFormChange,\n handleFormSubmit,\n dispatch,\n }),\n [\n folderId,\n setFolderId,\n productId,\n taskId,\n setProductId,\n isOpen,\n projectName,\n version,\n pendingFiles,\n setPendingFiles,\n onOpenVersionUpload,\n onCloseVersionUpload,\n onUploadVersion,\n extractAndSetVersionFromFiles,\n form,\n isSubmitting,\n error,\n createdProductId,\n createdVersionId,\n handleFormChange,\n handleFormSubmit,\n dispatch,\n ],\n )\n\n return <VersionUploadContext.Provider value={value}>{children}</VersionUploadContext.Provider>\n}\n\nexport const useVersionUploadContext = (): VersionUploadContextType => {\n const context = useContext(VersionUploadContext)\n if (context === undefined) {\n throw new Error('useVersionUploadContext must be used within a VersionUploadProvider')\n }\n return context\n}\n"],"names":["createContext","useState","useGetLatestProductVersionQuery","useCallback","productId","folderId","taskId","createProduct","useCreateProductMutation","useCreateVersionMutation","createVersionHelper","createProductAndVersion","toast","error","extractVersionFromFilename","value","validateFormDataHelper","useEffect","getNextVersionNumber","useMemo","jsx","useContext"],"mappings":"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"}
@@ -0,0 +1,308 @@
1
+ import { j as jsxRuntimeExports } from "../../../../../_virtual/jsx-runtime.es.js";
2
+ import "../../../api/base/client.es.js";
3
+ import "../../../api/generated/graphql.es.js";
4
+ import "../../../api/generated/access.es.js";
5
+ import "../../../api/generated/actions.es.js";
6
+ import "../../../api/generated/activityFeed.es.js";
7
+ import "../../../api/generated/addons.es.js";
8
+ import "../../../api/generated/anatomy.es.js";
9
+ import "../../../api/generated/attributes.es.js";
10
+ import "../../../api/generated/authentication.es.js";
11
+ import "../../../api/generated/bundles.es.js";
12
+ import "../../../api/generated/configuration.es.js";
13
+ import "../../../api/generated/desktop.es.js";
14
+ import "../../../api/generated/entityLists.es.js";
15
+ import "../../../api/generated/events.es.js";
16
+ import "../../../api/generated/files.es.js";
17
+ import "../../../api/generated/folders.es.js";
18
+ import "../../../api/generated/inbox.es.js";
19
+ import "../../../api/generated/links.es.js";
20
+ import "../../../api/generated/market.es.js";
21
+ import "../../../api/generated/onboarding.es.js";
22
+ import "../../../api/generated/operations.es.js";
23
+ import "../../../api/generated/products.es.js";
24
+ import "../../../api/generated/projectDashboard.es.js";
25
+ import "../../../api/generated/projects.es.js";
26
+ import "../../../api/generated/reviewables.es.js";
27
+ import "../../../api/generated/services.es.js";
28
+ import "../../../api/generated/system.es.js";
29
+ import "../../../api/generated/tasks.es.js";
30
+ import "../../../api/generated/teams.es.js";
31
+ import "../../../api/generated/thumbnails.es.js";
32
+ import "../../../api/generated/uRIs.es.js";
33
+ import "../../../api/generated/users.es.js";
34
+ import "../../../api/generated/versions.es.js";
35
+ import "../../../api/generated/workfiles.es.js";
36
+ import "../../../api/generated/ynputCloud.es.js";
37
+ import "../../../api/generated/grouping.es.js";
38
+ import "../../../api/queries/actions/getActions.es.js";
39
+ import "../../../api/queries/activities/getActivities.es.js";
40
+ import "../../../api/queries/activities/updateActivities.es.js";
41
+ import "../../../api/queries/activities/updateReaction.es.js";
42
+ import "../../../api/queries/activities/getMentions.es.js";
43
+ import "../../../api/queries/addons/getAddons.es.js";
44
+ import "../../../api/queries/addons/updateAddons.es.js";
45
+ import "../../../api/queries/attributes/getAttributes.es.js";
46
+ import "../../../api/queries/attributes/updateAttributes.es.js";
47
+ import "../../../api/queries/authentication/getAuthentication.es.js";
48
+ import "../../../api/queries/entities/getEntity.es.js";
49
+ import "../../../api/queries/entities/getEntityPanel.es.js";
50
+ import "../../../api/queries/entities/updateEntity.es.js";
51
+ import "../../../api/queries/entityLists/getLists.es.js";
52
+ import "../../../api/queries/entityLists/updateLists.es.js";
53
+ import "../../../api/queries/entityLists/getListsAttributes.es.js";
54
+ import "../../../api/queries/entityLists/updateListsAttributes.es.js";
55
+ import "../../../api/queries/folders/getFolders.es.js";
56
+ import "../../../api/queries/overview/getOverview.es.js";
57
+ import "../../../api/queries/overview/updateOverview.es.js";
58
+ import "../../../api/queries/project/getProject.es.js";
59
+ import "../../../api/queries/project/updateProject.es.js";
60
+ import "../../../api/queries/review/getReview.es.js";
61
+ import "../../../api/queries/review/updateReview.es.js";
62
+ import "../../../api/queries/system/getSystem.es.js";
63
+ import "../../../api/queries/userDashboard/getUserDashboard.es.js";
64
+ import "../../../api/queries/users/getUsers.es.js";
65
+ import "../../../api/queries/users/updateUsers.es.js";
66
+ import "../../../api/queries/watchers/getWatchers.es.js";
67
+ import "../../../api/queries/permissions/getPermissions.es.js";
68
+ import "../../../api/queries/grouping/getGrouping.es.js";
69
+ import { useGetLatestProductVersionQuery, useCreateVersionMutation } from "../../../api/queries/versions/updateVersions.es.js";
70
+ import { useCreateProductMutation } from "../../../api/queries/products/createProduct.es.js";
71
+ import { createContext, useState, useCallback, useEffect, useMemo, useContext } from "react";
72
+ import { extractVersionFromFilename } from "../../../utils/extractVersionFromFilename.es.js";
73
+ import productTypes from "../../../util/productTypes.es.js";
74
+ import "lodash";
75
+ import { toast } from "react-toastify";
76
+ import "../../../util/pubsub.es.js";
77
+ import { createVersionHelper, createProductAndVersion, getNextVersionNumber, validateFormData } from "../../../utils/versionUploadHelpers.es.js";
78
+ const VersionUploadContext = createContext(void 0);
79
+ const defaultFormData = {
80
+ version: 1,
81
+ name: productTypes.review.name,
82
+ productType: "review"
83
+ };
84
+ const VersionUploadProvider = ({
85
+ children,
86
+ projectName,
87
+ onVersionCreated,
88
+ dispatch
89
+ }) => {
90
+ const [folderId, setFolderId] = useState("");
91
+ const [productId, setProductId] = useState("");
92
+ const [taskId, setTaskId] = useState("");
93
+ const [isOpen, setIsOpen] = useState(false);
94
+ const [pendingFiles, setPendingFiles] = useState([]);
95
+ const [form, setForm] = useState(defaultFormData);
96
+ const [isSubmitting, setIsSubmitting] = useState(false);
97
+ const [error, setError] = useState("");
98
+ const [createdProductId, setCreatedProductId] = useState(null);
99
+ const [createdVersionId, setCreatedVersionId] = useState(null);
100
+ const { currentData: version } = useGetLatestProductVersionQuery(
101
+ {
102
+ projectName,
103
+ productId
104
+ },
105
+ { skip: !productId || !isOpen }
106
+ );
107
+ const onOpenVersionUpload = useCallback(
108
+ ({ productId: productId2, folderId: folderId2, taskId: taskId2 }) => {
109
+ setProductId(productId2 || "");
110
+ setFolderId(folderId2 || "");
111
+ setTaskId(taskId2 || "");
112
+ setIsOpen(true);
113
+ },
114
+ []
115
+ );
116
+ const onCloseVersionUpload = useCallback(() => {
117
+ pendingFiles.forEach((item) => {
118
+ if (item.preview) {
119
+ URL.revokeObjectURL(item.preview);
120
+ }
121
+ });
122
+ setPendingFiles([]);
123
+ setForm(defaultFormData);
124
+ setCreatedProductId(null);
125
+ setCreatedVersionId(null);
126
+ setError("");
127
+ setIsSubmitting(false);
128
+ setIsOpen(false);
129
+ setProductId("");
130
+ setFolderId("");
131
+ setTaskId("");
132
+ }, [pendingFiles]);
133
+ const [createProduct] = useCreateProductMutation();
134
+ const [createVersion] = useCreateVersionMutation();
135
+ const onUploadVersion = useCallback(
136
+ async (data) => {
137
+ console.log("Uploading version with data:", data);
138
+ try {
139
+ if (version && productId) {
140
+ const versionRes = await createVersionHelper(createVersion, projectName, {
141
+ productId,
142
+ version: data.version
143
+ });
144
+ onVersionCreated(productId, versionRes.id);
145
+ return {
146
+ productId,
147
+ versionId: versionRes.id
148
+ };
149
+ } else {
150
+ const { product: productRes, version: versionRes } = await createProductAndVersion(
151
+ createProduct,
152
+ createVersion,
153
+ projectName,
154
+ {
155
+ folderId,
156
+ name: data.name,
157
+ productType: data.productType || "review"
158
+ },
159
+ {
160
+ version: data.version,
161
+ taskId: taskId || void 0
162
+ }
163
+ );
164
+ onVersionCreated(productRes.id, versionRes.id);
165
+ toast.success("Created new version");
166
+ return {
167
+ productId: productRes.id,
168
+ versionId: versionRes.id
169
+ };
170
+ }
171
+ } catch (error2) {
172
+ console.error("Error uploading version:", error2);
173
+ throw error2.message || error2;
174
+ }
175
+ },
176
+ [onCloseVersionUpload, productId, folderId, taskId, version, projectName]
177
+ );
178
+ const extractAndSetVersionFromFiles = useCallback(
179
+ (files) => {
180
+ if (productId) return;
181
+ const firstFile = files[0];
182
+ if (firstFile) {
183
+ const extractedVersion = extractVersionFromFilename(firstFile.name);
184
+ if (extractedVersion && extractedVersion !== form.version) {
185
+ setForm((prev) => ({
186
+ ...prev,
187
+ version: extractedVersion
188
+ }));
189
+ }
190
+ }
191
+ },
192
+ [productId, form.version]
193
+ );
194
+ const handleFormChange = useCallback((key, value2) => {
195
+ setForm((prev) => ({
196
+ ...prev,
197
+ [key]: value2
198
+ }));
199
+ }, []);
200
+ const validateFormData$1 = () => {
201
+ const validation = validateFormData(form, version == null ? void 0 : version.version, !version);
202
+ if (!validation.isValid) {
203
+ throw validation.error;
204
+ }
205
+ };
206
+ const handleFormSubmit = useCallback(
207
+ async (formData) => {
208
+ try {
209
+ setIsSubmitting(true);
210
+ setError("");
211
+ validateFormData$1();
212
+ const response = await onUploadVersion(formData);
213
+ if (response == null ? void 0 : response.productId) {
214
+ setCreatedProductId(response.productId);
215
+ }
216
+ if (response == null ? void 0 : response.versionId) {
217
+ setCreatedVersionId(response.versionId);
218
+ }
219
+ if (pendingFiles.length < 1) {
220
+ setIsSubmitting(false);
221
+ onCloseVersionUpload();
222
+ }
223
+ } catch (error2) {
224
+ setError(error2);
225
+ setIsSubmitting(false);
226
+ }
227
+ },
228
+ [onUploadVersion, pendingFiles.length, onCloseVersionUpload]
229
+ );
230
+ useEffect(() => {
231
+ if (!isOpen) return;
232
+ if (version) {
233
+ setForm({
234
+ ...defaultFormData,
235
+ version: getNextVersionNumber(version)
236
+ });
237
+ } else {
238
+ setForm(defaultFormData);
239
+ }
240
+ return () => {
241
+ setForm(defaultFormData);
242
+ };
243
+ }, [isOpen, version]);
244
+ const value = useMemo(
245
+ () => ({
246
+ productId,
247
+ setProductId,
248
+ folderId,
249
+ taskId,
250
+ setFolderId,
251
+ isOpen,
252
+ projectName,
253
+ version: productId ? version : void 0,
254
+ pendingFiles,
255
+ setPendingFiles,
256
+ onOpenVersionUpload,
257
+ onCloseVersionUpload,
258
+ onUploadVersion,
259
+ extractAndSetVersionFromFiles,
260
+ form,
261
+ setForm,
262
+ isSubmitting,
263
+ error,
264
+ createdProductId,
265
+ createdVersionId,
266
+ handleFormChange,
267
+ handleFormSubmit,
268
+ dispatch
269
+ }),
270
+ [
271
+ folderId,
272
+ setFolderId,
273
+ productId,
274
+ taskId,
275
+ setProductId,
276
+ isOpen,
277
+ projectName,
278
+ version,
279
+ pendingFiles,
280
+ setPendingFiles,
281
+ onOpenVersionUpload,
282
+ onCloseVersionUpload,
283
+ onUploadVersion,
284
+ extractAndSetVersionFromFiles,
285
+ form,
286
+ isSubmitting,
287
+ error,
288
+ createdProductId,
289
+ createdVersionId,
290
+ handleFormChange,
291
+ handleFormSubmit,
292
+ dispatch
293
+ ]
294
+ );
295
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(VersionUploadContext.Provider, { value, children });
296
+ };
297
+ const useVersionUploadContext = () => {
298
+ const context = useContext(VersionUploadContext);
299
+ if (context === void 0) {
300
+ throw new Error("useVersionUploadContext must be used within a VersionUploadProvider");
301
+ }
302
+ return context;
303
+ };
304
+ export {
305
+ VersionUploadProvider,
306
+ useVersionUploadContext
307
+ };
308
+ //# sourceMappingURL=VersionUploadContext.es.js.map