@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,11 @@
1
+ import { FC } from 'react';
2
+ export interface DropzoneType {
3
+ id: string;
4
+ label: string;
5
+ icon: string;
6
+ }
7
+ interface DropzoneProps extends DropzoneType, Omit<React.HTMLAttributes<HTMLDivElement>, 'id'> {
8
+ isActive: boolean;
9
+ }
10
+ declare const Dropzone: FC<DropzoneProps>;
11
+ export default Dropzone;
@@ -6,14 +6,14 @@ type Operation = {
6
6
  updatedAt: string;
7
7
  };
8
8
  };
9
- export type EntityThumbnailUploaderProps = {
9
+ export type EntityPanelUploaderProps = {
10
10
  entityType: string;
11
11
  entities: any[];
12
- isCompact?: boolean;
13
12
  projectName: any;
14
13
  children?: JSX.Element | JSX.Element[];
15
14
  onUploaded?: (operations: Operation[]) => void;
16
15
  resetFileUploadState?: () => void;
16
+ onVersionCreated?: (versionId: string) => void;
17
17
  };
18
- export declare const EntityThumbnailUploader: ({ children, entityType, entities, isCompact, onUploaded, }: EntityThumbnailUploaderProps) => import("react/jsx-runtime").JSX.Element;
18
+ export declare const EntityPanelUploader: ({ children, entityType, entities, projectName, onUploaded, onVersionCreated, }: EntityPanelUploaderProps) => import("react/jsx-runtime").JSX.Element;
19
19
  export {};
@@ -0,0 +1,8 @@
1
+ export declare const DragAndDropWrapper: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
2
+ export declare const DropZones: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
3
+ export declare const DropZone: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
4
+ export declare const CancelButton: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<Omit<import('@ynput/ayon-react-components').ButtonProps & import('react').RefAttributes<HTMLButtonElement>, "ref"> & {
5
+ ref?: ((instance: HTMLButtonElement | null) => void | import('react').DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import('react').DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import('react').RefObject<HTMLButtonElement> | null | undefined;
6
+ }, never>> & string & Omit<import('react').ForwardRefExoticComponent<import('@ynput/ayon-react-components').ButtonProps & import('react').RefAttributes<HTMLButtonElement>>, keyof import('react').Component<any, {}, any>>;
7
+ export declare const UploadingProgress: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
8
+ export declare const Progress: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
@@ -0,0 +1,10 @@
1
+ import { FC } from 'react';
2
+ interface EntityPanelUploaderDialogProps {
3
+ files: FileList | null;
4
+ isOpen: boolean;
5
+ defaultProductName?: string;
6
+ onCancel?: () => void;
7
+ onSubmit?: (productName: string) => void;
8
+ }
9
+ declare const EntityPanelUploaderDialog: FC<EntityPanelUploaderDialogProps>;
10
+ export default EntityPanelUploaderDialog;
@@ -0,0 +1 @@
1
+ export * from './EntityPanelUploader';
@@ -2,3 +2,4 @@ import { default as ReviewablesList } from './ReviewablesList';
2
2
  export * from './getGroupedReviewables';
3
3
  export { ReviewablesList };
4
4
  export * from './ReviewablesUpload';
5
+ export * from './useReviewablesUpload';
@@ -0,0 +1,19 @@
1
+ import { ReviewableProgress } from '..';
2
+ export interface UseReviewablesUploadProps {
3
+ projectName: string | null;
4
+ versionId?: string | null;
5
+ taskId?: string | null;
6
+ folderId?: string | null;
7
+ productId?: string | null;
8
+ dispatch: any;
9
+ onUpload?: () => void;
10
+ onProgress?: (progress: number) => void;
11
+ }
12
+ export interface UploadHandlers {
13
+ handleFileUpload: (files: FileList | File[], versionId?: string) => Promise<void>;
14
+ handleRemoveUpload: (name: string) => void;
15
+ uploading: {
16
+ [key: string]: ReviewableProgress[];
17
+ };
18
+ }
19
+ export declare const useReviewablesUpload: ({ projectName, versionId, taskId, folderId, productId, dispatch, onUpload, onProgress, }: UseReviewablesUploadProps) => UploadHandlers;
@@ -0,0 +1,5 @@
1
+ import { FC } from 'react';
2
+ interface UploadVersionDialogProps {
3
+ }
4
+ export declare const UploadVersionDialog: FC<UploadVersionDialogProps>;
5
+ export default UploadVersionDialog;
@@ -0,0 +1,18 @@
1
+ import { FC } from 'react';
2
+ type FormData = {
3
+ version: number;
4
+ name: string;
5
+ productType: string;
6
+ };
7
+ interface UploadVersionFormProps {
8
+ formData: FormData;
9
+ onChange: (key: keyof FormData, value: string | number) => void;
10
+ onSubmit: (formData: FormData) => void;
11
+ hidden?: (keyof FormData)[];
12
+ projectName: string;
13
+ minVersion?: number;
14
+ versionId?: string | null;
15
+ productId?: string | null;
16
+ }
17
+ export declare const UploadVersionForm: FC<UploadVersionFormProps>;
18
+ export {};
@@ -0,0 +1,54 @@
1
+ import { GetLatestVersionResult } from '../../../api';
2
+ import { default as React, ReactNode } from 'react';
3
+ export interface FormData {
4
+ version: number;
5
+ name: string;
6
+ productType: string;
7
+ }
8
+ interface VersionUploadContextType {
9
+ productId: string;
10
+ folderId: string;
11
+ taskId: string;
12
+ setProductId: (productId: string) => void;
13
+ setFolderId: (folderId: string) => void;
14
+ isOpen: boolean;
15
+ projectName: string;
16
+ version: GetLatestVersionResult | undefined;
17
+ pendingFiles: Array<{
18
+ file: File;
19
+ preview?: string;
20
+ }>;
21
+ setPendingFiles: React.Dispatch<React.SetStateAction<Array<{
22
+ file: File;
23
+ preview?: string;
24
+ }>>>;
25
+ extractAndSetVersionFromFiles: (files: File[]) => void;
26
+ form: FormData;
27
+ setForm: React.Dispatch<React.SetStateAction<FormData>>;
28
+ isSubmitting: boolean;
29
+ error: string;
30
+ createdProductId: string | null;
31
+ createdVersionId: string | null;
32
+ onOpenVersionUpload: (params: {
33
+ productId?: string;
34
+ folderId?: string;
35
+ taskId?: string;
36
+ }) => void;
37
+ onCloseVersionUpload: () => void;
38
+ onUploadVersion: (data: FormData) => Promise<{
39
+ productId: string;
40
+ versionId: string;
41
+ }>;
42
+ handleFormChange: (key: keyof FormData, value: string | number) => void;
43
+ handleFormSubmit: (formData: FormData) => Promise<void>;
44
+ dispatch: any;
45
+ }
46
+ interface VersionUploadProviderProps {
47
+ children: ReactNode;
48
+ projectName: string;
49
+ onVersionCreated: (productId: string, versionId: string) => void;
50
+ dispatch: any;
51
+ }
52
+ export declare const VersionUploadProvider: React.FC<VersionUploadProviderProps>;
53
+ export declare const useVersionUploadContext: () => VersionUploadContextType;
54
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from './components/UploadVersionDialog';
2
+ export * from './context/VersionUploadContext';
@@ -7,8 +7,7 @@ export * from './ReviewableCard';
7
7
  export * from './ReviewableProgressCard';
8
8
  export * from './FileThumbnail';
9
9
  export * from './Thumbnail';
10
- export * from './EntityThumbnailUploader';
11
- export * from './ThumbnailUploader';
10
+ export * from './EntityPanelUploader';
12
11
  export * from './SimpleFormDialog';
13
12
  export * from './EntityPath';
14
13
  export * from './DetailsPanelAttributes';
@@ -20,3 +19,4 @@ export * from './EnumEditor';
20
19
  export * from './SearchFilter';
21
20
  export * from './Badge';
22
21
  export * from './Powerpack';
22
+ export * from './VersionUploader';
@@ -32,9 +32,10 @@ export type DetailsPanelProps = {
32
32
  onClose?: () => void;
33
33
  onWatchersUpdate?: (added: any[], removed: any[]) => void;
34
34
  onOpenViewer?: (entity: any) => void;
35
+ onEntityFocus?: (id: string, entityType: DetailsPanelEntityType) => void;
35
36
  annotations?: any;
36
37
  removeAnnotation?: (id: string) => void;
37
38
  exportAnnotationComposite?: (id: string) => Promise<Blob | null>;
38
39
  };
39
- export declare const DetailsPanel: ({ entityType, entitySubTypes, entitiesData, entities, tagsOptions, disabledStatuses, projectUsers, disabledProjectUsers, activeProjectUsers, projectsInfo, projectNames, isSlideOut, style, scope, isCompact, onClose, onWatchersUpdate, onOpenViewer, annotations, removeAnnotation, exportAnnotationComposite, }: DetailsPanelProps) => import("react/jsx-runtime").JSX.Element;
40
+ export declare const DetailsPanel: ({ entityType, entitySubTypes, entitiesData, entities, tagsOptions, disabledStatuses, projectUsers, disabledProjectUsers, activeProjectUsers, projectsInfo, projectNames, isSlideOut, style, scope, isCompact, onClose, onWatchersUpdate, onOpenViewer, onEntityFocus, annotations, removeAnnotation, exportAnnotationComposite, }: DetailsPanelProps) => import("react/jsx-runtime").JSX.Element;
40
41
  export {};
@@ -1,3 +1,4 @@
1
+ import { DetailsPanelProps } from '../..';
1
2
  import { DetailsPanelEntityData } from '../../../api';
2
3
  import { DetailsPanelTab } from '../../../context';
3
4
  export type EntityTypeIcons = {
@@ -18,7 +19,8 @@ type DetailsPanelHeaderProps = {
18
19
  currentTab: DetailsPanelTab;
19
20
  onTabChange: (tab: DetailsPanelTab) => void;
20
21
  onOpenViewer: (args: any) => void;
22
+ onEntityFocus: DetailsPanelProps['onEntityFocus'];
21
23
  entityTypeIcons: EntityTypeIcons;
22
24
  };
23
- declare const DetailsPanelHeader: ({ entityType, entitySubTypes, entities, disabledAssignees, users, disabledStatuses, tagsOptions, isFetching, isCompact, currentTab, onTabChange, entityTypeIcons, onOpenViewer, }: DetailsPanelHeaderProps) => import("react/jsx-runtime").JSX.Element;
25
+ declare const DetailsPanelHeader: ({ entityType, entitySubTypes, entities, disabledAssignees, users, disabledStatuses, tagsOptions, isFetching, isCompact, currentTab, onTabChange, entityTypeIcons, onOpenViewer, onEntityFocus, }: DetailsPanelHeaderProps) => import("react/jsx-runtime").JSX.Element;
24
26
  export default DetailsPanelHeader;
@@ -12,6 +12,7 @@ export interface ProjectTableContextType {
12
12
  users: ProjectTableProviderProps['users'];
13
13
  attribFields: ProjectTableProviderProps['attribFields'];
14
14
  error?: string;
15
+ scopes: ProjectTableProviderProps['scopes'];
15
16
  tableData: TableRow[];
16
17
  tasksMap: ProjectTableProviderProps['tasksMap'];
17
18
  foldersMap: ProjectTableProviderProps['foldersMap'];
@@ -26,6 +26,7 @@ export interface ProjectTableProviderProps {
26
26
  projectName: string;
27
27
  users: TableUser[];
28
28
  attribFields: ProjectTableAttribute[];
29
+ scopes: string[];
29
30
  tasksMap: TaskNodeMap;
30
31
  foldersMap: FolderNodeMap;
31
32
  entitiesMap: EntitiesMap;
@@ -56,4 +57,4 @@ export interface ProjectTableProviderProps {
56
57
  entityType?: GroupByEntityType;
57
58
  };
58
59
  }
59
- export declare const ProjectTableProvider: ({ children, foldersMap, tableRows, tasksMap, entitiesMap, tasksByFolderMap, expanded, projectInfo, showHierarchy, loadingTasks, isLoadingMore, isLoading, error, isInitialized, projectName, users, attribFields, taskGroups, filters, setFilters, queryFilters, updateShowHierarchy, toggleExpanded, updateExpanded, sorting, updateSorting, fetchNextPage, reloadTableData, setExpanded, contextMenuItems, powerpack, modules, groupByConfig, }: ProjectTableProviderProps) => import("react/jsx-runtime").JSX.Element;
60
+ export declare const ProjectTableProvider: ({ children, foldersMap, tableRows, tasksMap, entitiesMap, tasksByFolderMap, expanded, projectInfo, showHierarchy, loadingTasks, isLoadingMore, isLoading, error, isInitialized, projectName, users, attribFields, scopes, taskGroups, filters, setFilters, queryFilters, updateShowHierarchy, toggleExpanded, updateExpanded, sorting, updateSorting, fetchNextPage, reloadTableData, setExpanded, contextMenuItems, powerpack, modules, groupByConfig, }: ProjectTableProviderProps) => import("react/jsx-runtime").JSX.Element;
@@ -8,10 +8,11 @@ export type HeaderLabel = {
8
8
  label: string;
9
9
  };
10
10
  export type TableCellContextData = {
11
- entityId: string;
12
11
  cellId: string;
13
12
  columnId: string;
13
+ entityId: string;
14
14
  entityType: 'folder' | 'task' | 'product' | 'version' | undefined;
15
+ parentId?: string;
15
16
  attribField: ProjectTableAttribute | undefined;
16
17
  column: {
17
18
  id: string;
@@ -9,6 +9,7 @@ type Params = {
9
9
  folderTypes: FolderType[];
10
10
  taskTypes: TaskType[];
11
11
  tags: Tag[];
12
+ scopes: string[];
12
13
  };
13
- export declare const getTableFieldOptions: ({ users, statuses, folderTypes, taskTypes, tags, }: Params) => BuiltInFieldOptions;
14
+ export declare const getTableFieldOptions: ({ users, statuses, folderTypes, taskTypes, tags, scopes, }: Params) => BuiltInFieldOptions;
14
15
  export {};
@@ -6,10 +6,11 @@ export declare const ThumbnailUploadContext: import('react').Context<{
6
6
  export type ThumbnailUploadProviderProps = {
7
7
  handleThumbnailUpload: (thumbnails: any[]) => {};
8
8
  entities: any;
9
- inputRef: any;
9
+ thumbnailInputRef: any;
10
+ versionsInputRef?: any;
10
11
  children?: JSX.Element | JSX.Element[];
11
12
  };
12
- export declare const ThumbnailUploadProvider: ({ children, inputRef, }: ThumbnailUploadProviderProps) => import("react/jsx-runtime").JSX.Element;
13
+ export declare const ThumbnailUploadProvider: ({ children, thumbnailInputRef, versionsInputRef, }: ThumbnailUploadProviderProps) => import("react/jsx-runtime").JSX.Element;
13
14
  export declare const useThumbnailUploadContext: () => import('react').Context<{
14
15
  onContextMenu?: Function;
15
16
  resetFileUploadState?: Function;
@@ -0,0 +1,63 @@
1
+ export interface ProductCreationData {
2
+ folderId: string;
3
+ name: string;
4
+ productType: string;
5
+ }
6
+ export interface VersionCreationData {
7
+ productId: string;
8
+ version: number;
9
+ taskId?: string;
10
+ }
11
+ export interface ValidationResult {
12
+ isValid: boolean;
13
+ error?: string;
14
+ }
15
+ /**
16
+ * Sanitizes a product name by converting to camelCase and removing invalid characters
17
+ */
18
+ export declare const sanitizeProductName: (name: string) => string;
19
+ /**
20
+ * Validates a product name according to the naming rules
21
+ */
22
+ export declare const validateProductName: (name: string) => ValidationResult;
23
+ /**
24
+ * Validates a product type
25
+ */
26
+ export declare const validateProductType: (productType: string) => ValidationResult;
27
+ /**
28
+ * Validates a version number against an existing version
29
+ */
30
+ export declare const validateVersion: (version: number, existingVersion?: number) => ValidationResult;
31
+ /**
32
+ * Validates complete form data for product and version creation
33
+ */
34
+ export declare const validateFormData: (formData: {
35
+ name: string;
36
+ productType: string;
37
+ version: number;
38
+ }, existingVersion?: number, isNewProduct?: boolean) => ValidationResult;
39
+ /**
40
+ * Creates a product using the provided mutation function
41
+ */
42
+ export declare const createProductHelper: (createProductMutation: any, projectName: string, productData: ProductCreationData) => Promise<any>;
43
+ /**
44
+ * Creates a version using the provided mutation function
45
+ */
46
+ export declare const createVersionHelper: (createVersionMutation: any, projectName: string, versionData: VersionCreationData) => Promise<any>;
47
+ /**
48
+ * Creates a product and version together with proper error handling
49
+ */
50
+ export declare const createProductAndVersion: (createProductMutation: any, createVersionMutation: any, projectName: string, productData: ProductCreationData, versionData: Omit<VersionCreationData, "productId">) => Promise<{
51
+ product: any;
52
+ version: any;
53
+ }>;
54
+ /**
55
+ * Handles errors consistently across upload operations
56
+ */
57
+ export declare const handleUploadError: (error: any, operation: string) => never;
58
+ /**
59
+ * Calculates the next version number based on existing version
60
+ */
61
+ export declare const getNextVersionNumber: (existingVersion?: {
62
+ version: number;
63
+ }) => number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ynput/ayon-frontend-shared",
3
- "version": "0.2.17",
3
+ "version": "0.2.18",
4
4
  "description": "Shared React components for AYON frontend",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.es.js",
@@ -1 +0,0 @@
1
- {"version":3,"file":"EntityThumbnailUploader.cjs.js","sources":["../../../../../src/components/EntityThumbnailUploader/EntityThumbnailUploader.tsx"],"sourcesContent":["import { useRef, useState } from 'react'\nimport clsx from 'clsx'\n\nimport { ThumbnailUploader } from '@shared/components'\nimport { ThumbnailWrapper } from '@shared/containers'\nimport { useUpdateEntitiesMutation } from '@shared/api'\nimport * as Styled from './EntityThumbnailUploader.styled'\nimport { ThumbnailUploadProvider } from '../../context/ThumbnailUploaderContext'\n\ntype Operation = {\n id: string\n projectName: string\n currentAssignees: any[]\n data: { updatedAt: string }\n}\nexport type EntityThumbnailUploaderProps = {\n entityType: string\n entities: any[]\n isCompact?: boolean\n projectName: any\n children?: JSX.Element | JSX.Element[]\n onUploaded?: (operations: Operation[]) => void\n resetFileUploadState?: () => void\n}\n\nexport const EntityThumbnailUploader = ({\n children = [],\n entityType,\n entities = [],\n isCompact = false,\n onUploaded,\n}: EntityThumbnailUploaderProps) => {\n const [isDraggingFile, setIsDraggingFile] = useState(false)\n const [isUploadingFile, setIsUploadingFile] = useState(false)\n\n const [updateEntities] = useUpdateEntitiesMutation()\n\n const handleThumbnailUpload = async (thumbnails: any[] = []) => {\n // always set isDraggingFile to false\n setIsDraggingFile(false)\n setIsUploadingFile(false)\n\n // check something was actually uploaded\n if (!entities.length) {\n return\n }\n\n // patching the updatedAt will force a refresh of the thumbnail url\n const newUpdatedAt = new Date().toISOString()\n\n let operations: Operation[] = []\n let versionPatches = []\n\n for (const entity of thumbnails) {\n const entityToPatch = entities.find((e) => e.id === entity.id)\n if (!entityToPatch) continue\n const thumbnailId = entity.thumbnailId\n const currentAssignees = entity.users || []\n\n operations.push({\n id: entityToPatch.id,\n projectName: entityToPatch.projectName,\n data: { updatedAt: newUpdatedAt },\n currentAssignees,\n })\n\n const versionPatch = {\n productId: entityToPatch.productId,\n versionUpdatedAt: newUpdatedAt,\n versionThumbnailId: thumbnailId,\n }\n\n versionPatches.push(versionPatch)\n }\n\n try {\n await updateEntities({ operations, entityType })\n onUploaded && onUploaded(operations)\n } catch (error) {\n console.error('Error uploading thumbnail:', error)\n }\n }\n\n const inputRef = useRef<HTMLInputElement>(null)\n\n return (\n <ThumbnailUploadProvider\n entities={entities}\n handleThumbnailUpload={handleThumbnailUpload}\n inputRef={inputRef}\n >\n <Styled.DragAndDropWrapper\n className={clsx({ isCompact })}\n onDragEnter={() => setIsDraggingFile(true)}\n >\n <ThumbnailWrapper>\n <div>{children}</div>\n </ThumbnailWrapper>\n <ThumbnailUploader\n entities={entities}\n inputRef={inputRef}\n className={clsx('thumbnail-uploader', { hidden: !isDraggingFile && !isUploadingFile })}\n onUploadInProgress={() => setIsUploadingFile(true)}\n onFinish={handleThumbnailUpload}\n onDragLeave={() => setIsDraggingFile(false)}\n onDragOver={(e) => e.preventDefault()}\n />\n </Styled.DragAndDropWrapper>\n </ThumbnailUploadProvider>\n )\n}\n"],"names":["useState","useUpdateEntitiesMutation","useRef","jsx","ThumbnailUploadProvider","jsxs","Styled.DragAndDropWrapper","ThumbnailWrapper","ThumbnailUploader"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBO,MAAM,0BAA0B,CAAC;AAAA,EACtC,WAAW,CAAC;AAAA,EACZ;AAAA,EACA,WAAW,CAAC;AAAA,EACZ,YAAY;AAAA,EACZ;AACF,MAAoC;AAClC,QAAM,CAAC,gBAAgB,iBAAiB,IAAIA,MAAAA,SAAS,KAAK;AAC1D,QAAM,CAAC,iBAAiB,kBAAkB,IAAIA,MAAAA,SAAS,KAAK;AAEtD,QAAA,CAAC,cAAc,IAAIC,uCAA0B;AAEnD,QAAM,wBAAwB,OAAO,aAAoB,OAAO;AAE9D,sBAAkB,KAAK;AACvB,uBAAmB,KAAK;AAGpB,QAAA,CAAC,SAAS,QAAQ;AACpB;AAAA,IAAA;AAIF,UAAM,gBAAe,oBAAI,KAAK,GAAE,YAAY;AAE5C,QAAI,aAA0B,CAAC;AAG/B,eAAW,UAAU,YAAY;AACzB,YAAA,gBAAgB,SAAS,KAAK,CAAC,MAAM,EAAE,OAAO,OAAO,EAAE;AAC7D,UAAI,CAAC,cAAe;AACA,aAAO;AACrB,YAAA,mBAAmB,OAAO,SAAS,CAAC;AAE1C,iBAAW,KAAK;AAAA,QACd,IAAI,cAAc;AAAA,QAClB,aAAa,cAAc;AAAA,QAC3B,MAAM,EAAE,WAAW,aAAa;AAAA,QAChC;AAAA,MAAA,CACD;AAEoB,OAAA;AAAA,QACnB,WAAW,cAAc;AAAA,MAG3B;AAAA,IAEgC;AAG9B,QAAA;AACF,YAAM,eAAe,EAAE,YAAY,YAAY;AAC/C,oBAAc,WAAW,UAAU;AAAA,aAC5B,OAAO;AACN,cAAA,MAAM,8BAA8B,KAAK;AAAA,IAAA;AAAA,EAErD;AAEM,QAAA,WAAWC,aAAyB,IAAI;AAG5C,SAAAC,2BAAA,kBAAA;AAAA,IAACC,yBAAA;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MAEA,UAAAC,2BAAA,kBAAA;AAAA,QAACC,+BAAO;AAAA,QAAP;AAAA,UACC,WAAW,KAAK,EAAE,WAAW;AAAA,UAC7B,aAAa,MAAM,kBAAkB,IAAI;AAAA,UAEzC,UAAA;AAAA,YAAAH,iDAACI,0BAAAA,kBACC,EAAA,UAAAJ,2BAAAA,kBAAAA,IAAC,OAAK,EAAA,SAAS,CAAA,GACjB;AAAA,YACAA,2BAAA,kBAAA;AAAA,cAACK,kBAAA;AAAA,cAAA;AAAA,gBACC;AAAA,gBACA;AAAA,gBACA,WAAW,KAAK,sBAAsB,EAAE,QAAQ,CAAC,kBAAkB,CAAC,iBAAiB;AAAA,gBACrF,oBAAoB,MAAM,mBAAmB,IAAI;AAAA,gBACjD,UAAU;AAAA,gBACV,aAAa,MAAM,kBAAkB,KAAK;AAAA,gBAC1C,YAAY,CAAC,MAAM,EAAE,eAAe;AAAA,cAAA;AAAA,YAAA;AAAA,UACtC;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EACF;AAEJ;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"EntityThumbnailUploader.es.js","sources":["../../../../../src/components/EntityThumbnailUploader/EntityThumbnailUploader.tsx"],"sourcesContent":["import { useRef, useState } from 'react'\nimport clsx from 'clsx'\n\nimport { ThumbnailUploader } from '@shared/components'\nimport { ThumbnailWrapper } from '@shared/containers'\nimport { useUpdateEntitiesMutation } from '@shared/api'\nimport * as Styled from './EntityThumbnailUploader.styled'\nimport { ThumbnailUploadProvider } from '../../context/ThumbnailUploaderContext'\n\ntype Operation = {\n id: string\n projectName: string\n currentAssignees: any[]\n data: { updatedAt: string }\n}\nexport type EntityThumbnailUploaderProps = {\n entityType: string\n entities: any[]\n isCompact?: boolean\n projectName: any\n children?: JSX.Element | JSX.Element[]\n onUploaded?: (operations: Operation[]) => void\n resetFileUploadState?: () => void\n}\n\nexport const EntityThumbnailUploader = ({\n children = [],\n entityType,\n entities = [],\n isCompact = false,\n onUploaded,\n}: EntityThumbnailUploaderProps) => {\n const [isDraggingFile, setIsDraggingFile] = useState(false)\n const [isUploadingFile, setIsUploadingFile] = useState(false)\n\n const [updateEntities] = useUpdateEntitiesMutation()\n\n const handleThumbnailUpload = async (thumbnails: any[] = []) => {\n // always set isDraggingFile to false\n setIsDraggingFile(false)\n setIsUploadingFile(false)\n\n // check something was actually uploaded\n if (!entities.length) {\n return\n }\n\n // patching the updatedAt will force a refresh of the thumbnail url\n const newUpdatedAt = new Date().toISOString()\n\n let operations: Operation[] = []\n let versionPatches = []\n\n for (const entity of thumbnails) {\n const entityToPatch = entities.find((e) => e.id === entity.id)\n if (!entityToPatch) continue\n const thumbnailId = entity.thumbnailId\n const currentAssignees = entity.users || []\n\n operations.push({\n id: entityToPatch.id,\n projectName: entityToPatch.projectName,\n data: { updatedAt: newUpdatedAt },\n currentAssignees,\n })\n\n const versionPatch = {\n productId: entityToPatch.productId,\n versionUpdatedAt: newUpdatedAt,\n versionThumbnailId: thumbnailId,\n }\n\n versionPatches.push(versionPatch)\n }\n\n try {\n await updateEntities({ operations, entityType })\n onUploaded && onUploaded(operations)\n } catch (error) {\n console.error('Error uploading thumbnail:', error)\n }\n }\n\n const inputRef = useRef<HTMLInputElement>(null)\n\n return (\n <ThumbnailUploadProvider\n entities={entities}\n handleThumbnailUpload={handleThumbnailUpload}\n inputRef={inputRef}\n >\n <Styled.DragAndDropWrapper\n className={clsx({ isCompact })}\n onDragEnter={() => setIsDraggingFile(true)}\n >\n <ThumbnailWrapper>\n <div>{children}</div>\n </ThumbnailWrapper>\n <ThumbnailUploader\n entities={entities}\n inputRef={inputRef}\n className={clsx('thumbnail-uploader', { hidden: !isDraggingFile && !isUploadingFile })}\n onUploadInProgress={() => setIsUploadingFile(true)}\n onFinish={handleThumbnailUpload}\n onDragLeave={() => setIsDraggingFile(false)}\n onDragOver={(e) => e.preventDefault()}\n />\n </Styled.DragAndDropWrapper>\n </ThumbnailUploadProvider>\n )\n}\n"],"names":["jsx","jsxs","Styled.DragAndDropWrapper"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBO,MAAM,0BAA0B,CAAC;AAAA,EACtC,WAAW,CAAC;AAAA,EACZ;AAAA,EACA,WAAW,CAAC;AAAA,EACZ,YAAY;AAAA,EACZ;AACF,MAAoC;AAClC,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,KAAK;AAC1D,QAAM,CAAC,iBAAiB,kBAAkB,IAAI,SAAS,KAAK;AAEtD,QAAA,CAAC,cAAc,IAAI,0BAA0B;AAEnD,QAAM,wBAAwB,OAAO,aAAoB,OAAO;AAE9D,sBAAkB,KAAK;AACvB,uBAAmB,KAAK;AAGpB,QAAA,CAAC,SAAS,QAAQ;AACpB;AAAA,IAAA;AAIF,UAAM,gBAAe,oBAAI,KAAK,GAAE,YAAY;AAE5C,QAAI,aAA0B,CAAC;AAG/B,eAAW,UAAU,YAAY;AACzB,YAAA,gBAAgB,SAAS,KAAK,CAAC,MAAM,EAAE,OAAO,OAAO,EAAE;AAC7D,UAAI,CAAC,cAAe;AACA,aAAO;AACrB,YAAA,mBAAmB,OAAO,SAAS,CAAC;AAE1C,iBAAW,KAAK;AAAA,QACd,IAAI,cAAc;AAAA,QAClB,aAAa,cAAc;AAAA,QAC3B,MAAM,EAAE,WAAW,aAAa;AAAA,QAChC;AAAA,MAAA,CACD;AAEoB,OAAA;AAAA,QACnB,WAAW,cAAc;AAAA,MAG3B;AAAA,IAEgC;AAG9B,QAAA;AACF,YAAM,eAAe,EAAE,YAAY,YAAY;AAC/C,oBAAc,WAAW,UAAU;AAAA,aAC5B,OAAO;AACN,cAAA,MAAM,8BAA8B,KAAK;AAAA,IAAA;AAAA,EAErD;AAEM,QAAA,WAAW,OAAyB,IAAI;AAG5C,SAAAA,kCAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MAEA,UAAAC,kCAAA;AAAA,QAACC;AAAAA,QAAA;AAAA,UACC,WAAW,KAAK,EAAE,WAAW;AAAA,UAC7B,aAAa,MAAM,kBAAkB,IAAI;AAAA,UAEzC,UAAA;AAAA,YAAAF,sCAAC,kBACC,EAAA,UAAAA,kCAAAA,IAAC,OAAK,EAAA,SAAS,CAAA,GACjB;AAAA,YACAA,kCAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC;AAAA,gBACA;AAAA,gBACA,WAAW,KAAK,sBAAsB,EAAE,QAAQ,CAAC,kBAAkB,CAAC,iBAAiB;AAAA,gBACrF,oBAAoB,MAAM,mBAAmB,IAAI;AAAA,gBACjD,UAAU;AAAA,gBACV,aAAa,MAAM,kBAAkB,KAAK;AAAA,gBAC1C,YAAY,CAAC,MAAM,EAAE,eAAe;AAAA,cAAA;AAAA,YAAA;AAAA,UACtC;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EACF;AAEJ;"}
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const styled = require("styled-components");
4
- const DragAndDropWrapper = styled.div`
5
- height: 100%;
6
-
7
- > input[type='file'] {
8
- display: none;
9
- }
10
- `;
11
- exports.DragAndDropWrapper = DragAndDropWrapper;
12
- //# sourceMappingURL=EntityThumbnailUploader.styled.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EntityThumbnailUploader.styled.cjs.js","sources":["../../../../../src/components/EntityThumbnailUploader/EntityThumbnailUploader.styled.tsx"],"sourcesContent":["import styled from \"styled-components\";\n\nexport const DragAndDropWrapper = styled.div`\nheight: 100%;\n\n > input[type='file'] {\n display: none;\n }\n`"],"names":[],"mappings":";;;AAEO,MAAM,qBAAqB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;"}
@@ -1,12 +0,0 @@
1
- import styled from "styled-components";
2
- const DragAndDropWrapper = styled.div`
3
- height: 100%;
4
-
5
- > input[type='file'] {
6
- display: none;
7
- }
8
- `;
9
- export {
10
- DragAndDropWrapper
11
- };
12
- //# sourceMappingURL=EntityThumbnailUploader.styled.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EntityThumbnailUploader.styled.es.js","sources":["../../../../../src/components/EntityThumbnailUploader/EntityThumbnailUploader.styled.tsx"],"sourcesContent":["import styled from \"styled-components\";\n\nexport const DragAndDropWrapper = styled.div`\nheight: 100%;\n\n > input[type='file'] {\n display: none;\n }\n`"],"names":[],"mappings":";AAEO,MAAM,qBAAqB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -1,112 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("../../../../_virtual/jsx-runtime.cjs.js");
4
- const React = require("react");
5
- const ThumbnailUploader_styled = require("./ThumbnailUploader.styled.cjs.js");
6
- const ayonReactComponents = require("@ynput/ayon-react-components");
7
- const axios = require("axios");
8
- const clsx = require("clsx");
9
- const reactToastify = require("react-toastify");
10
- const ThumbnailUploader = ({
11
- onFinish,
12
- entities,
13
- onUploadInProgress,
14
- inputRef,
15
- ...props
16
- }) => {
17
- const [uploadingFile, setUploadingFile] = React.useState();
18
- const [uploadingPreview, setUploadingPreview] = React.useState();
19
- const [progress, setProgress] = React.useState(0);
20
- const resetState = () => {
21
- setUploadingFile(null);
22
- setProgress(0);
23
- setUploadingPreview(null);
24
- };
25
- const handleDroppedFileUpload = async (file) => {
26
- if (!file) return onFinish([]);
27
- try {
28
- if (!file.type.includes("image")) {
29
- throw new Error("File is not an image");
30
- }
31
- setUploadingFile(file);
32
- setUploadingPreview(URL.createObjectURL(file));
33
- let promises = [];
34
- for (const entity of entities) {
35
- const { id, entityType, projectName } = entity;
36
- console.log(projectName);
37
- if (!projectName) throw new Error("Project name is required");
38
- const promise = axios.post(
39
- projectName && `/api/projects/${projectName}/${entityType}s/${id}/thumbnail`,
40
- file,
41
- {
42
- onUploadProgress: (e) => {
43
- setProgress(Math.round(100 * e.loaded / (e.total || file.size)));
44
- },
45
- headers: {
46
- "Content-Type": file.type
47
- }
48
- }
49
- );
50
- promises.push(promise);
51
- }
52
- const res = await Promise.all(promises);
53
- const updatedEntities = res.map((res2, i) => ({
54
- thumbnailId: res2.data.id,
55
- id: entities[i].id
56
- }));
57
- onFinish(updatedEntities);
58
- resetState();
59
- } catch (error) {
60
- console.error(error);
61
- reactToastify.toast.error(error.message);
62
- onFinish([]);
63
- resetState();
64
- }
65
- };
66
- const handleFileUpload = async (event) => {
67
- onUploadInProgress();
68
- const files = event.target.files;
69
- if (!files) {
70
- return;
71
- }
72
- const file = files[0];
73
- if (file) {
74
- handleDroppedFileUpload(file);
75
- }
76
- };
77
- const handleInputDrop = (e) => {
78
- e.preventDefault();
79
- const file = e.dataTransfer.files[0];
80
- handleDroppedFileUpload(file);
81
- };
82
- return /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs(jsxRuntime.jsxRuntimeExports.Fragment, { children: [
83
- /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs(
84
- ThumbnailUploader_styled.ThumbnailUploaderWrapper,
85
- {
86
- className: clsx({ uploading: uploadingFile }),
87
- onDrop: handleInputDrop,
88
- ...props,
89
- children: [
90
- /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx("div", { className: "bg" }),
91
- uploadingFile && uploadingPreview ? /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs(ThumbnailUploader_styled.Uploading, { children: [
92
- /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx("img", { src: uploadingPreview, alt: "uploading preview" }),
93
- /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx("div", { className: "progress-wrapper", children: /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
94
- ThumbnailUploader_styled.Progress,
95
- {
96
- style: {
97
- right: `${100 - progress}%`
98
- }
99
- }
100
- ) })
101
- ] }) : /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs(ThumbnailUploader_styled.Message, { children: [
102
- /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(ayonReactComponents.Icon, { icon: "add_photo_alternate", className: "upload" }),
103
- /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx("span", { children: "Upload thumbnail" })
104
- ] })
105
- ]
106
- }
107
- ),
108
- /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx("input", { type: "file", onChange: handleFileUpload, ref: inputRef })
109
- ] });
110
- };
111
- exports.ThumbnailUploader = ThumbnailUploader;
112
- //# sourceMappingURL=ThumbnailUploader.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ThumbnailUploader.cjs.js","sources":["../../../../../src/components/ThumbnailUploader/ThumbnailUploader.tsx"],"sourcesContent":["import { ChangeEvent, DragEvent, HTMLAttributes, LegacyRef, useState } from 'react'\nimport * as Styled from './ThumbnailUploader.styled'\nimport { Icon } from '@ynput/ayon-react-components'\nimport axios from 'axios'\nimport clsx from 'clsx'\nimport { toast } from 'react-toastify'\n\ntype Entity = {\n id: string\n entityType: string\n projectName: string\n}\n\nexport interface ThumbnailUploaderProps extends HTMLAttributes<HTMLDivElement> {\n onFinish: (entities: { id: string; thumbnailId: string }[]) => void\n inputRef: LegacyRef<HTMLInputElement>\n onUploadInProgress: Function\n entities: Entity[]\n}\n\nexport const ThumbnailUploader = ({\n onFinish,\n entities,\n onUploadInProgress,\n inputRef,\n ...props\n}: ThumbnailUploaderProps) => {\n const [uploadingFile, setUploadingFile] = useState<null | File>()\n const [uploadingPreview, setUploadingPreview] = useState<null | string>()\n const [progress, setProgress] = useState(0)\n\n const resetState = () => {\n setUploadingFile(null)\n setProgress(0)\n setUploadingPreview(null)\n }\n\n const handleDroppedFileUpload = async (file: File) => {\n if (!file) return onFinish([])\n\n try {\n // check file is an image\n if (!file.type.includes('image')) {\n throw new Error('File is not an image')\n }\n\n setUploadingFile(file)\n setUploadingPreview(URL.createObjectURL(file))\n\n let promises = []\n for (const entity of entities) {\n const { id, entityType, projectName } = entity\n\n console.log(projectName)\n\n if (!projectName) throw new Error('Project name is required')\n\n const promise = axios.post(\n projectName && `/api/projects/${projectName}/${entityType}s/${id}/thumbnail`,\n file,\n {\n onUploadProgress: (e) => {\n setProgress(Math.round((100 * e.loaded) / (e.total || file.size)))\n },\n headers: {\n 'Content-Type': file.type,\n },\n },\n )\n\n promises.push(promise)\n }\n\n const res = await Promise.all(promises)\n\n const updatedEntities = res.map((res, i) => ({\n thumbnailId: res.data.id as string,\n id: entities[i].id,\n }))\n\n onFinish(updatedEntities)\n resetState()\n } catch (error: any) {\n console.error(error)\n toast.error(error.message)\n onFinish([])\n resetState()\n }\n }\n\n const handleFileUpload = async (event: ChangeEvent<HTMLInputElement>) => {\n onUploadInProgress()\n const files = event.target.files\n if (!files) {\n return\n }\n\n const file = files[0]\n if (file) {\n handleDroppedFileUpload(file)\n }\n }\n\n const handleInputDrop = (e: DragEvent<HTMLDivElement>) => {\n e.preventDefault()\n\n const file = e.dataTransfer.files[0]\n handleDroppedFileUpload(file)\n }\n\n return (\n <>\n <Styled.ThumbnailUploaderWrapper\n className={clsx({ uploading: uploadingFile })}\n onDrop={handleInputDrop}\n {...props}\n >\n <div className=\"bg\" />\n\n {uploadingFile && uploadingPreview ? (\n <Styled.Uploading>\n <img src={uploadingPreview} alt=\"uploading preview\" />\n <div className=\"progress-wrapper\">\n <Styled.Progress\n style={{\n right: `${100 - progress}%`,\n }}\n />\n </div>\n </Styled.Uploading>\n ) : (\n <Styled.Message>\n <Icon icon=\"add_photo_alternate\" className=\"upload\" />\n <span>Upload thumbnail</span>\n </Styled.Message>\n )}\n </Styled.ThumbnailUploaderWrapper>\n <input type=\"file\" onChange={handleFileUpload} ref={inputRef} />\n </>\n )\n}\n"],"names":["useState","res","toast","jsxs","Fragment","Styled.ThumbnailUploaderWrapper","jsx","Styled.Uploading","Styled.Progress","Styled.Message","Icon"],"mappings":";;;;;;;;;AAoBO,MAAM,oBAAoB,CAAC;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAA8B;AAC5B,QAAM,CAAC,eAAe,gBAAgB,IAAIA,eAAsB;AAChE,QAAM,CAAC,kBAAkB,mBAAmB,IAAIA,eAAwB;AACxE,QAAM,CAAC,UAAU,WAAW,IAAIA,MAAAA,SAAS,CAAC;AAE1C,QAAM,aAAa,MAAM;AACvB,qBAAiB,IAAI;AACrB,gBAAY,CAAC;AACb,wBAAoB,IAAI;AAAA,EAC1B;AAEM,QAAA,0BAA0B,OAAO,SAAe;AACpD,QAAI,CAAC,KAAa,QAAA,SAAS,EAAE;AAEzB,QAAA;AAEF,UAAI,CAAC,KAAK,KAAK,SAAS,OAAO,GAAG;AAC1B,cAAA,IAAI,MAAM,sBAAsB;AAAA,MAAA;AAGxC,uBAAiB,IAAI;AACD,0BAAA,IAAI,gBAAgB,IAAI,CAAC;AAE7C,UAAI,WAAW,CAAC;AAChB,iBAAW,UAAU,UAAU;AAC7B,cAAM,EAAE,IAAI,YAAY,YAAgB,IAAA;AAExC,gBAAQ,IAAI,WAAW;AAEvB,YAAI,CAAC,YAAmB,OAAA,IAAI,MAAM,0BAA0B;AAE5D,cAAM,UAAU,MAAM;AAAA,UACpB,eAAe,iBAAiB,WAAW,IAAI,UAAU,KAAK,EAAE;AAAA,UAChE;AAAA,UACA;AAAA,YACE,kBAAkB,CAAC,MAAM;AACX,0BAAA,KAAK,MAAO,MAAM,EAAE,UAAW,EAAE,SAAS,KAAK,KAAK,CAAC;AAAA,YACnE;AAAA,YACA,SAAS;AAAA,cACP,gBAAgB,KAAK;AAAA,YAAA;AAAA,UACvB;AAAA,QAEJ;AAEA,iBAAS,KAAK,OAAO;AAAA,MAAA;AAGvB,YAAM,MAAM,MAAM,QAAQ,IAAI,QAAQ;AAEtC,YAAM,kBAAkB,IAAI,IAAI,CAACC,MAAK,OAAO;AAAA,QAC3C,aAAaA,KAAI,KAAK;AAAA,QACtB,IAAI,SAAS,CAAC,EAAE;AAAA,MAAA,EAChB;AAEF,eAAS,eAAe;AACb,iBAAA;AAAA,aACJ,OAAY;AACnB,cAAQ,MAAM,KAAK;AACbC,0BAAA,MAAM,MAAM,OAAO;AACzB,eAAS,CAAA,CAAE;AACA,iBAAA;AAAA,IAAA;AAAA,EAEf;AAEM,QAAA,mBAAmB,OAAO,UAAyC;AACpD,uBAAA;AACb,UAAA,QAAQ,MAAM,OAAO;AAC3B,QAAI,CAAC,OAAO;AACV;AAAA,IAAA;AAGI,UAAA,OAAO,MAAM,CAAC;AACpB,QAAI,MAAM;AACR,8BAAwB,IAAI;AAAA,IAAA;AAAA,EAEhC;AAEM,QAAA,kBAAkB,CAAC,MAAiC;AACxD,MAAE,eAAe;AAEjB,UAAM,OAAO,EAAE,aAAa,MAAM,CAAC;AACnC,4BAAwB,IAAI;AAAA,EAC9B;AAEA,SAEIC,2BAAA,kBAAA,KAAAC,uCAAA,EAAA,UAAA;AAAA,IAAAD,2BAAA,kBAAA;AAAA,MAACE,yBAAO;AAAA,MAAP;AAAA,QACC,WAAW,KAAK,EAAE,WAAW,eAAe;AAAA,QAC5C,QAAQ;AAAA,QACP,GAAG;AAAA,QAEJ,UAAA;AAAA,UAACC,2BAAAA,kBAAAA,IAAA,OAAA,EAAI,WAAU,KAAK,CAAA;AAAA,UAEnB,iBAAiB,mBACfH,2BAAAA,kBAAAA,KAAAI,oCAAA,EACC,UAAA;AAAA,YAAAD,2BAAA,kBAAA,IAAC,OAAI,EAAA,KAAK,kBAAkB,KAAI,qBAAoB;AAAA,YACpDA,2BAAAA,kBAAAA,IAAC,OAAI,EAAA,WAAU,oBACb,UAAAA,2BAAA,kBAAA;AAAA,cAACE,yBAAO;AAAA,cAAP;AAAA,gBACC,OAAO;AAAA,kBACL,OAAO,GAAG,MAAM,QAAQ;AAAA,gBAAA;AAAA,cAC1B;AAAA,YAAA,EAEJ,CAAA;AAAA,UAAA,EAAA,CACF,IAEAL,2BAAAA,kBAAAA,KAACM,yBAAO,SAAP,EACC,UAAA;AAAA,YAAAH,2BAAA,kBAAA,IAACI,oBAAK,MAAA,EAAA,MAAK,uBAAsB,WAAU,UAAS;AAAA,YACpDJ,2BAAAA,kBAAAA,IAAC,UAAK,UAAgB,mBAAA,CAAA;AAAA,UAAA,EACxB,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAEJ;AAAA,qDACC,SAAM,EAAA,MAAK,QAAO,UAAU,kBAAkB,KAAK,SAAU,CAAA;AAAA,EAAA,GAChE;AAEJ;;"}