@ynput/ayon-frontend-shared 0.3.24 → 0.3.25

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 (825) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +23 -22
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/Slicer.cjs.js +1 -1
  5. package/dist/Slicer.es.js +19 -18
  6. package/dist/Slicer.es.js.map +1 -1
  7. package/dist/_virtual/index.cjs14.js +1 -1
  8. package/dist/_virtual/index.cjs15.js +1 -1
  9. package/dist/_virtual/index.cjs19.js +1 -1
  10. package/dist/_virtual/index.cjs4.js +1 -1
  11. package/dist/_virtual/index.cjs5.js +1 -1
  12. package/dist/_virtual/index.cjs6.js +1 -1
  13. package/dist/_virtual/index.cjs8.js +1 -1
  14. package/dist/_virtual/index.cjs9.js +1 -1
  15. package/dist/_virtual/index.es10.js +2 -2
  16. package/dist/_virtual/index.es11.js +2 -2
  17. package/dist/_virtual/index.es13.js +2 -2
  18. package/dist/_virtual/index.es14.js +5 -2
  19. package/dist/_virtual/index.es14.js.map +1 -1
  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 +2 -5
  26. package/dist/_virtual/index.es4.js.map +1 -1
  27. package/dist/_virtual/index.es5.js +5 -2
  28. package/dist/_virtual/index.es5.js.map +1 -1
  29. package/dist/_virtual/index.es6.js +2 -2
  30. package/dist/_virtual/index.es8.js +2 -2
  31. package/dist/_virtual/index.es9.js +2 -5
  32. package/dist/_virtual/index.es9.js.map +1 -1
  33. package/dist/api.cjs.js +1 -1
  34. package/dist/api.es.js +250 -250
  35. package/dist/api.es.js.map +1 -1
  36. package/dist/index.cjs.js +1 -1
  37. package/dist/index.es.js +10 -9
  38. package/dist/index.es.js.map +1 -1
  39. package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
  40. package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
  41. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  42. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  43. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  44. package/dist/node_modules/remove-accents/index.es.js +1 -1
  45. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +1 -1
  46. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +1 -1
  47. package/dist/shared/node_modules/@module-federation/runtime/dist/index.cjs.js +1 -1
  48. package/dist/shared/node_modules/@module-federation/runtime/dist/index.es.js +1 -1
  49. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
  50. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +1 -1
  51. package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.cjs.js +1 -1
  52. package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.es.js +1 -1
  53. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs.js +1 -1
  54. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.es.js +1 -1
  55. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.cjs.js +1 -1
  56. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.es.js +1 -1
  57. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.cjs.js +1 -1
  58. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.es.js +1 -1
  59. package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.cjs.js +1 -1
  60. package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.es.js +1 -1
  61. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs.js +1 -1
  62. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.es.js +1 -1
  63. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.cjs.js +1 -1
  64. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.es.js +1 -1
  65. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js +1 -1
  66. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js.map +1 -1
  67. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.es.js +1 -1
  68. package/dist/shared/node_modules/@module-federation/sdk/dist/index.cjs.js +1 -1
  69. package/dist/shared/node_modules/@module-federation/sdk/dist/index.es.js +1 -1
  70. package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
  71. package/dist/shared/node_modules/prop-types/index.es.js +1 -1
  72. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  73. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  74. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
  75. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js.map +1 -1
  76. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
  77. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
  78. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js.map +1 -1
  79. package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
  80. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
  81. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js.map +1 -1
  82. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
  83. package/dist/shared/src/api/base/client.cjs.js +1 -1
  84. package/dist/shared/src/api/base/client.cjs.js.map +1 -1
  85. package/dist/shared/src/api/base/client.es.js +3 -4
  86. package/dist/shared/src/api/base/client.es.js.map +1 -1
  87. package/dist/shared/src/api/generated/dataImport.cjs.js +2 -0
  88. package/dist/shared/src/api/generated/dataImport.cjs.js.map +1 -0
  89. package/dist/shared/src/api/generated/dataImport.es.js +52 -0
  90. package/dist/shared/src/api/generated/dataImport.es.js.map +1 -0
  91. package/dist/shared/src/api/generated/graphql.cjs.js +716 -90
  92. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  93. package/dist/shared/src/api/generated/graphql.es.js +801 -175
  94. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  95. package/dist/shared/src/api/generated/graphqlLinks.cjs.js +322 -21
  96. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  97. package/dist/shared/src/api/generated/graphqlLinks.es.js +358 -57
  98. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  99. package/dist/shared/src/api/generated/projects.cjs.js +1 -1
  100. package/dist/shared/src/api/generated/projects.cjs.js.map +1 -1
  101. package/dist/shared/src/api/generated/projects.es.js +2 -2
  102. package/dist/shared/src/api/generated/projects.es.js.map +1 -1
  103. package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
  104. package/dist/shared/src/api/generated/views.es.js.map +1 -1
  105. package/dist/shared/src/api/queries/actions/getActions.cjs.js +1 -1
  106. package/dist/shared/src/api/queries/actions/getActions.cjs.js.map +1 -1
  107. package/dist/shared/src/api/queries/actions/getActions.es.js +11 -10
  108. package/dist/shared/src/api/queries/actions/getActions.es.js.map +1 -1
  109. package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -1
  110. package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
  111. package/dist/shared/src/api/queries/activities/getActivities.es.js +11 -10
  112. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  113. package/dist/shared/src/api/queries/activities/getCategories.cjs.js +1 -1
  114. package/dist/shared/src/api/queries/activities/getCategories.cjs.js.map +1 -1
  115. package/dist/shared/src/api/queries/activities/getCategories.es.js +3 -2
  116. package/dist/shared/src/api/queries/activities/getCategories.es.js.map +1 -1
  117. package/dist/shared/src/api/queries/activities/getMentions.cjs.js +1 -1
  118. package/dist/shared/src/api/queries/activities/getMentions.cjs.js.map +1 -1
  119. package/dist/shared/src/api/queries/activities/getMentions.es.js +3 -2
  120. package/dist/shared/src/api/queries/activities/getMentions.es.js.map +1 -1
  121. package/dist/shared/src/api/queries/activities/updateReaction.cjs.js +1 -1
  122. package/dist/shared/src/api/queries/activities/updateReaction.cjs.js.map +1 -1
  123. package/dist/shared/src/api/queries/activities/updateReaction.es.js +4 -3
  124. package/dist/shared/src/api/queries/activities/updateReaction.es.js.map +1 -1
  125. package/dist/shared/src/api/queries/addons/getAddons.cjs.js +1 -1
  126. package/dist/shared/src/api/queries/addons/getAddons.cjs.js.map +1 -1
  127. package/dist/shared/src/api/queries/addons/getAddons.es.js +7 -6
  128. package/dist/shared/src/api/queries/addons/getAddons.es.js.map +1 -1
  129. package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js +1 -1
  130. package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js.map +1 -1
  131. package/dist/shared/src/api/queries/attributes/getAttributes.es.js +4 -3
  132. package/dist/shared/src/api/queries/attributes/getAttributes.es.js.map +1 -1
  133. package/dist/shared/src/api/queries/authentication/getAuthentication.cjs.js +1 -1
  134. package/dist/shared/src/api/queries/authentication/getAuthentication.cjs.js.map +1 -1
  135. package/dist/shared/src/api/queries/authentication/getAuthentication.es.js +4 -3
  136. package/dist/shared/src/api/queries/authentication/getAuthentication.es.js.map +1 -1
  137. package/dist/shared/src/api/queries/cloud/cloud.cjs.js +1 -1
  138. package/dist/shared/src/api/queries/cloud/cloud.cjs.js.map +1 -1
  139. package/dist/shared/src/api/queries/cloud/cloud.es.js +9 -8
  140. package/dist/shared/src/api/queries/cloud/cloud.es.js.map +1 -1
  141. package/dist/shared/src/api/queries/config/getConfig.cjs.js +1 -1
  142. package/dist/shared/src/api/queries/config/getConfig.cjs.js.map +1 -1
  143. package/dist/shared/src/api/queries/config/getConfig.es.js +9 -8
  144. package/dist/shared/src/api/queries/config/getConfig.es.js.map +1 -1
  145. package/dist/shared/src/api/queries/entities/getEntity.cjs.js +1 -1
  146. package/dist/shared/src/api/queries/entities/getEntity.cjs.js.map +1 -1
  147. package/dist/shared/src/api/queries/entities/getEntity.es.js +13 -12
  148. package/dist/shared/src/api/queries/entities/getEntity.es.js.map +1 -1
  149. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
  150. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
  151. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +4 -3
  152. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  153. package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js +1 -1
  154. package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js.map +1 -1
  155. package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js +3 -2
  156. package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js.map +1 -1
  157. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  158. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  159. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +4 -3
  160. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  161. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  162. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  163. package/dist/shared/src/api/queries/entityLists/getLists.es.js +15 -14
  164. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  165. package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js +1 -1
  166. package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js.map +1 -1
  167. package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js +3 -2
  168. package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js.map +1 -1
  169. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js +1 -1
  170. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js.map +1 -1
  171. package/dist/shared/src/api/queries/entityLists/listFolders.es.js +18 -17
  172. package/dist/shared/src/api/queries/entityLists/listFolders.es.js.map +1 -1
  173. package/dist/shared/src/api/queries/entityLists/resolveEntityParents.cjs.js +1 -1
  174. package/dist/shared/src/api/queries/entityLists/resolveEntityParents.cjs.js.map +1 -1
  175. package/dist/shared/src/api/queries/entityLists/resolveEntityParents.es.js +3 -2
  176. package/dist/shared/src/api/queries/entityLists/resolveEntityParents.es.js.map +1 -1
  177. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -1
  178. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
  179. package/dist/shared/src/api/queries/entityLists/updateLists.es.js +17 -16
  180. package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
  181. package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -1
  182. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  183. package/dist/shared/src/api/queries/folders/getFolders.es.js +4 -3
  184. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  185. package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js +1 -1
  186. package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js.map +1 -1
  187. package/dist/shared/src/api/queries/grouping/getGrouping.es.js +3 -2
  188. package/dist/shared/src/api/queries/grouping/getGrouping.es.js.map +1 -1
  189. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
  190. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
  191. package/dist/shared/src/api/queries/links/getEntityLinks.es.js +3 -2
  192. package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
  193. package/dist/shared/src/api/queries/links/getLinks.cjs.js +1 -1
  194. package/dist/shared/src/api/queries/links/getLinks.cjs.js.map +1 -1
  195. package/dist/shared/src/api/queries/links/getLinks.es.js +3 -2
  196. package/dist/shared/src/api/queries/links/getLinks.es.js.map +1 -1
  197. package/dist/shared/src/api/queries/links/updateLinks.cjs.js +1 -1
  198. package/dist/shared/src/api/queries/links/updateLinks.cjs.js.map +1 -1
  199. package/dist/shared/src/api/queries/links/updateLinks.es.js +4 -3
  200. package/dist/shared/src/api/queries/links/updateLinks.es.js.map +1 -1
  201. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  202. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  203. package/dist/shared/src/api/queries/overview/getOverview.es.js +39 -38
  204. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  205. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  206. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  207. package/dist/shared/src/api/queries/overview/updateOverview.es.js +7 -6
  208. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  209. package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js +1 -1
  210. package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js.map +1 -1
  211. package/dist/shared/src/api/queries/permissions/getPermissions.es.js +4 -3
  212. package/dist/shared/src/api/queries/permissions/getPermissions.es.js.map +1 -1
  213. package/dist/shared/src/api/queries/products/createProduct.cjs.js +1 -1
  214. package/dist/shared/src/api/queries/products/createProduct.cjs.js.map +1 -1
  215. package/dist/shared/src/api/queries/products/createProduct.es.js +3 -2
  216. package/dist/shared/src/api/queries/products/createProduct.es.js.map +1 -1
  217. package/dist/shared/src/api/queries/products/getFolderProducts.cjs.js +1 -1
  218. package/dist/shared/src/api/queries/products/getFolderProducts.cjs.js.map +1 -1
  219. package/dist/shared/src/api/queries/products/getFolderProducts.es.js +3 -2
  220. package/dist/shared/src/api/queries/products/getFolderProducts.es.js.map +1 -1
  221. package/dist/shared/src/api/queries/project/getProject.cjs.js +1 -1
  222. package/dist/shared/src/api/queries/project/getProject.cjs.js.map +1 -1
  223. package/dist/shared/src/api/queries/project/getProject.es.js +11 -24
  224. package/dist/shared/src/api/queries/project/getProject.es.js.map +1 -1
  225. package/dist/shared/src/api/queries/project/updateProject.cjs.js +1 -1
  226. package/dist/shared/src/api/queries/project/updateProject.cjs.js.map +1 -1
  227. package/dist/shared/src/api/queries/project/updateProject.es.js +14 -19
  228. package/dist/shared/src/api/queries/project/updateProject.es.js.map +1 -1
  229. package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js +1 -1
  230. package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js.map +1 -1
  231. package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js +13 -12
  232. package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js.map +1 -1
  233. package/dist/shared/src/api/queries/review/getReview.cjs.js +1 -1
  234. package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
  235. package/dist/shared/src/api/queries/review/getReview.es.js +7 -6
  236. package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
  237. package/dist/shared/src/api/queries/review/updateReview.cjs.js +1 -1
  238. package/dist/shared/src/api/queries/review/updateReview.cjs.js.map +1 -1
  239. package/dist/shared/src/api/queries/review/updateReview.es.js +7 -6
  240. package/dist/shared/src/api/queries/review/updateReview.es.js.map +1 -1
  241. package/dist/shared/src/api/queries/share/share.cjs.js +1 -1
  242. package/dist/shared/src/api/queries/share/share.cjs.js.map +1 -1
  243. package/dist/shared/src/api/queries/share/share.es.js +3 -2
  244. package/dist/shared/src/api/queries/share/share.es.js.map +1 -1
  245. package/dist/shared/src/api/queries/system/getSystem.cjs.js +1 -1
  246. package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
  247. package/dist/shared/src/api/queries/system/getSystem.es.js +5 -4
  248. package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
  249. package/dist/shared/src/api/queries/teams/getTeams.cjs.js +1 -1
  250. package/dist/shared/src/api/queries/teams/getTeams.cjs.js.map +1 -1
  251. package/dist/shared/src/api/queries/teams/getTeams.es.js +13 -12
  252. package/dist/shared/src/api/queries/teams/getTeams.es.js.map +1 -1
  253. package/dist/shared/src/api/queries/uris/getUris.cjs.js +1 -1
  254. package/dist/shared/src/api/queries/uris/getUris.cjs.js.map +1 -1
  255. package/dist/shared/src/api/queries/uris/getUris.es.js +3 -2
  256. package/dist/shared/src/api/queries/uris/getUris.es.js.map +1 -1
  257. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
  258. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  259. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +6 -5
  260. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  261. package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -1
  262. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  263. package/dist/shared/src/api/queries/users/getUsers.es.js +19 -18
  264. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  265. package/dist/shared/src/api/queries/users/guests.cjs.js +1 -1
  266. package/dist/shared/src/api/queries/users/guests.cjs.js.map +1 -1
  267. package/dist/shared/src/api/queries/users/guests.es.js +5 -4
  268. package/dist/shared/src/api/queries/users/guests.es.js.map +1 -1
  269. package/dist/shared/src/api/queries/users/updateUsers.cjs.js +1 -1
  270. package/dist/shared/src/api/queries/users/updateUsers.cjs.js.map +1 -1
  271. package/dist/shared/src/api/queries/users/updateUsers.es.js +21 -20
  272. package/dist/shared/src/api/queries/users/updateUsers.es.js.map +1 -1
  273. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
  274. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
  275. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +11 -10
  276. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
  277. package/dist/shared/src/api/queries/versions/updateVersions.cjs.js +1 -1
  278. package/dist/shared/src/api/queries/versions/updateVersions.cjs.js.map +1 -1
  279. package/dist/shared/src/api/queries/versions/updateVersions.es.js +10 -9
  280. package/dist/shared/src/api/queries/versions/updateVersions.es.js.map +1 -1
  281. package/dist/shared/src/api/queries/views/getViews.cjs.js +1 -1
  282. package/dist/shared/src/api/queries/views/getViews.cjs.js.map +1 -1
  283. package/dist/shared/src/api/queries/views/getViews.es.js +11 -10
  284. package/dist/shared/src/api/queries/views/getViews.es.js.map +1 -1
  285. package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js +1 -1
  286. package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js.map +1 -1
  287. package/dist/shared/src/api/queries/watchers/getWatchers.es.js +4 -3
  288. package/dist/shared/src/api/queries/watchers/getWatchers.es.js.map +1 -1
  289. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  290. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  291. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +3 -2
  292. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  293. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  294. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  295. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +3 -2
  296. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  297. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  298. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  299. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +3 -2
  300. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  301. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  302. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  303. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +3 -2
  304. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  305. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  306. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  307. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +3 -2
  308. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  309. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  310. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  311. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +3 -2
  312. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  313. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  314. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  315. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +3 -2
  316. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  317. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  318. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  319. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +5 -4
  320. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  321. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  322. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  323. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +3 -2
  324. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  325. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  326. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  327. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +3 -2
  328. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  329. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  330. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  331. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +3 -2
  332. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  333. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  334. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  335. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +3 -2
  336. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  337. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  338. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  339. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +3 -2
  340. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  341. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  342. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  343. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +5 -4
  344. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  345. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  346. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  347. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +3 -2
  348. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  349. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  350. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  351. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +3 -2
  352. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  353. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  354. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  355. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +3 -2
  356. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  357. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  358. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  359. package/dist/shared/src/components/RenameForm/RenameForm.es.js +3 -2
  360. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  361. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.cjs.js +1 -1
  362. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.cjs.js.map +1 -1
  363. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.es.js +27 -21
  364. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.es.js.map +1 -1
  365. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  366. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  367. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +3 -2
  368. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  369. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  370. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  371. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +3 -2
  372. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  373. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  374. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  375. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +4 -3
  376. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  377. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  378. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  379. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +3 -2
  380. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  381. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  382. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  383. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +3 -2
  384. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  385. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  386. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  387. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +3 -2
  388. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  389. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  390. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  391. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +7 -6
  392. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  393. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
  394. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  395. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +5 -4
  396. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  397. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  398. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  399. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +3 -2
  400. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  401. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js +1 -1
  402. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js.map +1 -1
  403. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js +5 -4
  404. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js.map +1 -1
  405. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  406. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  407. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +3 -2
  408. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  409. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  410. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  411. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +5 -4
  412. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  413. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  414. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  415. package/dist/shared/src/components/Watchers/Watchers.es.js +3 -2
  416. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  417. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  418. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +3 -2
  420. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  421. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  422. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/Actions/Actions.es.js +3 -2
  424. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  425. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  426. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +3 -2
  428. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  429. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  430. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  431. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +3 -2
  432. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  433. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  434. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +3 -2
  436. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  437. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  438. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +3 -2
  440. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  441. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  442. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  443. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +3 -2
  444. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  445. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  446. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  447. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +3 -2
  448. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  449. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  450. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  451. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +17 -16
  452. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  453. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  454. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  455. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +3 -2
  456. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  457. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  458. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  459. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +3 -2
  460. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  461. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  462. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  463. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +3 -2
  464. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  465. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  466. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  467. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +3 -2
  468. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  469. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  470. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  471. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +3 -2
  472. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  473. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  474. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  475. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +3 -2
  476. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  477. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  478. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  479. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +3 -2
  480. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  481. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  482. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  483. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +3 -2
  484. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  485. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  486. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  487. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +3 -2
  488. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  489. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  490. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  491. package/dist/shared/src/containers/Feed/Feed.es.js +5 -4
  492. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  493. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  494. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  495. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +3 -2
  496. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  497. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  498. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  499. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +3 -2
  500. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  501. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  502. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  503. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +3 -2
  504. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  505. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  506. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  507. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +3 -2
  508. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  509. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  510. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  511. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +7 -6
  512. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  513. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  514. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  515. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +3 -2
  516. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  517. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js +1 -1
  518. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js.map +1 -1
  519. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.es.js +3 -2
  520. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.es.js.map +1 -1
  521. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  522. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  523. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +6 -5
  524. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  525. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  526. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  527. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +3 -2
  528. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  529. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  530. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  531. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +3 -2
  532. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  533. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  534. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  535. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +3 -2
  536. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  537. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  538. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  539. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +3 -2
  540. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  541. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  542. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  543. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +3 -2
  544. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  545. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  546. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  547. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +3 -2
  548. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  549. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  550. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  551. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +3 -2
  552. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  553. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +1 -1
  554. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  555. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +5 -4
  556. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  557. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  558. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  559. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +5 -4
  560. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  561. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
  562. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
  563. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +42 -42
  564. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
  565. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  566. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  567. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +3 -2
  568. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  569. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  570. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  571. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +6 -5
  572. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  573. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  574. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  575. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +3 -2
  576. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  577. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  578. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  579. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +3 -2
  580. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  581. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  582. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  583. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +3 -2
  584. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  585. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  586. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  587. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +3 -2
  588. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  589. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  590. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  591. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +3 -2
  592. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  593. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  594. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  595. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +3 -2
  596. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  597. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  598. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  599. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +3 -2
  600. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  601. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  602. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  603. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +3 -2
  604. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  605. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  606. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  607. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +3 -2
  608. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  609. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  610. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  611. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +3 -2
  612. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  613. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  614. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  615. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +3 -2
  616. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  617. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  618. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  619. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +3 -2
  620. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  621. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  622. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  623. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +19 -17
  624. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  625. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  626. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  627. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +14 -13
  628. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  629. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js +1 -1
  630. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
  631. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js +1 -0
  632. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
  633. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  634. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  635. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +4 -3
  636. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  637. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  638. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  639. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +5 -4
  640. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  641. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  642. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  643. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +3 -2
  644. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  645. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  646. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  647. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +3 -2
  648. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  649. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +1 -1
  650. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
  651. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +3 -2
  652. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
  653. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  654. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  655. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +3 -2
  656. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  657. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  658. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  659. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +3 -2
  660. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  661. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  662. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  663. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +3 -2
  664. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  665. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  666. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  667. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +5 -4
  668. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  669. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
  670. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
  671. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +3 -2
  672. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
  673. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
  674. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
  675. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +3 -2
  676. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
  677. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.cjs.js +1 -1
  678. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.cjs.js.map +1 -1
  679. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.es.js +3 -2
  680. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.es.js.map +1 -1
  681. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  682. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  683. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +3 -2
  684. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  685. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js +1 -1
  686. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -1
  687. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js +3 -2
  688. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -1
  689. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js +1 -1
  690. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js.map +1 -1
  691. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js +46 -45
  692. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js.map +1 -1
  693. package/dist/shared/src/containers/Views/ViewsButton/ViewsButton.cjs.js +1 -1
  694. package/dist/shared/src/containers/Views/ViewsButton/ViewsButton.cjs.js.map +1 -1
  695. package/dist/shared/src/containers/Views/ViewsButton/ViewsButton.es.js +30 -27
  696. package/dist/shared/src/containers/Views/ViewsButton/ViewsButton.es.js.map +1 -1
  697. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.cjs.js.map +1 -1
  698. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.es.js.map +1 -1
  699. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  700. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  701. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +32 -29
  702. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  703. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  704. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  705. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +39 -37
  706. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  707. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +2 -2
  708. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  709. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +34 -33
  710. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  711. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  712. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  713. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +84 -80
  714. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  715. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -1
  716. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
  717. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +62 -41
  718. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
  719. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js +1 -1
  720. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js.map +1 -1
  721. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js +3 -2
  722. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js.map +1 -1
  723. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  724. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  725. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +93 -91
  726. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  727. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  728. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  729. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +3 -2
  730. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  731. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  732. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  733. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +3 -2
  734. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  735. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  736. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  737. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +63 -44
  738. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  739. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  740. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  741. package/dist/shared/src/context/AddonProjectContext.es.js +5 -4
  742. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  743. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  744. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  745. package/dist/shared/src/context/DetailsPanelContext.es.js +5 -4
  746. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  747. package/dist/shared/src/context/GlobalContext.cjs.js +1 -1
  748. package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -1
  749. package/dist/shared/src/context/GlobalContext.es.js +5 -4
  750. package/dist/shared/src/context/GlobalContext.es.js.map +1 -1
  751. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  752. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  753. package/dist/shared/src/context/PowerpackContext.es.js +12 -11
  754. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  755. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  756. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  757. package/dist/shared/src/context/ProjectContext.es.js +5 -4
  758. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  759. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  760. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  761. package/dist/shared/src/context/ProjectFoldersContext.es.js +5 -4
  762. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  763. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  764. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  765. package/dist/shared/src/context/RemoteModulesContext.es.js +5 -4
  766. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  767. package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
  768. package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
  769. package/dist/shared/src/context/SubtasksModulesContext.es.js +5 -4
  770. package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
  771. package/dist/shared/src/context/UriContext.cjs.js +1 -1
  772. package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
  773. package/dist/shared/src/context/UriContext.es.js +6 -5
  774. package/dist/shared/src/context/UriContext.es.js.map +1 -1
  775. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  776. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  777. package/dist/shared/src/context/WebsocketContext.es.js +5 -4
  778. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  779. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  780. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  781. package/dist/shared/src/hooks/useActionTriggers.es.js +3 -2
  782. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  783. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  784. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  785. package/dist/shared/src/hooks/useEntityUpdate.es.js +3 -2
  786. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  787. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
  788. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
  789. package/dist/shared/src/hooks/useGetEntityGroups.es.js +3 -2
  790. package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
  791. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  792. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  793. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +3 -2
  794. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  795. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  796. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  797. package/dist/shared/src/hooks/useScopedStatuses.es.js +5 -4
  798. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  799. package/dist/shared/src/hooks/useScopedTypes.cjs.js +1 -1
  800. package/dist/shared/src/hooks/useScopedTypes.cjs.js.map +1 -1
  801. package/dist/shared/src/hooks/useScopedTypes.es.js +3 -2
  802. package/dist/shared/src/hooks/useScopedTypes.es.js.map +1 -1
  803. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  804. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  805. package/dist/shared/src/hooks/useUserProjectConfig.es.js +3 -2
  806. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  807. package/dist/types/api/generated/dataImport.d.ts +117 -0
  808. package/dist/types/api/generated/graphql.d.ts +66 -61
  809. package/dist/types/api/generated/graphqlLinks.d.ts +33 -32
  810. package/dist/types/api/generated/index.d.ts +1 -0
  811. package/dist/types/api/generated/projects.d.ts +18 -11
  812. package/dist/types/api/generated/views.d.ts +2 -0
  813. package/dist/types/api/queries/project/getProject.d.ts +2 -186
  814. package/dist/types/api/queries/project/updateProject.d.ts +11 -171
  815. package/dist/types/components/ReviewableProgressCard/ReviewableProgressCard.d.ts +1 -1
  816. package/dist/types/containers/ProjectTreeTable/hooks/useUpdateTableData.d.ts +1 -0
  817. package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +1 -1
  818. package/dist/types/containers/Slicer/hooks/useProjectAnatomySlices.d.ts +1 -1
  819. package/dist/types/containers/Views/ViewsButton/ViewsButton.d.ts +8 -1
  820. package/dist/types/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.d.ts +1 -0
  821. package/dist/types/containers/Views/context/ViewsContext.d.ts +2 -0
  822. package/dist/types/containers/Views/hooks/pages/useOverviewViewSettings.d.ts +1 -0
  823. package/dist/types/containers/Views/hooks/useBuildViewMenuItems.d.ts +2 -1
  824. package/dist/types/containers/Views/utils/viewUpdateHelper.d.ts +2 -2
  825. package/package.json +1 -1
