@ynput/ayon-frontend-shared 0.3.36 → 0.3.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (579) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +27 -25
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +222 -215
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/_virtual/index.cjs12.js +1 -1
  8. package/dist/_virtual/index.cjs13.js +1 -1
  9. package/dist/_virtual/index.cjs15.js +1 -1
  10. package/dist/_virtual/index.cjs18.js +1 -1
  11. package/dist/_virtual/index.cjs19.js +1 -1
  12. package/dist/_virtual/index.cjs4.js +1 -1
  13. package/dist/_virtual/index.cjs6.js +1 -1
  14. package/dist/_virtual/index.cjs9.js +1 -1
  15. package/dist/_virtual/index.es12.js +2 -5
  16. package/dist/_virtual/index.es12.js.map +1 -1
  17. package/dist/_virtual/index.es13.js +2 -5
  18. package/dist/_virtual/index.es13.js.map +1 -1
  19. package/dist/_virtual/index.es14.js +2 -2
  20. package/dist/_virtual/index.es15.js +2 -2
  21. package/dist/_virtual/index.es16.js +2 -2
  22. package/dist/_virtual/index.es17.js +2 -2
  23. package/dist/_virtual/index.es18.js +2 -2
  24. package/dist/_virtual/index.es19.js +2 -2
  25. package/dist/_virtual/index.es4.js +5 -2
  26. package/dist/_virtual/index.es4.js.map +1 -1
  27. package/dist/_virtual/index.es6.js +2 -2
  28. package/dist/_virtual/index.es7.js +2 -2
  29. package/dist/_virtual/index.es9.js +5 -2
  30. package/dist/_virtual/index.es9.js.map +1 -1
  31. package/dist/components.cjs.js +1 -1
  32. package/dist/components.es.js +77 -73
  33. package/dist/components.es.js.map +1 -1
  34. package/dist/context.cjs.js +1 -1
  35. package/dist/context.es.js +50 -49
  36. package/dist/hooks.cjs.js +1 -1
  37. package/dist/hooks.es.js +33 -29
  38. package/dist/hooks.es.js.map +1 -1
  39. package/dist/index.cjs.js +1 -1
  40. package/dist/index.es.js +16 -12
  41. package/dist/index.es.js.map +1 -1
  42. package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
  43. package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js.map +1 -1
  44. package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
  45. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  46. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  47. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  48. package/dist/node_modules/remove-accents/index.cjs.js.map +1 -1
  49. package/dist/node_modules/remove-accents/index.es.js +1 -1
  50. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +1 -1
  51. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +1 -1
  52. package/dist/shared/node_modules/@module-federation/runtime/dist/index.cjs.js +1 -1
  53. package/dist/shared/node_modules/@module-federation/runtime/dist/index.es.js +1 -1
  54. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
  55. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +1 -1
  56. package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.cjs.js +1 -1
  57. package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.cjs.js.map +1 -1
  58. package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.es.js +1 -1
  59. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs.js +1 -1
  60. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.es.js +1 -1
  61. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.cjs.js +1 -1
  62. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.es.js +1 -1
  63. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.cjs.js +1 -1
  64. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.es.js +1 -1
  65. package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.cjs.js +1 -1
  66. package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.es.js +1 -1
  67. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs.js +1 -1
  68. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.es.js +1 -1
  69. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.cjs.js +1 -1
  70. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.cjs.js.map +1 -1
  71. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.es.js +1 -1
  72. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js +1 -1
  73. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js.map +1 -1
  74. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.es.js +1 -1
  75. package/dist/shared/node_modules/@module-federation/sdk/dist/index.cjs.js +1 -1
  76. package/dist/shared/node_modules/@module-federation/sdk/dist/index.es.js +1 -1
  77. package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
  78. package/dist/shared/node_modules/prop-types/index.es.js +1 -1
  79. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  80. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  81. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
  82. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js.map +1 -1
  83. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
  84. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
  85. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js.map +1 -1
  86. package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
  87. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
  88. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js.map +1 -1
  89. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
  90. package/dist/shared/src/api/generated/graphql.cjs.js +108 -23
  91. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  92. package/dist/shared/src/api/generated/graphql.es.js +138 -53
  93. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  94. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  95. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  96. package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -1
  97. package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
  98. package/dist/shared/src/api/queries/activities/getActivities.es.js +42 -42
  99. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  100. package/dist/shared/src/api/queries/activities/patchTableLatestComments.cjs.js +2 -0
  101. package/dist/shared/src/api/queries/activities/patchTableLatestComments.cjs.js.map +1 -0
  102. package/dist/shared/src/api/queries/activities/patchTableLatestComments.es.js +68 -0
  103. package/dist/shared/src/api/queries/activities/patchTableLatestComments.es.js.map +1 -0
  104. package/dist/shared/src/api/queries/activities/updateActivities.cjs.js +1 -1
  105. package/dist/shared/src/api/queries/activities/updateActivities.cjs.js.map +1 -1
  106. package/dist/shared/src/api/queries/activities/updateActivities.es.js +69 -62
  107. package/dist/shared/src/api/queries/activities/updateActivities.es.js.map +1 -1
  108. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js +1 -1
  109. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js.map +1 -1
  110. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js +64 -56
  111. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js.map +1 -1
  112. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js +1 -1
  113. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js.map +1 -1
  114. package/dist/shared/src/api/queries/columnStats/columnStats.es.js +57 -53
  115. package/dist/shared/src/api/queries/columnStats/columnStats.es.js.map +1 -1
  116. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js +1 -1
  117. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js.map +1 -1
  118. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js +27 -25
  119. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js.map +1 -1
  120. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +1 -1
  121. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.cjs.js +1 -1
  122. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.cjs.js.map +1 -1
  123. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.es.js +4 -4
  124. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.es.js.map +1 -1
  125. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  126. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  127. package/dist/shared/src/api/queries/overview/getOverview.es.js +212 -187
  128. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  129. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  130. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  131. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +7 -3
  132. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  133. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  134. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  135. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +9 -5
  136. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  137. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  138. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  139. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +9 -5
  140. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  141. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  142. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  143. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +9 -5
  144. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  145. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
  146. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  147. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +103 -99
  148. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  149. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
  150. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  151. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +96 -87
  152. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  153. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  154. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  155. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +9 -5
  156. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  157. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  158. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  159. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +9 -5
  160. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  161. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  162. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  163. package/dist/shared/src/components/RenameForm/RenameForm.es.js +9 -5
  164. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  165. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  166. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  167. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +9 -5
  168. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  169. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  170. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  171. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +10 -6
  172. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  173. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  174. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  175. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +9 -5
  176. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  177. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  178. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  179. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +9 -5
  180. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  181. package/dist/shared/src/components/SearchFilter/CustomDateRangeDialog.cjs.js +6 -0
  182. package/dist/shared/src/components/SearchFilter/CustomDateRangeDialog.cjs.js.map +1 -0
  183. package/dist/shared/src/components/SearchFilter/CustomDateRangeDialog.es.js +58 -0
  184. package/dist/shared/src/components/SearchFilter/CustomDateRangeDialog.es.js.map +1 -0
  185. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  186. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  187. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +254 -243
  188. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  189. package/dist/shared/src/components/SearchFilter/useDateRangeFilter.cjs.js +2 -0
  190. package/dist/shared/src/components/SearchFilter/useDateRangeFilter.cjs.js.map +1 -0
  191. package/dist/shared/src/components/SearchFilter/useDateRangeFilter.es.js +106 -0
  192. package/dist/shared/src/components/SearchFilter/useDateRangeFilter.es.js.map +1 -0
  193. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
  194. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  195. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +11 -7
  196. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  197. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  198. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  199. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +9 -5
  200. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  201. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  202. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  203. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +9 -5
  204. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  205. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  206. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  207. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +13 -9
  208. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  209. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  210. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  211. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +9 -5
  212. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  213. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  214. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  215. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +9 -5
  216. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  217. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  218. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  219. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +7 -5
  220. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  221. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  222. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  223. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +9 -5
  224. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  225. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  226. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  227. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +9 -5
  228. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  229. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  230. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  231. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +9 -5
  232. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  233. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  234. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
  235. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +9 -5
  236. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
  237. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  238. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
  239. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +9 -5
  240. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
  241. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js +10 -0
  242. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js.map +1 -0
  243. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.es.js +135 -0
  244. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.es.js.map +1 -0
  245. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.cjs.js.map +1 -1
  246. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.es.js.map +1 -1
  247. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  248. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  249. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +21 -17
  250. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  251. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  252. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  253. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +44 -46
  254. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  255. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  256. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  257. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +8 -4
  258. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  259. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  260. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  261. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +19 -25
  262. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  263. package/dist/shared/src/containers/DetailsPanel/helpers/subtasksFilterAdapter.cjs.js +2 -0
  264. package/dist/shared/src/containers/DetailsPanel/helpers/subtasksFilterAdapter.cjs.js.map +1 -0
  265. package/dist/shared/src/containers/DetailsPanel/helpers/subtasksFilterAdapter.es.js +91 -0
  266. package/dist/shared/src/containers/DetailsPanel/helpers/subtasksFilterAdapter.es.js.map +1 -0
  267. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  268. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  269. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +9 -5
  270. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  271. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  272. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  273. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +9 -5
  274. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  275. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  276. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  277. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +9 -5
  278. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  279. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  280. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  281. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +9 -5
  282. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  283. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  284. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  285. package/dist/shared/src/containers/Feed/Feed.es.js +156 -164
  286. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  287. package/dist/shared/src/containers/Feed/Feed.styled.cjs.js +25 -3
  288. package/dist/shared/src/containers/Feed/Feed.styled.cjs.js.map +1 -1
  289. package/dist/shared/src/containers/Feed/Feed.styled.es.js +30 -8
  290. package/dist/shared/src/containers/Feed/Feed.styled.es.js.map +1 -1
  291. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  292. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  293. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +9 -5
  294. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  295. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  296. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  297. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +9 -5
  298. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  299. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  300. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  301. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +9 -5
  302. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  303. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.cjs.js +3 -3
  304. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.cjs.js.map +1 -1
  305. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.es.js +1 -0
  306. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.es.js.map +1 -1
  307. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +1 -1
  308. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js.map +1 -1
  309. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +11 -7
  310. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js.map +1 -1
  311. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  312. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  313. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +8 -4
  314. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  315. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  316. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  317. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +13 -9
  318. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  319. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.cjs.js +1 -1
  320. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.cjs.js.map +1 -1
  321. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.es.js +5 -5
  322. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.es.js.map +1 -1
  323. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +17 -0
  324. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js.map +1 -0
  325. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +279 -0
  326. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js.map +1 -0
  327. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  328. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  329. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +8 -4
  330. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  331. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  332. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  333. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +62 -50
  334. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  335. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.cjs.js +2 -0
  336. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.cjs.js.map +1 -0
  337. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.es.js +141 -0
  338. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.es.js.map +1 -0
  339. package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.cjs.js +2 -0
  340. package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.cjs.js.map +1 -0
  341. package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.es.js +81 -0
  342. package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.es.js.map +1 -0
  343. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  344. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  345. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +20 -18
  346. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  347. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  348. package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
  349. package/dist/shared/src/containers/ListTable/ListTable.es.js +107 -103
  350. package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
  351. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  352. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  353. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +8 -4
  354. package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
  355. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  356. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
  357. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +9 -5
  358. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
  359. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  360. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  361. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +201 -194
  362. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  363. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  364. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  365. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +210 -180
  366. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  367. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  368. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  369. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +9 -5
  370. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  371. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  372. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  373. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +35 -31
  374. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  375. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  376. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  377. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +9 -5
  378. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  379. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  380. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  381. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +7 -3
  382. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  383. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +5 -4
  384. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  385. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +228 -222
  386. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  387. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  388. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  389. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +104 -100
  390. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  391. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  392. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  393. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
  394. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
  395. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +63 -58
  396. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
  397. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  398. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  399. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +9 -5
  400. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  401. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.cjs.js +3 -0
  402. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.cjs.js.map +1 -0
  403. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.es.js +22 -0
  404. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.es.js.map +1 -0
  405. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  406. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  407. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +114 -109
  408. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  409. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  410. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +126 -121
  412. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  413. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  414. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +7 -3
  416. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  417. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  418. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +7 -3
  420. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  421. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  422. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +35 -31
  424. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  425. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  426. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +9 -5
  428. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  429. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  430. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  431. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +249 -204
  432. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  433. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  434. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +35 -31
  436. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  437. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  438. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +35 -31
  440. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  441. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  442. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  443. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +7 -3
  444. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  445. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  446. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  447. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +9 -5
  448. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  449. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  450. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  451. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +9 -5
  452. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  453. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  454. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  455. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +106 -102
  456. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  457. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  458. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  459. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +36 -32
  460. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  461. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  462. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  463. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +47 -43
  464. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  465. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js +1 -1
  466. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js.map +1 -1
  467. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js +61 -61
  468. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js.map +1 -1
  469. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js +1 -1
  470. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
  471. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js +78 -58
  472. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
  473. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  474. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  475. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +9 -5
  476. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  477. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +4 -3
  478. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  479. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +134 -125
  480. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  481. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +82 -0
  482. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -0
  483. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +417 -0
  484. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -0
  485. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +11 -1
  486. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  487. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +80 -52
  488. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  489. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  490. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  491. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +36 -32
  492. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  493. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  494. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  495. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +9 -5
  496. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  497. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  498. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  499. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +9 -5
  500. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  501. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  502. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  503. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +9 -5
  504. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  505. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  506. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  507. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +9 -5
  508. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  509. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
  510. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
  511. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +9 -5
  512. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
  513. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  514. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  515. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +9 -5
  516. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  517. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  518. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  519. package/dist/shared/src/context/DetailsPanelContext.es.js +92 -94
  520. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  521. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  522. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  523. package/dist/shared/src/context/WebsocketContext.es.js +11 -7
  524. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  525. package/dist/shared/src/hooks/useGetProductionAddon.cjs.js +2 -0
  526. package/dist/shared/src/hooks/useGetProductionAddon.cjs.js.map +1 -0
  527. package/dist/shared/src/hooks/useGetProductionAddon.es.js +124 -0
  528. package/dist/shared/src/hooks/useGetProductionAddon.es.js.map +1 -0
  529. package/dist/shared/src/hooks/useLocalStorage.cjs.js +1 -1
  530. package/dist/shared/src/hooks/useLocalStorage.cjs.js.map +1 -1
  531. package/dist/shared/src/hooks/useLocalStorage.es.js +43 -27
  532. package/dist/shared/src/hooks/useLocalStorage.es.js.map +1 -1
  533. package/dist/types/api/generated/graphql.d.ts +122 -0
  534. package/dist/types/api/generated/graphqlLinks.d.ts +10 -0
  535. package/dist/types/api/queries/activities/getActivities.d.ts +83 -0
  536. package/dist/types/api/queries/activities/patchTableLatestComments.d.ts +1 -0
  537. package/dist/types/api/queries/activities/updateActivities.d.ts +16 -0
  538. package/dist/types/api/queries/activities/util/activitiesHelpers.d.ts +1 -0
  539. package/dist/types/api/queries/entities/getEntity.d.ts +7 -0
  540. package/dist/types/api/queries/entities/getEntityPanel.d.ts +7 -0
  541. package/dist/types/api/queries/entities/updateEntity.d.ts +7 -0
  542. package/dist/types/api/queries/entityLists/getLists.d.ts +84 -0
  543. package/dist/types/api/queries/entityLists/types.d.ts +2 -1
  544. package/dist/types/api/queries/overview/getOverview.d.ts +58 -0
  545. package/dist/types/api/queries/project/getProject.d.ts +7 -0
  546. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +7 -0
  547. package/dist/types/api/queries/users/getUsers.d.ts +7 -0
  548. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +30 -0
  549. package/dist/types/components/SearchFilter/CustomDateRangeDialog.d.ts +13 -0
  550. package/dist/types/components/SearchFilter/index.d.ts +2 -0
  551. package/dist/types/components/SearchFilter/useDateRangeFilter.d.ts +36 -0
  552. package/dist/types/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.d.ts +13 -0
  553. package/dist/types/containers/DetailsPanel/helpers/subtasksFilterAdapter.d.ts +5 -0
  554. package/dist/types/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.d.ts +1 -0
  555. package/dist/types/containers/Feed/components/ActivityReference/ActivityReference.styled.d.ts +2 -2
  556. package/dist/types/containers/Feed/components/FeedSearchFilter.d.ts +15 -0
  557. package/dist/types/containers/Feed/context/FeedContext.d.ts +5 -1
  558. package/dist/types/containers/Feed/helpers/buildBackendFilter.d.ts +3 -0
  559. package/dist/types/containers/Feed/helpers/feedFilterAdapter.d.ts +5 -0
  560. package/dist/types/containers/Feed/hooks/useGetFeedActivitiesData.d.ts +5 -1
  561. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +1 -0
  562. package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +1 -1
  563. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +1 -0
  564. package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +2 -1
  565. package/dist/types/containers/ProjectTreeTable/context/clipboard/clipboardComments.d.ts +6 -0
  566. package/dist/types/containers/ProjectTreeTable/context/clipboard/index.d.ts +1 -0
  567. package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +3 -1
  568. package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +1 -0
  569. package/dist/types/containers/ProjectTreeTable/types/table.d.ts +2 -1
  570. package/dist/types/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.d.ts +9 -0
  571. package/dist/types/containers/ProjectTreeTable/utils/queryFilterToClientFilter.d.ts +5 -0
  572. package/dist/types/containers/ProjectTreeTable/widgets/CellWidget.d.ts +2 -1
  573. package/dist/types/containers/ProjectTreeTable/widgets/CommentsWidget.d.ts +7 -0
  574. package/dist/types/containers/ProjectTreeTable/widgets/LinksWidget.d.ts +1 -0
  575. package/dist/types/context/DetailsPanelContext.d.ts +1 -0
  576. package/dist/types/hooks/index.d.ts +1 -0
  577. package/dist/types/hooks/useGetProductionAddon.d.ts +10 -0
  578. package/dist/types/hooks/useLocalStorage.d.ts +2 -0
  579. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleFormDialog.es.js","sources":["../../../../../src/components/SimpleFormDialog/SimpleFormDialog.tsx"],"sourcesContent":["import styled from 'styled-components'\nimport React, { useState, useEffect } from 'react'\nimport ReactMarkdown from 'react-markdown'\nimport {\n Button,\n Spacer,\n Dialog,\n FormLayout,\n FormRow,\n InputNumber,\n InputText,\n InputTextarea,\n InputSwitch,\n Dropdown,\n DefaultItemTemplate,\n} from '@ynput/ayon-react-components'\nimport { Badge } from '@shared/components'\nimport { FormFileUpload, FormFileDownload, type FormFileData} from './FormFile'\n\nimport type { FormSelectOption, SimpleFormField } from '@shared/api'\n\n\nexport type SimpleFormValue = string | number | boolean | string[] | number[] | FormFileData | null | undefined\nexport type SimpleFormValueDict = Record<string, SimpleFormValue>\n\nconst getDefaults = (fields: SimpleFormField[], values: SimpleFormValueDict) => {\n const defaults: SimpleFormValueDict = {}\n fields.forEach((field) => {\n if (field.name in values) {\n defaults[field.name] = values[field.name]\n } else if (field.value) {\n defaults[field.name] = field.value\n } else if (field.type === 'boolean') {\n defaults[field.name] = false\n } else if (field.type === 'integer') {\n defaults[field.name] = 0\n } else if (field.type === 'float') {\n defaults[field.name] = 0.0\n } else if (field.type === 'text') {\n defaults[field.name] = ''\n } else if (field.type === 'multiselect') {\n defaults[field.name] = []\n } else if (field.type === 'file') {\n defaults[field.name] = undefined\n }\n })\n return defaults\n}\n\nconst LabelContainer = styled.div`\n &.normal {\n // maybe something here\n }\n\n &.info,\n &.warning,\n &.error {\n padding: 0.5rem;\n text-align: center;\n font-weight: bold;\n margin: 1rem 0;\n }\n\n &.info {\n background-color: var(--md-sys-color-on-secondary-dark);\n }\n &.warning {\n background-color: var(--md-sys-color-warning-container-dark);\n }\n &.error {\n background-color: var(--md-sys-color-on-error-dark);\n }\n`\n\ntype FormLabelProps = {\n field: SimpleFormField\n}\n\nconst FormLabel = ({ field }: FormLabelProps) => {\n const text = typeof field.value === 'string' ? field.value : 'Invalid label value'\n\n return (\n <LabelContainer className={field.highlight || 'normal'}>\n <ReactMarkdown>{text}</ReactMarkdown>\n </LabelContainer>\n )\n}\n\ntype FormFieldProps = {\n field: SimpleFormField\n value: SimpleFormValue\n onChange: (value: SimpleFormValue) => void\n}\n\nconst DropdownItemTemplate = (option: FormSelectOption) => {\n const endContent = (\n <>\n <div style={{ flex: 1 }} />\n {option.badges && option.badges.map((badge, index) => <Badge key={index} label={badge}/>)}\n </>\n )\n return (\n <DefaultItemTemplate\n option={option}\n dataKey={'value'}\n labelKey={'label'}\n value={[option.value]}\n endContent={endContent}\n />\n )\n}\n\nconst FormField = ({ field, value, onChange }: FormFieldProps) => {\n if (field.type === 'text') {\n const parsedValue = typeof value === 'string' ? value : ''\n if (field.multiline) {\n return (\n <InputTextarea\n value={parsedValue}\n onChange={(e) => onChange(e.target.value)}\n placeholder={field.placeholder || ''}\n />\n )\n }\n return (\n <InputText\n value={parsedValue}\n onChange={(e) => onChange(e.target.value)}\n placeholder={field.placeholder || ''}\n />\n )\n }\n if (field.type === 'boolean') {\n const parsedValue = typeof value === 'boolean' ? value : false\n\n const handleCheckboxEvent = (\n event: React.ChangeEvent<HTMLInputElement> | React.KeyboardEvent<HTMLInputElement>,\n ) => {\n if ('target' in event && 'checked' in event.target) {\n onChange((event.target as HTMLInputElement).checked)\n }\n }\n\n return <InputSwitch checked={parsedValue} onChange={handleCheckboxEvent} />\n }\n if (field.type === 'integer') {\n const parsedValue = typeof value === 'number' ? value : 0\n return (\n <InputNumber\n value={parsedValue}\n onChange={(e) => onChange(parseInt(e.target.value))}\n placeholder={field.placeholder || ''}\n />\n )\n }\n if (field.type === 'float') {\n const parsedValue = typeof value === 'number' ? value : 0.0\n return (\n <InputNumber\n type=\"number\"\n value={parsedValue}\n onChange={(e) => onChange(parseFloat(e.target.value))}\n placeholder={field.placeholder || ''}\n />\n )\n }\n\n if (field.type === 'select') {\n const parsedValue = typeof value === 'string' ? value : ''\n return (\n <Dropdown\n widthExpand\n options={field.options || []}\n value={parsedValue ? [parsedValue] : []}\n onSelectionChange={(e) => onChange(e[0])}\n className={`form-field`}\n multiSelect={false}\n itemTemplate={DropdownItemTemplate}\n />\n )\n } // Handle select\n\n if (field.type === 'multiselect') {\n const parsedValue = Array.isArray(value) ? value.map(value => `${value}`) : []\n return (\n <Dropdown\n widthExpand\n options={field.options || []}\n value={parsedValue}\n onSelectionChange={(e) => onChange(e)}\n className={`form-field`}\n multiSelect={true}\n itemTemplate={DropdownItemTemplate}\n />\n )\n }\n\n if (field.type === 'file') {\n if (value && (value as FormFileData)?.download) {\n return <FormFileDownload value={value as FormFileData} />\n }\n return <FormFileUpload value={value as FormFileData} onChange={onChange} validExtensions={field.valid_extensions} />\n }\n\n}\n\nexport interface SimpleFormDialogProps {\n title: string\n fields: SimpleFormField[]\n values?: SimpleFormValueDict\n submitLabel?: string\n cancelLabel?: string\n submitIcon?: string\n cancelIcon?: string\n onClose: () => void\n onSubmit: (values: SimpleFormValueDict) => void\n isOpen: boolean\n}\n\nexport const SimpleFormDialog = ({\n fields,\n values,\n onClose,\n onSubmit,\n isOpen,\n title,\n submitLabel,\n cancelLabel,\n submitIcon,\n cancelIcon,\n}: SimpleFormDialogProps) => {\n const [formData, setFormData] = useState<SimpleFormValueDict | null>(null)\n\n useEffect(() => {\n if (isOpen) {\n const defaults = getDefaults(fields, values || {})\n setFormData(defaults)\n }\n }, [isOpen, fields, values])\n\n if (!isOpen) return null\n if (!formData) return null\n\n const footer = (\n <div style={{ display: 'flex', flexDirection: 'row', gap: 8 }}>\n <Spacer />\n {cancelLabel && <Button onClick={() => onClose()} label={cancelLabel} icon={cancelIcon} />}\n {submitLabel && (\n <Button\n onClick={() => onSubmit(formData)}\n label={submitLabel}\n icon={submitIcon}\n variant=\"filled\"\n />\n )}\n </div>\n )\n\n return (\n <Dialog\n isOpen={isOpen}\n onClose={onClose}\n header={title}\n footer={footer}\n style={{ minHeight: 500, minWidth: 600 }}\n >\n <FormLayout\n style={{ width: '95%' }}\n onKeyDown={(e) => {\n e.stopPropagation()\n }}\n >\n {fields.map((field: SimpleFormField) => {\n if (field.type === 'label') {\n return <FormLabel key={field.name} field={field} />\n }\n\n return (\n <FormRow key={field.name} label={field.label || ''}>\n <FormField\n field={field}\n value={formData[field.name]}\n onChange={(value) => {\n setFormData((prev) => ({\n ...prev,\n [field.name]: value,\n }))\n }}\n />\n </FormRow>\n )\n })}\n </FormLayout>\n </Dialog>\n )\n}\n"],"names":["getDefaults","fields","values","defaults","field","LabelContainer","styled","FormLabel","text","jsx","ReactMarkdown","DropdownItemTemplate","option","endContent","jsxs","Fragment","badge","index","Badge","DefaultItemTemplate","FormField","value","onChange","parsedValue","InputTextarea","e","InputText","handleCheckboxEvent","event","InputSwitch","InputNumber","Dropdown","FormFileDownload","FormFileUpload","SimpleFormDialog","onClose","onSubmit","isOpen","title","submitLabel","cancelLabel","submitIcon","cancelIcon","formData","setFormData","useState","useEffect","footer","Spacer","Button","Dialog","FormLayout","FormRow","prev"],"mappings":"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"}
1
+ {"version":3,"file":"SimpleFormDialog.es.js","sources":["../../../../../src/components/SimpleFormDialog/SimpleFormDialog.tsx"],"sourcesContent":["import styled from 'styled-components'\nimport React, { useState, useEffect } from 'react'\nimport ReactMarkdown from 'react-markdown'\nimport {\n Button,\n Spacer,\n Dialog,\n FormLayout,\n FormRow,\n InputNumber,\n InputText,\n InputTextarea,\n InputSwitch,\n Dropdown,\n DefaultItemTemplate,\n} from '@ynput/ayon-react-components'\nimport { Badge } from '@shared/components'\nimport { FormFileUpload, FormFileDownload, type FormFileData} from './FormFile'\n\nimport type { FormSelectOption, SimpleFormField } from '@shared/api'\n\n\nexport type SimpleFormValue = string | number | boolean | string[] | number[] | FormFileData | null | undefined\nexport type SimpleFormValueDict = Record<string, SimpleFormValue>\n\nconst getDefaults = (fields: SimpleFormField[], values: SimpleFormValueDict) => {\n const defaults: SimpleFormValueDict = {}\n fields.forEach((field) => {\n if (field.name in values) {\n defaults[field.name] = values[field.name]\n } else if (field.value) {\n defaults[field.name] = field.value\n } else if (field.type === 'boolean') {\n defaults[field.name] = false\n } else if (field.type === 'integer') {\n defaults[field.name] = 0\n } else if (field.type === 'float') {\n defaults[field.name] = 0.0\n } else if (field.type === 'text') {\n defaults[field.name] = ''\n } else if (field.type === 'multiselect') {\n defaults[field.name] = []\n } else if (field.type === 'file') {\n defaults[field.name] = undefined\n }\n })\n return defaults\n}\n\nconst LabelContainer = styled.div`\n &.normal {\n // maybe something here\n }\n\n &.info,\n &.warning,\n &.error {\n padding: 0.5rem;\n text-align: center;\n font-weight: bold;\n margin: 1rem 0;\n }\n\n &.info {\n background-color: var(--md-sys-color-on-secondary-dark);\n }\n &.warning {\n background-color: var(--md-sys-color-warning-container-dark);\n }\n &.error {\n background-color: var(--md-sys-color-on-error-dark);\n }\n`\n\ntype FormLabelProps = {\n field: SimpleFormField\n}\n\nconst FormLabel = ({ field }: FormLabelProps) => {\n const text = typeof field.value === 'string' ? field.value : 'Invalid label value'\n\n return (\n <LabelContainer className={field.highlight || 'normal'}>\n <ReactMarkdown>{text}</ReactMarkdown>\n </LabelContainer>\n )\n}\n\ntype FormFieldProps = {\n field: SimpleFormField\n value: SimpleFormValue\n onChange: (value: SimpleFormValue) => void\n}\n\nconst DropdownItemTemplate = (option: FormSelectOption) => {\n const endContent = (\n <>\n <div style={{ flex: 1 }} />\n {option.badges && option.badges.map((badge, index) => <Badge key={index} label={badge}/>)}\n </>\n )\n return (\n <DefaultItemTemplate\n option={option}\n dataKey={'value'}\n labelKey={'label'}\n value={[option.value]}\n endContent={endContent}\n />\n )\n}\n\nconst FormField = ({ field, value, onChange }: FormFieldProps) => {\n if (field.type === 'text') {\n const parsedValue = typeof value === 'string' ? value : ''\n if (field.multiline) {\n return (\n <InputTextarea\n value={parsedValue}\n onChange={(e) => onChange(e.target.value)}\n placeholder={field.placeholder || ''}\n />\n )\n }\n return (\n <InputText\n value={parsedValue}\n onChange={(e) => onChange(e.target.value)}\n placeholder={field.placeholder || ''}\n />\n )\n }\n if (field.type === 'boolean') {\n const parsedValue = typeof value === 'boolean' ? value : false\n\n const handleCheckboxEvent = (\n event: React.ChangeEvent<HTMLInputElement> | React.KeyboardEvent<HTMLInputElement>,\n ) => {\n if ('target' in event && 'checked' in event.target) {\n onChange((event.target as HTMLInputElement).checked)\n }\n }\n\n return <InputSwitch checked={parsedValue} onChange={handleCheckboxEvent} />\n }\n if (field.type === 'integer') {\n const parsedValue = typeof value === 'number' ? value : 0\n return (\n <InputNumber\n value={parsedValue}\n onChange={(e) => onChange(parseInt(e.target.value))}\n placeholder={field.placeholder || ''}\n />\n )\n }\n if (field.type === 'float') {\n const parsedValue = typeof value === 'number' ? value : 0.0\n return (\n <InputNumber\n type=\"number\"\n value={parsedValue}\n onChange={(e) => onChange(parseFloat(e.target.value))}\n placeholder={field.placeholder || ''}\n />\n )\n }\n\n if (field.type === 'select') {\n const parsedValue = typeof value === 'string' ? value : ''\n return (\n <Dropdown\n widthExpand\n options={field.options || []}\n value={parsedValue ? [parsedValue] : []}\n onSelectionChange={(e) => onChange(e[0])}\n className={`form-field`}\n multiSelect={false}\n itemTemplate={DropdownItemTemplate}\n />\n )\n } // Handle select\n\n if (field.type === 'multiselect') {\n const parsedValue = Array.isArray(value) ? value.map(value => `${value}`) : []\n return (\n <Dropdown\n widthExpand\n options={field.options || []}\n value={parsedValue}\n onSelectionChange={(e) => onChange(e)}\n className={`form-field`}\n multiSelect={true}\n itemTemplate={DropdownItemTemplate}\n />\n )\n }\n\n if (field.type === 'file') {\n if (value && (value as FormFileData)?.download) {\n return <FormFileDownload value={value as FormFileData} />\n }\n return <FormFileUpload value={value as FormFileData} onChange={onChange} validExtensions={field.valid_extensions} />\n }\n\n}\n\nexport interface SimpleFormDialogProps {\n title: string\n fields: SimpleFormField[]\n values?: SimpleFormValueDict\n submitLabel?: string\n cancelLabel?: string\n submitIcon?: string\n cancelIcon?: string\n onClose: () => void\n onSubmit: (values: SimpleFormValueDict) => void\n isOpen: boolean\n}\n\nexport const SimpleFormDialog = ({\n fields,\n values,\n onClose,\n onSubmit,\n isOpen,\n title,\n submitLabel,\n cancelLabel,\n submitIcon,\n cancelIcon,\n}: SimpleFormDialogProps) => {\n const [formData, setFormData] = useState<SimpleFormValueDict | null>(null)\n\n useEffect(() => {\n if (isOpen) {\n const defaults = getDefaults(fields, values || {})\n setFormData(defaults)\n }\n }, [isOpen, fields, values])\n\n if (!isOpen) return null\n if (!formData) return null\n\n const footer = (\n <div style={{ display: 'flex', flexDirection: 'row', gap: 8 }}>\n <Spacer />\n {cancelLabel && <Button onClick={() => onClose()} label={cancelLabel} icon={cancelIcon} />}\n {submitLabel && (\n <Button\n onClick={() => onSubmit(formData)}\n label={submitLabel}\n icon={submitIcon}\n variant=\"filled\"\n />\n )}\n </div>\n )\n\n return (\n <Dialog\n isOpen={isOpen}\n onClose={onClose}\n header={title}\n footer={footer}\n style={{ minHeight: 500, minWidth: 600 }}\n >\n <FormLayout\n style={{ width: '95%' }}\n onKeyDown={(e) => {\n e.stopPropagation()\n }}\n >\n {fields.map((field: SimpleFormField) => {\n if (field.type === 'label') {\n return <FormLabel key={field.name} field={field} />\n }\n\n return (\n <FormRow key={field.name} label={field.label || ''}>\n <FormField\n field={field}\n value={formData[field.name]}\n onChange={(value) => {\n setFormData((prev) => ({\n ...prev,\n [field.name]: value,\n }))\n }}\n />\n </FormRow>\n )\n })}\n </FormLayout>\n </Dialog>\n )\n}\n"],"names":["getDefaults","fields","values","defaults","field","LabelContainer","styled","FormLabel","text","jsx","ReactMarkdown","DropdownItemTemplate","option","endContent","jsxs","Fragment","badge","index","Badge","DefaultItemTemplate","FormField","value","onChange","parsedValue","InputTextarea","e","InputText","handleCheckboxEvent","event","InputSwitch","InputNumber","Dropdown","FormFileDownload","FormFileUpload","SimpleFormDialog","onClose","onSubmit","isOpen","title","submitLabel","cancelLabel","submitIcon","cancelIcon","formData","setFormData","useState","useEffect","footer","Spacer","Button","Dialog","FormLayout","FormRow","prev"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../../../../_virtual/jsx-runtime.cjs.js"),o=require("react"),s=require("styled-components"),t=require("@ynput/ayon-react-components");require("../../AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../AccessUser/AccessUser.cjs.js");require("clsx");require("../../AttributeEditor/AttributeEditor.cjs.js");require("../../AttributeEditor/attributeTypeMap.cjs.js");require("../../Badge/Badge.cjs.js");require("../../Chips/Chips.cjs.js");require("react-dom");require("date-fns");require("../../DateRangePicker/DateRangePicker.styled.cjs.js");require("../../LinksManager/CellEditingDialog.cjs.js");require("react-toastify");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/dataImport.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/projectFolders.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/columnStats/metricTargets.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/listItemsColumnStats.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/folders/getFolderDeleteInfo.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");const se=require("../../../api/queries/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("../../../../../_virtual/index.cjs.js");require("../../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("../../DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../DetailsPanelDetails/BorderedSection.cjs.js");require("../../QuillListStyles/QuillListStyles.cjs.js");require("../../DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("react-markdown");require("remark-gfm");require("rehype-raw");require("../../../containers/Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../../containers/Feed/components/CommentInput/modules/index.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("../../../context/SubtasksModulesContextInstance.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");const ne=require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../../../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../../DetailsPanelDetails/DetailsSection.cjs.js");require("../../DetailsPanelDetails/FieldLabel.cjs.js");require("../../DoneCheckbox/DoneCheckbox.cjs.js");require("../../EarlyPreview/EarlyPreview.cjs.js");require("../../EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../EnumEditor/EnumEditor.styled.cjs.js");require("../../../containers/ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../../containers/Feed/context/FeedContext.cjs.js");require("../../../containers/Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../../containers/Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../../containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../../../containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../../containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../../containers/Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("remark-emoji");require("remark-directive");require("remark-directive-rehype");require("../../../containers/Feed/components/CommentInput/CommentInput.cjs.js");require("../../../containers/Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../../containers/Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../../containers/Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../../containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../../containers/Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../../containers/Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../../containers/Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../../containers/Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../../containers/Feed/components/ActivityDate.cjs.js");require("../../../containers/Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../../containers/Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../../containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../../containers/Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../../containers/Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../../containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../../../containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../../containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../../../containers/Feed/Feed.styled.cjs.js");require("../../../containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../../../containers/ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/DateWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js");require("../../../containers/ProjectTreeTable/widgets/TextWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/CellWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../../../containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../../../containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../LinksManager/LinksManager.styled.cjs.js");require("../../../containers/ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../../../containers/ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../../../containers/ProjectTreeTable/context/CellEditingContext.cjs.js");require("../../SearchFilter/filterDates.cjs.js");require("short-uuid");require("../../../containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../../../containers/ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../../../containers/ProjectTreeTable/context/ClipboardContext.cjs.js");require("../../../containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../../../containers/ProjectTreeTable/components/DeleteConfirmContent.cjs.js");require("../../../containers/ProjectTreeTable/context/ProjectDataContext.cjs.js");require("../../../containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../../../containers/ProjectTreeTable/components/SelectionCell.cjs.js");require("../../../containers/ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../../../containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../../../containers/ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../../../containers/ProjectTreeTable/components/TableFooterRow.cjs.js");const oe=require("../../../containers/EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../containers/Slicer/components/Slicer.cjs.js");require("../../../containers/Slicer/context/SlicerContext.cjs.js");require("../../../containers/Slicer/hooks/useTableDataBySlice.cjs.js");require("../../../containers/DetailsPanel/DetailsPanel.styled.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../PlayableIcon/PlayableIcon.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../../containers/Actions/Actions.styled.cjs.js");require("../../../containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../../containers/Actions/ActionIcon.cjs.js");require("../../../containers/Views/ViewsMenu/ViewsMenu.cjs.js");require("../../../containers/Views/context/ViewsContextInstance.cjs.js");require("../../../containers/Views/Views.styled.cjs.js");require("../../../containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../../containers/ListTable/ListTableRow.cjs.js");require("../../../containers/ListTable/ListTable.styled.cjs.js");require("../../EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../ReviewablesList/ReviewablesList.styled.cjs.js");const qe=require("../../ReviewablesList/ReviewablesUpload.cjs.js");require("../../EntityPath/EntityPath.styled.cjs.js");require("../../EntityPath/SegmentProvider.cjs.js");require("../../FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../Feedback/FeedbackContextInstance.cjs.js");require("../../Feedback/SupportBubble.cjs.js");require("../../FileThumbnail/FileThumbnail.cjs.js");require("../../LegacyBadge/LegacyBadge.cjs.js");require("../../Powerpack/PowerpackButton.cjs.js");require("../../Powerpack/FreeTrialLink.cjs.js");require("../../Powerpack/PowerpackDialog.styled.cjs.js");require("../../Powerpack/CTAButton.cjs.js");require("../../Powerpack/RequiredAddonVersion.cjs.js");require("../../ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../SizeSlider/SizeSlider.cjs.js");require("../../ReviewableCard/ReviewableCard.cjs.js");require("../../ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../SettingsPanel/SettingsPanel.cjs.js");require("../../SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../StyledLink/StyledLink.cjs.js");require("../../TableGridSwitch/TableGridSwitch.cjs.js");require("../../Thumbnail/Thumbnail.styled.cjs.js");require("../../Thumbnail/StackedThumbnails.cjs.js");require("../../ThumbnailSimple/ThumbnailSimple.cjs.js");require("./UploadVersionDialog.cjs.js");const ae=require("../context/VersionUploadContext.cjs.js");require("../../Watchers/Watchers.cjs.js");require("../../Menu/Menu.styled.cjs.js");require("../../Menu/MenuItem.cjs.js");require("../../ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../ColumnHeaderMenuUI.cjs.js");const le=require("../../../../node_modules/primereact/skeleton/skeleton.esm.cjs.js"),ce=s.form`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../../../../_virtual/jsx-runtime.cjs.js"),o=require("react"),s=require("styled-components"),t=require("@ynput/ayon-react-components");require("../../AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../AccessUser/AccessUser.cjs.js");require("clsx");require("../../AttributeEditor/AttributeEditor.cjs.js");require("../../AttributeEditor/attributeTypeMap.cjs.js");require("../../Badge/Badge.cjs.js");require("../../Chips/Chips.cjs.js");require("react-dom");require("date-fns");require("../../DateRangePicker/DateRangePicker.styled.cjs.js");require("../../LinksManager/CellEditingDialog.cjs.js");require("react-toastify");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/dataImport.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/projectFolders.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/columnStats/metricTargets.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/listItemsColumnStats.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/folders/getFolderDeleteInfo.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");const se=require("../../../api/queries/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("../../../../../_virtual/index.cjs.js");require("../../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("../../DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../DetailsPanelDetails/BorderedSection.cjs.js");require("../../QuillListStyles/QuillListStyles.cjs.js");require("../../DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("react-markdown");require("remark-gfm");require("rehype-raw");require("../../../containers/Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../../containers/Feed/components/CommentInput/modules/index.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("../../../context/SubtasksModulesContextInstance.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");const ne=require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../../../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../../DetailsPanelDetails/DetailsSection.cjs.js");require("../../DetailsPanelDetails/FieldLabel.cjs.js");require("../../DoneCheckbox/DoneCheckbox.cjs.js");require("../../EarlyPreview/EarlyPreview.cjs.js");require("../../EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../EnumEditor/EnumEditor.styled.cjs.js");require("../../../containers/ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../../containers/Feed/context/FeedContext.cjs.js");require("../../../containers/Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../../containers/Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../../containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../../../containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../../containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../../containers/Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("remark-emoji");require("remark-directive");require("remark-directive-rehype");require("../../../containers/Feed/components/CommentInput/CommentInput.cjs.js");require("../../../containers/Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../../containers/Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../../containers/Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../../containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../../containers/Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../../containers/Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../../containers/Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../../containers/Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../../containers/Feed/components/ActivityDate.cjs.js");require("../../../containers/Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../../containers/Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../../containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../../containers/Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../../containers/Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../../containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../../../containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../../containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../../../containers/Feed/Feed.styled.cjs.js");require("../../../containers/Feed/components/FeedSearchFilter.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../../../containers/ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/DateWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js");require("../../../containers/ProjectTreeTable/widgets/TextWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/CellWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/LinksWidget.cjs.js");require("../../LinksManager/LinksManager.styled.cjs.js");require("../../../containers/ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../../../containers/ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../../../containers/ProjectTreeTable/context/CellEditingContext.cjs.js");require("../../SearchFilter/filterDates.cjs.js");require("short-uuid");require("../../../containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../../../containers/ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../../../containers/ProjectTreeTable/context/ClipboardContext.cjs.js");require("../../../containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../../../containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../../containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../../../containers/ProjectTreeTable/components/DeleteConfirmContent.cjs.js");require("../../../containers/ProjectTreeTable/context/ProjectDataContext.cjs.js");require("../../../containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../../../containers/ProjectTreeTable/components/SelectionCell.cjs.js");require("../../../containers/ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../../../containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../../../containers/ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../../../containers/ProjectTreeTable/components/TableFooterRow.cjs.js");const oe=require("../../../containers/EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../containers/Slicer/components/Slicer.cjs.js");require("../../../containers/Slicer/context/SlicerContext.cjs.js");require("../../../containers/Slicer/hooks/useTableDataBySlice.cjs.js");require("../../../containers/DetailsPanel/DetailsPanel.styled.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../PlayableIcon/PlayableIcon.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../../../containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../../containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../../containers/Actions/Actions.styled.cjs.js");require("../../../containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../../containers/Actions/ActionIcon.cjs.js");require("../../../containers/Views/ViewsMenu/ViewsMenu.cjs.js");require("../../../containers/Views/context/ViewsContextInstance.cjs.js");require("../../../containers/Views/Views.styled.cjs.js");require("../../../containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../../containers/ListTable/ListTableRow.cjs.js");require("../../../containers/ListTable/ListTable.styled.cjs.js");require("../../EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../ReviewablesList/ReviewablesList.styled.cjs.js");const qe=require("../../ReviewablesList/ReviewablesUpload.cjs.js");require("../../EntityPath/EntityPath.styled.cjs.js");require("../../EntityPath/SegmentProvider.cjs.js");require("../../FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../Feedback/FeedbackContextInstance.cjs.js");require("../../Feedback/SupportBubble.cjs.js");require("../../FileThumbnail/FileThumbnail.cjs.js");require("../../LegacyBadge/LegacyBadge.cjs.js");require("../../Powerpack/PowerpackButton.cjs.js");require("../../Powerpack/FreeTrialLink.cjs.js");require("../../Powerpack/PowerpackDialog.styled.cjs.js");require("../../Powerpack/CTAButton.cjs.js");require("../../Powerpack/RequiredAddonVersion.cjs.js");require("../../ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../SizeSlider/SizeSlider.cjs.js");require("../../ReviewableCard/ReviewableCard.cjs.js");require("../../ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../SearchFilter/CustomDateRangeDialog.cjs.js");require("../../SettingsPanel/SettingsPanel.cjs.js");require("../../SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../StyledLink/StyledLink.cjs.js");require("../../TableGridSwitch/TableGridSwitch.cjs.js");require("../../Thumbnail/Thumbnail.styled.cjs.js");require("../../Thumbnail/StackedThumbnails.cjs.js");require("../../ThumbnailSimple/ThumbnailSimple.cjs.js");require("./UploadVersionDialog.cjs.js");const ae=require("../context/VersionUploadContext.cjs.js");require("../../Watchers/Watchers.cjs.js");require("../../Menu/Menu.styled.cjs.js");require("../../Menu/MenuItem.cjs.js");require("../../ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../ColumnHeaderMenuUI.cjs.js");const le=require("../../../../node_modules/primereact/skeleton/skeleton.esm.cjs.js"),ce=s.form`
2
2
  display: flex;
3
3
  flex-direction: column;
4
4
  gap: var(--base-gap-large);
@@ -1 +1 @@
1
- {"version":3,"file":"UploadVersionForm.cjs.js","sources":["../../../../../../src/components/VersionUploader/components/UploadVersionForm.tsx"],"sourcesContent":["import { FC, FormEvent, useEffect, useMemo, useRef, useState, useCallback } from 'react'\nimport styled from 'styled-components'\nimport type { DropdownRef } from '@ynput/ayon-react-components'\nimport {\n Button,\n Dropdown,\n FormLayout,\n FormRow,\n Icon,\n InputNumber,\n InputText,\n} from '@ynput/ayon-react-components'\nimport { ReviewableUpload } from '@shared/components'\nimport { useVersionUploadContext } from '../context/VersionUploadContext'\nimport { useProjectContext } from '@shared/context'\nimport { useGetTaskQuery } from '@shared/api'\nimport { EntityPickerDialog } from '@shared/containers/EntityPickerDialog/EntityPickerDialog'\nimport { Skeleton } from 'primereact/skeleton'\n\nconst StyledForm = styled.form`\n display: flex;\n flex-direction: column;\n gap: var(--base-gap-large);\n padding: var(--padding-m);\n width: 100%;\n`\n\nconst StyledFormLayout = styled(FormLayout)`\n width: 100%;\n margin: auto;\n\n & > div {\n align-items: start;\n }\n\n input {\n width: 100%;\n }\n`\n\nconst RecommendationNote = styled.div`\n font-size: var(--font-size-xs);\n color: var(--md-sys-color-outline);\n margin-top: var(--base-gap-small);\n line-height: 1.3;\n`\n\nconst InlineButton = styled.button`\n background: none;\n border: none;\n color: var(--md-sys-color-primary);\n text-decoration: underline;\n cursor: pointer;\n padding: 0;\n font-size: inherit;\n font-family: inherit;\n\n &:hover {\n color: var(--md-sys-color-primary-dark);\n }\n`\n\nconst NameInputRow = styled.div`\n display: flex;\n align-items: start;\n gap: var(--base-gap-small);\n width: 100%;\n\n & > div:first-child {\n flex: 1;\n min-width: 0;\n }\n`\n\nconst MatchNote = styled.div`\n font-size: var(--font-size-xs);\n color: var(--md-sys-color-primary);\n margin-top: var(--base-gap-small);\n line-height: 1.3;\n`\n\nconst StyledUpload = styled.div`\n position: relative;\n min-height: 80px;\n`\n\nconst TaskFieldContainer = styled.div`\n display: flex;\n align-items: center;\n gap: var(--base-gap-small);\n width: 100%;\n`\n\nconst TaskButton = styled(Button)`\n flex: 1;\n`\n\nconst TaskText = styled.div`\n width: 100%;\n overflow: hidden;\n display: flex;\n min-width: 0;\n`\n\nconst TaskPath = styled.span`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: fit-content;\n margin-right: 4px;\n flex: 1;\n`\n\nconst TaskValue = styled.span`\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-weight: bold;\n`\n\ntype FormData = {\n version: number\n name: string\n productType: string\n}\n\ninterface UploadVersionFormProps {\n formData: FormData\n onChange: (key: keyof FormData, value: string | number) => void\n onSubmit: (formData: FormData) => void\n hidden?: (keyof FormData)[]\n projectName: string\n minVersion?: number\n versionId?: string | null\n productId?: string | null\n}\n\nexport const UploadVersionForm: FC<UploadVersionFormProps> = ({\n formData,\n onChange,\n onSubmit,\n hidden = [],\n projectName,\n minVersion = 1,\n versionId,\n productId,\n}) => {\n const previousProductTypeRef = useRef<string>(formData.productType)\n const dropdownRef = useRef<DropdownRef>(null)\n const formRef = useRef<HTMLFormElement>(null)\n const {\n pendingFiles,\n setPendingFiles,\n onCloseVersionUpload,\n extractAndSetVersionFromFiles,\n dispatch,\n taskId,\n linkedTask,\n isLoadingTask,\n setTaskId,\n setLinkedTask,\n folderId,\n folderProducts,\n isFolderProductsLoading,\n matchedProduct,\n } = useVersionUploadContext()\n\n const [isTaskPickerOpen, setIsTaskPickerOpen] = useState(false)\n\n const folderProductOptions = useMemo(\n () => folderProducts.map((p) => ({ value: p.name, label: p.name })),\n [folderProducts],\n )\n\n const handleProductPickerSelect = useCallback(\n (value: string[]) => {\n onChange('name', value.length > 0 ? value[0] : '')\n },\n [onChange],\n )\n\n const versionString = matchedProduct?.latestVersion\n ? `v${String(matchedProduct.latestVersion.version).padStart(3, '0')}`\n : ''\n\n // Fetch full task data for path; linkedTask provides instant name/type display\n const { data: taskData, isFetching: isFetchingTask } = useGetTaskQuery(\n { projectName, taskId },\n { skip: !taskId },\n )\n const isTaskLoading = isLoadingTask || (!!taskId && isFetchingTask && !linkedTask)\n\n // Use task's folder when available, fall back to product's folder\n const pickerFolderId = taskData?.folderId || folderId\n\n const project = useProjectContext()\n\n const taskName = taskData?.label || taskData?.name || linkedTask?.label || linkedTask?.name || ''\n const taskType = taskData?.taskType || linkedTask?.taskType\n const taskTypeInfo = taskType ? project.getTaskType(taskType) : undefined\n const taskIcon = taskTypeInfo?.icon || 'task_alt'\n const taskFolderPath = taskData?.path\n ? taskData.path.substring(0, taskData.path.lastIndexOf('/'))\n : ''\n\n const productTypeOptions = project.getProductTypeOptions()\n const productTypes = useMemo(() => {\n return project.productTypes.reduce((acc, type) => {\n acc[type.name] = type\n return acc\n }, {} as Record<string, { name: string; icon?: string; color?: string }>)\n }, [project.productTypes])\n\n useEffect(() => {\n // Check if the current name starts with the previous product type name\n const previousProductType = previousProductTypeRef.current\n const previousProductTypeName = productTypes[previousProductType]?.name || ''\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n\n // Only sync if the product type actually changed\n if (formData.productType !== previousProductType && previousProductTypeName) {\n // Check if the current name starts with the previous product type name\n if (formData.name.startsWith(previousProductTypeName)) {\n // Extract the suffix after the previous product type name\n const suffix = formData.name.slice(previousProductTypeName.length)\n // Create the new name with the current product type + suffix\n const newName = currentProductTypeName + suffix\n onChange('name', newName)\n }\n }\n\n // Update the ref to the current product type\n previousProductTypeRef.current = formData.productType\n }, [formData.productType, formData.name, onChange])\n\n const handleSubmit = (e: FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n // @ts-expect-error - submitter is not defined in the type\n const submitter = e.nativeEvent.submitter as HTMLButtonElement | null\n // if the submitter is a button, check it's parent does not have the dropdown class\n if (submitter && submitter.closest('.dropdown')) {\n // if the submitter is a button inside a dropdown, do not submit the form\n return\n }\n\n onSubmit(formData)\n }\n\n const handleVersionChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = parseInt(e.target.value, 10)\n if (!isNaN(value)) {\n onChange('version', value)\n }\n }\n\n const handleNameChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange('name', e.target.value)\n }\n\n const handleProductTypeChange = (value: string[]) => {\n if (value.length > 0) {\n onChange('productType', value[0])\n // focus the name input after changing product type\n }\n }\n\n const handleApplyPrefix = () => {\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n const currentName = formData.name || ''\n\n // Capitalize the first letter of the existing name for camelCase\n const capitalizedName = currentName.charAt(0).toUpperCase() + currentName.slice(1)\n const newName = currentProductTypeName + capitalizedName\n onChange('name', newName)\n }\n\n const shouldShowRecommendation = () => {\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n return formData.name && !formData.name.startsWith(currentProductTypeName)\n }\n\n // Disable form fields if version has been created\n const isFormSubmitted = Boolean(versionId)\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLFormElement>) => {\n // Submit form on Cmd/Ctrl + Enter\n if (e.key === 'Enter' && (e.metaKey || e.ctrlKey)) {\n e.preventDefault()\n onSubmit(formData)\n return\n }\n }\n\n return (\n <StyledForm\n id=\"upload-version-form\"\n ref={formRef}\n onSubmit={handleSubmit}\n noValidate\n onKeyDown={handleKeyDown}\n >\n <StyledFormLayout>\n {!hidden.includes('name') && (\n <FormRow label=\"Product Name\">\n <NameInputRow>\n <div>\n <InputText\n value={formData.name}\n onChange={handleNameChange}\n placeholder=\"Enter product name\"\n minLength={1}\n autoFocus\n aria-label=\"Product Name\"\n aria-describedby={shouldShowRecommendation() ? 'name-recommendation' : undefined}\n disabled={isFormSubmitted}\n />\n {matchedProduct && (\n <MatchNote>\n {matchedProduct.latestVersion\n ? <>Matched existing product (latest: {versionString})</>\n : 'Matched existing product (no versions)'}\n </MatchNote>\n )}\n {!matchedProduct && shouldShowRecommendation() && (\n <RecommendationNote id=\"name-recommendation\">\n We recommend prefixing with \"{productTypes[formData.productType]?.name}\".{' '}\n <InlineButton type=\"button\" onClick={handleApplyPrefix}>\n Apply prefix\n </InlineButton>\n </RecommendationNote>\n )}\n </div>\n {!productId && !isFormSubmitted && (\n <Dropdown\n options={folderProductOptions}\n value={matchedProduct ? [matchedProduct.name] : []}\n onChange={handleProductPickerSelect}\n multiSelect={false}\n search\n widthExpand={false}\n disabled={isFolderProductsLoading || folderProducts.length === 0}\n aria-label=\"Select existing product\"\n valueTemplate={(_v, _s, isOpen) => (\n <Button\n icon=\"inventory_2\"\n variant=\"text\"\n data-tooltip=\"Browse existing products\"\n selected={isOpen}\n tabIndex={-1}\n disabled={isFolderProductsLoading || folderProducts.length === 0}\n />\n )}\n style={{ width: 'auto' }}\n />\n )}\n </NameInputRow>\n </FormRow>\n )}\n\n {!hidden.includes('productType') && (\n <FormRow label=\"Product Type\">\n <Dropdown\n ref={dropdownRef}\n options={productTypeOptions}\n value={[formData.productType]}\n onChange={handleProductTypeChange}\n widthExpand\n multiSelect={false}\n aria-label=\"Product Type\"\n search\n disabled={isFormSubmitted}\n />\n </FormRow>\n )}\n\n {!hidden.includes('version') && (\n <FormRow label={'Version'}>\n <InputNumber\n value={formData.version}\n onChange={handleVersionChange}\n min={minVersion}\n step={1}\n aria-label={'Version Number'}\n autoFocus={hidden.includes('name')}\n disabled={isFormSubmitted}\n />\n </FormRow>\n )}\n\n <FormRow label={'Task'}>\n <TaskFieldContainer>\n {isTaskLoading ? (\n <Skeleton height={'20px'} />\n ) : taskId && taskName ? (\n <>\n <TaskButton\n type={'button'}\n onClick={() => setIsTaskPickerOpen(true)}\n disabled={isFormSubmitted}\n variant=\"text\"\n >\n <Icon icon={taskIcon} style={{ color: taskTypeInfo?.color }} />\n <TaskText>\n {taskFolderPath && (\n <TaskPath>\n {taskFolderPath.split('/').filter(Boolean).join(' / ')} /{' '}\n </TaskPath>\n )}\n <TaskValue>{taskName}</TaskValue>\n </TaskText>\n </TaskButton>\n <Button\n type={'button'}\n icon={'close'}\n variant={'text'}\n onClick={() => {\n setTaskId('')\n setLinkedTask(null)\n }}\n disabled={isFormSubmitted}\n />\n </>\n ) : (\n <Button\n type={'button'}\n icon={'link'}\n label={'Link task'}\n variant={'text'}\n onClick={() => setIsTaskPickerOpen(true)}\n disabled={isFormSubmitted}\n />\n )}\n </TaskFieldContainer>\n </FormRow>\n </StyledFormLayout>\n\n {isTaskPickerOpen && (\n <EntityPickerDialog\n projectName={projectName}\n entityType={'task'}\n initialSelection={{\n ...(pickerFolderId ? { folder: { [pickerFolderId]: true } } : {}),\n ...(taskId ? { task: { [taskId]: true } } : {}),\n }}\n onSubmit={(selection) => {\n if (selection.length > 0) {\n setTaskId(selection[0])\n }\n setIsTaskPickerOpen(false)\n }}\n onClose={() => setIsTaskPickerOpen(false)}\n />\n )}\n\n <FormRow label=\"Reviewable files\" />\n <StyledUpload>\n <ReviewableUpload\n projectName={projectName}\n versionId={versionId}\n productId={productId}\n dispatch={dispatch}\n pendingFiles={pendingFiles}\n setPendingFiles={setPendingFiles}\n onUpload={onCloseVersionUpload}\n onFilesAdded={extractAndSetVersionFromFiles}\n pt={{\n upload: {\n style: { minHeight: 80 },\n },\n dropzone: {\n style: { inset: 0 },\n },\n }}\n />\n </StyledUpload>\n </StyledForm>\n )\n}\n"],"names":["StyledForm","styled","StyledFormLayout","FormLayout","RecommendationNote","InlineButton","NameInputRow","MatchNote","StyledUpload","TaskFieldContainer","TaskButton","Button","TaskText","TaskPath","TaskValue","UploadVersionForm","formData","onChange","onSubmit","hidden","projectName","minVersion","versionId","productId","previousProductTypeRef","useRef","dropdownRef","formRef","pendingFiles","setPendingFiles","onCloseVersionUpload","extractAndSetVersionFromFiles","dispatch","taskId","linkedTask","isLoadingTask","setTaskId","setLinkedTask","folderId","folderProducts","isFolderProductsLoading","matchedProduct","useVersionUploadContext","isTaskPickerOpen","setIsTaskPickerOpen","useState","folderProductOptions","useMemo","p","handleProductPickerSelect","useCallback","value","versionString","taskData","isFetchingTask","useGetTaskQuery","isTaskLoading","pickerFolderId","project","useProjectContext","taskName","taskType","taskTypeInfo","taskIcon","taskFolderPath","productTypeOptions","productTypes","acc","type","useEffect","previousProductType","previousProductTypeName","currentProductTypeName","suffix","newName","handleSubmit","submitter","handleVersionChange","handleNameChange","handleProductTypeChange","handleApplyPrefix","currentName","capitalizedName","shouldShowRecommendation","isFormSubmitted","handleKeyDown","jsxs","FormRow","jsx","InputText","Fragment","Dropdown","_v","_s","isOpen","InputNumber","Skeleton","Icon","EntityPickerDialog","selection","ReviewableUpload"],"mappings":"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"}
1
+ {"version":3,"file":"UploadVersionForm.cjs.js","sources":["../../../../../../src/components/VersionUploader/components/UploadVersionForm.tsx"],"sourcesContent":["import { FC, FormEvent, useEffect, useMemo, useRef, useState, useCallback } from 'react'\nimport styled from 'styled-components'\nimport type { DropdownRef } from '@ynput/ayon-react-components'\nimport {\n Button,\n Dropdown,\n FormLayout,\n FormRow,\n Icon,\n InputNumber,\n InputText,\n} from '@ynput/ayon-react-components'\nimport { ReviewableUpload } from '@shared/components'\nimport { useVersionUploadContext } from '../context/VersionUploadContext'\nimport { useProjectContext } from '@shared/context'\nimport { useGetTaskQuery } from '@shared/api'\nimport { EntityPickerDialog } from '@shared/containers/EntityPickerDialog/EntityPickerDialog'\nimport { Skeleton } from 'primereact/skeleton'\n\nconst StyledForm = styled.form`\n display: flex;\n flex-direction: column;\n gap: var(--base-gap-large);\n padding: var(--padding-m);\n width: 100%;\n`\n\nconst StyledFormLayout = styled(FormLayout)`\n width: 100%;\n margin: auto;\n\n & > div {\n align-items: start;\n }\n\n input {\n width: 100%;\n }\n`\n\nconst RecommendationNote = styled.div`\n font-size: var(--font-size-xs);\n color: var(--md-sys-color-outline);\n margin-top: var(--base-gap-small);\n line-height: 1.3;\n`\n\nconst InlineButton = styled.button`\n background: none;\n border: none;\n color: var(--md-sys-color-primary);\n text-decoration: underline;\n cursor: pointer;\n padding: 0;\n font-size: inherit;\n font-family: inherit;\n\n &:hover {\n color: var(--md-sys-color-primary-dark);\n }\n`\n\nconst NameInputRow = styled.div`\n display: flex;\n align-items: start;\n gap: var(--base-gap-small);\n width: 100%;\n\n & > div:first-child {\n flex: 1;\n min-width: 0;\n }\n`\n\nconst MatchNote = styled.div`\n font-size: var(--font-size-xs);\n color: var(--md-sys-color-primary);\n margin-top: var(--base-gap-small);\n line-height: 1.3;\n`\n\nconst StyledUpload = styled.div`\n position: relative;\n min-height: 80px;\n`\n\nconst TaskFieldContainer = styled.div`\n display: flex;\n align-items: center;\n gap: var(--base-gap-small);\n width: 100%;\n`\n\nconst TaskButton = styled(Button)`\n flex: 1;\n`\n\nconst TaskText = styled.div`\n width: 100%;\n overflow: hidden;\n display: flex;\n min-width: 0;\n`\n\nconst TaskPath = styled.span`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: fit-content;\n margin-right: 4px;\n flex: 1;\n`\n\nconst TaskValue = styled.span`\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-weight: bold;\n`\n\ntype FormData = {\n version: number\n name: string\n productType: string\n}\n\ninterface UploadVersionFormProps {\n formData: FormData\n onChange: (key: keyof FormData, value: string | number) => void\n onSubmit: (formData: FormData) => void\n hidden?: (keyof FormData)[]\n projectName: string\n minVersion?: number\n versionId?: string | null\n productId?: string | null\n}\n\nexport const UploadVersionForm: FC<UploadVersionFormProps> = ({\n formData,\n onChange,\n onSubmit,\n hidden = [],\n projectName,\n minVersion = 1,\n versionId,\n productId,\n}) => {\n const previousProductTypeRef = useRef<string>(formData.productType)\n const dropdownRef = useRef<DropdownRef>(null)\n const formRef = useRef<HTMLFormElement>(null)\n const {\n pendingFiles,\n setPendingFiles,\n onCloseVersionUpload,\n extractAndSetVersionFromFiles,\n dispatch,\n taskId,\n linkedTask,\n isLoadingTask,\n setTaskId,\n setLinkedTask,\n folderId,\n folderProducts,\n isFolderProductsLoading,\n matchedProduct,\n } = useVersionUploadContext()\n\n const [isTaskPickerOpen, setIsTaskPickerOpen] = useState(false)\n\n const folderProductOptions = useMemo(\n () => folderProducts.map((p) => ({ value: p.name, label: p.name })),\n [folderProducts],\n )\n\n const handleProductPickerSelect = useCallback(\n (value: string[]) => {\n onChange('name', value.length > 0 ? value[0] : '')\n },\n [onChange],\n )\n\n const versionString = matchedProduct?.latestVersion\n ? `v${String(matchedProduct.latestVersion.version).padStart(3, '0')}`\n : ''\n\n // Fetch full task data for path; linkedTask provides instant name/type display\n const { data: taskData, isFetching: isFetchingTask } = useGetTaskQuery(\n { projectName, taskId },\n { skip: !taskId },\n )\n const isTaskLoading = isLoadingTask || (!!taskId && isFetchingTask && !linkedTask)\n\n // Use task's folder when available, fall back to product's folder\n const pickerFolderId = taskData?.folderId || folderId\n\n const project = useProjectContext()\n\n const taskName = taskData?.label || taskData?.name || linkedTask?.label || linkedTask?.name || ''\n const taskType = taskData?.taskType || linkedTask?.taskType\n const taskTypeInfo = taskType ? project.getTaskType(taskType) : undefined\n const taskIcon = taskTypeInfo?.icon || 'task_alt'\n const taskFolderPath = taskData?.path\n ? taskData.path.substring(0, taskData.path.lastIndexOf('/'))\n : ''\n\n const productTypeOptions = project.getProductTypeOptions()\n const productTypes = useMemo(() => {\n return project.productTypes.reduce((acc, type) => {\n acc[type.name] = type\n return acc\n }, {} as Record<string, { name: string; icon?: string; color?: string }>)\n }, [project.productTypes])\n\n useEffect(() => {\n // Check if the current name starts with the previous product type name\n const previousProductType = previousProductTypeRef.current\n const previousProductTypeName = productTypes[previousProductType]?.name || ''\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n\n // Only sync if the product type actually changed\n if (formData.productType !== previousProductType && previousProductTypeName) {\n // Check if the current name starts with the previous product type name\n if (formData.name.startsWith(previousProductTypeName)) {\n // Extract the suffix after the previous product type name\n const suffix = formData.name.slice(previousProductTypeName.length)\n // Create the new name with the current product type + suffix\n const newName = currentProductTypeName + suffix\n onChange('name', newName)\n }\n }\n\n // Update the ref to the current product type\n previousProductTypeRef.current = formData.productType\n }, [formData.productType, formData.name, onChange])\n\n const handleSubmit = (e: FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n // @ts-expect-error - submitter is not defined in the type\n const submitter = e.nativeEvent.submitter as HTMLButtonElement | null\n // if the submitter is a button, check it's parent does not have the dropdown class\n if (submitter && submitter.closest('.dropdown')) {\n // if the submitter is a button inside a dropdown, do not submit the form\n return\n }\n\n onSubmit(formData)\n }\n\n const handleVersionChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = parseInt(e.target.value, 10)\n if (!isNaN(value)) {\n onChange('version', value)\n }\n }\n\n const handleNameChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange('name', e.target.value)\n }\n\n const handleProductTypeChange = (value: string[]) => {\n if (value.length > 0) {\n onChange('productType', value[0])\n // focus the name input after changing product type\n }\n }\n\n const handleApplyPrefix = () => {\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n const currentName = formData.name || ''\n\n // Capitalize the first letter of the existing name for camelCase\n const capitalizedName = currentName.charAt(0).toUpperCase() + currentName.slice(1)\n const newName = currentProductTypeName + capitalizedName\n onChange('name', newName)\n }\n\n const shouldShowRecommendation = () => {\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n return formData.name && !formData.name.startsWith(currentProductTypeName)\n }\n\n // Disable form fields if version has been created\n const isFormSubmitted = Boolean(versionId)\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLFormElement>) => {\n // Submit form on Cmd/Ctrl + Enter\n if (e.key === 'Enter' && (e.metaKey || e.ctrlKey)) {\n e.preventDefault()\n onSubmit(formData)\n return\n }\n }\n\n return (\n <StyledForm\n id=\"upload-version-form\"\n ref={formRef}\n onSubmit={handleSubmit}\n noValidate\n onKeyDown={handleKeyDown}\n >\n <StyledFormLayout>\n {!hidden.includes('name') && (\n <FormRow label=\"Product Name\">\n <NameInputRow>\n <div>\n <InputText\n value={formData.name}\n onChange={handleNameChange}\n placeholder=\"Enter product name\"\n minLength={1}\n autoFocus\n aria-label=\"Product Name\"\n aria-describedby={shouldShowRecommendation() ? 'name-recommendation' : undefined}\n disabled={isFormSubmitted}\n />\n {matchedProduct && (\n <MatchNote>\n {matchedProduct.latestVersion\n ? <>Matched existing product (latest: {versionString})</>\n : 'Matched existing product (no versions)'}\n </MatchNote>\n )}\n {!matchedProduct && shouldShowRecommendation() && (\n <RecommendationNote id=\"name-recommendation\">\n We recommend prefixing with \"{productTypes[formData.productType]?.name}\".{' '}\n <InlineButton type=\"button\" onClick={handleApplyPrefix}>\n Apply prefix\n </InlineButton>\n </RecommendationNote>\n )}\n </div>\n {!productId && !isFormSubmitted && (\n <Dropdown\n options={folderProductOptions}\n value={matchedProduct ? [matchedProduct.name] : []}\n onChange={handleProductPickerSelect}\n multiSelect={false}\n search\n widthExpand={false}\n disabled={isFolderProductsLoading || folderProducts.length === 0}\n aria-label=\"Select existing product\"\n valueTemplate={(_v, _s, isOpen) => (\n <Button\n icon=\"inventory_2\"\n variant=\"text\"\n data-tooltip=\"Browse existing products\"\n selected={isOpen}\n tabIndex={-1}\n disabled={isFolderProductsLoading || folderProducts.length === 0}\n />\n )}\n style={{ width: 'auto' }}\n />\n )}\n </NameInputRow>\n </FormRow>\n )}\n\n {!hidden.includes('productType') && (\n <FormRow label=\"Product Type\">\n <Dropdown\n ref={dropdownRef}\n options={productTypeOptions}\n value={[formData.productType]}\n onChange={handleProductTypeChange}\n widthExpand\n multiSelect={false}\n aria-label=\"Product Type\"\n search\n disabled={isFormSubmitted}\n />\n </FormRow>\n )}\n\n {!hidden.includes('version') && (\n <FormRow label={'Version'}>\n <InputNumber\n value={formData.version}\n onChange={handleVersionChange}\n min={minVersion}\n step={1}\n aria-label={'Version Number'}\n autoFocus={hidden.includes('name')}\n disabled={isFormSubmitted}\n />\n </FormRow>\n )}\n\n <FormRow label={'Task'}>\n <TaskFieldContainer>\n {isTaskLoading ? (\n <Skeleton height={'20px'} />\n ) : taskId && taskName ? (\n <>\n <TaskButton\n type={'button'}\n onClick={() => setIsTaskPickerOpen(true)}\n disabled={isFormSubmitted}\n variant=\"text\"\n >\n <Icon icon={taskIcon} style={{ color: taskTypeInfo?.color }} />\n <TaskText>\n {taskFolderPath && (\n <TaskPath>\n {taskFolderPath.split('/').filter(Boolean).join(' / ')} /{' '}\n </TaskPath>\n )}\n <TaskValue>{taskName}</TaskValue>\n </TaskText>\n </TaskButton>\n <Button\n type={'button'}\n icon={'close'}\n variant={'text'}\n onClick={() => {\n setTaskId('')\n setLinkedTask(null)\n }}\n disabled={isFormSubmitted}\n />\n </>\n ) : (\n <Button\n type={'button'}\n icon={'link'}\n label={'Link task'}\n variant={'text'}\n onClick={() => setIsTaskPickerOpen(true)}\n disabled={isFormSubmitted}\n />\n )}\n </TaskFieldContainer>\n </FormRow>\n </StyledFormLayout>\n\n {isTaskPickerOpen && (\n <EntityPickerDialog\n projectName={projectName}\n entityType={'task'}\n initialSelection={{\n ...(pickerFolderId ? { folder: { [pickerFolderId]: true } } : {}),\n ...(taskId ? { task: { [taskId]: true } } : {}),\n }}\n onSubmit={(selection) => {\n if (selection.length > 0) {\n setTaskId(selection[0])\n }\n setIsTaskPickerOpen(false)\n }}\n onClose={() => setIsTaskPickerOpen(false)}\n />\n )}\n\n <FormRow label=\"Reviewable files\" />\n <StyledUpload>\n <ReviewableUpload\n projectName={projectName}\n versionId={versionId}\n productId={productId}\n dispatch={dispatch}\n pendingFiles={pendingFiles}\n setPendingFiles={setPendingFiles}\n onUpload={onCloseVersionUpload}\n onFilesAdded={extractAndSetVersionFromFiles}\n pt={{\n upload: {\n style: { minHeight: 80 },\n },\n dropzone: {\n style: { inset: 0 },\n },\n }}\n />\n </StyledUpload>\n </StyledForm>\n )\n}\n"],"names":["StyledForm","styled","StyledFormLayout","FormLayout","RecommendationNote","InlineButton","NameInputRow","MatchNote","StyledUpload","TaskFieldContainer","TaskButton","Button","TaskText","TaskPath","TaskValue","UploadVersionForm","formData","onChange","onSubmit","hidden","projectName","minVersion","versionId","productId","previousProductTypeRef","useRef","dropdownRef","formRef","pendingFiles","setPendingFiles","onCloseVersionUpload","extractAndSetVersionFromFiles","dispatch","taskId","linkedTask","isLoadingTask","setTaskId","setLinkedTask","folderId","folderProducts","isFolderProductsLoading","matchedProduct","useVersionUploadContext","isTaskPickerOpen","setIsTaskPickerOpen","useState","folderProductOptions","useMemo","p","handleProductPickerSelect","useCallback","value","versionString","taskData","isFetchingTask","useGetTaskQuery","isTaskLoading","pickerFolderId","project","useProjectContext","taskName","taskType","taskTypeInfo","taskIcon","taskFolderPath","productTypeOptions","productTypes","acc","type","useEffect","previousProductType","previousProductTypeName","currentProductTypeName","suffix","newName","handleSubmit","submitter","handleVersionChange","handleNameChange","handleProductTypeChange","handleApplyPrefix","currentName","capitalizedName","shouldShowRecommendation","isFormSubmitted","handleKeyDown","jsxs","FormRow","jsx","InputText","Fragment","Dropdown","_v","_s","isOpen","InputNumber","Skeleton","Icon","EntityPickerDialog","selection","ReviewableUpload"],"mappings":"0ljBAmBMA,GAAaC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQpBC,GAAmBD,EAAOE,YAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAapCC,GAAqBH,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAO5BI,GAAeJ,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAetBK,GAAeL,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYtBM,GAAYN,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAOnBO,GAAeP,EAAO;AAAA;AAAA;AAAA,EAKtBQ,GAAqBR,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAO5BS,GAAaT,EAAOU,QAAM;AAAA;AAAA,EAI1BC,GAAWX,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAOlBY,GAAWZ,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASlBa,GAAYb,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAwBZc,GAAgD,CAAC,CAC5D,SAAAC,EACA,SAAAC,EACA,SAAAC,EACA,OAAAC,EAAS,CAAA,EACT,YAAAC,EACA,WAAAC,EAAa,EACb,UAAAC,EACA,UAAAC,CACF,IAAM,CACJ,MAAMC,EAAyBC,EAAAA,OAAeT,EAAS,WAAW,EAC5DU,EAAcD,EAAAA,OAAoB,IAAI,EACtCE,EAAUF,EAAAA,OAAwB,IAAI,EACtC,CACJ,aAAAG,EACA,gBAAAC,EACA,qBAAAC,EACA,8BAAAC,EACA,SAAAC,EACA,OAAAC,EACA,WAAAC,EACA,cAAAC,EACA,UAAAC,EACA,cAAAC,EACA,SAAAC,EACA,eAAAC,EACA,wBAAAC,EACA,eAAAC,CAAA,EACEC,2BAAA,EAEE,CAACC,EAAkBC,CAAmB,EAAIC,EAAAA,SAAS,EAAK,EAExDC,EAAuBC,EAAAA,QAC3B,IAAMR,EAAe,IAAKS,IAAO,CAAE,MAAOA,EAAE,KAAM,MAAOA,EAAE,IAAA,EAAO,EAClE,CAACT,CAAc,CAAA,EAGXU,EAA4BC,EAAAA,YAC/BC,GAAoB,CACnBlC,EAAS,OAAQkC,EAAM,OAAS,EAAIA,EAAM,CAAC,EAAI,EAAE,CACnD,EACA,CAAClC,CAAQ,CAAA,EAGLmC,EAAgBX,GAAgB,cAClC,IAAI,OAAOA,EAAe,cAAc,OAAO,EAAE,SAAS,EAAG,GAAG,CAAC,GACjE,GAGE,CAAE,KAAMY,EAAU,WAAYC,GAAmBC,GAAAA,gBACrD,CAAE,YAAAnC,EAAa,OAAAa,CAAA,EACf,CAAE,KAAM,CAACA,CAAA,CAAO,EAEZuB,EAAgBrB,GAAkB,CAAC,CAACF,GAAUqB,GAAkB,CAACpB,EAGjEuB,EAAiBJ,GAAU,UAAYf,EAEvCoB,EAAUC,GAAAA,kBAAA,EAEVC,EAAWP,GAAU,OAASA,GAAU,MAAQnB,GAAY,OAASA,GAAY,MAAQ,GACzF2B,EAAWR,GAAU,UAAYnB,GAAY,SAC7C4B,EAAeD,EAAWH,EAAQ,YAAYG,CAAQ,EAAI,OAC1DE,EAAWD,GAAc,MAAQ,WACjCE,EAAiBX,GAAU,KAC7BA,EAAS,KAAK,UAAU,EAAGA,EAAS,KAAK,YAAY,GAAG,CAAC,EACzD,GAEEY,EAAqBP,EAAQ,sBAAA,EAC7BQ,EAAenB,EAAAA,QAAQ,IACpBW,EAAQ,aAAa,OAAO,CAACS,EAAKC,KACvCD,EAAIC,EAAK,IAAI,EAAIA,EACVD,GACN,CAAA,CAAqE,EACvE,CAACT,EAAQ,YAAY,CAAC,EAEzBW,EAAAA,UAAU,IAAM,CAEd,MAAMC,EAAsB9C,EAAuB,QAC7C+C,EAA0BL,EAAaI,CAAmB,GAAG,MAAQ,GACrEE,EAAyBN,EAAalD,EAAS,WAAW,GAAG,MAAQ,GAG3E,GAAIA,EAAS,cAAgBsD,GAAuBC,GAE9CvD,EAAS,KAAK,WAAWuD,CAAuB,EAAG,CAErD,MAAME,EAASzD,EAAS,KAAK,MAAMuD,EAAwB,MAAM,EAE3DG,GAAUF,EAAyBC,EACzCxD,EAAS,OAAQyD,EAAO,CAC1B,CAIFlD,EAAuB,QAAUR,EAAS,WAC5C,EAAG,CAACA,EAAS,YAAaA,EAAS,KAAMC,CAAQ,CAAC,EAElD,MAAM0D,EAAgB,GAAkC,CACtD,EAAE,eAAA,EAEF,MAAMC,EAAY,EAAE,YAAY,UAE5BA,GAAaA,EAAU,QAAQ,WAAW,GAK9C1D,EAASF,CAAQ,CACnB,EAEM6D,EAAuB,GAA2C,CACtE,MAAM1B,EAAQ,SAAS,EAAE,OAAO,MAAO,EAAE,EACpC,MAAMA,CAAK,GACdlC,EAAS,UAAWkC,CAAK,CAE7B,EAEM2B,GAAoB,GAA2C,CACnE7D,EAAS,OAAQ,EAAE,OAAO,KAAK,CACjC,EAEM8D,GAA2B5B,GAAoB,CAC/CA,EAAM,OAAS,GACjBlC,EAAS,cAAekC,EAAM,CAAC,CAAC,CAGpC,EAEM6B,GAAoB,IAAM,CAC9B,MAAMR,EAAyBN,EAAalD,EAAS,WAAW,GAAG,MAAQ,GACrEiE,EAAcjE,EAAS,MAAQ,GAG/BkE,EAAkBD,EAAY,OAAO,CAAC,EAAE,cAAgBA,EAAY,MAAM,CAAC,EAC3EP,EAAUF,EAAyBU,EACzCjE,EAAS,OAAQyD,CAAO,CAC1B,EAEMS,EAA2B,IAAM,CACrC,MAAMX,EAAyBN,EAAalD,EAAS,WAAW,GAAG,MAAQ,GAC3E,OAAOA,EAAS,MAAQ,CAACA,EAAS,KAAK,WAAWwD,CAAsB,CAC1E,EAGMY,EAAkB,EAAQ9D,EAE1B+D,GAAiB,GAA4C,CAEjE,GAAI,EAAE,MAAQ,UAAY,EAAE,SAAW,EAAE,SAAU,CACjD,EAAE,eAAA,EACFnE,EAASF,CAAQ,EACjB,MACF,CACF,EAEA,OACEsE,EAAAA,kBAAAA,KAACtF,GAAA,CACC,GAAG,sBACH,IAAK2B,EACL,SAAUgD,EACV,WAAU,GACV,UAAWU,GAEX,SAAA,CAAAC,yBAACpF,GAAA,CACE,SAAA,CAAA,CAACiB,EAAO,SAAS,MAAM,2BACrBoE,EAAAA,QAAA,CAAQ,MAAM,eACb,SAAAD,EAAAA,kBAAAA,KAAChF,GAAA,CACC,SAAA,CAAAgF,yBAAC,MAAA,CACC,SAAA,CAAAE,EAAAA,kBAAAA,IAACC,EAAAA,UAAA,CACC,MAAOzE,EAAS,KAChB,SAAU8D,GACV,YAAY,qBACZ,UAAW,EACX,UAAS,GACT,aAAW,eACX,mBAAkBK,IAA6B,sBAAwB,OACvE,SAAUC,CAAA,CAAA,EAEX3C,GACC+C,EAAAA,kBAAAA,IAACjF,GAAA,CACE,SAAAkC,EAAe,cACZ6C,EAAAA,kBAAAA,KAAAI,6BAAA,CAAE,SAAA,CAAA,qCAAmCtC,EAAc,GAAA,CAAA,CAAC,EACpD,yCACN,EAED,CAACX,GAAkB0C,EAAA,GAClBG,EAAAA,kBAAAA,KAAClF,GAAA,CAAmB,GAAG,sBAAsB,SAAA,CAAA,gCACb8D,EAAalD,EAAS,WAAW,GAAG,KAAK,KAAG,4BACzEX,GAAA,CAAa,KAAK,SAAS,QAAS2E,GAAmB,SAAA,cAAA,CAExD,CAAA,CAAA,CACF,CAAA,EAEJ,EACC,CAACzD,GAAa,CAAC6D,GACdI,EAAAA,kBAAAA,IAACG,EAAAA,SAAA,CACC,QAAS7C,EACT,MAAOL,EAAiB,CAACA,EAAe,IAAI,EAAI,CAAA,EAChD,SAAUQ,EACV,YAAa,GACb,OAAM,GACN,YAAa,GACb,SAAUT,GAA2BD,EAAe,SAAW,EAC/D,aAAW,0BACX,cAAe,CAACqD,EAAIC,EAAIC,IACtBN,EAAAA,kBAAAA,IAAC7E,EAAAA,OAAA,CACC,KAAK,cACL,QAAQ,OACR,eAAa,2BACb,SAAUmF,EACV,SAAU,GACV,SAAUtD,GAA2BD,EAAe,SAAW,CAAA,CAAA,EAGnE,MAAO,CAAE,MAAO,MAAA,CAAO,CAAA,CACzB,CAAA,CAEJ,CAAA,CACF,EAGD,CAACpB,EAAO,SAAS,aAAa,GAC7BqE,EAAAA,kBAAAA,IAACD,EAAAA,QAAA,CAAQ,MAAM,eACb,SAAAC,EAAAA,kBAAAA,IAACG,EAAAA,SAAA,CACC,IAAKjE,EACL,QAASuC,EACT,MAAO,CAACjD,EAAS,WAAW,EAC5B,SAAU+D,GACV,YAAW,GACX,YAAa,GACb,aAAW,eACX,OAAM,GACN,SAAUK,CAAA,CAAA,EAEd,EAGD,CAACjE,EAAO,SAAS,SAAS,GACzBqE,EAAAA,kBAAAA,IAACD,EAAAA,QAAA,CAAQ,MAAO,UACd,SAAAC,EAAAA,kBAAAA,IAACO,EAAAA,YAAA,CACC,MAAO/E,EAAS,QAChB,SAAU6D,EACV,IAAKxD,EACL,KAAM,EACN,aAAY,iBACZ,UAAWF,EAAO,SAAS,MAAM,EACjC,SAAUiE,CAAA,CAAA,EAEd,EAGFI,wBAACD,EAAAA,QAAA,CAAQ,MAAO,OACd,iCAAC9E,GAAA,CACE,SAAA+C,EACCgC,EAAAA,kBAAAA,IAACQ,YAAA,CAAS,OAAQ,OAAQ,EACxB/D,GAAU2B,EACZ0B,EAAAA,kBAAAA,KAAAI,6BAAA,CACE,SAAA,CAAAJ,EAAAA,kBAAAA,KAAC5E,GAAA,CACC,KAAM,SACN,QAAS,IAAMkC,EAAoB,EAAI,EACvC,SAAUwC,EACV,QAAQ,OAER,SAAA,CAAAI,wBAACS,EAAAA,KAAA,CAAK,KAAMlC,EAAU,MAAO,CAAE,MAAOD,GAAc,OAAS,2BAC5DlD,GAAA,CACE,SAAA,CAAAoD,4BACEnD,GAAA,CACE,SAAA,CAAAmD,EAAe,MAAM,GAAG,EAAE,OAAO,OAAO,EAAE,KAAK,KAAK,EAAE,KAAG,GAAA,EAC5D,EAEFwB,EAAAA,kBAAAA,IAAC1E,IAAW,SAAA8C,CAAA,CAAS,CAAA,CAAA,CACvB,CAAA,CAAA,CAAA,EAEF4B,EAAAA,kBAAAA,IAAC7E,EAAAA,OAAA,CACC,KAAM,SACN,KAAM,QACN,QAAS,OACT,QAAS,IAAM,CACbyB,EAAU,EAAE,EACZC,EAAc,IAAI,CACpB,EACA,SAAU+C,CAAA,CAAA,CACZ,CAAA,CACF,EAEAI,EAAAA,kBAAAA,IAAC7E,EAAAA,OAAA,CACC,KAAM,SACN,KAAM,OACN,MAAO,YACP,QAAS,OACT,QAAS,IAAMiC,EAAoB,EAAI,EACvC,SAAUwC,CAAA,CAAA,EAGhB,CAAA,CACF,CAAA,EACF,EAECzC,GACC6C,EAAAA,kBAAAA,IAACU,GAAAA,mBAAA,CACC,YAAA9E,EACA,WAAY,OACZ,iBAAkB,CAChB,GAAIqC,EAAiB,CAAE,OAAQ,CAAE,CAACA,CAAc,EAAG,EAAA,CAAK,EAAM,CAAA,EAC9D,GAAIxB,EAAS,CAAE,KAAM,CAAE,CAACA,CAAM,EAAG,EAAA,GAAW,CAAA,CAAC,EAE/C,SAAWkE,GAAc,CACnBA,EAAU,OAAS,GACrB/D,EAAU+D,EAAU,CAAC,CAAC,EAExBvD,EAAoB,EAAK,CAC3B,EACA,QAAS,IAAMA,EAAoB,EAAK,CAAA,CAAA,EAI5C4C,EAAAA,kBAAAA,IAACD,EAAAA,QAAA,CAAQ,MAAM,kBAAA,CAAmB,0BACjC/E,GAAA,CACC,SAAAgF,EAAAA,kBAAAA,IAACY,GAAAA,iBAAA,CACC,YAAAhF,EACA,UAAAE,EACA,UAAAC,EACA,SAAAS,EACA,aAAAJ,EACA,gBAAAC,EACA,SAAUC,EACV,aAAcC,EACd,GAAI,CACF,OAAQ,CACN,MAAO,CAAE,UAAW,EAAA,CAAG,EAEzB,SAAU,CACR,MAAO,CAAE,MAAO,CAAA,CAAE,CACpB,CACF,CAAA,CACF,CACF,CAAA,CAAA,CAAA,CAGN"}
@@ -193,7 +193,7 @@ import "../../../containers/Feed/components/ActivityVersionReview/ActivityVersio
193
193
  import "../../../containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.es.js";
194
194
  import "../../../containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.es.js";
195
195
  import "../../../containers/Feed/Feed.styled.es.js";
196
- import "../../../containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js";
196
+ import "../../../containers/Feed/components/FeedSearchFilter.es.js";
197
197
  import "@tanstack/react-virtual";
198
198
  import "@tanstack/react-table";
199
199
  import "../../../containers/ProjectTreeTable/widgets/CollapsedWidget.es.js";
@@ -207,8 +207,7 @@ import "../../../containers/ProjectTreeTable/widgets/CellWidget.es.js";
207
207
  import "../../../containers/ProjectTreeTable/widgets/EntityNameWidget.es.js";
208
208
  import "../../../containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js";
209
209
  import "../../../containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js";
210
- import "../../../containers/ProjectTreeTable/context/DetailsPanelEntityContext.es.js";
211
- import "../../../containers/ProjectTreeTable/context/SelectedRowsContext.es.js";
210
+ import "../../../containers/ProjectTreeTable/widgets/LinksWidget.es.js";
212
211
  import "../../LinksManager/LinksManager.styled.es.js";
213
212
  import "../../../containers/ProjectTreeTable/context/ProjectTableContext.es.js";
214
213
  import "../../../containers/ProjectTreeTable/widgets/EmptyWidget.es.js";
@@ -220,6 +219,8 @@ import "../../../containers/ProjectTreeTable/context/SelectionCellsContext.es.js
220
219
  import "../../../containers/ProjectTreeTable/context/ProjectTableQueriesContext.es.js";
221
220
  import "../../../containers/ProjectTreeTable/context/ClipboardContext.es.js";
222
221
  import "../../../containers/ProjectTreeTable/context/ColumnSettingsContext.es.js";
222
+ import "../../../containers/ProjectTreeTable/context/SelectedRowsContext.es.js";
223
+ import "../../../containers/ProjectTreeTable/context/DetailsPanelEntityContext.es.js";
223
224
  import "../../../containers/ProjectTreeTable/components/DeleteConfirmContent.es.js";
224
225
  import "../../../containers/ProjectTreeTable/context/ProjectDataContext.es.js";
225
226
  import "../../../containers/ProjectTreeTable/ProjectTreeTable.styled.es.js";
@@ -238,6 +239,8 @@ import "../../../containers/DetailsPanel/components/DetailsPanelHeader/DetailsPa
238
239
  import "../../PlayableIcon/PlayableIcon.es.js";
239
240
  import "../../../containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js";
240
241
  import "../../../containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js";
242
+ import "../../../containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js";
243
+ import "../../../containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.es.js";
241
244
  import "../../../containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.es.js";
242
245
  import "../../../containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.es.js";
243
246
  import "../../../containers/Actions/Actions.styled.es.js";
@@ -269,6 +272,7 @@ import "../../ProjectTableSettings/ProjectTableSettings.es.js";
269
272
  import "../../SizeSlider/SizeSlider.es.js";
270
273
  import "../../ReviewableCard/ReviewableCard.es.js";
271
274
  import "../../ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
275
+ import "../../SearchFilter/CustomDateRangeDialog.es.js";
272
276
  import "../../SettingsPanel/SettingsPanel.es.js";
273
277
  import "../../SettingsPanel/SettingsPanelItemTemplate.es.js";
274
278
  import "../../ShareOptionIcon/ShareOptionIcon.es.js";
@@ -363,7 +367,7 @@ const bt = p.form`
363
367
  overflow: hidden;
364
368
  text-overflow: ellipsis;
365
369
  font-weight: bold;
366
- `, Ze = ({
370
+ `, im = ({
367
371
  formData: i,
368
372
  onChange: e,
369
373
  onSubmit: k,
@@ -608,6 +612,6 @@ const bt = p.form`
608
612
  );
609
613
  };
610
614
  export {
611
- Ze as UploadVersionForm
615
+ im as UploadVersionForm
612
616
  };
613
617
  //# sourceMappingURL=UploadVersionForm.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UploadVersionForm.es.js","sources":["../../../../../../src/components/VersionUploader/components/UploadVersionForm.tsx"],"sourcesContent":["import { FC, FormEvent, useEffect, useMemo, useRef, useState, useCallback } from 'react'\nimport styled from 'styled-components'\nimport type { DropdownRef } from '@ynput/ayon-react-components'\nimport {\n Button,\n Dropdown,\n FormLayout,\n FormRow,\n Icon,\n InputNumber,\n InputText,\n} from '@ynput/ayon-react-components'\nimport { ReviewableUpload } from '@shared/components'\nimport { useVersionUploadContext } from '../context/VersionUploadContext'\nimport { useProjectContext } from '@shared/context'\nimport { useGetTaskQuery } from '@shared/api'\nimport { EntityPickerDialog } from '@shared/containers/EntityPickerDialog/EntityPickerDialog'\nimport { Skeleton } from 'primereact/skeleton'\n\nconst StyledForm = styled.form`\n display: flex;\n flex-direction: column;\n gap: var(--base-gap-large);\n padding: var(--padding-m);\n width: 100%;\n`\n\nconst StyledFormLayout = styled(FormLayout)`\n width: 100%;\n margin: auto;\n\n & > div {\n align-items: start;\n }\n\n input {\n width: 100%;\n }\n`\n\nconst RecommendationNote = styled.div`\n font-size: var(--font-size-xs);\n color: var(--md-sys-color-outline);\n margin-top: var(--base-gap-small);\n line-height: 1.3;\n`\n\nconst InlineButton = styled.button`\n background: none;\n border: none;\n color: var(--md-sys-color-primary);\n text-decoration: underline;\n cursor: pointer;\n padding: 0;\n font-size: inherit;\n font-family: inherit;\n\n &:hover {\n color: var(--md-sys-color-primary-dark);\n }\n`\n\nconst NameInputRow = styled.div`\n display: flex;\n align-items: start;\n gap: var(--base-gap-small);\n width: 100%;\n\n & > div:first-child {\n flex: 1;\n min-width: 0;\n }\n`\n\nconst MatchNote = styled.div`\n font-size: var(--font-size-xs);\n color: var(--md-sys-color-primary);\n margin-top: var(--base-gap-small);\n line-height: 1.3;\n`\n\nconst StyledUpload = styled.div`\n position: relative;\n min-height: 80px;\n`\n\nconst TaskFieldContainer = styled.div`\n display: flex;\n align-items: center;\n gap: var(--base-gap-small);\n width: 100%;\n`\n\nconst TaskButton = styled(Button)`\n flex: 1;\n`\n\nconst TaskText = styled.div`\n width: 100%;\n overflow: hidden;\n display: flex;\n min-width: 0;\n`\n\nconst TaskPath = styled.span`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: fit-content;\n margin-right: 4px;\n flex: 1;\n`\n\nconst TaskValue = styled.span`\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-weight: bold;\n`\n\ntype FormData = {\n version: number\n name: string\n productType: string\n}\n\ninterface UploadVersionFormProps {\n formData: FormData\n onChange: (key: keyof FormData, value: string | number) => void\n onSubmit: (formData: FormData) => void\n hidden?: (keyof FormData)[]\n projectName: string\n minVersion?: number\n versionId?: string | null\n productId?: string | null\n}\n\nexport const UploadVersionForm: FC<UploadVersionFormProps> = ({\n formData,\n onChange,\n onSubmit,\n hidden = [],\n projectName,\n minVersion = 1,\n versionId,\n productId,\n}) => {\n const previousProductTypeRef = useRef<string>(formData.productType)\n const dropdownRef = useRef<DropdownRef>(null)\n const formRef = useRef<HTMLFormElement>(null)\n const {\n pendingFiles,\n setPendingFiles,\n onCloseVersionUpload,\n extractAndSetVersionFromFiles,\n dispatch,\n taskId,\n linkedTask,\n isLoadingTask,\n setTaskId,\n setLinkedTask,\n folderId,\n folderProducts,\n isFolderProductsLoading,\n matchedProduct,\n } = useVersionUploadContext()\n\n const [isTaskPickerOpen, setIsTaskPickerOpen] = useState(false)\n\n const folderProductOptions = useMemo(\n () => folderProducts.map((p) => ({ value: p.name, label: p.name })),\n [folderProducts],\n )\n\n const handleProductPickerSelect = useCallback(\n (value: string[]) => {\n onChange('name', value.length > 0 ? value[0] : '')\n },\n [onChange],\n )\n\n const versionString = matchedProduct?.latestVersion\n ? `v${String(matchedProduct.latestVersion.version).padStart(3, '0')}`\n : ''\n\n // Fetch full task data for path; linkedTask provides instant name/type display\n const { data: taskData, isFetching: isFetchingTask } = useGetTaskQuery(\n { projectName, taskId },\n { skip: !taskId },\n )\n const isTaskLoading = isLoadingTask || (!!taskId && isFetchingTask && !linkedTask)\n\n // Use task's folder when available, fall back to product's folder\n const pickerFolderId = taskData?.folderId || folderId\n\n const project = useProjectContext()\n\n const taskName = taskData?.label || taskData?.name || linkedTask?.label || linkedTask?.name || ''\n const taskType = taskData?.taskType || linkedTask?.taskType\n const taskTypeInfo = taskType ? project.getTaskType(taskType) : undefined\n const taskIcon = taskTypeInfo?.icon || 'task_alt'\n const taskFolderPath = taskData?.path\n ? taskData.path.substring(0, taskData.path.lastIndexOf('/'))\n : ''\n\n const productTypeOptions = project.getProductTypeOptions()\n const productTypes = useMemo(() => {\n return project.productTypes.reduce((acc, type) => {\n acc[type.name] = type\n return acc\n }, {} as Record<string, { name: string; icon?: string; color?: string }>)\n }, [project.productTypes])\n\n useEffect(() => {\n // Check if the current name starts with the previous product type name\n const previousProductType = previousProductTypeRef.current\n const previousProductTypeName = productTypes[previousProductType]?.name || ''\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n\n // Only sync if the product type actually changed\n if (formData.productType !== previousProductType && previousProductTypeName) {\n // Check if the current name starts with the previous product type name\n if (formData.name.startsWith(previousProductTypeName)) {\n // Extract the suffix after the previous product type name\n const suffix = formData.name.slice(previousProductTypeName.length)\n // Create the new name with the current product type + suffix\n const newName = currentProductTypeName + suffix\n onChange('name', newName)\n }\n }\n\n // Update the ref to the current product type\n previousProductTypeRef.current = formData.productType\n }, [formData.productType, formData.name, onChange])\n\n const handleSubmit = (e: FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n // @ts-expect-error - submitter is not defined in the type\n const submitter = e.nativeEvent.submitter as HTMLButtonElement | null\n // if the submitter is a button, check it's parent does not have the dropdown class\n if (submitter && submitter.closest('.dropdown')) {\n // if the submitter is a button inside a dropdown, do not submit the form\n return\n }\n\n onSubmit(formData)\n }\n\n const handleVersionChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = parseInt(e.target.value, 10)\n if (!isNaN(value)) {\n onChange('version', value)\n }\n }\n\n const handleNameChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange('name', e.target.value)\n }\n\n const handleProductTypeChange = (value: string[]) => {\n if (value.length > 0) {\n onChange('productType', value[0])\n // focus the name input after changing product type\n }\n }\n\n const handleApplyPrefix = () => {\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n const currentName = formData.name || ''\n\n // Capitalize the first letter of the existing name for camelCase\n const capitalizedName = currentName.charAt(0).toUpperCase() + currentName.slice(1)\n const newName = currentProductTypeName + capitalizedName\n onChange('name', newName)\n }\n\n const shouldShowRecommendation = () => {\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n return formData.name && !formData.name.startsWith(currentProductTypeName)\n }\n\n // Disable form fields if version has been created\n const isFormSubmitted = Boolean(versionId)\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLFormElement>) => {\n // Submit form on Cmd/Ctrl + Enter\n if (e.key === 'Enter' && (e.metaKey || e.ctrlKey)) {\n e.preventDefault()\n onSubmit(formData)\n return\n }\n }\n\n return (\n <StyledForm\n id=\"upload-version-form\"\n ref={formRef}\n onSubmit={handleSubmit}\n noValidate\n onKeyDown={handleKeyDown}\n >\n <StyledFormLayout>\n {!hidden.includes('name') && (\n <FormRow label=\"Product Name\">\n <NameInputRow>\n <div>\n <InputText\n value={formData.name}\n onChange={handleNameChange}\n placeholder=\"Enter product name\"\n minLength={1}\n autoFocus\n aria-label=\"Product Name\"\n aria-describedby={shouldShowRecommendation() ? 'name-recommendation' : undefined}\n disabled={isFormSubmitted}\n />\n {matchedProduct && (\n <MatchNote>\n {matchedProduct.latestVersion\n ? <>Matched existing product (latest: {versionString})</>\n : 'Matched existing product (no versions)'}\n </MatchNote>\n )}\n {!matchedProduct && shouldShowRecommendation() && (\n <RecommendationNote id=\"name-recommendation\">\n We recommend prefixing with \"{productTypes[formData.productType]?.name}\".{' '}\n <InlineButton type=\"button\" onClick={handleApplyPrefix}>\n Apply prefix\n </InlineButton>\n </RecommendationNote>\n )}\n </div>\n {!productId && !isFormSubmitted && (\n <Dropdown\n options={folderProductOptions}\n value={matchedProduct ? [matchedProduct.name] : []}\n onChange={handleProductPickerSelect}\n multiSelect={false}\n search\n widthExpand={false}\n disabled={isFolderProductsLoading || folderProducts.length === 0}\n aria-label=\"Select existing product\"\n valueTemplate={(_v, _s, isOpen) => (\n <Button\n icon=\"inventory_2\"\n variant=\"text\"\n data-tooltip=\"Browse existing products\"\n selected={isOpen}\n tabIndex={-1}\n disabled={isFolderProductsLoading || folderProducts.length === 0}\n />\n )}\n style={{ width: 'auto' }}\n />\n )}\n </NameInputRow>\n </FormRow>\n )}\n\n {!hidden.includes('productType') && (\n <FormRow label=\"Product Type\">\n <Dropdown\n ref={dropdownRef}\n options={productTypeOptions}\n value={[formData.productType]}\n onChange={handleProductTypeChange}\n widthExpand\n multiSelect={false}\n aria-label=\"Product Type\"\n search\n disabled={isFormSubmitted}\n />\n </FormRow>\n )}\n\n {!hidden.includes('version') && (\n <FormRow label={'Version'}>\n <InputNumber\n value={formData.version}\n onChange={handleVersionChange}\n min={minVersion}\n step={1}\n aria-label={'Version Number'}\n autoFocus={hidden.includes('name')}\n disabled={isFormSubmitted}\n />\n </FormRow>\n )}\n\n <FormRow label={'Task'}>\n <TaskFieldContainer>\n {isTaskLoading ? (\n <Skeleton height={'20px'} />\n ) : taskId && taskName ? (\n <>\n <TaskButton\n type={'button'}\n onClick={() => setIsTaskPickerOpen(true)}\n disabled={isFormSubmitted}\n variant=\"text\"\n >\n <Icon icon={taskIcon} style={{ color: taskTypeInfo?.color }} />\n <TaskText>\n {taskFolderPath && (\n <TaskPath>\n {taskFolderPath.split('/').filter(Boolean).join(' / ')} /{' '}\n </TaskPath>\n )}\n <TaskValue>{taskName}</TaskValue>\n </TaskText>\n </TaskButton>\n <Button\n type={'button'}\n icon={'close'}\n variant={'text'}\n onClick={() => {\n setTaskId('')\n setLinkedTask(null)\n }}\n disabled={isFormSubmitted}\n />\n </>\n ) : (\n <Button\n type={'button'}\n icon={'link'}\n label={'Link task'}\n variant={'text'}\n onClick={() => setIsTaskPickerOpen(true)}\n disabled={isFormSubmitted}\n />\n )}\n </TaskFieldContainer>\n </FormRow>\n </StyledFormLayout>\n\n {isTaskPickerOpen && (\n <EntityPickerDialog\n projectName={projectName}\n entityType={'task'}\n initialSelection={{\n ...(pickerFolderId ? { folder: { [pickerFolderId]: true } } : {}),\n ...(taskId ? { task: { [taskId]: true } } : {}),\n }}\n onSubmit={(selection) => {\n if (selection.length > 0) {\n setTaskId(selection[0])\n }\n setIsTaskPickerOpen(false)\n }}\n onClose={() => setIsTaskPickerOpen(false)}\n />\n )}\n\n <FormRow label=\"Reviewable files\" />\n <StyledUpload>\n <ReviewableUpload\n projectName={projectName}\n versionId={versionId}\n productId={productId}\n dispatch={dispatch}\n pendingFiles={pendingFiles}\n setPendingFiles={setPendingFiles}\n onUpload={onCloseVersionUpload}\n onFilesAdded={extractAndSetVersionFromFiles}\n pt={{\n upload: {\n style: { minHeight: 80 },\n },\n dropzone: {\n style: { inset: 0 },\n },\n }}\n />\n </StyledUpload>\n </StyledForm>\n )\n}\n"],"names":["StyledForm","styled","StyledFormLayout","FormLayout","RecommendationNote","InlineButton","NameInputRow","MatchNote","StyledUpload","TaskFieldContainer","TaskButton","Button","TaskText","TaskPath","TaskValue","UploadVersionForm","formData","onChange","onSubmit","hidden","projectName","minVersion","versionId","productId","previousProductTypeRef","useRef","dropdownRef","formRef","pendingFiles","setPendingFiles","onCloseVersionUpload","extractAndSetVersionFromFiles","dispatch","taskId","linkedTask","isLoadingTask","setTaskId","setLinkedTask","folderId","folderProducts","isFolderProductsLoading","matchedProduct","useVersionUploadContext","isTaskPickerOpen","setIsTaskPickerOpen","useState","folderProductOptions","useMemo","p","handleProductPickerSelect","useCallback","value","versionString","taskData","isFetchingTask","useGetTaskQuery","isTaskLoading","pickerFolderId","project","useProjectContext","taskName","taskType","taskTypeInfo","taskIcon","taskFolderPath","productTypeOptions","productTypes","acc","type","useEffect","previousProductType","previousProductTypeName","currentProductTypeName","suffix","newName","handleSubmit","e","submitter","handleVersionChange","handleNameChange","handleProductTypeChange","handleApplyPrefix","currentName","capitalizedName","shouldShowRecommendation","isFormSubmitted","handleKeyDown","jsxs","FormRow","jsx","InputText","Fragment","Dropdown","_v","_s","isOpen","InputNumber","Skeleton","Icon","EntityPickerDialog","selection","ReviewableUpload"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,MAAMA,KAAaC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQpBC,KAAmBD,EAAOE,EAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAapCC,KAAqBH,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,GAO5BI,KAAeJ,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAetBK,KAAeL,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAYtBM,KAAYN,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,GAOnBO,KAAeP,EAAO;AAAA;AAAA;AAAA,GAKtBQ,KAAqBR,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,GAO5BS,KAAaT,EAAOU,CAAM;AAAA;AAAA,GAI1BC,KAAWX,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,GAOlBY,KAAWZ,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASlBa,KAAYb,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,GAwBZc,KAAgD,CAAC;AAAA,EAC5D,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC,IAAS,CAAA;AAAA,EACT,aAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,WAAAC;AAAA,EACA,WAAAC;AACF,MAAM;AACJ,QAAMC,IAAyBC,EAAeT,EAAS,WAAW,GAC5DU,IAAcD,EAAoB,IAAI,GACtCE,IAAUF,EAAwB,IAAI,GACtC;AAAA,IACJ,cAAAG;AAAA,IACA,iBAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,+BAAAC;AAAA,IACA,UAAAC;AAAA,IACA,QAAAC;AAAA,IACA,YAAAC;AAAA,IACA,eAAAC;AAAA,IACA,WAAAC;AAAA,IACA,eAAAC;AAAA,IACA,UAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,gBAAAC;AAAA,EAAA,IACEC,GAAA,GAEE,CAACC,GAAkBC,CAAmB,IAAIC,GAAS,EAAK,GAExDC,IAAuBC;AAAA,IAC3B,MAAMR,EAAe,IAAI,CAACS,OAAO,EAAE,OAAOA,EAAE,MAAM,OAAOA,EAAE,KAAA,EAAO;AAAA,IAClE,CAACT,CAAc;AAAA,EAAA,GAGXU,IAA4BC;AAAA,IAChC,CAACC,MAAoB;AACnB,MAAAlC,EAAS,QAAQkC,EAAM,SAAS,IAAIA,EAAM,CAAC,IAAI,EAAE;AAAA,IACnD;AAAA,IACA,CAAClC,CAAQ;AAAA,EAAA,GAGLmC,IAAgBX,GAAgB,gBAClC,IAAI,OAAOA,EAAe,cAAc,OAAO,EAAE,SAAS,GAAG,GAAG,CAAC,KACjE,IAGE,EAAE,MAAMY,GAAU,YAAYC,MAAmBC;AAAA,IACrD,EAAE,aAAAnC,GAAa,QAAAa,EAAA;AAAA,IACf,EAAE,MAAM,CAACA,EAAA;AAAA,EAAO,GAEZuB,IAAgBrB,KAAkB,CAAC,CAACF,KAAUqB,KAAkB,CAACpB,GAGjEuB,IAAiBJ,GAAU,YAAYf,GAEvCoB,IAAUC,GAAA,GAEVC,IAAWP,GAAU,SAASA,GAAU,QAAQnB,GAAY,SAASA,GAAY,QAAQ,IACzF2B,IAAWR,GAAU,YAAYnB,GAAY,UAC7C4B,IAAeD,IAAWH,EAAQ,YAAYG,CAAQ,IAAI,QAC1DE,IAAWD,GAAc,QAAQ,YACjCE,IAAiBX,GAAU,OAC7BA,EAAS,KAAK,UAAU,GAAGA,EAAS,KAAK,YAAY,GAAG,CAAC,IACzD,IAEEY,KAAqBP,EAAQ,sBAAA,GAC7BQ,IAAenB,EAAQ,MACpBW,EAAQ,aAAa,OAAO,CAACS,GAAKC,OACvCD,EAAIC,EAAK,IAAI,IAAIA,GACVD,IACN,CAAA,CAAqE,GACvE,CAACT,EAAQ,YAAY,CAAC;AAEzB,EAAAW,GAAU,MAAM;AAEd,UAAMC,IAAsB9C,EAAuB,SAC7C+C,IAA0BL,EAAaI,CAAmB,GAAG,QAAQ,IACrEE,IAAyBN,EAAalD,EAAS,WAAW,GAAG,QAAQ;AAG3E,QAAIA,EAAS,gBAAgBsD,KAAuBC,KAE9CvD,EAAS,KAAK,WAAWuD,CAAuB,GAAG;AAErD,YAAME,IAASzD,EAAS,KAAK,MAAMuD,EAAwB,MAAM,GAE3DG,KAAUF,IAAyBC;AACzC,MAAAxD,EAAS,QAAQyD,EAAO;AAAA,IAC1B;AAIF,IAAAlD,EAAuB,UAAUR,EAAS;AAAA,EAC5C,GAAG,CAACA,EAAS,aAAaA,EAAS,MAAMC,CAAQ,CAAC;AAElD,QAAM0D,KAAe,CAACC,MAAkC;AACtD,IAAAA,EAAE,eAAA;AAEF,UAAMC,IAAYD,EAAE,YAAY;AAEhC,IAAIC,KAAaA,EAAU,QAAQ,WAAW,KAK9C3D,EAASF,CAAQ;AAAA,EACnB,GAEM8D,KAAsB,CAACF,MAA2C;AACtE,UAAMzB,IAAQ,SAASyB,EAAE,OAAO,OAAO,EAAE;AACzC,IAAK,MAAMzB,CAAK,KACdlC,EAAS,WAAWkC,CAAK;AAAA,EAE7B,GAEM4B,KAAmB,CAACH,MAA2C;AACnE,IAAA3D,EAAS,QAAQ2D,EAAE,OAAO,KAAK;AAAA,EACjC,GAEMI,KAA0B,CAAC7B,MAAoB;AACnD,IAAIA,EAAM,SAAS,KACjBlC,EAAS,eAAekC,EAAM,CAAC,CAAC;AAAA,EAGpC,GAEM8B,KAAoB,MAAM;AAC9B,UAAMT,IAAyBN,EAAalD,EAAS,WAAW,GAAG,QAAQ,IACrEkE,IAAclE,EAAS,QAAQ,IAG/BmE,IAAkBD,EAAY,OAAO,CAAC,EAAE,gBAAgBA,EAAY,MAAM,CAAC,GAC3ER,IAAUF,IAAyBW;AACzC,IAAAlE,EAAS,QAAQyD,CAAO;AAAA,EAC1B,GAEMU,IAA2B,MAAM;AACrC,UAAMZ,IAAyBN,EAAalD,EAAS,WAAW,GAAG,QAAQ;AAC3E,WAAOA,EAAS,QAAQ,CAACA,EAAS,KAAK,WAAWwD,CAAsB;AAAA,EAC1E,GAGMa,IAAkB,EAAQ/D,GAE1BgE,KAAgB,CAACV,MAA4C;AAEjE,QAAIA,EAAE,QAAQ,YAAYA,EAAE,WAAWA,EAAE,UAAU;AACjD,MAAAA,EAAE,eAAA,GACF1D,EAASF,CAAQ;AACjB;AAAA,IACF;AAAA,EACF;AAEA,SACEuE,gBAAAA,EAAAA;AAAAA,IAACvF;AAAA,IAAA;AAAA,MACC,IAAG;AAAA,MACH,KAAK2B;AAAA,MACL,UAAUgD;AAAA,MACV,YAAU;AAAA,MACV,WAAWW;AAAA,MAEX,UAAA;AAAA,QAAAC,gBAAAA,OAACrF,IAAA,EACE,UAAA;AAAA,UAAA,CAACiB,EAAO,SAAS,MAAM,2BACrBqE,GAAA,EAAQ,OAAM,gBACb,UAAAD,gBAAAA,EAAAA,KAACjF,IAAA,EACC,UAAA;AAAA,YAAAiF,gBAAAA,OAAC,OAAA,EACC,UAAA;AAAA,cAAAE,gBAAAA,EAAAA;AAAAA,gBAACC;AAAA,gBAAA;AAAA,kBACC,OAAO1E,EAAS;AAAA,kBAChB,UAAU+D;AAAA,kBACV,aAAY;AAAA,kBACZ,WAAW;AAAA,kBACX,WAAS;AAAA,kBACT,cAAW;AAAA,kBACX,oBAAkBK,MAA6B,wBAAwB;AAAA,kBACvE,UAAUC;AAAA,gBAAA;AAAA,cAAA;AAAA,cAEX5C,KACCgD,gBAAAA,EAAAA,IAAClF,IAAA,EACE,UAAAkC,EAAe,gBACZ8C,gBAAAA,EAAAA,KAAAI,YAAA,EAAE,UAAA;AAAA,gBAAA;AAAA,gBAAmCvC;AAAA,gBAAc;AAAA,cAAA,EAAA,CAAC,IACpD,0CACN;AAAA,cAED,CAACX,KAAkB2C,EAAA,KAClBG,gBAAAA,EAAAA,KAACnF,IAAA,EAAmB,IAAG,uBAAsB,UAAA;AAAA,gBAAA;AAAA,gBACb8D,EAAalD,EAAS,WAAW,GAAG;AAAA,gBAAK;AAAA,gBAAG;AAAA,sCACzEX,IAAA,EAAa,MAAK,UAAS,SAAS4E,IAAmB,UAAA,eAAA,CAExD;AAAA,cAAA,EAAA,CACF;AAAA,YAAA,GAEJ;AAAA,YACC,CAAC1D,KAAa,CAAC8D,KACdI,gBAAAA,EAAAA;AAAAA,cAACG;AAAA,cAAA;AAAA,gBACC,SAAS9C;AAAA,gBACT,OAAOL,IAAiB,CAACA,EAAe,IAAI,IAAI,CAAA;AAAA,gBAChD,UAAUQ;AAAA,gBACV,aAAa;AAAA,gBACb,QAAM;AAAA,gBACN,aAAa;AAAA,gBACb,UAAUT,KAA2BD,EAAe,WAAW;AAAA,gBAC/D,cAAW;AAAA,gBACX,eAAe,CAACsD,GAAIC,GAAIC,MACtBN,gBAAAA,EAAAA;AAAAA,kBAAC9E;AAAA,kBAAA;AAAA,oBACC,MAAK;AAAA,oBACL,SAAQ;AAAA,oBACR,gBAAa;AAAA,oBACb,UAAUoF;AAAA,oBACV,UAAU;AAAA,oBACV,UAAUvD,KAA2BD,EAAe,WAAW;AAAA,kBAAA;AAAA,gBAAA;AAAA,gBAGnE,OAAO,EAAE,OAAO,OAAA;AAAA,cAAO;AAAA,YAAA;AAAA,UACzB,EAAA,CAEJ,EAAA,CACF;AAAA,UAGD,CAACpB,EAAO,SAAS,aAAa,KAC7BsE,gBAAAA,EAAAA,IAACD,GAAA,EAAQ,OAAM,gBACb,UAAAC,gBAAAA,EAAAA;AAAAA,YAACG;AAAA,YAAA;AAAA,cACC,KAAKlE;AAAA,cACL,SAASuC;AAAA,cACT,OAAO,CAACjD,EAAS,WAAW;AAAA,cAC5B,UAAUgE;AAAA,cACV,aAAW;AAAA,cACX,aAAa;AAAA,cACb,cAAW;AAAA,cACX,QAAM;AAAA,cACN,UAAUK;AAAA,YAAA;AAAA,UAAA,GAEd;AAAA,UAGD,CAAClE,EAAO,SAAS,SAAS,KACzBsE,gBAAAA,EAAAA,IAACD,GAAA,EAAQ,OAAO,WACd,UAAAC,gBAAAA,EAAAA;AAAAA,YAACO;AAAA,YAAA;AAAA,cACC,OAAOhF,EAAS;AAAA,cAChB,UAAU8D;AAAA,cACV,KAAKzD;AAAA,cACL,MAAM;AAAA,cACN,cAAY;AAAA,cACZ,WAAWF,EAAO,SAAS,MAAM;AAAA,cACjC,UAAUkE;AAAA,YAAA;AAAA,UAAA,GAEd;AAAA,UAGFI,gBAAAA,MAACD,GAAA,EAAQ,OAAO,QACd,gCAAC/E,IAAA,EACE,UAAA+C,IACCiC,gBAAAA,EAAAA,IAACQ,IAAA,EAAS,QAAQ,QAAQ,IACxBhE,KAAU2B,IACZ2B,gBAAAA,EAAAA,KAAAI,YAAA,EACE,UAAA;AAAA,YAAAJ,gBAAAA,EAAAA;AAAAA,cAAC7E;AAAA,cAAA;AAAA,gBACC,MAAM;AAAA,gBACN,SAAS,MAAMkC,EAAoB,EAAI;AAAA,gBACvC,UAAUyC;AAAA,gBACV,SAAQ;AAAA,gBAER,UAAA;AAAA,kBAAAI,gBAAAA,MAACS,IAAA,EAAK,MAAMnC,GAAU,OAAO,EAAE,OAAOD,GAAc,SAAS;AAAA,yCAC5DlD,IAAA,EACE,UAAA;AAAA,oBAAAoD,4BACEnD,IAAA,EACE,UAAA;AAAA,sBAAAmD,EAAe,MAAM,GAAG,EAAE,OAAO,OAAO,EAAE,KAAK,KAAK;AAAA,sBAAE;AAAA,sBAAG;AAAA,oBAAA,GAC5D;AAAA,oBAEFyB,gBAAAA,EAAAA,IAAC3E,MAAW,UAAA8C,EAAA,CAAS;AAAA,kBAAA,EAAA,CACvB;AAAA,gBAAA;AAAA,cAAA;AAAA,YAAA;AAAA,YAEF6B,gBAAAA,EAAAA;AAAAA,cAAC9E;AAAA,cAAA;AAAA,gBACC,MAAM;AAAA,gBACN,MAAM;AAAA,gBACN,SAAS;AAAA,gBACT,SAAS,MAAM;AACb,kBAAAyB,EAAU,EAAE,GACZC,EAAc,IAAI;AAAA,gBACpB;AAAA,gBACA,UAAUgD;AAAA,cAAA;AAAA,YAAA;AAAA,UACZ,EAAA,CACF,IAEAI,gBAAAA,EAAAA;AAAAA,YAAC9E;AAAA,YAAA;AAAA,cACC,MAAM;AAAA,cACN,MAAM;AAAA,cACN,OAAO;AAAA,cACP,SAAS;AAAA,cACT,SAAS,MAAMiC,EAAoB,EAAI;AAAA,cACvC,UAAUyC;AAAA,YAAA;AAAA,UAAA,GAGhB,EAAA,CACF;AAAA,QAAA,GACF;AAAA,QAEC1C,KACC8C,gBAAAA,EAAAA;AAAAA,UAACU;AAAA,UAAA;AAAA,YACC,aAAA/E;AAAA,YACA,YAAY;AAAA,YACZ,kBAAkB;AAAA,cAChB,GAAIqC,IAAiB,EAAE,QAAQ,EAAE,CAACA,CAAc,GAAG,GAAA,EAAK,IAAM,CAAA;AAAA,cAC9D,GAAIxB,IAAS,EAAE,MAAM,EAAE,CAACA,CAAM,GAAG,GAAA,MAAW,CAAA;AAAA,YAAC;AAAA,YAE/C,UAAU,CAACmE,MAAc;AACvB,cAAIA,EAAU,SAAS,KACrBhE,EAAUgE,EAAU,CAAC,CAAC,GAExBxD,EAAoB,EAAK;AAAA,YAC3B;AAAA,YACA,SAAS,MAAMA,EAAoB,EAAK;AAAA,UAAA;AAAA,QAAA;AAAA,QAI5C6C,gBAAAA,EAAAA,IAACD,GAAA,EAAQ,OAAM,mBAAA,CAAmB;AAAA,8BACjChF,IAAA,EACC,UAAAiF,gBAAAA,EAAAA;AAAAA,UAACY;AAAA,UAAA;AAAA,YACC,aAAAjF;AAAA,YACA,WAAAE;AAAA,YACA,WAAAC;AAAA,YACA,UAAAS;AAAA,YACA,cAAAJ;AAAA,YACA,iBAAAC;AAAA,YACA,UAAUC;AAAA,YACV,cAAcC;AAAA,YACd,IAAI;AAAA,cACF,QAAQ;AAAA,gBACN,OAAO,EAAE,WAAW,GAAA;AAAA,cAAG;AAAA,cAEzB,UAAU;AAAA,gBACR,OAAO,EAAE,OAAO,EAAA;AAAA,cAAE;AAAA,YACpB;AAAA,UACF;AAAA,QAAA,EACF,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"UploadVersionForm.es.js","sources":["../../../../../../src/components/VersionUploader/components/UploadVersionForm.tsx"],"sourcesContent":["import { FC, FormEvent, useEffect, useMemo, useRef, useState, useCallback } from 'react'\nimport styled from 'styled-components'\nimport type { DropdownRef } from '@ynput/ayon-react-components'\nimport {\n Button,\n Dropdown,\n FormLayout,\n FormRow,\n Icon,\n InputNumber,\n InputText,\n} from '@ynput/ayon-react-components'\nimport { ReviewableUpload } from '@shared/components'\nimport { useVersionUploadContext } from '../context/VersionUploadContext'\nimport { useProjectContext } from '@shared/context'\nimport { useGetTaskQuery } from '@shared/api'\nimport { EntityPickerDialog } from '@shared/containers/EntityPickerDialog/EntityPickerDialog'\nimport { Skeleton } from 'primereact/skeleton'\n\nconst StyledForm = styled.form`\n display: flex;\n flex-direction: column;\n gap: var(--base-gap-large);\n padding: var(--padding-m);\n width: 100%;\n`\n\nconst StyledFormLayout = styled(FormLayout)`\n width: 100%;\n margin: auto;\n\n & > div {\n align-items: start;\n }\n\n input {\n width: 100%;\n }\n`\n\nconst RecommendationNote = styled.div`\n font-size: var(--font-size-xs);\n color: var(--md-sys-color-outline);\n margin-top: var(--base-gap-small);\n line-height: 1.3;\n`\n\nconst InlineButton = styled.button`\n background: none;\n border: none;\n color: var(--md-sys-color-primary);\n text-decoration: underline;\n cursor: pointer;\n padding: 0;\n font-size: inherit;\n font-family: inherit;\n\n &:hover {\n color: var(--md-sys-color-primary-dark);\n }\n`\n\nconst NameInputRow = styled.div`\n display: flex;\n align-items: start;\n gap: var(--base-gap-small);\n width: 100%;\n\n & > div:first-child {\n flex: 1;\n min-width: 0;\n }\n`\n\nconst MatchNote = styled.div`\n font-size: var(--font-size-xs);\n color: var(--md-sys-color-primary);\n margin-top: var(--base-gap-small);\n line-height: 1.3;\n`\n\nconst StyledUpload = styled.div`\n position: relative;\n min-height: 80px;\n`\n\nconst TaskFieldContainer = styled.div`\n display: flex;\n align-items: center;\n gap: var(--base-gap-small);\n width: 100%;\n`\n\nconst TaskButton = styled(Button)`\n flex: 1;\n`\n\nconst TaskText = styled.div`\n width: 100%;\n overflow: hidden;\n display: flex;\n min-width: 0;\n`\n\nconst TaskPath = styled.span`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: fit-content;\n margin-right: 4px;\n flex: 1;\n`\n\nconst TaskValue = styled.span`\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-weight: bold;\n`\n\ntype FormData = {\n version: number\n name: string\n productType: string\n}\n\ninterface UploadVersionFormProps {\n formData: FormData\n onChange: (key: keyof FormData, value: string | number) => void\n onSubmit: (formData: FormData) => void\n hidden?: (keyof FormData)[]\n projectName: string\n minVersion?: number\n versionId?: string | null\n productId?: string | null\n}\n\nexport const UploadVersionForm: FC<UploadVersionFormProps> = ({\n formData,\n onChange,\n onSubmit,\n hidden = [],\n projectName,\n minVersion = 1,\n versionId,\n productId,\n}) => {\n const previousProductTypeRef = useRef<string>(formData.productType)\n const dropdownRef = useRef<DropdownRef>(null)\n const formRef = useRef<HTMLFormElement>(null)\n const {\n pendingFiles,\n setPendingFiles,\n onCloseVersionUpload,\n extractAndSetVersionFromFiles,\n dispatch,\n taskId,\n linkedTask,\n isLoadingTask,\n setTaskId,\n setLinkedTask,\n folderId,\n folderProducts,\n isFolderProductsLoading,\n matchedProduct,\n } = useVersionUploadContext()\n\n const [isTaskPickerOpen, setIsTaskPickerOpen] = useState(false)\n\n const folderProductOptions = useMemo(\n () => folderProducts.map((p) => ({ value: p.name, label: p.name })),\n [folderProducts],\n )\n\n const handleProductPickerSelect = useCallback(\n (value: string[]) => {\n onChange('name', value.length > 0 ? value[0] : '')\n },\n [onChange],\n )\n\n const versionString = matchedProduct?.latestVersion\n ? `v${String(matchedProduct.latestVersion.version).padStart(3, '0')}`\n : ''\n\n // Fetch full task data for path; linkedTask provides instant name/type display\n const { data: taskData, isFetching: isFetchingTask } = useGetTaskQuery(\n { projectName, taskId },\n { skip: !taskId },\n )\n const isTaskLoading = isLoadingTask || (!!taskId && isFetchingTask && !linkedTask)\n\n // Use task's folder when available, fall back to product's folder\n const pickerFolderId = taskData?.folderId || folderId\n\n const project = useProjectContext()\n\n const taskName = taskData?.label || taskData?.name || linkedTask?.label || linkedTask?.name || ''\n const taskType = taskData?.taskType || linkedTask?.taskType\n const taskTypeInfo = taskType ? project.getTaskType(taskType) : undefined\n const taskIcon = taskTypeInfo?.icon || 'task_alt'\n const taskFolderPath = taskData?.path\n ? taskData.path.substring(0, taskData.path.lastIndexOf('/'))\n : ''\n\n const productTypeOptions = project.getProductTypeOptions()\n const productTypes = useMemo(() => {\n return project.productTypes.reduce((acc, type) => {\n acc[type.name] = type\n return acc\n }, {} as Record<string, { name: string; icon?: string; color?: string }>)\n }, [project.productTypes])\n\n useEffect(() => {\n // Check if the current name starts with the previous product type name\n const previousProductType = previousProductTypeRef.current\n const previousProductTypeName = productTypes[previousProductType]?.name || ''\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n\n // Only sync if the product type actually changed\n if (formData.productType !== previousProductType && previousProductTypeName) {\n // Check if the current name starts with the previous product type name\n if (formData.name.startsWith(previousProductTypeName)) {\n // Extract the suffix after the previous product type name\n const suffix = formData.name.slice(previousProductTypeName.length)\n // Create the new name with the current product type + suffix\n const newName = currentProductTypeName + suffix\n onChange('name', newName)\n }\n }\n\n // Update the ref to the current product type\n previousProductTypeRef.current = formData.productType\n }, [formData.productType, formData.name, onChange])\n\n const handleSubmit = (e: FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n // @ts-expect-error - submitter is not defined in the type\n const submitter = e.nativeEvent.submitter as HTMLButtonElement | null\n // if the submitter is a button, check it's parent does not have the dropdown class\n if (submitter && submitter.closest('.dropdown')) {\n // if the submitter is a button inside a dropdown, do not submit the form\n return\n }\n\n onSubmit(formData)\n }\n\n const handleVersionChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = parseInt(e.target.value, 10)\n if (!isNaN(value)) {\n onChange('version', value)\n }\n }\n\n const handleNameChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange('name', e.target.value)\n }\n\n const handleProductTypeChange = (value: string[]) => {\n if (value.length > 0) {\n onChange('productType', value[0])\n // focus the name input after changing product type\n }\n }\n\n const handleApplyPrefix = () => {\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n const currentName = formData.name || ''\n\n // Capitalize the first letter of the existing name for camelCase\n const capitalizedName = currentName.charAt(0).toUpperCase() + currentName.slice(1)\n const newName = currentProductTypeName + capitalizedName\n onChange('name', newName)\n }\n\n const shouldShowRecommendation = () => {\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n return formData.name && !formData.name.startsWith(currentProductTypeName)\n }\n\n // Disable form fields if version has been created\n const isFormSubmitted = Boolean(versionId)\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLFormElement>) => {\n // Submit form on Cmd/Ctrl + Enter\n if (e.key === 'Enter' && (e.metaKey || e.ctrlKey)) {\n e.preventDefault()\n onSubmit(formData)\n return\n }\n }\n\n return (\n <StyledForm\n id=\"upload-version-form\"\n ref={formRef}\n onSubmit={handleSubmit}\n noValidate\n onKeyDown={handleKeyDown}\n >\n <StyledFormLayout>\n {!hidden.includes('name') && (\n <FormRow label=\"Product Name\">\n <NameInputRow>\n <div>\n <InputText\n value={formData.name}\n onChange={handleNameChange}\n placeholder=\"Enter product name\"\n minLength={1}\n autoFocus\n aria-label=\"Product Name\"\n aria-describedby={shouldShowRecommendation() ? 'name-recommendation' : undefined}\n disabled={isFormSubmitted}\n />\n {matchedProduct && (\n <MatchNote>\n {matchedProduct.latestVersion\n ? <>Matched existing product (latest: {versionString})</>\n : 'Matched existing product (no versions)'}\n </MatchNote>\n )}\n {!matchedProduct && shouldShowRecommendation() && (\n <RecommendationNote id=\"name-recommendation\">\n We recommend prefixing with \"{productTypes[formData.productType]?.name}\".{' '}\n <InlineButton type=\"button\" onClick={handleApplyPrefix}>\n Apply prefix\n </InlineButton>\n </RecommendationNote>\n )}\n </div>\n {!productId && !isFormSubmitted && (\n <Dropdown\n options={folderProductOptions}\n value={matchedProduct ? [matchedProduct.name] : []}\n onChange={handleProductPickerSelect}\n multiSelect={false}\n search\n widthExpand={false}\n disabled={isFolderProductsLoading || folderProducts.length === 0}\n aria-label=\"Select existing product\"\n valueTemplate={(_v, _s, isOpen) => (\n <Button\n icon=\"inventory_2\"\n variant=\"text\"\n data-tooltip=\"Browse existing products\"\n selected={isOpen}\n tabIndex={-1}\n disabled={isFolderProductsLoading || folderProducts.length === 0}\n />\n )}\n style={{ width: 'auto' }}\n />\n )}\n </NameInputRow>\n </FormRow>\n )}\n\n {!hidden.includes('productType') && (\n <FormRow label=\"Product Type\">\n <Dropdown\n ref={dropdownRef}\n options={productTypeOptions}\n value={[formData.productType]}\n onChange={handleProductTypeChange}\n widthExpand\n multiSelect={false}\n aria-label=\"Product Type\"\n search\n disabled={isFormSubmitted}\n />\n </FormRow>\n )}\n\n {!hidden.includes('version') && (\n <FormRow label={'Version'}>\n <InputNumber\n value={formData.version}\n onChange={handleVersionChange}\n min={minVersion}\n step={1}\n aria-label={'Version Number'}\n autoFocus={hidden.includes('name')}\n disabled={isFormSubmitted}\n />\n </FormRow>\n )}\n\n <FormRow label={'Task'}>\n <TaskFieldContainer>\n {isTaskLoading ? (\n <Skeleton height={'20px'} />\n ) : taskId && taskName ? (\n <>\n <TaskButton\n type={'button'}\n onClick={() => setIsTaskPickerOpen(true)}\n disabled={isFormSubmitted}\n variant=\"text\"\n >\n <Icon icon={taskIcon} style={{ color: taskTypeInfo?.color }} />\n <TaskText>\n {taskFolderPath && (\n <TaskPath>\n {taskFolderPath.split('/').filter(Boolean).join(' / ')} /{' '}\n </TaskPath>\n )}\n <TaskValue>{taskName}</TaskValue>\n </TaskText>\n </TaskButton>\n <Button\n type={'button'}\n icon={'close'}\n variant={'text'}\n onClick={() => {\n setTaskId('')\n setLinkedTask(null)\n }}\n disabled={isFormSubmitted}\n />\n </>\n ) : (\n <Button\n type={'button'}\n icon={'link'}\n label={'Link task'}\n variant={'text'}\n onClick={() => setIsTaskPickerOpen(true)}\n disabled={isFormSubmitted}\n />\n )}\n </TaskFieldContainer>\n </FormRow>\n </StyledFormLayout>\n\n {isTaskPickerOpen && (\n <EntityPickerDialog\n projectName={projectName}\n entityType={'task'}\n initialSelection={{\n ...(pickerFolderId ? { folder: { [pickerFolderId]: true } } : {}),\n ...(taskId ? { task: { [taskId]: true } } : {}),\n }}\n onSubmit={(selection) => {\n if (selection.length > 0) {\n setTaskId(selection[0])\n }\n setIsTaskPickerOpen(false)\n }}\n onClose={() => setIsTaskPickerOpen(false)}\n />\n )}\n\n <FormRow label=\"Reviewable files\" />\n <StyledUpload>\n <ReviewableUpload\n projectName={projectName}\n versionId={versionId}\n productId={productId}\n dispatch={dispatch}\n pendingFiles={pendingFiles}\n setPendingFiles={setPendingFiles}\n onUpload={onCloseVersionUpload}\n onFilesAdded={extractAndSetVersionFromFiles}\n pt={{\n upload: {\n style: { minHeight: 80 },\n },\n dropzone: {\n style: { inset: 0 },\n },\n }}\n />\n </StyledUpload>\n </StyledForm>\n )\n}\n"],"names":["StyledForm","styled","StyledFormLayout","FormLayout","RecommendationNote","InlineButton","NameInputRow","MatchNote","StyledUpload","TaskFieldContainer","TaskButton","Button","TaskText","TaskPath","TaskValue","UploadVersionForm","formData","onChange","onSubmit","hidden","projectName","minVersion","versionId","productId","previousProductTypeRef","useRef","dropdownRef","formRef","pendingFiles","setPendingFiles","onCloseVersionUpload","extractAndSetVersionFromFiles","dispatch","taskId","linkedTask","isLoadingTask","setTaskId","setLinkedTask","folderId","folderProducts","isFolderProductsLoading","matchedProduct","useVersionUploadContext","isTaskPickerOpen","setIsTaskPickerOpen","useState","folderProductOptions","useMemo","p","handleProductPickerSelect","useCallback","value","versionString","taskData","isFetchingTask","useGetTaskQuery","isTaskLoading","pickerFolderId","project","useProjectContext","taskName","taskType","taskTypeInfo","taskIcon","taskFolderPath","productTypeOptions","productTypes","acc","type","useEffect","previousProductType","previousProductTypeName","currentProductTypeName","suffix","newName","handleSubmit","e","submitter","handleVersionChange","handleNameChange","handleProductTypeChange","handleApplyPrefix","currentName","capitalizedName","shouldShowRecommendation","isFormSubmitted","handleKeyDown","jsxs","FormRow","jsx","InputText","Fragment","Dropdown","_v","_s","isOpen","InputNumber","Skeleton","Icon","EntityPickerDialog","selection","ReviewableUpload"],"mappings":"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"}