@@ -10,6 +10,7 @@ import "../../../api/generated/attributes.es.js";
10
10
  import "../../../api/generated/authentication.es.js";
11
11
  import "../../../api/generated/bundles.es.js";
12
12
  import "../../../api/generated/configuration.es.js";
13
+ import "../../../api/generated/dataImport.es.js";
13
14
  import "../../../api/generated/desktop.es.js";
14
15
  import "../../../api/generated/entityLists.es.js";
15
16
  import "../../../api/generated/events.es.js";
@@ -86,68 +87,86 @@ import "../../../api/queries/users/updateUsers.es.js";
86
87
  import "../../../api/queries/users/guests.es.js";
87
88
  import "../../../api/queries/versions/updateVersions.es.js";
88
89
  import "../../../api/queries/views/getViews.es.js";
89
- import { useCreateViewMutation as M, useUpdateViewMutation as k } from "../../../api/queries/views/updateViews.es.js";
90
+ import { useCreateViewMutation as N, useUpdateViewMutation as W, viewsQueries as j } from "../../../api/queries/views/updateViews.es.js";
90
91
  import "../../../api/queries/watchers/getWatchers.es.js";
91
92
  import "../../../api/queries/uris/getUris.es.js";
92
- import { generateWorkingView as S } from "./generateWorkingView.es.js";
93
- import { toast as f } from "react-toastify";
94
- import { useCallback as y } from "react";
95
- import { useViewsContext as N } from "../context/ViewsContext.es.js";
96
- const W = async (s, r, n, o = {}, c, t) => {
93
+ import { generateWorkingView as x } from "./generateWorkingView.es.js";
94
+ import { toast as k } from "react-toastify";
95
+ import { useCallback as l } from "react";
96
+ import { useStore as F } from "react-redux";
97
+ import { useViewsContext as H } from "../context/ViewsContext.es.js";
98
+ let d = !1;
99
+ const b = () => {
100
+ d || (d = !0, queueMicrotask(() => {
101
+ d = !1;
102
+ }));
103
+ }, A = async (n, o, r, e = {}, s, a, f, t) => {
97
104
  const {
98
- viewSettings: a,
99
- viewType: p,
100
- projectName: d,
105
+ viewSettings: p,
106
+ viewType: m,
107
+ projectName: V,
101
108
  selectedView: i,
102
- setSelectedView: u,
103
- workingView: v,
104
- onSettingsChanged: l
105
- } = c;
106
- if (!p) throw new Error("No view type provided for updating view settings");
107
- const g = i?.id, V = i?.working;
109
+ setSelectedView: y,
110
+ workingView: C,
111
+ onSettingsChanged: v
112
+ } = s;
113
+ if (!m) throw new Error("No view type provided for updating view settings");
114
+ const h = i?.id, S = i?.working;
108
115
  try {
109
- r(n);
110
- const e = { ...a, ...s }, m = S(e), w = v?.id;
111
- w && (m.id = w);
112
- const h = m.id, C = t(
116
+ o(r);
117
+ const c = { ...f() ?? p, ...n }, g = x(c), w = C?.id;
118
+ w && (g.id = w);
119
+ const M = g.id, T = a(
113
120
  {
114
- payload: w ? { settings: e } : m,
115
- viewType: p,
116
- projectName: d
121
+ payload: w ? { settings: c } : g,
122
+ viewType: m,
123
+ projectName: V
117
124
  },
118
125
  w
119
126
  );
120
- V || (i && l(!0), u(h)), await C, r(null), o.successMessage && f.success(o.successMessage);
121
- } catch (e) {
122
- r(null), g && u(g), i && !V && l(!1), console.error(e);
123
- const m = o.errorMessage || `Failed to update view settings: ${e}`;
124
- f.error(m);
127
+ t(), S || (i && v(!0), y(M)), await T, o(null), e.successMessage && k.success(e.successMessage);
128
+ } catch (u) {
129
+ o(null), h && y(h), i && !S && v(!1), console.error(u);
130
+ const c = e.errorMessage || `Failed to update view settings: ${u}`;
131
+ k.error(c);
125
132
  }
126
- }, gi = () => {
127
- const [s] = M(), [r] = k(), n = N(), o = y(
128
- async (t, a) => {
129
- if (a) {
130
- const p = {};
133
+ }, Mi = () => {
134
+ const [n] = N(), [o] = W(), r = H(), e = F(), s = l(
135
+ async (t, p) => {
136
+ if (p) {
137
+ const m = {};
131
138
  return ["label", "owner", "settings"].forEach((i) => {
132
- t.payload[i] !== void 0 && (p[i] = t.payload[i]);
133
- }), await r({
139
+ t.payload[i] !== void 0 && (m[i] = t.payload[i]);
140
+ }), await o({
134
141
  viewType: t.viewType,
135
142
  projectName: t.projectName,
136
- viewId: a,
137
- payload: p
143
+ viewId: p,
144
+ payload: m
138
145
  }).unwrap();
139
146
  } else
140
- return await s(t).unwrap();
147
+ return await n(t).unwrap();
141
148
  },
142
- [s, r]
143
- );
144
- return { updateViewSettings: y(
145
- async (...t) => await W(...t, n, o),
146
149
  [n, o]
147
- ), onCreateView: o };
150
+ ), a = l(() => {
151
+ if (!d) return;
152
+ const { viewType: t, projectName: p } = r;
153
+ return t ? j.endpoints.getWorkingView.select({ viewType: t, projectName: p })(
154
+ e.getState()
155
+ )?.data?.settings : void 0;
156
+ }, [e, r]);
157
+ return { updateViewSettings: l(
158
+ async (...t) => await A(
159
+ ...t,
160
+ r,
161
+ s,
162
+ a,
163
+ b
164
+ ),
165
+ [r, s, a]
166
+ ), onCreateView: s };
148
167
  };
149
168
  export {
150
- W as updateViewSettings,
151
- gi as useViewUpdateHelper
169
+ A as updateViewSettings,
170
+ Mi as useViewUpdateHelper
152
171
  };
153
172
  //# sourceMappingURL=viewUpdateHelper.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"viewUpdateHelper.es.js","sources":["../../../../../../src/containers/Views/utils/viewUpdateHelper.ts"],"sourcesContent":["/**\n * Shared helper for updating view settings with optimistic local state management.\n *\n * This helper provides common functionality used by view settings hooks:\n * - Optimistic local state updates for immediate UI response\n * - Background API calls to persist changes\n * - Error handling with state reversion\n * - Working view management\n */\n\nimport {\n CreateViewApiArg,\n EntityIdResponse,\n useCreateViewMutation,\n useUpdateViewMutation,\n} from '@shared/api'\nimport { generateWorkingView } from './generateWorkingView'\nimport { toast } from 'react-toastify'\nimport { useCallback } from 'react'\nimport { useViewsContext, ViewsContextValue } from '../context/ViewsContext'\n\ninterface UpdateOptions {\n successMessage?: string\n errorMessage?: string\n}\n\nexport type UpdateViewSettingsFn = (\n updatedSettings: any,\n localStateSetter: (value: any) => void,\n newLocalValue: any,\n options: UpdateOptions,\n) => Promise<void>\n\nexport const updateViewSettings = async (\n updatedSettings: any,\n localStateSetter: (value: any) => void,\n newLocalValue: any,\n options: UpdateOptions = {},\n viewContext: ViewsContextValue,\n onApplyViewChanges: (arg: any, viewId?: string) => Promise<EntityIdResponse | void>,\n): Promise<void> => {\n const {\n viewSettings,\n viewType,\n projectName,\n selectedView,\n setSelectedView,\n workingView,\n onSettingsChanged,\n } = viewContext\n\n if (!viewType) throw new Error('No view type provided for updating view settings')\n\n const previousSelectedViewId = selectedView?.id\n const wasWorking = selectedView?.working\n\n try {\n // Immediately update local state for fast UI response\n localStateSetter(newLocalValue)\n\n // Create settings with updates\n const newSettings = { ...viewSettings, ...updatedSettings }\n\n // always update the working view no matter what\n const newWorkingView = generateWorkingView(newSettings)\n\n // Ensure the payload uses the consistent ID if we already have a working view\n const viewId = workingView?.id\n if (viewId) {\n newWorkingView.id = viewId\n }\n const newWorkingViewId = newWorkingView.id\n\n // Make API call in background\n // only include the fields that are updating (just settings)\n const payload = viewId ? { settings: newSettings } : newWorkingView\n\n const promise = onApplyViewChanges(\n {\n payload,\n viewType: viewType,\n projectName: projectName,\n },\n viewId,\n )\n\n // if not already on the working view: set that the settings have been changed to show the little blue save button and switch to the working view\n if (!wasWorking) {\n if (selectedView) {\n onSettingsChanged(true)\n }\n setSelectedView(newWorkingViewId as string)\n }\n\n await promise\n\n // Clear local state after successful API call - the server data will take over\n localStateSetter(null)\n\n if (options.successMessage) {\n toast.success(options.successMessage)\n }\n } catch (error) {\n // Revert local state on error\n localStateSetter(null)\n\n if (previousSelectedViewId) {\n setSelectedView(previousSelectedViewId)\n }\n\n if (selectedView && !wasWorking) {\n onSettingsChanged(false)\n }\n\n console.error(error)\n const errorMsg = options.errorMessage || `Failed to update view settings: ${error}`\n toast.error(errorMsg)\n }\n}\n\nexport const useViewUpdateHelper = () => {\n const [createView] = useCreateViewMutation()\n const [updateView] = useUpdateViewMutation()\n\n const viewContext = useViewsContext()\n\n const onApplyViewChanges = useCallback(\n async (arg: any, viewId?: string) => {\n if (viewId) {\n // Filter the payload to only include valid patch fields\n // and ideally only include fields that are actually being updated.\n // Expecting the caller to provide only the fields they want to update in the payload.\n const patchPayload: any = {}\n const patchFields = ['label', 'owner', 'settings']\n patchFields.forEach((key) => {\n if (arg.payload[key] !== undefined) {\n patchPayload[key] = arg.payload[key]\n }\n })\n\n return await updateView({\n viewType: arg.viewType,\n projectName: arg.projectName,\n viewId,\n payload: patchPayload,\n }).unwrap()\n } else {\n return await createView(arg).unwrap()\n }\n },\n [createView, updateView],\n )\n\n const updateViewSettingsHandler = useCallback<UpdateViewSettingsFn>(\n async (...args) => await updateViewSettings(...args, viewContext, onApplyViewChanges),\n [viewContext, onApplyViewChanges],\n )\n\n return { updateViewSettings: updateViewSettingsHandler, onCreateView: onApplyViewChanges }\n}\n"],"names":["updateViewSettings","updatedSettings","localStateSetter","newLocalValue","options","viewContext","onApplyViewChanges","viewSettings","viewType","projectName","selectedView","setSelectedView","workingView","onSettingsChanged","previousSelectedViewId","wasWorking","newSettings","newWorkingView","generateWorkingView","viewId","newWorkingViewId","promise","toast","error","errorMsg","useViewUpdateHelper","createView","useCreateViewMutation","updateView","useUpdateViewMutation","useViewsContext","useCallback","arg","patchPayload","key","args"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCO,MAAMA,IAAqB,OAChCC,GACAC,GACAC,GACAC,IAAyB,CAAA,GACzBC,GACAC,MACkB;AAClB,QAAM;AAAA,IACJ,cAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,mBAAAC;AAAA,EAAA,IACER;AAEJ,MAAI,CAACG,EAAU,OAAM,IAAI,MAAM,kDAAkD;AAEjF,QAAMM,IAAyBJ,GAAc,IACvCK,IAAaL,GAAc;AAEjC,MAAI;AAEF,IAAAR,EAAiBC,CAAa;AAG9B,UAAMa,IAAc,EAAE,GAAGT,GAAc,GAAGN,EAAA,GAGpCgB,IAAiBC,EAAoBF,CAAW,GAGhDG,IAASP,GAAa;AAC5B,IAAIO,MACFF,EAAe,KAAKE;AAEtB,UAAMC,IAAmBH,EAAe,IAMlCI,IAAUf;AAAA,MACd;AAAA,QACE,SAJYa,IAAS,EAAE,UAAUH,MAAgBC;AAAA,QAKjD,UAAAT;AAAA,QACA,aAAAC;AAAA,MAAA;AAAA,MAEFU;AAAA,IAAA;AAIF,IAAKJ,MACCL,KACFG,EAAkB,EAAI,GAExBF,EAAgBS,CAA0B,IAG5C,MAAMC,GAGNnB,EAAiB,IAAI,GAEjBE,EAAQ,kBACVkB,EAAM,QAAQlB,EAAQ,cAAc;AAAA,EAExC,SAASmB,GAAO;AAEd,IAAArB,EAAiB,IAAI,GAEjBY,KACFH,EAAgBG,CAAsB,GAGpCJ,KAAgB,CAACK,KACnBF,EAAkB,EAAK,GAGzB,QAAQ,MAAMU,CAAK;AACnB,UAAMC,IAAWpB,EAAQ,gBAAgB,mCAAmCmB,CAAK;AACjF,IAAAD,EAAM,MAAME,CAAQ;AAAA,EACtB;AACF,GAEaC,KAAsB,MAAM;AACvC,QAAM,CAACC,CAAU,IAAIC,EAAA,GACf,CAACC,CAAU,IAAIC,EAAA,GAEfxB,IAAcyB,EAAA,GAEdxB,IAAqByB;AAAA,IACzB,OAAOC,GAAUb,MAAoB;AACnC,UAAIA,GAAQ;AAIV,cAAMc,IAAoB,CAAA;AAE1B,eADoB,CAAC,SAAS,SAAS,UAAU,EACrC,QAAQ,CAACC,MAAQ;AAC3B,UAAIF,EAAI,QAAQE,CAAG,MAAM,WACvBD,EAAaC,CAAG,IAAIF,EAAI,QAAQE,CAAG;AAAA,QAEvC,CAAC,GAEM,MAAMN,EAAW;AAAA,UACtB,UAAUI,EAAI;AAAA,UACd,aAAaA,EAAI;AAAA,UACjB,QAAAb;AAAA,UACA,SAASc;AAAA,QAAA,CACV,EAAE,OAAA;AAAA,MACL;AACE,eAAO,MAAMP,EAAWM,CAAG,EAAE,OAAA;AAAA,IAEjC;AAAA,IACA,CAACN,GAAYE,CAAU;AAAA,EAAA;AAQzB,SAAO,EAAE,oBALyBG;AAAA,IAChC,UAAUI,MAAS,MAAMnC,EAAmB,GAAGmC,GAAM9B,GAAaC,CAAkB;AAAA,IACpF,CAACD,GAAaC,CAAkB;AAAA,EAAA,GAGsB,cAAcA,EAAA;AACxE;"}
1
+ {"version":3,"file":"viewUpdateHelper.es.js","sources":["../../../../../../src/containers/Views/utils/viewUpdateHelper.ts"],"sourcesContent":["/**\n * Shared helper for updating view settings with optimistic local state management.\n *\n * Sequential updateViewSettings calls in the same event tick MUST chain correctly:\n * the second call has to see the first call's changes. Closure-captured\n * `viewSettings` does not refresh between sync calls (no re-render yet), so we\n * read the latest settings from the RTK Query cache at call time instead.\n * RTK's updateView mutation performs an optimistic cache write in\n * `onQueryStarted`, so the cache is already up-to-date by the time the next\n * call reads it.\n */\n\nimport {\n CreateViewApiArg,\n EntityIdResponse,\n useCreateViewMutation,\n useUpdateViewMutation,\n viewsQueries,\n} from '@shared/api'\nimport { generateWorkingView } from './generateWorkingView'\nimport { toast } from 'react-toastify'\nimport { useCallback } from 'react'\nimport { useStore } from 'react-redux'\nimport { useViewsContext, ViewsContextValue, ViewSettings } from '../context/ViewsContext'\n\ninterface UpdateOptions {\n successMessage?: string\n errorMessage?: string\n}\n\n// Module-level flag shared across every useViewUpdateHelper instance. Set true\n// when a mutation has been dispatched in the current tick (RTK cache is now\n// optimistically fresh); reset on the next microtask. Must be module-level so\n// that two different hook instances (e.g. ProjectOverviewDataProvider +\n// ProjectOverviewContext) coordinate correctly when writes flow through one\n// and subsequent reads come from the other in the same event tick.\nlet cacheDirtyThisTick = false\nconst markCacheDirty = () => {\n if (cacheDirtyThisTick) return\n cacheDirtyThisTick = true\n queueMicrotask(() => {\n cacheDirtyThisTick = false\n })\n}\n\nexport type UpdateViewSettingsFn = (\n updatedSettings: any,\n localStateSetter: (value: any) => void,\n newLocalValue: any,\n options: UpdateOptions,\n) => Promise<void>\n\nexport const updateViewSettings = async (\n updatedSettings: any,\n localStateSetter: (value: any) => void,\n newLocalValue: any,\n options: UpdateOptions = {},\n viewContext: ViewsContextValue,\n onApplyViewChanges: (arg: any, viewId?: string) => Promise<EntityIdResponse | void>,\n // Reads latest effective settings from RTK Query cache at call time. Required to\n // prevent stale-closure races when two updates fire in the same tick.\n getLatestSettings: () => ViewSettings | undefined,\n // Invoked synchronously right after the mutation is dispatched. The caller\n // uses this to flip a \"cache is fresh this tick\" flag so subsequent sync\n // calls in the same tick read the just-updated cache instead of stale state.\n markCacheDirty: () => void,\n): Promise<void> => {\n const {\n viewSettings,\n viewType,\n projectName,\n selectedView,\n setSelectedView,\n workingView,\n onSettingsChanged,\n } = viewContext\n\n if (!viewType) throw new Error('No view type provided for updating view settings')\n\n const previousSelectedViewId = selectedView?.id\n const wasWorking = selectedView?.working\n\n try {\n // Immediately update local state for fast UI response\n localStateSetter(newLocalValue)\n\n // Read latest settings from RTK cache (includes prior same-tick optimistic writes).\n // Fallback to closure-captured value if cache has nothing (first render, etc.).\n const latestSettings = getLatestSettings() ?? viewSettings\n\n // Create settings with updates\n const newSettings = { ...latestSettings, ...updatedSettings }\n\n // always update the working view no matter what\n const newWorkingView = generateWorkingView(newSettings)\n\n // Ensure the payload uses the consistent ID if we already have a working view\n const viewId = workingView?.id\n if (viewId) {\n newWorkingView.id = viewId\n }\n const newWorkingViewId = newWorkingView.id\n\n // Make API call in background\n // only include the fields that are updating (just settings)\n const payload = viewId ? { settings: newSettings } : newWorkingView\n\n const promise = onApplyViewChanges(\n {\n payload,\n viewType: viewType,\n projectName: projectName,\n },\n viewId,\n )\n\n // Mutation dispatch above ran onQueryStarted synchronously → RTK cache now\n // reflects `newSettings`. Signal this so any subsequent sync call in the\n // same tick reads the fresh cache instead of the stale closure baseline.\n markCacheDirty()\n\n // if not already on the working view: set that the settings have been changed to show the little blue save button and switch to the working view\n if (!wasWorking) {\n if (selectedView) {\n onSettingsChanged(true)\n }\n setSelectedView(newWorkingViewId as string)\n }\n\n await promise\n\n // Clear local state after successful API call - the server data will take over\n localStateSetter(null)\n\n if (options.successMessage) {\n toast.success(options.successMessage)\n }\n } catch (error) {\n // Revert local state on error\n localStateSetter(null)\n\n if (previousSelectedViewId) {\n setSelectedView(previousSelectedViewId)\n }\n\n if (selectedView && !wasWorking) {\n onSettingsChanged(false)\n }\n\n console.error(error)\n const errorMsg = options.errorMessage || `Failed to update view settings: ${error}`\n toast.error(errorMsg)\n }\n}\n\nexport const useViewUpdateHelper = () => {\n const [createView] = useCreateViewMutation()\n const [updateView] = useUpdateViewMutation()\n\n const viewContext = useViewsContext()\n const store = useStore()\n\n const onApplyViewChanges = useCallback(\n async (arg: any, viewId?: string) => {\n if (viewId) {\n // Filter the payload to only include valid patch fields\n // and ideally only include fields that are actually being updated.\n // Expecting the caller to provide only the fields they want to update in the payload.\n const patchPayload: any = {}\n const patchFields = ['label', 'owner', 'settings']\n patchFields.forEach((key) => {\n if (arg.payload[key] !== undefined) {\n patchPayload[key] = arg.payload[key]\n }\n })\n\n return await updateView({\n viewType: arg.viewType,\n projectName: arg.projectName,\n viewId,\n payload: patchPayload,\n }).unwrap()\n } else {\n return await createView(arg).unwrap()\n }\n },\n [createView, updateView],\n )\n\n // Returns cached settings when a same-tick prior write has refreshed the\n // cache. Otherwise returns undefined and the caller falls back to the\n // closure-captured viewSettings (correct baseline for the first write in a\n // tick, including the named-view → working-view fork).\n const getLatestSettings = useCallback((): ViewSettings | undefined => {\n if (!cacheDirtyThisTick) return undefined\n const { viewType, projectName } = viewContext\n if (!viewType) return undefined\n // RTK selector state is typed against the full RootState; we don't have that\n // type in @shared and the store is project-specific. Cast is safe: the\n // selector only touches the api slice, which exists in every consumer app.\n const entry = viewsQueries.endpoints.getWorkingView.select({ viewType, projectName })(\n store.getState() as any,\n )\n return entry?.data?.settings\n }, [store, viewContext])\n\n const updateViewSettingsHandler = useCallback<UpdateViewSettingsFn>(\n async (...args) =>\n await updateViewSettings(\n ...args,\n viewContext,\n onApplyViewChanges,\n getLatestSettings,\n markCacheDirty,\n ),\n [viewContext, onApplyViewChanges, getLatestSettings],\n )\n\n return { updateViewSettings: updateViewSettingsHandler, onCreateView: onApplyViewChanges }\n}\n"],"names":["cacheDirtyThisTick","markCacheDirty","updateViewSettings","updatedSettings","localStateSetter","newLocalValue","options","viewContext","onApplyViewChanges","getLatestSettings","viewSettings","viewType","projectName","selectedView","setSelectedView","workingView","onSettingsChanged","previousSelectedViewId","wasWorking","newSettings","newWorkingView","generateWorkingView","viewId","newWorkingViewId","promise","toast","error","errorMsg","useViewUpdateHelper","createView","useCreateViewMutation","updateView","useUpdateViewMutation","useViewsContext","store","useStore","useCallback","arg","patchPayload","key","viewsQueries","args"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("../../../_virtual/jsx-runtime.cjs.js");require("../api/base/client.cjs.js");require("../api/generated/graphql.cjs.js");require("../api/generated/graphqlLinks.cjs.js");require("../api/generated/access.cjs.js");require("../api/generated/actions.cjs.js");require("../api/generated/activityFeed.cjs.js");require("../api/generated/addons.cjs.js");require("../api/generated/anatomy.cjs.js");require("../api/generated/attributes.cjs.js");require("../api/generated/authentication.cjs.js");require("../api/generated/bundles.cjs.js");require("../api/generated/configuration.cjs.js");require("../api/generated/desktop.cjs.js");require("../api/generated/entityLists.cjs.js");require("../api/generated/events.cjs.js");require("../api/generated/files.cjs.js");require("../api/generated/folders.cjs.js");require("../api/generated/inbox.cjs.js");require("../api/generated/links.cjs.js");require("../api/generated/market.cjs.js");require("../api/generated/onboarding.cjs.js");require("../api/generated/operations.cjs.js");require("../api/generated/products.cjs.js");require("../api/generated/projectDashboard.cjs.js");require("../api/generated/projects.cjs.js");require("../api/generated/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/config/getConfig.cjs.js");require("../api/queries/config/updateConfig.cjs.js");require("../api/queries/entities/getEntity.cjs.js");require("../api/queries/entities/getEntityPanel.cjs.js");require("../api/queries/entities/updateEntity.cjs.js");require("../api/queries/entityLists/getLists.cjs.js");require("../api/queries/entityLists/updateLists.cjs.js");require("../api/queries/entityLists/getListsAttributes.cjs.js");require("../api/queries/entityLists/updateListsAttributes.cjs.js");require("../api/queries/entityLists/listFolders.cjs.js");require("../api/queries/folders/getFolders.cjs.js");require("../api/queries/grouping/getGrouping.cjs.js");require("../api/queries/links/updateLinks.cjs.js");require("../api/queries/links/getLinks.cjs.js");require("../api/queries/links/getEntityLinks.cjs.js");require("../api/queries/overview/getOverview.cjs.js");require("../api/queries/overview/updateOverview.cjs.js");require("../api/queries/versions/getVersionsProducts.cjs.js");require("../api/queries/permissions/getPermissions.cjs.js");require("../api/queries/products/createProduct.cjs.js");require("../api/queries/products/getFolderProducts.cjs.js");const c=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");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");const u=require("react"),d=require("./GlobalContext.cjs.js"),i=u.createContext(void 0),x=({children:e,projectName:r,toast:q,...t})=>{const{data:o}=c.useGetProjectQuery({projectName:r},{skip:!r}),{user:n}=d.useGlobalContext();return s.jsxRuntimeExports.jsx(i.Provider,{value:{...t,projectName:r,project:o,user:n,toast:q},children:e})},P=()=>{const e=u.useContext(i);if(!e)throw new Error("useAddonProjectContext must be used within a AddonProjectContext");return e};exports.AddonProjectProvider=x;exports.useAddonProjectContext=P;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("../../../_virtual/jsx-runtime.cjs.js");require("../api/base/client.cjs.js");require("../api/generated/graphql.cjs.js");require("../api/generated/graphqlLinks.cjs.js");require("../api/generated/access.cjs.js");require("../api/generated/actions.cjs.js");require("../api/generated/activityFeed.cjs.js");require("../api/generated/addons.cjs.js");require("../api/generated/anatomy.cjs.js");require("../api/generated/attributes.cjs.js");require("../api/generated/authentication.cjs.js");require("../api/generated/bundles.cjs.js");require("../api/generated/configuration.cjs.js");require("../api/generated/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/config/getConfig.cjs.js");require("../api/queries/config/updateConfig.cjs.js");require("../api/queries/entities/getEntity.cjs.js");require("../api/queries/entities/getEntityPanel.cjs.js");require("../api/queries/entities/updateEntity.cjs.js");require("../api/queries/entityLists/getLists.cjs.js");require("../api/queries/entityLists/updateLists.cjs.js");require("../api/queries/entityLists/getListsAttributes.cjs.js");require("../api/queries/entityLists/updateListsAttributes.cjs.js");require("../api/queries/entityLists/listFolders.cjs.js");require("../api/queries/folders/getFolders.cjs.js");require("../api/queries/grouping/getGrouping.cjs.js");require("../api/queries/links/updateLinks.cjs.js");require("../api/queries/links/getLinks.cjs.js");require("../api/queries/links/getEntityLinks.cjs.js");require("../api/queries/overview/getOverview.cjs.js");require("../api/queries/overview/updateOverview.cjs.js");require("../api/queries/versions/getVersionsProducts.cjs.js");require("../api/queries/permissions/getPermissions.cjs.js");require("../api/queries/products/createProduct.cjs.js");require("../api/queries/products/getFolderProducts.cjs.js");const c=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");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");const u=require("react"),d=require("./GlobalContext.cjs.js"),i=u.createContext(void 0),x=({children:e,projectName:r,toast:q,...t})=>{const{data:o}=c.useGetProjectQuery({projectName:r},{skip:!r}),{user:n}=d.useGlobalContext();return s.jsxRuntimeExports.jsx(i.Provider,{value:{...t,projectName:r,project:o,user:n,toast:q},children:e})},P=()=>{const e=u.useContext(i);if(!e)throw new Error("useAddonProjectContext must be used within a AddonProjectContext");return e};exports.AddonProjectProvider=x;exports.useAddonProjectContext=P;
2
2
  //# sourceMappingURL=AddonProjectContext.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AddonProjectContext.cjs.js","sources":["../../../../src/context/AddonProjectContext.tsx"],"sourcesContent":["// NOT USED IN AYON-FRONTEND, ONLY IN ADDONS\n\nimport { ProjectModel, useGetProjectQuery, UserModel } from '@shared/api'\nimport { createContext, FC, useContext } from 'react'\nimport type { toast } from 'react-toastify'\nimport { useGlobalContext } from './GlobalContext'\nimport { RemotePageProps } from '@shared/components'\n\ntype ToastFunc = typeof toast\n\nexport interface RemoteAddonProjectProps extends RemotePageProps {}\n\nexport type RemoteAddonProjectComponent = FC<RemoteAddonProjectProps>\nexport type RemoteAddonProject = {\n id: string\n component: RemoteAddonProjectComponent\n name: string\n module: string\n viewType?: string // if the addon is using views\n slicer?: { fields: string[] }\n}\n\n// types for props passed to the provider\nexport interface AddonProjectContextValue extends RemoteAddonProjectProps {\n children: React.ReactNode\n}\n\n// types returned by context\nexport interface AddonProjectContextType extends RemoteAddonProjectProps {\n project: ProjectModel | undefined\n user: UserModel | undefined\n toast: ToastFunc\n}\n\nconst AddonProjectContext = createContext<AddonProjectContextType | undefined>(undefined)\n\nexport const AddonProjectProvider = ({\n children,\n projectName,\n // utils\n toast,\n ...props\n}: AddonProjectContextValue) => {\n // get current project data\n const { data: project } = useGetProjectQuery(\n { projectName: projectName as string },\n { skip: !projectName },\n )\n\n const { user } = useGlobalContext()\n\n return (\n <AddonProjectContext.Provider\n value={{\n ...props,\n projectName,\n project,\n user,\n toast,\n }}\n >\n {children}\n </AddonProjectContext.Provider>\n )\n}\n\nexport const useAddonProjectContext = () => {\n const context = useContext(AddonProjectContext)\n if (!context) {\n throw new Error('useAddonProjectContext must be used within a AddonProjectContext')\n }\n return context\n}\n"],"names":["AddonProjectContext","createContext","AddonProjectProvider","children","projectName","toast","props","project","useGetProjectQuery","user","useGlobalContext","jsx","useAddonProjectContext","context","useContext"],"mappings":"kpJAkCMA,EAAsBC,EAAAA,cAAmD,MAAS,EAE3EC,EAAuB,CAAC,CACnC,SAAAC,EACA,YAAAC,EAEA,MAAAC,EACA,GAAGC,CACL,IAAgC,CAE9B,KAAM,CAAE,KAAMC,CAAA,EAAYC,EAAAA,mBACxB,CAAE,YAAAJ,CAAA,EACF,CAAE,KAAM,CAACA,CAAA,CAAY,EAGjB,CAAE,KAAAK,CAAA,EAASC,mBAAA,EAEjB,OACEC,EAAAA,kBAAAA,IAACX,EAAoB,SAApB,CACC,MAAO,CACL,GAAGM,EACH,YAAAF,EACA,QAAAG,EACA,KAAAE,EACA,MAAAJ,CAAA,EAGD,SAAAF,CAAA,CAAA,CAGP,EAEaS,EAAyB,IAAM,CAC1C,MAAMC,EAAUC,EAAAA,WAAWd,CAAmB,EAC9C,GAAI,CAACa,EACH,MAAM,IAAI,MAAM,kEAAkE,EAEpF,OAAOA,CACT"}
1
+ {"version":3,"file":"AddonProjectContext.cjs.js","sources":["../../../../src/context/AddonProjectContext.tsx"],"sourcesContent":["// NOT USED IN AYON-FRONTEND, ONLY IN ADDONS\n\nimport { ProjectModel, useGetProjectQuery, UserModel } from '@shared/api'\nimport { createContext, FC, useContext } from 'react'\nimport type { toast } from 'react-toastify'\nimport { useGlobalContext } from './GlobalContext'\nimport { RemotePageProps } from '@shared/components'\n\ntype ToastFunc = typeof toast\n\nexport interface RemoteAddonProjectProps extends RemotePageProps {}\n\nexport type RemoteAddonProjectComponent = FC<RemoteAddonProjectProps>\nexport type RemoteAddonProject = {\n id: string\n component: RemoteAddonProjectComponent\n name: string\n module: string\n viewType?: string // if the addon is using views\n slicer?: { fields: string[] }\n}\n\n// types for props passed to the provider\nexport interface AddonProjectContextValue extends RemoteAddonProjectProps {\n children: React.ReactNode\n}\n\n// types returned by context\nexport interface AddonProjectContextType extends RemoteAddonProjectProps {\n project: ProjectModel | undefined\n user: UserModel | undefined\n toast: ToastFunc\n}\n\nconst AddonProjectContext = createContext<AddonProjectContextType | undefined>(undefined)\n\nexport const AddonProjectProvider = ({\n children,\n projectName,\n // utils\n toast,\n ...props\n}: AddonProjectContextValue) => {\n // get current project data\n const { data: project } = useGetProjectQuery(\n { projectName: projectName as string },\n { skip: !projectName },\n )\n\n const { user } = useGlobalContext()\n\n return (\n <AddonProjectContext.Provider\n value={{\n ...props,\n projectName,\n project,\n user,\n toast,\n }}\n >\n {children}\n </AddonProjectContext.Provider>\n )\n}\n\nexport const useAddonProjectContext = () => {\n const context = useContext(AddonProjectContext)\n if (!context) {\n throw new Error('useAddonProjectContext must be used within a AddonProjectContext')\n }\n return context\n}\n"],"names":["AddonProjectContext","createContext","AddonProjectProvider","children","projectName","toast","props","project","useGetProjectQuery","user","useGlobalContext","jsx","useAddonProjectContext","context","useContext"],"mappings":"gsJAkCMA,EAAsBC,EAAAA,cAAmD,MAAS,EAE3EC,EAAuB,CAAC,CACnC,SAAAC,EACA,YAAAC,EAEA,MAAAC,EACA,GAAGC,CACL,IAAgC,CAE9B,KAAM,CAAE,KAAMC,CAAA,EAAYC,EAAAA,mBACxB,CAAE,YAAAJ,CAAA,EACF,CAAE,KAAM,CAACA,CAAA,CAAY,EAGjB,CAAE,KAAAK,CAAA,EAASC,mBAAA,EAEjB,OACEC,EAAAA,kBAAAA,IAACX,EAAoB,SAApB,CACC,MAAO,CACL,GAAGM,EACH,YAAAF,EACA,QAAAG,EACA,KAAAE,EACA,MAAAJ,CAAA,EAGD,SAAAF,CAAA,CAAA,CAGP,EAEaS,EAAyB,IAAM,CAC1C,MAAMC,EAAUC,EAAAA,WAAWd,CAAmB,EAC9C,GAAI,CAACa,EACH,MAAM,IAAI,MAAM,kEAAkE,EAEpF,OAAOA,CACT"}
@@ -11,6 +11,7 @@ import "../api/generated/attributes.es.js";
11
11
  import "../api/generated/authentication.es.js";
12
12
  import "../api/generated/bundles.es.js";
13
13
  import "../api/generated/configuration.es.js";
14
+ import "../api/generated/dataImport.es.js";
14
15
  import "../api/generated/desktop.es.js";
15
16
  import "../api/generated/entityLists.es.js";
16
17
  import "../api/generated/events.es.js";
@@ -92,7 +93,7 @@ import "../api/queries/watchers/getWatchers.es.js";
92
93
  import "../api/queries/uris/getUris.es.js";
93
94
  import { createContext as d, useContext as c } from "react";
94
95
  import { useGlobalContext as u } from "./GlobalContext.es.js";
95
- const r = d(void 0), $t = ({
96
+ const r = d(void 0), Nt = ({
96
97
  children: t,
97
98
  projectName: o,
98
99
  // utils
@@ -116,14 +117,14 @@ const r = d(void 0), $t = ({
116
117
  children: t
117
118
  }
118
119
  );
119
- }, Nt = () => {
120
+ }, to = () => {
120
121
  const t = c(r);
121
122
  if (!t)
122
123
  throw new Error("useAddonProjectContext must be used within a AddonProjectContext");
123
124
  return t;
124
125
  };
125
126
  export {
126
- $t as AddonProjectProvider,
127
- Nt as useAddonProjectContext
127
+ Nt as AddonProjectProvider,
128
+ to as useAddonProjectContext
128
129
  };
129
130
  //# sourceMappingURL=AddonProjectContext.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AddonProjectContext.es.js","sources":["../../../../src/context/AddonProjectContext.tsx"],"sourcesContent":["// NOT USED IN AYON-FRONTEND, ONLY IN ADDONS\n\nimport { ProjectModel, useGetProjectQuery, UserModel } from '@shared/api'\nimport { createContext, FC, useContext } from 'react'\nimport type { toast } from 'react-toastify'\nimport { useGlobalContext } from './GlobalContext'\nimport { RemotePageProps } from '@shared/components'\n\ntype ToastFunc = typeof toast\n\nexport interface RemoteAddonProjectProps extends RemotePageProps {}\n\nexport type RemoteAddonProjectComponent = FC<RemoteAddonProjectProps>\nexport type RemoteAddonProject = {\n id: string\n component: RemoteAddonProjectComponent\n name: string\n module: string\n viewType?: string // if the addon is using views\n slicer?: { fields: string[] }\n}\n\n// types for props passed to the provider\nexport interface AddonProjectContextValue extends RemoteAddonProjectProps {\n children: React.ReactNode\n}\n\n// types returned by context\nexport interface AddonProjectContextType extends RemoteAddonProjectProps {\n project: ProjectModel | undefined\n user: UserModel | undefined\n toast: ToastFunc\n}\n\nconst AddonProjectContext = createContext<AddonProjectContextType | undefined>(undefined)\n\nexport const AddonProjectProvider = ({\n children,\n projectName,\n // utils\n toast,\n ...props\n}: AddonProjectContextValue) => {\n // get current project data\n const { data: project } = useGetProjectQuery(\n { projectName: projectName as string },\n { skip: !projectName },\n )\n\n const { user } = useGlobalContext()\n\n return (\n <AddonProjectContext.Provider\n value={{\n ...props,\n projectName,\n project,\n user,\n toast,\n }}\n >\n {children}\n </AddonProjectContext.Provider>\n )\n}\n\nexport const useAddonProjectContext = () => {\n const context = useContext(AddonProjectContext)\n if (!context) {\n throw new Error('useAddonProjectContext must be used within a AddonProjectContext')\n }\n return context\n}\n"],"names":["AddonProjectContext","createContext","AddonProjectProvider","children","projectName","toast","props","project","useGetProjectQuery","user","useGlobalContext","jsx","useAddonProjectContext","context","useContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,MAAMA,IAAsBC,EAAmD,MAAS,GAE3EC,KAAuB,CAAC;AAAA,EACnC,UAAAC;AAAA,EACA,aAAAC;AAAA;AAAA,EAEA,OAAAC;AAAA,EACA,GAAGC;AACL,MAAgC;AAE9B,QAAM,EAAE,MAAMC,EAAA,IAAYC;AAAA,IACxB,EAAE,aAAAJ,EAAA;AAAA,IACF,EAAE,MAAM,CAACA,EAAA;AAAA,EAAY,GAGjB,EAAE,MAAAK,EAAA,IAASC,EAAA;AAEjB,SACEC,gBAAAA,EAAAA;AAAAA,IAACX,EAAoB;AAAA,IAApB;AAAA,MACC,OAAO;AAAA,QACL,GAAGM;AAAA,QACH,aAAAF;AAAA,QACA,SAAAG;AAAA,QACA,MAAAE;AAAA,QACA,OAAAJ;AAAA,MAAA;AAAA,MAGD,UAAAF;AAAA,IAAA;AAAA,EAAA;AAGP,GAEaS,KAAyB,MAAM;AAC1C,QAAMC,IAAUC,EAAWd,CAAmB;AAC9C,MAAI,CAACa;AACH,UAAM,IAAI,MAAM,kEAAkE;AAEpF,SAAOA;AACT;"}
1
+ {"version":3,"file":"AddonProjectContext.es.js","sources":["../../../../src/context/AddonProjectContext.tsx"],"sourcesContent":["// NOT USED IN AYON-FRONTEND, ONLY IN ADDONS\n\nimport { ProjectModel, useGetProjectQuery, UserModel } from '@shared/api'\nimport { createContext, FC, useContext } from 'react'\nimport type { toast } from 'react-toastify'\nimport { useGlobalContext } from './GlobalContext'\nimport { RemotePageProps } from '@shared/components'\n\ntype ToastFunc = typeof toast\n\nexport interface RemoteAddonProjectProps extends RemotePageProps {}\n\nexport type RemoteAddonProjectComponent = FC<RemoteAddonProjectProps>\nexport type RemoteAddonProject = {\n id: string\n component: RemoteAddonProjectComponent\n name: string\n module: string\n viewType?: string // if the addon is using views\n slicer?: { fields: string[] }\n}\n\n// types for props passed to the provider\nexport interface AddonProjectContextValue extends RemoteAddonProjectProps {\n children: React.ReactNode\n}\n\n// types returned by context\nexport interface AddonProjectContextType extends RemoteAddonProjectProps {\n project: ProjectModel | undefined\n user: UserModel | undefined\n toast: ToastFunc\n}\n\nconst AddonProjectContext = createContext<AddonProjectContextType | undefined>(undefined)\n\nexport const AddonProjectProvider = ({\n children,\n projectName,\n // utils\n toast,\n ...props\n}: AddonProjectContextValue) => {\n // get current project data\n const { data: project } = useGetProjectQuery(\n { projectName: projectName as string },\n { skip: !projectName },\n )\n\n const { user } = useGlobalContext()\n\n return (\n <AddonProjectContext.Provider\n value={{\n ...props,\n projectName,\n project,\n user,\n toast,\n }}\n >\n {children}\n </AddonProjectContext.Provider>\n )\n}\n\nexport const useAddonProjectContext = () => {\n const context = useContext(AddonProjectContext)\n if (!context) {\n throw new Error('useAddonProjectContext must be used within a AddonProjectContext')\n }\n return context\n}\n"],"names":["AddonProjectContext","createContext","AddonProjectProvider","children","projectName","toast","props","project","useGetProjectQuery","user","useGlobalContext","jsx","useAddonProjectContext","context","useContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,MAAMA,IAAsBC,EAAmD,MAAS,GAE3EC,KAAuB,CAAC;AAAA,EACnC,UAAAC;AAAA,EACA,aAAAC;AAAA;AAAA,EAEA,OAAAC;AAAA,EACA,GAAGC;AACL,MAAgC;AAE9B,QAAM,EAAE,MAAMC,EAAA,IAAYC;AAAA,IACxB,EAAE,aAAAJ,EAAA;AAAA,IACF,EAAE,MAAM,CAACA,EAAA;AAAA,EAAY,GAGjB,EAAE,MAAAK,EAAA,IAASC,EAAA;AAEjB,SACEC,gBAAAA,EAAAA;AAAAA,IAACX,EAAoB;AAAA,IAApB;AAAA,MACC,OAAO;AAAA,QACL,GAAGM;AAAA,QACH,aAAAF;AAAA,QACA,SAAAG;AAAA,QACA,MAAAE;AAAA,QACA,OAAAJ;AAAA,MAAA;AAAA,MAGD,UAAAF;AAAA,IAAA;AAAA,EAAA;AAGP,GAEaS,KAAyB,MAAM;AAC1C,QAAMC,IAAUC,EAAWd,CAAmB;AAC9C,MAAI,CAACa;AACH,UAAM,IAAI,MAAM,kEAAkE;AAEpF,SAAOA;AACT;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ee=require("../../../_virtual/jsx-runtime.cjs.js"),e=require("react"),re=require("./PowerpackContext.cjs.js"),ie=require("./UriContext.cjs.js"),w=require("../hooks/useLocalStorage.cjs.js");require("./RemoteModulesContext.cjs.js");require("../../../_virtual/runtime.cjs.js");require("../../../_virtual/semver.cjs.js");require("../api/base/client.cjs.js");require("../api/generated/graphql.cjs.js");require("../api/generated/graphqlLinks.cjs.js");require("../api/generated/access.cjs.js");require("../api/generated/actions.cjs.js");require("../api/generated/activityFeed.cjs.js");require("../api/generated/addons.cjs.js");require("../api/generated/anatomy.cjs.js");require("../api/generated/attributes.cjs.js");require("../api/generated/authentication.cjs.js");require("../api/generated/bundles.cjs.js");require("../api/generated/configuration.cjs.js");require("../api/generated/desktop.cjs.js");require("../api/generated/entityLists.cjs.js");require("../api/generated/events.cjs.js");require("../api/generated/files.cjs.js");require("../api/generated/folders.cjs.js");require("../api/generated/inbox.cjs.js");require("../api/generated/links.cjs.js");require("../api/generated/market.cjs.js");require("../api/generated/onboarding.cjs.js");require("../api/generated/operations.cjs.js");require("../api/generated/products.cjs.js");require("../api/generated/projectDashboard.cjs.js");require("../api/generated/projects.cjs.js");require("../api/generated/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/config/getConfig.cjs.js");require("../api/queries/config/updateConfig.cjs.js");require("../api/queries/entities/getEntity.cjs.js");require("../api/queries/entities/getEntityPanel.cjs.js");require("../api/queries/entities/updateEntity.cjs.js");require("../api/queries/entityLists/getLists.cjs.js");require("../api/queries/entityLists/updateLists.cjs.js");require("../api/queries/entityLists/getListsAttributes.cjs.js");require("../api/queries/entityLists/updateListsAttributes.cjs.js");require("../api/queries/entityLists/listFolders.cjs.js");require("../api/queries/folders/getFolders.cjs.js");require("../api/queries/grouping/getGrouping.cjs.js");require("../api/queries/links/updateLinks.cjs.js");require("../api/queries/links/getLinks.cjs.js");require("../api/queries/links/getEntityLinks.cjs.js");require("../api/queries/overview/getOverview.cjs.js");require("../api/queries/overview/updateOverview.cjs.js");require("../api/queries/versions/getVersionsProducts.cjs.js");require("../api/queries/permissions/getPermissions.cjs.js");require("../api/queries/products/createProduct.cjs.js");require("../api/queries/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");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("lodash");require("react-toastify");require("./SubtasksModulesContext.cjs.js");require("./ThumbnailUploaderContext.cjs.js");require("./SettingsPanelContext.cjs.js");require("./pip/PiPProvider.cjs.js");require("react-dom");require("./pip/PiPWrapper.cjs.js");require("./AddonProjectContext.cjs.js");require("./AddonContext.cjs.js");require("./MoveEntityContext.cjs.js");require("./MenuContext.cjs.js");require("./WebsocketContext.cjs.js");require("./GlobalContext.cjs.js");require("./ProjectContext.cjs.js");require("./ProjectFoldersContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");const te=["feed","subtasks","details","files"],F=i=>typeof i=="string"&&te.includes(i),I=e.createContext(void 0),ue=({children:i,defaultTab:c="feed",hasLicense:y,debug:s={},...n})=>{const a=n.user,l="isDeveloperMode"in s?s.isDeveloperMode:a?.attrib?.developerMode??!1,P="isGuest"in s?s.isGuest:a?.data?.isGuest,{powerLicense:b,setPowerpackDialog:f}=re.usePowerpack(),u="hasLicense"in s?s.hasLicense:!!b||y,[q,T]=e.useState({}),[B,M]=e.useState([]),N=e.useCallback(r=>q[r]?q[r]:!1,[q]),R=e.useCallback((r,o)=>{const t={...q};t[r]=o,T(t)},[q]),[p,U]=w.useLocalStorage("details/tabs-by-scope",{}),G=e.useCallback(r=>{const o=p[r];return F(o)?o:c},[p,c]),[k,x]=e.useState(null),_=e.useCallback(r=>{x(r)},[]),O=e.useCallback(()=>{x(null),k&&g([])},[]);e.useEffect(()=>{O()},[n.useLocation().pathname]);const[H,m]=e.useState(null),z=e.useCallback(r=>{m(r)},[]),J=e.useCallback(()=>{m(null)},[]),[K,v]=e.useState(null),[Q,g]=e.useState([]),{uriType:V,uri:W,entity:d,getUriEntities:X}=ie.useURIContext(),[S]=n.useSearchParams(),h=S.get("project"),D=S.get("type"),C=S.get("id"),E=S.get("activity");e.useEffect(()=>{if(V==="entity"&&d&&d.entityType!=="product"){X().then(r=>{if(r.length===0)return;const o=r.find($=>$.uri===W),t=o?.entities?.[0];if(!o||!t)return;const L=t?.projectName||d.projectName||"",j=t.representationId||t.versionId||t.productId||t.taskId||t.folderId;if(!L||!j)return;const Z={entityType:d.entityType,entities:[{id:j,projectName:L}],source:"uri"};v(Z)}).catch(r=>{console.warn("Failed to get URI entities:",r)});return}h&&D&&C&&(v({entityType:D,entities:[{id:C,projectName:h}],source:"url"}),E&&(g([E]),U({...p,overview:"feed"})))},[h,D,C]);const Y={panelOpenByScope:q,getOpenForScope:N,setPanelOpen:R,setPanelOpenByScope:T,tabsByScope:p,getTabForScope:G,slideOut:k,openSlideOut:_,closeSlideOut:O,highlightedActivities:Q,setHighlightedActivities:g,pip:H,openPip:z,closePip:J,entities:K,setEntities:v,feedAnnotations:B,setFeedAnnotations:M,isDeveloperMode:l,isGuest:P,hasLicense:u,onPowerFeature:f,...n};return ee.jsxRuntimeExports.jsx(I.Provider,{value:Y,children:i})},A=()=>{const i=e.useContext(I);if(i===void 0)throw new Error("useDetailsPanel must be used within a DetailsPanelProvider");return i},se=i=>{const{getOpenForScope:c,setPanelOpen:y,getTabForScope:s}=A(),[n,a]=w.useLocalStorage("details/tabs-by-scope",{}),[l,P]=e.useState(()=>{const u=n[i];return F(u)?u:s(i)}),b=e.useCallback(u=>{P(u),a({...n,[i]:u})},[i,a]),f=l==="feed";return{isOpen:c(i),setOpen:u=>y(i,u),currentTab:l,setTab:b,isFeed:f}};exports.DetailsPanelProvider=ue;exports.useDetailsPanelContext=A;exports.useScopedDetailsPanel=se;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ee=require("../../../_virtual/jsx-runtime.cjs.js"),e=require("react"),re=require("./PowerpackContext.cjs.js"),ie=require("./UriContext.cjs.js"),w=require("../hooks/useLocalStorage.cjs.js");require("./RemoteModulesContext.cjs.js");require("../../../_virtual/runtime.cjs.js");require("../../../_virtual/semver.cjs.js");require("../api/base/client.cjs.js");require("../api/generated/graphql.cjs.js");require("../api/generated/graphqlLinks.cjs.js");require("../api/generated/access.cjs.js");require("../api/generated/actions.cjs.js");require("../api/generated/activityFeed.cjs.js");require("../api/generated/addons.cjs.js");require("../api/generated/anatomy.cjs.js");require("../api/generated/attributes.cjs.js");require("../api/generated/authentication.cjs.js");require("../api/generated/bundles.cjs.js");require("../api/generated/configuration.cjs.js");require("../api/generated/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/config/getConfig.cjs.js");require("../api/queries/config/updateConfig.cjs.js");require("../api/queries/entities/getEntity.cjs.js");require("../api/queries/entities/getEntityPanel.cjs.js");require("../api/queries/entities/updateEntity.cjs.js");require("../api/queries/entityLists/getLists.cjs.js");require("../api/queries/entityLists/updateLists.cjs.js");require("../api/queries/entityLists/getListsAttributes.cjs.js");require("../api/queries/entityLists/updateListsAttributes.cjs.js");require("../api/queries/entityLists/listFolders.cjs.js");require("../api/queries/folders/getFolders.cjs.js");require("../api/queries/grouping/getGrouping.cjs.js");require("../api/queries/links/updateLinks.cjs.js");require("../api/queries/links/getLinks.cjs.js");require("../api/queries/links/getEntityLinks.cjs.js");require("../api/queries/overview/getOverview.cjs.js");require("../api/queries/overview/updateOverview.cjs.js");require("../api/queries/versions/getVersionsProducts.cjs.js");require("../api/queries/permissions/getPermissions.cjs.js");require("../api/queries/products/createProduct.cjs.js");require("../api/queries/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");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("lodash");require("react-toastify");require("./SubtasksModulesContext.cjs.js");require("./ThumbnailUploaderContext.cjs.js");require("./SettingsPanelContext.cjs.js");require("./pip/PiPProvider.cjs.js");require("react-dom");require("./pip/PiPWrapper.cjs.js");require("./AddonProjectContext.cjs.js");require("./AddonContext.cjs.js");require("./MoveEntityContext.cjs.js");require("./MenuContext.cjs.js");require("./WebsocketContext.cjs.js");require("./GlobalContext.cjs.js");require("./ProjectContext.cjs.js");require("./ProjectFoldersContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");const te=["feed","subtasks","details","files"],F=i=>typeof i=="string"&&te.includes(i),I=e.createContext(void 0),ue=({children:i,defaultTab:c="feed",hasLicense:y,debug:s={},...n})=>{const a=n.user,l="isDeveloperMode"in s?s.isDeveloperMode:a?.attrib?.developerMode??!1,P="isGuest"in s?s.isGuest:a?.data?.isGuest,{powerLicense:b,setPowerpackDialog:f}=re.usePowerpack(),u="hasLicense"in s?s.hasLicense:!!b||y,[q,T]=e.useState({}),[B,M]=e.useState([]),N=e.useCallback(r=>q[r]?q[r]:!1,[q]),R=e.useCallback((r,o)=>{const t={...q};t[r]=o,T(t)},[q]),[p,U]=w.useLocalStorage("details/tabs-by-scope",{}),G=e.useCallback(r=>{const o=p[r];return F(o)?o:c},[p,c]),[k,x]=e.useState(null),_=e.useCallback(r=>{x(r)},[]),O=e.useCallback(()=>{x(null),k&&g([])},[]);e.useEffect(()=>{O()},[n.useLocation().pathname]);const[H,m]=e.useState(null),z=e.useCallback(r=>{m(r)},[]),J=e.useCallback(()=>{m(null)},[]),[K,v]=e.useState(null),[Q,g]=e.useState([]),{uriType:V,uri:W,entity:d,getUriEntities:X}=ie.useURIContext(),[S]=n.useSearchParams(),h=S.get("project"),D=S.get("type"),C=S.get("id"),E=S.get("activity");e.useEffect(()=>{if(V==="entity"&&d&&d.entityType!=="product"){X().then(r=>{if(r.length===0)return;const o=r.find($=>$.uri===W),t=o?.entities?.[0];if(!o||!t)return;const L=t?.projectName||d.projectName||"",j=t.representationId||t.versionId||t.productId||t.taskId||t.folderId;if(!L||!j)return;const Z={entityType:d.entityType,entities:[{id:j,projectName:L}],source:"uri"};v(Z)}).catch(r=>{console.warn("Failed to get URI entities:",r)});return}h&&D&&C&&(v({entityType:D,entities:[{id:C,projectName:h}],source:"url"}),E&&(g([E]),U({...p,overview:"feed"})))},[h,D,C]);const Y={panelOpenByScope:q,getOpenForScope:N,setPanelOpen:R,setPanelOpenByScope:T,tabsByScope:p,getTabForScope:G,slideOut:k,openSlideOut:_,closeSlideOut:O,highlightedActivities:Q,setHighlightedActivities:g,pip:H,openPip:z,closePip:J,entities:K,setEntities:v,feedAnnotations:B,setFeedAnnotations:M,isDeveloperMode:l,isGuest:P,hasLicense:u,onPowerFeature:f,...n};return ee.jsxRuntimeExports.jsx(I.Provider,{value:Y,children:i})},A=()=>{const i=e.useContext(I);if(i===void 0)throw new Error("useDetailsPanel must be used within a DetailsPanelProvider");return i},se=i=>{const{getOpenForScope:c,setPanelOpen:y,getTabForScope:s}=A(),[n,a]=w.useLocalStorage("details/tabs-by-scope",{}),[l,P]=e.useState(()=>{const u=n[i];return F(u)?u:s(i)}),b=e.useCallback(u=>{P(u),a({...n,[i]:u})},[i,a]),f=l==="feed";return{isOpen:c(i),setOpen:u=>y(i,u),currentTab:l,setTab:b,isFeed:f}};exports.DetailsPanelProvider=ue;exports.useDetailsPanelContext=A;exports.useScopedDetailsPanel=se;
2
2
  //# sourceMappingURL=DetailsPanelContext.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DetailsPanelContext.cjs.js","sources":["../../../../src/context/DetailsPanelContext.tsx"],"sourcesContent":["import React, {\n createContext,\n ReactNode,\n useCallback,\n useContext,\n useEffect,\n useState,\n} from 'react'\nimport { QueryFilter, UserModel, DetailsPanelEntityType } from '@shared/api'\nimport { useLocation, useNavigate, useParams, useSearchParams } from 'react-router-dom'\nimport { SavedAnnotationMetadata } from '@shared/containers'\nimport { PowerpackFeature, usePowerpack } from './PowerpackContext'\nimport { useURIContext } from './UriContext'\nimport { useLocalStorage } from '@shared/hooks'\nimport type { SubtasksManagerProps } from '@shared/components'\n\n// High-level tabs for the details panel\nexport type DetailsPanelTab = 'feed' | 'subtasks' | 'details' | 'files'\n\n// Filters within the feed tab\nexport type FeedFilter = QueryFilter\n\nexport type SlideOut = {\n entityId: string\n entityType: DetailsPanelEntityType\n projectName: string\n}\n\nexport type DetailsPanelPip = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n scope: string\n}\n\nexport type Entities = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n entitySubTypes?: string[]\n source?: 'uri' | 'url' | 'related' // uri = ayon+entity://..., url = ?project=...&type=...&id=...\n}\n\nexport interface OpenStateByScope {\n [scope: string]: boolean\n}\n\n// Create a new interface for managing tab state by scope\nexport interface TabStateByScope {\n [scope: string]: DetailsPanelTab\n}\n\nconst DETAILS_PANEL_TABS: DetailsPanelTab[] = ['feed', 'subtasks', 'details', 'files']\n\nconst isDetailsPanelTab = (tab: unknown): tab is DetailsPanelTab =>\n typeof tab === 'string' && DETAILS_PANEL_TABS.includes(tab as DetailsPanelTab)\n\n// these props get forwarded to the details panel value\n// it's mainly redux callbacks that cannot be used in shared library\nexport interface DetailsPanelContextProps {\n dispatch?: any // this is a redux dispatch function and it's quite annoying we need to do this\n user: UserModel\n viewer?: {\n reviewableIds: string[]\n taskId?: string | null\n folderId?: string | null\n }\n // redux callback actions\n onOpenImage?: (args: any) => void\n onGoToFrame?: (frame: number) => void\n onOpenViewer?: (args: any) => void\n onUpdateEntity?: (data: { operations: any[]; entityType: string }) => void\n // route hooks\n useParams: typeof useParams\n useNavigate: typeof useNavigate\n useLocation: typeof useLocation\n useSearchParams: typeof useSearchParams\n feedAnnotationsEnabled?: boolean\n hasLicense?: boolean\n // SubtasksManager component\n SubtasksManager?: React.ComponentType<SubtasksManagerProps>\n // debugging used to simulate different values\n debug?: {\n isDeveloperMode?: boolean\n isGuest?: boolean\n hasLicense?: boolean\n }\n}\n\n// Interface for our simplified context\nexport interface DetailsPanelContextType extends DetailsPanelContextProps {\n // user\n isDeveloperMode: boolean\n isGuest: boolean\n // Open state for the panel by scope\n panelOpenByScope: OpenStateByScope\n getOpenForScope: (scope: string) => boolean\n setPanelOpen: (scope: string, isOpen: boolean) => void\n setPanelOpenByScope: (newState: OpenStateByScope) => void\n\n // Tab preferences by scope\n tabsByScope: TabStateByScope\n getTabForScope: (scope: string) => DetailsPanelTab\n\n // Slide out state\n slideOut: null | SlideOut\n openSlideOut: (slideOut: SlideOut) => void\n closeSlideOut: () => void\n\n // Highlighted activities\n highlightedActivities: string[]\n setHighlightedActivities: (activities: string[]) => void\n\n // PiP state\n pip: DetailsPanelPip | null\n openPip: (pip: DetailsPanelPip) => void\n closePip: () => void\n\n // Entities state\n entities: Entities | null\n setEntities: (entities: Entities | null) => void\n\n // Annotations\n feedAnnotations: SavedAnnotationMetadata[]\n setFeedAnnotations: (annotations: SavedAnnotationMetadata[]) => void\n\n // powerpack\n onPowerFeature: (feature: PowerpackFeature) => void\n}\n\n// Create the context\nconst DetailsPanelContext = createContext<DetailsPanelContextType | undefined>(undefined)\n\n// Provider component\nexport interface DetailsPanelProviderProps extends DetailsPanelContextProps {\n children: ReactNode\n defaultTab?: DetailsPanelTab\n}\n\nexport const DetailsPanelProvider: React.FC<DetailsPanelProviderProps> = ({\n children,\n defaultTab = 'feed',\n hasLicense: hasLicenseProp,\n debug = {},\n ...forwardedProps\n}) => {\n const user = forwardedProps.user\n const isDeveloperMode =\n 'isDeveloperMode' in debug\n ? (debug.isDeveloperMode as boolean)\n : user?.attrib?.developerMode ?? false\n const isGuest = 'isGuest' in debug ? (debug.isGuest as boolean) : user?.data?.isGuest\n\n // get license from powerpack or forwarded down from props\n const { powerLicense, setPowerpackDialog } = usePowerpack()\n const hasLicense =\n 'hasLicense' in debug ? (debug.hasLicense as boolean) : !!powerLicense || hasLicenseProp\n\n // keep track of the currently open panel by scope\n const [panelOpenByScope, setPanelOpenByScope] = useState<OpenStateByScope>({})\n const [feedAnnotations, setFeedAnnotations] = useState<SavedAnnotationMetadata[]>([])\n\n // get the current open state for a specific scope\n const getOpenForScope = useCallback(\n (scope: string): boolean => {\n // Check if we have a saved preference for this scope\n if (panelOpenByScope[scope]) {\n return panelOpenByScope[scope]\n }\n\n // Fall back to default\n return false\n },\n [panelOpenByScope],\n )\n // Set open state for a scope\n const setPanelOpen = useCallback(\n (scope: string, isOpen: boolean) => {\n // Create a new state object based on current open state\n const newState = { ...panelOpenByScope }\n newState[scope] = isOpen\n\n // Update the state with the new object\n setPanelOpenByScope(newState)\n },\n [panelOpenByScope],\n )\n\n // Use localStorage to persist tab preferences by scope\n const [tabsByScope, setTabByScope] = useLocalStorage<TabStateByScope>('details/tabs-by-scope', {})\n\n // Get the current tab for a specific scope\n const getTabForScope = useCallback(\n (scope: string): DetailsPanelTab => {\n // Check if we have a saved preference for this scope\n const tab = tabsByScope[scope]\n if (isDetailsPanelTab(tab)) {\n return tab\n }\n\n // Fall back to default\n return defaultTab\n },\n [tabsByScope, defaultTab],\n )\n\n // Set tab for a scope\n\n // is the slide out open?\n const [slideOut, setSlideOut] = useState<null | SlideOut>(null)\n\n // open the slide out\n const openSlideOut = useCallback<DetailsPanelContextType['openSlideOut']>((params) => {\n setSlideOut(params)\n }, [])\n\n // close the slide out\n const closeSlideOut = useCallback(() => {\n setSlideOut(null)\n if (slideOut) {\n setHighlightedActivities([])\n }\n }, [])\n\n // close slide out whenever the page changes\n useEffect(() => {\n closeSlideOut()\n }, [forwardedProps.useLocation().pathname])\n\n const [pip, setPip] = useState<DetailsPanelPip | null>(null)\n\n const openPip = useCallback((pip: DetailsPanelPip) => {\n setPip(pip)\n }, [])\n const closePip = useCallback(() => {\n setPip(null)\n }, [])\n\n const [entities, setEntities] = useState<Entities | null>(null)\n\n const [highlightedActivities, setHighlightedActivities] = useState<string[]>([])\n\n const { uriType, uri, entity, getUriEntities } = useURIContext()\n const [searchParams] = forwardedProps.useSearchParams()\n\n const project = searchParams.get('project')\n const type = searchParams.get('type')\n const id = searchParams.get('id')\n const activity = searchParams.get('activity')\n\n // on first load or URL param change, check if there is a uri or URL params and open details panel if present\n useEffect(() => {\n // Priority 1: Check for 'uri' parameter (ayon+entity://...)\n if (uriType === 'entity' && entity && entity.entityType !== 'product') {\n getUriEntities()\n .then((result) => {\n if (result.length === 0) return\n\n const entityUriData = result.find((r) => r.uri === uri)\n const entityData = entityUriData?.entities?.[0]\n\n if (!entityUriData || !entityData) return\n const projectName = entityData?.projectName || entity.projectName || ''\n const id =\n entityData.representationId ||\n entityData.versionId ||\n entityData.productId ||\n entityData.taskId ||\n entityData.folderId\n\n if (!projectName || !id) return\n\n const newEntities: Entities = {\n entityType: entity.entityType as DetailsPanelEntityType,\n entities: [\n {\n id: id,\n projectName: projectName,\n },\n ],\n source: 'uri',\n }\n\n setEntities(newEntities)\n })\n .catch((err) => {\n console.warn('Failed to get URI entities:', err)\n })\n return\n }\n\n // Priority 2: Check for URL params (project, type, id)\n if (project && type && id) {\n const newEntities: Entities = {\n entityType: type as DetailsPanelEntityType,\n entities: [\n {\n id,\n projectName: project,\n },\n ],\n source: 'url',\n }\n\n setEntities(newEntities)\n\n // if there is an activity param, open the feed tab (activity is shown by default)\n\n if (activity) {\n setHighlightedActivities([activity])\n setTabByScope({\n ...tabsByScope,\n overview: 'feed',\n })\n }\n }\n }, [project, type, id])\n\n const value = {\n // open state for the panel by scope\n panelOpenByScope,\n getOpenForScope,\n setPanelOpen,\n setPanelOpenByScope,\n // tab preferences\n tabsByScope,\n getTabForScope,\n // slide out state\n slideOut,\n openSlideOut,\n closeSlideOut,\n // highlighted activities\n highlightedActivities,\n setHighlightedActivities,\n // PiP state\n pip,\n openPip,\n closePip,\n // entities state\n entities,\n setEntities,\n feedAnnotations,\n setFeedAnnotations,\n isDeveloperMode,\n isGuest,\n hasLicense,\n onPowerFeature: setPowerpackDialog,\n ...forwardedProps,\n }\n\n return <DetailsPanelContext.Provider value={value}>{children}</DetailsPanelContext.Provider>\n}\n\n// Custom hook to use the details context\nexport const useDetailsPanelContext = (): DetailsPanelContextType => {\n const context = useContext(DetailsPanelContext)\n if (context === undefined) {\n throw new Error('useDetailsPanel must be used within a DetailsPanelProvider')\n }\n return context\n}\n\n// Add a specialized hook for using a panel in a specific scope\nexport const useScopedDetailsPanel = (scope: string) => {\n const { getOpenForScope, setPanelOpen, getTabForScope } = useDetailsPanelContext()\n\n const [tabsByScope, setTabsByScope] = useLocalStorage<TabStateByScope>(\n 'details/tabs-by-scope',\n {},\n )\n\n const [currentTab, setTab] = useState<DetailsPanelTab>(() => {\n const tab = tabsByScope[scope]\n return isDetailsPanelTab(tab) ? tab : getTabForScope(scope)\n })\n\n // Keep localStorage and local state in sync\n const updateTab = useCallback(\n (newTab: DetailsPanelTab) => {\n setTab(newTab)\n setTabsByScope({ ...tabsByScope, [scope]: newTab })\n },\n [scope, setTabsByScope],\n )\n\n const isFeed = currentTab === 'feed'\n\n return {\n isOpen: getOpenForScope(scope),\n setOpen: (isOpen: boolean) => setPanelOpen(scope, isOpen),\n currentTab,\n setTab: updateTab,\n isFeed,\n }\n}\n"],"names":["DETAILS_PANEL_TABS","isDetailsPanelTab","tab","DetailsPanelContext","createContext","DetailsPanelProvider","children","defaultTab","hasLicenseProp","debug","forwardedProps","user","isDeveloperMode","isGuest","powerLicense","setPowerpackDialog","usePowerpack","hasLicense","panelOpenByScope","setPanelOpenByScope","useState","feedAnnotations","setFeedAnnotations","getOpenForScope","useCallback","scope","setPanelOpen","isOpen","newState","tabsByScope","setTabByScope","useLocalStorage","getTabForScope","slideOut","setSlideOut","openSlideOut","params","closeSlideOut","setHighlightedActivities","useEffect","pip","setPip","openPip","closePip","entities","setEntities","highlightedActivities","uriType","uri","entity","getUriEntities","useURIContext","searchParams","project","type","id","activity","result","entityUriData","r","entityData","projectName","newEntities","err","value","jsx","useDetailsPanelContext","context","useContext","useScopedDetailsPanel","setTabsByScope","currentTab","setTab","updateTab","newTab","isFeed"],"mappings":"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"}
1
+ {"version":3,"file":"DetailsPanelContext.cjs.js","sources":["../../../../src/context/DetailsPanelContext.tsx"],"sourcesContent":["import React, {\n createContext,\n ReactNode,\n useCallback,\n useContext,\n useEffect,\n useState,\n} from 'react'\nimport { QueryFilter, UserModel, DetailsPanelEntityType } from '@shared/api'\nimport { useLocation, useNavigate, useParams, useSearchParams } from 'react-router-dom'\nimport { SavedAnnotationMetadata } from '@shared/containers'\nimport { PowerpackFeature, usePowerpack } from './PowerpackContext'\nimport { useURIContext } from './UriContext'\nimport { useLocalStorage } from '@shared/hooks'\nimport type { SubtasksManagerProps } from '@shared/components'\n\n// High-level tabs for the details panel\nexport type DetailsPanelTab = 'feed' | 'subtasks' | 'details' | 'files'\n\n// Filters within the feed tab\nexport type FeedFilter = QueryFilter\n\nexport type SlideOut = {\n entityId: string\n entityType: DetailsPanelEntityType\n projectName: string\n}\n\nexport type DetailsPanelPip = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n scope: string\n}\n\nexport type Entities = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n entitySubTypes?: string[]\n source?: 'uri' | 'url' | 'related' // uri = ayon+entity://..., url = ?project=...&type=...&id=...\n}\n\nexport interface OpenStateByScope {\n [scope: string]: boolean\n}\n\n// Create a new interface for managing tab state by scope\nexport interface TabStateByScope {\n [scope: string]: DetailsPanelTab\n}\n\nconst DETAILS_PANEL_TABS: DetailsPanelTab[] = ['feed', 'subtasks', 'details', 'files']\n\nconst isDetailsPanelTab = (tab: unknown): tab is DetailsPanelTab =>\n typeof tab === 'string' && DETAILS_PANEL_TABS.includes(tab as DetailsPanelTab)\n\n// these props get forwarded to the details panel value\n// it's mainly redux callbacks that cannot be used in shared library\nexport interface DetailsPanelContextProps {\n dispatch?: any // this is a redux dispatch function and it's quite annoying we need to do this\n user: UserModel\n viewer?: {\n reviewableIds: string[]\n taskId?: string | null\n folderId?: string | null\n }\n // redux callback actions\n onOpenImage?: (args: any) => void\n onGoToFrame?: (frame: number) => void\n onOpenViewer?: (args: any) => void\n onUpdateEntity?: (data: { operations: any[]; entityType: string }) => void\n // route hooks\n useParams: typeof useParams\n useNavigate: typeof useNavigate\n useLocation: typeof useLocation\n useSearchParams: typeof useSearchParams\n feedAnnotationsEnabled?: boolean\n hasLicense?: boolean\n // SubtasksManager component\n SubtasksManager?: React.ComponentType<SubtasksManagerProps>\n // debugging used to simulate different values\n debug?: {\n isDeveloperMode?: boolean\n isGuest?: boolean\n hasLicense?: boolean\n }\n}\n\n// Interface for our simplified context\nexport interface DetailsPanelContextType extends DetailsPanelContextProps {\n // user\n isDeveloperMode: boolean\n isGuest: boolean\n // Open state for the panel by scope\n panelOpenByScope: OpenStateByScope\n getOpenForScope: (scope: string) => boolean\n setPanelOpen: (scope: string, isOpen: boolean) => void\n setPanelOpenByScope: (newState: OpenStateByScope) => void\n\n // Tab preferences by scope\n tabsByScope: TabStateByScope\n getTabForScope: (scope: string) => DetailsPanelTab\n\n // Slide out state\n slideOut: null | SlideOut\n openSlideOut: (slideOut: SlideOut) => void\n closeSlideOut: () => void\n\n // Highlighted activities\n highlightedActivities: string[]\n setHighlightedActivities: (activities: string[]) => void\n\n // PiP state\n pip: DetailsPanelPip | null\n openPip: (pip: DetailsPanelPip) => void\n closePip: () => void\n\n // Entities state\n entities: Entities | null\n setEntities: (entities: Entities | null) => void\n\n // Annotations\n feedAnnotations: SavedAnnotationMetadata[]\n setFeedAnnotations: (annotations: SavedAnnotationMetadata[]) => void\n\n // powerpack\n onPowerFeature: (feature: PowerpackFeature) => void\n}\n\n// Create the context\nconst DetailsPanelContext = createContext<DetailsPanelContextType | undefined>(undefined)\n\n// Provider component\nexport interface DetailsPanelProviderProps extends DetailsPanelContextProps {\n children: ReactNode\n defaultTab?: DetailsPanelTab\n}\n\nexport const DetailsPanelProvider: React.FC<DetailsPanelProviderProps> = ({\n children,\n defaultTab = 'feed',\n hasLicense: hasLicenseProp,\n debug = {},\n ...forwardedProps\n}) => {\n const user = forwardedProps.user\n const isDeveloperMode =\n 'isDeveloperMode' in debug\n ? (debug.isDeveloperMode as boolean)\n : user?.attrib?.developerMode ?? false\n const isGuest = 'isGuest' in debug ? (debug.isGuest as boolean) : user?.data?.isGuest\n\n // get license from powerpack or forwarded down from props\n const { powerLicense, setPowerpackDialog } = usePowerpack()\n const hasLicense =\n 'hasLicense' in debug ? (debug.hasLicense as boolean) : !!powerLicense || hasLicenseProp\n\n // keep track of the currently open panel by scope\n const [panelOpenByScope, setPanelOpenByScope] = useState<OpenStateByScope>({})\n const [feedAnnotations, setFeedAnnotations] = useState<SavedAnnotationMetadata[]>([])\n\n // get the current open state for a specific scope\n const getOpenForScope = useCallback(\n (scope: string): boolean => {\n // Check if we have a saved preference for this scope\n if (panelOpenByScope[scope]) {\n return panelOpenByScope[scope]\n }\n\n // Fall back to default\n return false\n },\n [panelOpenByScope],\n )\n // Set open state for a scope\n const setPanelOpen = useCallback(\n (scope: string, isOpen: boolean) => {\n // Create a new state object based on current open state\n const newState = { ...panelOpenByScope }\n newState[scope] = isOpen\n\n // Update the state with the new object\n setPanelOpenByScope(newState)\n },\n [panelOpenByScope],\n )\n\n // Use localStorage to persist tab preferences by scope\n const [tabsByScope, setTabByScope] = useLocalStorage<TabStateByScope>('details/tabs-by-scope', {})\n\n // Get the current tab for a specific scope\n const getTabForScope = useCallback(\n (scope: string): DetailsPanelTab => {\n // Check if we have a saved preference for this scope\n const tab = tabsByScope[scope]\n if (isDetailsPanelTab(tab)) {\n return tab\n }\n\n // Fall back to default\n return defaultTab\n },\n [tabsByScope, defaultTab],\n )\n\n // Set tab for a scope\n\n // is the slide out open?\n const [slideOut, setSlideOut] = useState<null | SlideOut>(null)\n\n // open the slide out\n const openSlideOut = useCallback<DetailsPanelContextType['openSlideOut']>((params) => {\n setSlideOut(params)\n }, [])\n\n // close the slide out\n const closeSlideOut = useCallback(() => {\n setSlideOut(null)\n if (slideOut) {\n setHighlightedActivities([])\n }\n }, [])\n\n // close slide out whenever the page changes\n useEffect(() => {\n closeSlideOut()\n }, [forwardedProps.useLocation().pathname])\n\n const [pip, setPip] = useState<DetailsPanelPip | null>(null)\n\n const openPip = useCallback((pip: DetailsPanelPip) => {\n setPip(pip)\n }, [])\n const closePip = useCallback(() => {\n setPip(null)\n }, [])\n\n const [entities, setEntities] = useState<Entities | null>(null)\n\n const [highlightedActivities, setHighlightedActivities] = useState<string[]>([])\n\n const { uriType, uri, entity, getUriEntities } = useURIContext()\n const [searchParams] = forwardedProps.useSearchParams()\n\n const project = searchParams.get('project')\n const type = searchParams.get('type')\n const id = searchParams.get('id')\n const activity = searchParams.get('activity')\n\n // on first load or URL param change, check if there is a uri or URL params and open details panel if present\n useEffect(() => {\n // Priority 1: Check for 'uri' parameter (ayon+entity://...)\n if (uriType === 'entity' && entity && entity.entityType !== 'product') {\n getUriEntities()\n .then((result) => {\n if (result.length === 0) return\n\n const entityUriData = result.find((r) => r.uri === uri)\n const entityData = entityUriData?.entities?.[0]\n\n if (!entityUriData || !entityData) return\n const projectName = entityData?.projectName || entity.projectName || ''\n const id =\n entityData.representationId ||\n entityData.versionId ||\n entityData.productId ||\n entityData.taskId ||\n entityData.folderId\n\n if (!projectName || !id) return\n\n const newEntities: Entities = {\n entityType: entity.entityType as DetailsPanelEntityType,\n entities: [\n {\n id: id,\n projectName: projectName,\n },\n ],\n source: 'uri',\n }\n\n setEntities(newEntities)\n })\n .catch((err) => {\n console.warn('Failed to get URI entities:', err)\n })\n return\n }\n\n // Priority 2: Check for URL params (project, type, id)\n if (project && type && id) {\n const newEntities: Entities = {\n entityType: type as DetailsPanelEntityType,\n entities: [\n {\n id,\n projectName: project,\n },\n ],\n source: 'url',\n }\n\n setEntities(newEntities)\n\n // if there is an activity param, open the feed tab (activity is shown by default)\n\n if (activity) {\n setHighlightedActivities([activity])\n setTabByScope({\n ...tabsByScope,\n overview: 'feed',\n })\n }\n }\n }, [project, type, id])\n\n const value = {\n // open state for the panel by scope\n panelOpenByScope,\n getOpenForScope,\n setPanelOpen,\n setPanelOpenByScope,\n // tab preferences\n tabsByScope,\n getTabForScope,\n // slide out state\n slideOut,\n openSlideOut,\n closeSlideOut,\n // highlighted activities\n highlightedActivities,\n setHighlightedActivities,\n // PiP state\n pip,\n openPip,\n closePip,\n // entities state\n entities,\n setEntities,\n feedAnnotations,\n setFeedAnnotations,\n isDeveloperMode,\n isGuest,\n hasLicense,\n onPowerFeature: setPowerpackDialog,\n ...forwardedProps,\n }\n\n return <DetailsPanelContext.Provider value={value}>{children}</DetailsPanelContext.Provider>\n}\n\n// Custom hook to use the details context\nexport const useDetailsPanelContext = (): DetailsPanelContextType => {\n const context = useContext(DetailsPanelContext)\n if (context === undefined) {\n throw new Error('useDetailsPanel must be used within a DetailsPanelProvider')\n }\n return context\n}\n\n// Add a specialized hook for using a panel in a specific scope\nexport const useScopedDetailsPanel = (scope: string) => {\n const { getOpenForScope, setPanelOpen, getTabForScope } = useDetailsPanelContext()\n\n const [tabsByScope, setTabsByScope] = useLocalStorage<TabStateByScope>(\n 'details/tabs-by-scope',\n {},\n )\n\n const [currentTab, setTab] = useState<DetailsPanelTab>(() => {\n const tab = tabsByScope[scope]\n return isDetailsPanelTab(tab) ? tab : getTabForScope(scope)\n })\n\n // Keep localStorage and local state in sync\n const updateTab = useCallback(\n (newTab: DetailsPanelTab) => {\n setTab(newTab)\n setTabsByScope({ ...tabsByScope, [scope]: newTab })\n },\n [scope, setTabsByScope],\n )\n\n const isFeed = currentTab === 'feed'\n\n return {\n isOpen: getOpenForScope(scope),\n setOpen: (isOpen: boolean) => setPanelOpen(scope, isOpen),\n currentTab,\n setTab: updateTab,\n isFeed,\n }\n}\n"],"names":["DETAILS_PANEL_TABS","isDetailsPanelTab","tab","DetailsPanelContext","createContext","DetailsPanelProvider","children","defaultTab","hasLicenseProp","debug","forwardedProps","user","isDeveloperMode","isGuest","powerLicense","setPowerpackDialog","usePowerpack","hasLicense","panelOpenByScope","setPanelOpenByScope","useState","feedAnnotations","setFeedAnnotations","getOpenForScope","useCallback","scope","setPanelOpen","isOpen","newState","tabsByScope","setTabByScope","useLocalStorage","getTabForScope","slideOut","setSlideOut","openSlideOut","params","closeSlideOut","setHighlightedActivities","useEffect","pip","setPip","openPip","closePip","entities","setEntities","highlightedActivities","uriType","uri","entity","getUriEntities","useURIContext","searchParams","project","type","id","activity","result","entityUriData","r","entityData","projectName","newEntities","err","value","jsx","useDetailsPanelContext","context","useContext","useScopedDetailsPanel","setTabsByScope","currentTab","setTab","updateTab","newTab","isFeed"],"mappings":"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"}
@@ -18,6 +18,7 @@ import "../api/generated/attributes.es.js";
18
18
  import "../api/generated/authentication.es.js";
19
19
  import "../api/generated/bundles.es.js";
20
20
  import "../api/generated/configuration.es.js";
21
+ import "../api/generated/dataImport.es.js";
21
22
  import "../api/generated/desktop.es.js";
22
23
  import "../api/generated/entityLists.es.js";
23
24
  import "../api/generated/events.es.js";
@@ -116,7 +117,7 @@ import "./ProjectFoldersContext.es.js";
116
117
  import "react-redux";
117
118
  import "custom-protocol-check";
118
119
  import "../containers/ProjectTreeTable/components/GroupSettingsFallback.es.js";
119
- const st = ["feed", "subtasks", "details", "files"], k = (i) => typeof i == "string" && st.includes(i), N = ot(void 0), vo = ({
120
+ const st = ["feed", "subtasks", "details", "files"], k = (i) => typeof i == "string" && st.includes(i), N = ot(void 0), Do = ({
120
121
  children: i,
121
122
  defaultTab: l = "feed",
122
123
  hasLicense: S,
@@ -226,7 +227,7 @@ const st = ["feed", "subtasks", "details", "files"], k = (i) => typeof i == "str
226
227
  if (i === void 0)
227
228
  throw new Error("useDetailsPanel must be used within a DetailsPanelProvider");
228
229
  return i;
229
- }, Do = (i) => {
230
+ }, To = (i) => {
230
231
  const { getOpenForScope: l, setPanelOpen: S, getTabForScope: r } = nt(), [s, a] = C(
231
232
  "details/tabs-by-scope",
232
233
  {}
@@ -248,8 +249,8 @@ const st = ["feed", "subtasks", "details", "files"], k = (i) => typeof i == "str
248
249
  };
249
250
  };
250
251
  export {
251
- vo as DetailsPanelProvider,
252
+ Do as DetailsPanelProvider,
252
253
  nt as useDetailsPanelContext,
253
- Do as useScopedDetailsPanel
254
+ To as useScopedDetailsPanel
254
255
  };
255
256
  //# sourceMappingURL=DetailsPanelContext.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DetailsPanelContext.es.js","sources":["../../../../src/context/DetailsPanelContext.tsx"],"sourcesContent":["import React, {\n createContext,\n ReactNode,\n useCallback,\n useContext,\n useEffect,\n useState,\n} from 'react'\nimport { QueryFilter, UserModel, DetailsPanelEntityType } from '@shared/api'\nimport { useLocation, useNavigate, useParams, useSearchParams } from 'react-router-dom'\nimport { SavedAnnotationMetadata } from '@shared/containers'\nimport { PowerpackFeature, usePowerpack } from './PowerpackContext'\nimport { useURIContext } from './UriContext'\nimport { useLocalStorage } from '@shared/hooks'\nimport type { SubtasksManagerProps } from '@shared/components'\n\n// High-level tabs for the details panel\nexport type DetailsPanelTab = 'feed' | 'subtasks' | 'details' | 'files'\n\n// Filters within the feed tab\nexport type FeedFilter = QueryFilter\n\nexport type SlideOut = {\n entityId: string\n entityType: DetailsPanelEntityType\n projectName: string\n}\n\nexport type DetailsPanelPip = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n scope: string\n}\n\nexport type Entities = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n entitySubTypes?: string[]\n source?: 'uri' | 'url' | 'related' // uri = ayon+entity://..., url = ?project=...&type=...&id=...\n}\n\nexport interface OpenStateByScope {\n [scope: string]: boolean\n}\n\n// Create a new interface for managing tab state by scope\nexport interface TabStateByScope {\n [scope: string]: DetailsPanelTab\n}\n\nconst DETAILS_PANEL_TABS: DetailsPanelTab[] = ['feed', 'subtasks', 'details', 'files']\n\nconst isDetailsPanelTab = (tab: unknown): tab is DetailsPanelTab =>\n typeof tab === 'string' && DETAILS_PANEL_TABS.includes(tab as DetailsPanelTab)\n\n// these props get forwarded to the details panel value\n// it's mainly redux callbacks that cannot be used in shared library\nexport interface DetailsPanelContextProps {\n dispatch?: any // this is a redux dispatch function and it's quite annoying we need to do this\n user: UserModel\n viewer?: {\n reviewableIds: string[]\n taskId?: string | null\n folderId?: string | null\n }\n // redux callback actions\n onOpenImage?: (args: any) => void\n onGoToFrame?: (frame: number) => void\n onOpenViewer?: (args: any) => void\n onUpdateEntity?: (data: { operations: any[]; entityType: string }) => void\n // route hooks\n useParams: typeof useParams\n useNavigate: typeof useNavigate\n useLocation: typeof useLocation\n useSearchParams: typeof useSearchParams\n feedAnnotationsEnabled?: boolean\n hasLicense?: boolean\n // SubtasksManager component\n SubtasksManager?: React.ComponentType<SubtasksManagerProps>\n // debugging used to simulate different values\n debug?: {\n isDeveloperMode?: boolean\n isGuest?: boolean\n hasLicense?: boolean\n }\n}\n\n// Interface for our simplified context\nexport interface DetailsPanelContextType extends DetailsPanelContextProps {\n // user\n isDeveloperMode: boolean\n isGuest: boolean\n // Open state for the panel by scope\n panelOpenByScope: OpenStateByScope\n getOpenForScope: (scope: string) => boolean\n setPanelOpen: (scope: string, isOpen: boolean) => void\n setPanelOpenByScope: (newState: OpenStateByScope) => void\n\n // Tab preferences by scope\n tabsByScope: TabStateByScope\n getTabForScope: (scope: string) => DetailsPanelTab\n\n // Slide out state\n slideOut: null | SlideOut\n openSlideOut: (slideOut: SlideOut) => void\n closeSlideOut: () => void\n\n // Highlighted activities\n highlightedActivities: string[]\n setHighlightedActivities: (activities: string[]) => void\n\n // PiP state\n pip: DetailsPanelPip | null\n openPip: (pip: DetailsPanelPip) => void\n closePip: () => void\n\n // Entities state\n entities: Entities | null\n setEntities: (entities: Entities | null) => void\n\n // Annotations\n feedAnnotations: SavedAnnotationMetadata[]\n setFeedAnnotations: (annotations: SavedAnnotationMetadata[]) => void\n\n // powerpack\n onPowerFeature: (feature: PowerpackFeature) => void\n}\n\n// Create the context\nconst DetailsPanelContext = createContext<DetailsPanelContextType | undefined>(undefined)\n\n// Provider component\nexport interface DetailsPanelProviderProps extends DetailsPanelContextProps {\n children: ReactNode\n defaultTab?: DetailsPanelTab\n}\n\nexport const DetailsPanelProvider: React.FC<DetailsPanelProviderProps> = ({\n children,\n defaultTab = 'feed',\n hasLicense: hasLicenseProp,\n debug = {},\n ...forwardedProps\n}) => {\n const user = forwardedProps.user\n const isDeveloperMode =\n 'isDeveloperMode' in debug\n ? (debug.isDeveloperMode as boolean)\n : user?.attrib?.developerMode ?? false\n const isGuest = 'isGuest' in debug ? (debug.isGuest as boolean) : user?.data?.isGuest\n\n // get license from powerpack or forwarded down from props\n const { powerLicense, setPowerpackDialog } = usePowerpack()\n const hasLicense =\n 'hasLicense' in debug ? (debug.hasLicense as boolean) : !!powerLicense || hasLicenseProp\n\n // keep track of the currently open panel by scope\n const [panelOpenByScope, setPanelOpenByScope] = useState<OpenStateByScope>({})\n const [feedAnnotations, setFeedAnnotations] = useState<SavedAnnotationMetadata[]>([])\n\n // get the current open state for a specific scope\n const getOpenForScope = useCallback(\n (scope: string): boolean => {\n // Check if we have a saved preference for this scope\n if (panelOpenByScope[scope]) {\n return panelOpenByScope[scope]\n }\n\n // Fall back to default\n return false\n },\n [panelOpenByScope],\n )\n // Set open state for a scope\n const setPanelOpen = useCallback(\n (scope: string, isOpen: boolean) => {\n // Create a new state object based on current open state\n const newState = { ...panelOpenByScope }\n newState[scope] = isOpen\n\n // Update the state with the new object\n setPanelOpenByScope(newState)\n },\n [panelOpenByScope],\n )\n\n // Use localStorage to persist tab preferences by scope\n const [tabsByScope, setTabByScope] = useLocalStorage<TabStateByScope>('details/tabs-by-scope', {})\n\n // Get the current tab for a specific scope\n const getTabForScope = useCallback(\n (scope: string): DetailsPanelTab => {\n // Check if we have a saved preference for this scope\n const tab = tabsByScope[scope]\n if (isDetailsPanelTab(tab)) {\n return tab\n }\n\n // Fall back to default\n return defaultTab\n },\n [tabsByScope, defaultTab],\n )\n\n // Set tab for a scope\n\n // is the slide out open?\n const [slideOut, setSlideOut] = useState<null | SlideOut>(null)\n\n // open the slide out\n const openSlideOut = useCallback<DetailsPanelContextType['openSlideOut']>((params) => {\n setSlideOut(params)\n }, [])\n\n // close the slide out\n const closeSlideOut = useCallback(() => {\n setSlideOut(null)\n if (slideOut) {\n setHighlightedActivities([])\n }\n }, [])\n\n // close slide out whenever the page changes\n useEffect(() => {\n closeSlideOut()\n }, [forwardedProps.useLocation().pathname])\n\n const [pip, setPip] = useState<DetailsPanelPip | null>(null)\n\n const openPip = useCallback((pip: DetailsPanelPip) => {\n setPip(pip)\n }, [])\n const closePip = useCallback(() => {\n setPip(null)\n }, [])\n\n const [entities, setEntities] = useState<Entities | null>(null)\n\n const [highlightedActivities, setHighlightedActivities] = useState<string[]>([])\n\n const { uriType, uri, entity, getUriEntities } = useURIContext()\n const [searchParams] = forwardedProps.useSearchParams()\n\n const project = searchParams.get('project')\n const type = searchParams.get('type')\n const id = searchParams.get('id')\n const activity = searchParams.get('activity')\n\n // on first load or URL param change, check if there is a uri or URL params and open details panel if present\n useEffect(() => {\n // Priority 1: Check for 'uri' parameter (ayon+entity://...)\n if (uriType === 'entity' && entity && entity.entityType !== 'product') {\n getUriEntities()\n .then((result) => {\n if (result.length === 0) return\n\n const entityUriData = result.find((r) => r.uri === uri)\n const entityData = entityUriData?.entities?.[0]\n\n if (!entityUriData || !entityData) return\n const projectName = entityData?.projectName || entity.projectName || ''\n const id =\n entityData.representationId ||\n entityData.versionId ||\n entityData.productId ||\n entityData.taskId ||\n entityData.folderId\n\n if (!projectName || !id) return\n\n const newEntities: Entities = {\n entityType: entity.entityType as DetailsPanelEntityType,\n entities: [\n {\n id: id,\n projectName: projectName,\n },\n ],\n source: 'uri',\n }\n\n setEntities(newEntities)\n })\n .catch((err) => {\n console.warn('Failed to get URI entities:', err)\n })\n return\n }\n\n // Priority 2: Check for URL params (project, type, id)\n if (project && type && id) {\n const newEntities: Entities = {\n entityType: type as DetailsPanelEntityType,\n entities: [\n {\n id,\n projectName: project,\n },\n ],\n source: 'url',\n }\n\n setEntities(newEntities)\n\n // if there is an activity param, open the feed tab (activity is shown by default)\n\n if (activity) {\n setHighlightedActivities([activity])\n setTabByScope({\n ...tabsByScope,\n overview: 'feed',\n })\n }\n }\n }, [project, type, id])\n\n const value = {\n // open state for the panel by scope\n panelOpenByScope,\n getOpenForScope,\n setPanelOpen,\n setPanelOpenByScope,\n // tab preferences\n tabsByScope,\n getTabForScope,\n // slide out state\n slideOut,\n openSlideOut,\n closeSlideOut,\n // highlighted activities\n highlightedActivities,\n setHighlightedActivities,\n // PiP state\n pip,\n openPip,\n closePip,\n // entities state\n entities,\n setEntities,\n feedAnnotations,\n setFeedAnnotations,\n isDeveloperMode,\n isGuest,\n hasLicense,\n onPowerFeature: setPowerpackDialog,\n ...forwardedProps,\n }\n\n return <DetailsPanelContext.Provider value={value}>{children}</DetailsPanelContext.Provider>\n}\n\n// Custom hook to use the details context\nexport const useDetailsPanelContext = (): DetailsPanelContextType => {\n const context = useContext(DetailsPanelContext)\n if (context === undefined) {\n throw new Error('useDetailsPanel must be used within a DetailsPanelProvider')\n }\n return context\n}\n\n// Add a specialized hook for using a panel in a specific scope\nexport const useScopedDetailsPanel = (scope: string) => {\n const { getOpenForScope, setPanelOpen, getTabForScope } = useDetailsPanelContext()\n\n const [tabsByScope, setTabsByScope] = useLocalStorage<TabStateByScope>(\n 'details/tabs-by-scope',\n {},\n )\n\n const [currentTab, setTab] = useState<DetailsPanelTab>(() => {\n const tab = tabsByScope[scope]\n return isDetailsPanelTab(tab) ? tab : getTabForScope(scope)\n })\n\n // Keep localStorage and local state in sync\n const updateTab = useCallback(\n (newTab: DetailsPanelTab) => {\n setTab(newTab)\n setTabsByScope({ ...tabsByScope, [scope]: newTab })\n },\n [scope, setTabsByScope],\n )\n\n const isFeed = currentTab === 'feed'\n\n return {\n isOpen: getOpenForScope(scope),\n setOpen: (isOpen: boolean) => setPanelOpen(scope, isOpen),\n currentTab,\n setTab: updateTab,\n isFeed,\n }\n}\n"],"names":["DETAILS_PANEL_TABS","isDetailsPanelTab","tab","DetailsPanelContext","createContext","DetailsPanelProvider","children","defaultTab","hasLicenseProp","debug","forwardedProps","user","isDeveloperMode","isGuest","powerLicense","setPowerpackDialog","usePowerpack","hasLicense","panelOpenByScope","setPanelOpenByScope","useState","feedAnnotations","setFeedAnnotations","getOpenForScope","useCallback","scope","setPanelOpen","isOpen","newState","tabsByScope","setTabByScope","useLocalStorage","getTabForScope","slideOut","setSlideOut","openSlideOut","params","closeSlideOut","setHighlightedActivities","useEffect","pip","setPip","openPip","closePip","entities","setEntities","highlightedActivities","uriType","uri","entity","getUriEntities","useURIContext","searchParams","project","type","id","activity","result","entityUriData","r","entityData","projectName","newEntities","err","value","jsx","useDetailsPanelContext","context","useContext","useScopedDetailsPanel","setTabsByScope","currentTab","setTab","updateTab","newTab","isFeed"],"mappings":"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"}
1
+ {"version":3,"file":"DetailsPanelContext.es.js","sources":["../../../../src/context/DetailsPanelContext.tsx"],"sourcesContent":["import React, {\n createContext,\n ReactNode,\n useCallback,\n useContext,\n useEffect,\n useState,\n} from 'react'\nimport { QueryFilter, UserModel, DetailsPanelEntityType } from '@shared/api'\nimport { useLocation, useNavigate, useParams, useSearchParams } from 'react-router-dom'\nimport { SavedAnnotationMetadata } from '@shared/containers'\nimport { PowerpackFeature, usePowerpack } from './PowerpackContext'\nimport { useURIContext } from './UriContext'\nimport { useLocalStorage } from '@shared/hooks'\nimport type { SubtasksManagerProps } from '@shared/components'\n\n// High-level tabs for the details panel\nexport type DetailsPanelTab = 'feed' | 'subtasks' | 'details' | 'files'\n\n// Filters within the feed tab\nexport type FeedFilter = QueryFilter\n\nexport type SlideOut = {\n entityId: string\n entityType: DetailsPanelEntityType\n projectName: string\n}\n\nexport type DetailsPanelPip = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n scope: string\n}\n\nexport type Entities = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n entitySubTypes?: string[]\n source?: 'uri' | 'url' | 'related' // uri = ayon+entity://..., url = ?project=...&type=...&id=...\n}\n\nexport interface OpenStateByScope {\n [scope: string]: boolean\n}\n\n// Create a new interface for managing tab state by scope\nexport interface TabStateByScope {\n [scope: string]: DetailsPanelTab\n}\n\nconst DETAILS_PANEL_TABS: DetailsPanelTab[] = ['feed', 'subtasks', 'details', 'files']\n\nconst isDetailsPanelTab = (tab: unknown): tab is DetailsPanelTab =>\n typeof tab === 'string' && DETAILS_PANEL_TABS.includes(tab as DetailsPanelTab)\n\n// these props get forwarded to the details panel value\n// it's mainly redux callbacks that cannot be used in shared library\nexport interface DetailsPanelContextProps {\n dispatch?: any // this is a redux dispatch function and it's quite annoying we need to do this\n user: UserModel\n viewer?: {\n reviewableIds: string[]\n taskId?: string | null\n folderId?: string | null\n }\n // redux callback actions\n onOpenImage?: (args: any) => void\n onGoToFrame?: (frame: number) => void\n onOpenViewer?: (args: any) => void\n onUpdateEntity?: (data: { operations: any[]; entityType: string }) => void\n // route hooks\n useParams: typeof useParams\n useNavigate: typeof useNavigate\n useLocation: typeof useLocation\n useSearchParams: typeof useSearchParams\n feedAnnotationsEnabled?: boolean\n hasLicense?: boolean\n // SubtasksManager component\n SubtasksManager?: React.ComponentType<SubtasksManagerProps>\n // debugging used to simulate different values\n debug?: {\n isDeveloperMode?: boolean\n isGuest?: boolean\n hasLicense?: boolean\n }\n}\n\n// Interface for our simplified context\nexport interface DetailsPanelContextType extends DetailsPanelContextProps {\n // user\n isDeveloperMode: boolean\n isGuest: boolean\n // Open state for the panel by scope\n panelOpenByScope: OpenStateByScope\n getOpenForScope: (scope: string) => boolean\n setPanelOpen: (scope: string, isOpen: boolean) => void\n setPanelOpenByScope: (newState: OpenStateByScope) => void\n\n // Tab preferences by scope\n tabsByScope: TabStateByScope\n getTabForScope: (scope: string) => DetailsPanelTab\n\n // Slide out state\n slideOut: null | SlideOut\n openSlideOut: (slideOut: SlideOut) => void\n closeSlideOut: () => void\n\n // Highlighted activities\n highlightedActivities: string[]\n setHighlightedActivities: (activities: string[]) => void\n\n // PiP state\n pip: DetailsPanelPip | null\n openPip: (pip: DetailsPanelPip) => void\n closePip: () => void\n\n // Entities state\n entities: Entities | null\n setEntities: (entities: Entities | null) => void\n\n // Annotations\n feedAnnotations: SavedAnnotationMetadata[]\n setFeedAnnotations: (annotations: SavedAnnotationMetadata[]) => void\n\n // powerpack\n onPowerFeature: (feature: PowerpackFeature) => void\n}\n\n// Create the context\nconst DetailsPanelContext = createContext<DetailsPanelContextType | undefined>(undefined)\n\n// Provider component\nexport interface DetailsPanelProviderProps extends DetailsPanelContextProps {\n children: ReactNode\n defaultTab?: DetailsPanelTab\n}\n\nexport const DetailsPanelProvider: React.FC<DetailsPanelProviderProps> = ({\n children,\n defaultTab = 'feed',\n hasLicense: hasLicenseProp,\n debug = {},\n ...forwardedProps\n}) => {\n const user = forwardedProps.user\n const isDeveloperMode =\n 'isDeveloperMode' in debug\n ? (debug.isDeveloperMode as boolean)\n : user?.attrib?.developerMode ?? false\n const isGuest = 'isGuest' in debug ? (debug.isGuest as boolean) : user?.data?.isGuest\n\n // get license from powerpack or forwarded down from props\n const { powerLicense, setPowerpackDialog } = usePowerpack()\n const hasLicense =\n 'hasLicense' in debug ? (debug.hasLicense as boolean) : !!powerLicense || hasLicenseProp\n\n // keep track of the currently open panel by scope\n const [panelOpenByScope, setPanelOpenByScope] = useState<OpenStateByScope>({})\n const [feedAnnotations, setFeedAnnotations] = useState<SavedAnnotationMetadata[]>([])\n\n // get the current open state for a specific scope\n const getOpenForScope = useCallback(\n (scope: string): boolean => {\n // Check if we have a saved preference for this scope\n if (panelOpenByScope[scope]) {\n return panelOpenByScope[scope]\n }\n\n // Fall back to default\n return false\n },\n [panelOpenByScope],\n )\n // Set open state for a scope\n const setPanelOpen = useCallback(\n (scope: string, isOpen: boolean) => {\n // Create a new state object based on current open state\n const newState = { ...panelOpenByScope }\n newState[scope] = isOpen\n\n // Update the state with the new object\n setPanelOpenByScope(newState)\n },\n [panelOpenByScope],\n )\n\n // Use localStorage to persist tab preferences by scope\n const [tabsByScope, setTabByScope] = useLocalStorage<TabStateByScope>('details/tabs-by-scope', {})\n\n // Get the current tab for a specific scope\n const getTabForScope = useCallback(\n (scope: string): DetailsPanelTab => {\n // Check if we have a saved preference for this scope\n const tab = tabsByScope[scope]\n if (isDetailsPanelTab(tab)) {\n return tab\n }\n\n // Fall back to default\n return defaultTab\n },\n [tabsByScope, defaultTab],\n )\n\n // Set tab for a scope\n\n // is the slide out open?\n const [slideOut, setSlideOut] = useState<null | SlideOut>(null)\n\n // open the slide out\n const openSlideOut = useCallback<DetailsPanelContextType['openSlideOut']>((params) => {\n setSlideOut(params)\n }, [])\n\n // close the slide out\n const closeSlideOut = useCallback(() => {\n setSlideOut(null)\n if (slideOut) {\n setHighlightedActivities([])\n }\n }, [])\n\n // close slide out whenever the page changes\n useEffect(() => {\n closeSlideOut()\n }, [forwardedProps.useLocation().pathname])\n\n const [pip, setPip] = useState<DetailsPanelPip | null>(null)\n\n const openPip = useCallback((pip: DetailsPanelPip) => {\n setPip(pip)\n }, [])\n const closePip = useCallback(() => {\n setPip(null)\n }, [])\n\n const [entities, setEntities] = useState<Entities | null>(null)\n\n const [highlightedActivities, setHighlightedActivities] = useState<string[]>([])\n\n const { uriType, uri, entity, getUriEntities } = useURIContext()\n const [searchParams] = forwardedProps.useSearchParams()\n\n const project = searchParams.get('project')\n const type = searchParams.get('type')\n const id = searchParams.get('id')\n const activity = searchParams.get('activity')\n\n // on first load or URL param change, check if there is a uri or URL params and open details panel if present\n useEffect(() => {\n // Priority 1: Check for 'uri' parameter (ayon+entity://...)\n if (uriType === 'entity' && entity && entity.entityType !== 'product') {\n getUriEntities()\n .then((result) => {\n if (result.length === 0) return\n\n const entityUriData = result.find((r) => r.uri === uri)\n const entityData = entityUriData?.entities?.[0]\n\n if (!entityUriData || !entityData) return\n const projectName = entityData?.projectName || entity.projectName || ''\n const id =\n entityData.representationId ||\n entityData.versionId ||\n entityData.productId ||\n entityData.taskId ||\n entityData.folderId\n\n if (!projectName || !id) return\n\n const newEntities: Entities = {\n entityType: entity.entityType as DetailsPanelEntityType,\n entities: [\n {\n id: id,\n projectName: projectName,\n },\n ],\n source: 'uri',\n }\n\n setEntities(newEntities)\n })\n .catch((err) => {\n console.warn('Failed to get URI entities:', err)\n })\n return\n }\n\n // Priority 2: Check for URL params (project, type, id)\n if (project && type && id) {\n const newEntities: Entities = {\n entityType: type as DetailsPanelEntityType,\n entities: [\n {\n id,\n projectName: project,\n },\n ],\n source: 'url',\n }\n\n setEntities(newEntities)\n\n // if there is an activity param, open the feed tab (activity is shown by default)\n\n if (activity) {\n setHighlightedActivities([activity])\n setTabByScope({\n ...tabsByScope,\n overview: 'feed',\n })\n }\n }\n }, [project, type, id])\n\n const value = {\n // open state for the panel by scope\n panelOpenByScope,\n getOpenForScope,\n setPanelOpen,\n setPanelOpenByScope,\n // tab preferences\n tabsByScope,\n getTabForScope,\n // slide out state\n slideOut,\n openSlideOut,\n closeSlideOut,\n // highlighted activities\n highlightedActivities,\n setHighlightedActivities,\n // PiP state\n pip,\n openPip,\n closePip,\n // entities state\n entities,\n setEntities,\n feedAnnotations,\n setFeedAnnotations,\n isDeveloperMode,\n isGuest,\n hasLicense,\n onPowerFeature: setPowerpackDialog,\n ...forwardedProps,\n }\n\n return <DetailsPanelContext.Provider value={value}>{children}</DetailsPanelContext.Provider>\n}\n\n// Custom hook to use the details context\nexport const useDetailsPanelContext = (): DetailsPanelContextType => {\n const context = useContext(DetailsPanelContext)\n if (context === undefined) {\n throw new Error('useDetailsPanel must be used within a DetailsPanelProvider')\n }\n return context\n}\n\n// Add a specialized hook for using a panel in a specific scope\nexport const useScopedDetailsPanel = (scope: string) => {\n const { getOpenForScope, setPanelOpen, getTabForScope } = useDetailsPanelContext()\n\n const [tabsByScope, setTabsByScope] = useLocalStorage<TabStateByScope>(\n 'details/tabs-by-scope',\n {},\n )\n\n const [currentTab, setTab] = useState<DetailsPanelTab>(() => {\n const tab = tabsByScope[scope]\n return isDetailsPanelTab(tab) ? tab : getTabForScope(scope)\n })\n\n // Keep localStorage and local state in sync\n const updateTab = useCallback(\n (newTab: DetailsPanelTab) => {\n setTab(newTab)\n setTabsByScope({ ...tabsByScope, [scope]: newTab })\n },\n [scope, setTabsByScope],\n )\n\n const isFeed = currentTab === 'feed'\n\n return {\n isOpen: getOpenForScope(scope),\n setOpen: (isOpen: boolean) => setPanelOpen(scope, isOpen),\n currentTab,\n setTab: updateTab,\n isFeed,\n }\n}\n"],"names":["DETAILS_PANEL_TABS","isDetailsPanelTab","tab","DetailsPanelContext","createContext","DetailsPanelProvider","children","defaultTab","hasLicenseProp","debug","forwardedProps","user","isDeveloperMode","isGuest","powerLicense","setPowerpackDialog","usePowerpack","hasLicense","panelOpenByScope","setPanelOpenByScope","useState","feedAnnotations","setFeedAnnotations","getOpenForScope","useCallback","scope","setPanelOpen","isOpen","newState","tabsByScope","setTabByScope","useLocalStorage","getTabForScope","slideOut","setSlideOut","openSlideOut","params","closeSlideOut","setHighlightedActivities","useEffect","pip","setPip","openPip","closePip","entities","setEntities","highlightedActivities","uriType","uri","entity","getUriEntities","useURIContext","searchParams","project","type","id","activity","result","entityUriData","r","entityData","projectName","newEntities","err","value","jsx","useDetailsPanelContext","context","useContext","useScopedDetailsPanel","setTabsByScope","currentTab","setTab","updateTab","newTab","isFeed"],"mappings":"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"}