@ynput/ayon-frontend-shared 0.4.1 → 0.4.3

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 (1190) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +37 -201
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +252 -512
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Slicer.cjs.js +1 -1
  8. package/dist/Slicer.es.js +31 -233
  9. package/dist/Slicer.es.js.map +1 -1
  10. package/dist/_virtual/index.cjs22.js +1 -1
  11. package/dist/_virtual/index.cjs23.js +1 -1
  12. package/dist/_virtual/index.cjs24.js +1 -1
  13. package/dist/_virtual/index.cjs4.js +1 -1
  14. package/dist/_virtual/index.cjs5.js +1 -1
  15. package/dist/_virtual/index.cjs6.js +1 -1
  16. package/dist/_virtual/index.cjs8.js +1 -1
  17. package/dist/_virtual/index.es22.js +3 -3
  18. package/dist/_virtual/index.es23.js +5 -5
  19. package/dist/_virtual/index.es24.js +5 -5
  20. package/dist/_virtual/index.es4.js +2 -5
  21. package/dist/_virtual/index.es4.js.map +1 -1
  22. package/dist/_virtual/index.es5.js +5 -2
  23. package/dist/_virtual/index.es5.js.map +1 -1
  24. package/dist/_virtual/index.es6.js +2 -2
  25. package/dist/_virtual/index.es8.js +2 -2
  26. package/dist/api.cjs.js +1 -1
  27. package/dist/api.es.js +446 -445
  28. package/dist/components.cjs.js +1 -1
  29. package/dist/components.es.js +83 -82
  30. package/dist/components.es.js.map +1 -1
  31. package/dist/index.cjs.js +1 -1
  32. package/dist/index.es.js +43 -130
  33. package/dist/index.es.js.map +1 -1
  34. package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
  35. package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
  36. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  37. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  38. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  39. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  40. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  41. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  42. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  43. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  44. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  45. package/dist/node_modules/remove-accents/index.es.js +1 -1
  46. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +1 -1
  47. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +1 -1
  48. package/dist/shared/node_modules/@module-federation/runtime/dist/index.cjs.js +1 -1
  49. package/dist/shared/node_modules/@module-federation/runtime/dist/index.es.js +1 -1
  50. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
  51. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +1 -1
  52. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  53. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  54. package/dist/shared/src/api/generated/graphql.cjs.js +85 -27
  55. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  56. package/dist/shared/src/api/generated/graphql.es.js +126 -64
  57. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  58. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  59. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  60. package/dist/shared/src/api/queries/actions/getActions.cjs.js.map +1 -1
  61. package/dist/shared/src/api/queries/actions/getActions.es.js.map +1 -1
  62. package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
  63. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  64. package/dist/shared/src/api/queries/activities/getCategories.cjs.js.map +1 -1
  65. package/dist/shared/src/api/queries/activities/getCategories.es.js.map +1 -1
  66. package/dist/shared/src/api/queries/activities/patchTableLatestComments.cjs.js.map +1 -1
  67. package/dist/shared/src/api/queries/activities/patchTableLatestComments.es.js.map +1 -1
  68. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js.map +1 -1
  69. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js.map +1 -1
  70. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
  71. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
  72. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +55 -151
  73. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
  74. package/dist/shared/src/api/queries/addons/updateAddons.cjs.js.map +1 -1
  75. package/dist/shared/src/api/queries/addons/updateAddons.es.js.map +1 -1
  76. package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js.map +1 -1
  77. package/dist/shared/src/api/queries/attributes/getAttributes.es.js.map +1 -1
  78. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js.map +1 -1
  79. package/dist/shared/src/api/queries/columnStats/columnStats.es.js.map +1 -1
  80. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js +1 -1
  81. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js.map +1 -1
  82. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js +36 -36
  83. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js.map +1 -1
  84. package/dist/shared/src/api/queries/entities/getEntity.cjs.js.map +1 -1
  85. package/dist/shared/src/api/queries/entities/getEntity.es.js.map +1 -1
  86. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
  87. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
  88. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +58 -113
  89. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  90. package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js.map +1 -1
  91. package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js.map +1 -1
  92. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  93. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  94. package/dist/shared/src/api/queries/entityLists/getLists.es.js +67 -118
  95. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  96. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js +1 -1
  97. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js.map +1 -1
  98. package/dist/shared/src/api/queries/entityLists/listFolders.es.js +40 -95
  99. package/dist/shared/src/api/queries/entityLists/listFolders.es.js.map +1 -1
  100. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
  101. package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
  102. package/dist/shared/src/api/queries/folders/getFolderDeleteInfo.cjs.js.map +1 -1
  103. package/dist/shared/src/api/queries/folders/getFolderDeleteInfo.es.js.map +1 -1
  104. package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -1
  105. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  106. package/dist/shared/src/api/queries/folders/getFolders.es.js +68 -119
  107. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  108. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
  109. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
  110. package/dist/shared/src/api/queries/links/getEntityLinks.es.js +73 -128
  111. package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
  112. package/dist/shared/src/api/queries/links/updateLinks.cjs.js.map +1 -1
  113. package/dist/shared/src/api/queries/links/updateLinks.es.js.map +1 -1
  114. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  115. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  116. package/dist/shared/src/api/queries/overview/getOverview.es.js +229 -282
  117. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  118. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  119. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  120. package/dist/shared/src/api/queries/products/getFolderProducts.cjs.js.map +1 -1
  121. package/dist/shared/src/api/queries/products/getFolderProducts.es.js.map +1 -1
  122. package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js +1 -1
  123. package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js.map +1 -1
  124. package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js +80 -134
  125. package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js.map +1 -1
  126. package/dist/shared/src/api/queries/review/getReview.cjs.js +1 -1
  127. package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
  128. package/dist/shared/src/api/queries/review/getReview.es.js +95 -152
  129. package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
  130. package/dist/shared/src/api/queries/share/share.cjs.js.map +1 -1
  131. package/dist/shared/src/api/queries/share/share.es.js.map +1 -1
  132. package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
  133. package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
  134. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
  135. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  136. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +88 -141
  137. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  138. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  139. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  140. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
  141. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
  142. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +30 -80
  143. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
  144. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.cjs.js.map +1 -1
  145. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.es.js.map +1 -1
  146. package/dist/shared/src/api/queries/versions/updateVersions.cjs.js.map +1 -1
  147. package/dist/shared/src/api/queries/versions/updateVersions.es.js.map +1 -1
  148. package/dist/shared/src/api/queries/views/getViews.cjs.js.map +1 -1
  149. package/dist/shared/src/api/queries/views/getViews.es.js.map +1 -1
  150. package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -1
  151. package/dist/shared/src/api/queries/views/updateViews.es.js.map +1 -1
  152. package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js.map +1 -1
  153. package/dist/shared/src/api/queries/watchers/getWatchers.es.js.map +1 -1
  154. package/dist/shared/src/components/AccessSearchInput/AccessSearchInput.cjs.js.map +1 -1
  155. package/dist/shared/src/components/AccessSearchInput/AccessSearchInput.es.js.map +1 -1
  156. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +1 -1
  157. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
  158. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +28 -30
  159. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
  160. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js +1 -1
  161. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js.map +1 -1
  162. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js +29 -125
  163. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js.map +1 -1
  164. package/dist/shared/src/components/Chips/Chips.cjs.js +12 -6
  165. package/dist/shared/src/components/Chips/Chips.cjs.js.map +1 -1
  166. package/dist/shared/src/components/Chips/Chips.es.js +69 -62
  167. package/dist/shared/src/components/Chips/Chips.es.js.map +1 -1
  168. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js +3 -3
  169. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js.map +1 -1
  170. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js +16 -310
  171. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
  172. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js +5 -5
  173. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js.map +1 -1
  174. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.es.js +49 -145
  175. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.es.js.map +1 -1
  176. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +5 -5
  177. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
  178. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +45 -141
  179. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
  180. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  181. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  182. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +30 -166
  183. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  184. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  185. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  186. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +9 -195
  187. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  188. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +2 -2
  189. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  190. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +5 -200
  191. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  192. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js +4 -4
  193. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js.map +1 -1
  194. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js +18 -114
  195. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js.map +1 -1
  196. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js +2 -2
  197. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js.map +1 -1
  198. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js +13 -109
  199. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js.map +1 -1
  200. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  201. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  202. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +11 -316
  203. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  204. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js +1 -1
  205. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js.map +1 -1
  206. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js +23 -119
  207. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js.map +1 -1
  208. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js +1 -1
  209. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js.map +1 -1
  210. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js +0 -111
  211. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js.map +1 -1
  212. package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.cjs.js +1 -1
  213. package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.cjs.js.map +1 -1
  214. package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.es.js +1 -1
  215. package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.es.js.map +1 -1
  216. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js +1 -1
  217. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js.map +1 -1
  218. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js +12 -314
  219. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js.map +1 -1
  220. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  221. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  222. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +86 -273
  223. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  224. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  225. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  226. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +34 -335
  227. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  228. package/dist/shared/src/components/EntityPath/EntityPath.cjs.js.map +1 -1
  229. package/dist/shared/src/components/EntityPath/EntityPath.es.js.map +1 -1
  230. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  231. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  232. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +15 -310
  233. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  234. package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.cjs.js.map +1 -1
  235. package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.es.js.map +1 -1
  236. package/dist/shared/src/components/EnumEditor/EnumEditorItem.cjs.js.map +1 -1
  237. package/dist/shared/src/components/EnumEditor/EnumEditorItem.es.js.map +1 -1
  238. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  239. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  240. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +89 -293
  241. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  242. package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.cjs.js +2 -2
  243. package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.cjs.js.map +1 -1
  244. package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.es.js +10 -106
  245. package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.es.js.map +1 -1
  246. package/dist/shared/src/components/InfoMessage/InfoMessage.cjs.js +1 -1
  247. package/dist/shared/src/components/InfoMessage/InfoMessage.cjs.js.map +1 -1
  248. package/dist/shared/src/components/InfoMessage/InfoMessage.es.js +6 -5
  249. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  250. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  251. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
  252. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
  253. package/dist/shared/src/components/LinksManager/LinksManager.es.js +51 -346
  254. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
  255. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  256. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  257. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +7 -212
  258. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  259. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  260. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  261. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +2 -205
  262. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  263. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
  264. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -1
  265. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +4 -185
  266. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -1
  267. package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
  268. package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -1
  269. package/dist/shared/src/components/Menu/Menu.es.js +48 -343
  270. package/dist/shared/src/components/Menu/Menu.es.js.map +1 -1
  271. package/dist/shared/src/components/Menu/MenuItem.cjs.js +1 -1
  272. package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -1
  273. package/dist/shared/src/components/Menu/MenuItem.es.js +20 -316
  274. package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -1
  275. package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
  276. package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
  277. package/dist/shared/src/components/Menu/MenuList.es.js +74 -373
  278. package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
  279. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +2 -2
  280. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  281. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +16 -315
  282. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  283. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  284. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  285. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +48 -346
  286. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  287. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +2 -2
  288. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  289. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +134 -304
  290. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  291. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
  292. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  293. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +78 -371
  294. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  295. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  296. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  297. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +3 -299
  298. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  299. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  300. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  301. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +34 -334
  302. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  303. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  304. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  305. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +30 -331
  306. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  307. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +5 -5
  308. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  309. package/dist/shared/src/components/RenameForm/RenameForm.es.js +77 -372
  310. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  311. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  312. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  313. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +114 -309
  314. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  315. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  316. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  317. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +66 -365
  318. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  319. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  320. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  321. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +14 -316
  322. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  323. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  324. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  325. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +70 -72
  326. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  327. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  328. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  329. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +24 -326
  330. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  331. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.cjs.js.map +1 -1
  332. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.es.js.map +1 -1
  333. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  334. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  335. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +335 -534
  336. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  337. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +7 -7
  338. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  339. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +29 -329
  340. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  341. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +4 -4
  342. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  343. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +53 -355
  344. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  345. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +2 -2
  346. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  347. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +95 -394
  348. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  349. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js +1 -1
  350. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js.map +1 -1
  351. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js +39 -8
  352. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js.map +1 -1
  353. package/dist/shared/src/components/SyncButton/SyncButton.cjs.js +2 -2
  354. package/dist/shared/src/components/SyncButton/SyncButton.cjs.js.map +1 -1
  355. package/dist/shared/src/components/SyncButton/SyncButton.es.js +52 -165
  356. package/dist/shared/src/components/SyncButton/SyncButton.es.js.map +1 -1
  357. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +3 -3
  358. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  359. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +35 -334
  360. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  361. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js +1 -1
  362. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js.map +1 -1
  363. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js +26 -122
  364. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js.map +1 -1
  365. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js +3 -3
  366. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js.map +1 -1
  367. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js +22 -118
  368. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js.map +1 -1
  369. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +13 -13
  370. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  371. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +99 -300
  372. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  373. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  374. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  375. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +61 -262
  376. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  377. package/dist/shared/src/config/plannerFeatures.cjs.js.map +1 -1
  378. package/dist/shared/src/config/plannerFeatures.es.js.map +1 -1
  379. package/dist/shared/src/config/powerpackFeatures.cjs.js.map +1 -1
  380. package/dist/shared/src/config/powerpackFeatures.es.js.map +1 -1
  381. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  382. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  383. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +6 -210
  384. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  385. package/dist/shared/src/containers/Actions/ActionIcon.cjs.js.map +1 -1
  386. package/dist/shared/src/containers/Actions/ActionIcon.es.js.map +1 -1
  387. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  388. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  389. package/dist/shared/src/containers/Actions/Actions.es.js +51 -250
  390. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  391. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js.map +1 -1
  392. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js.map +1 -1
  393. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  394. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  395. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +20 -323
  396. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  397. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.cjs.js.map +1 -1
  398. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.es.js.map +1 -1
  399. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.cjs.js.map +1 -1
  400. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.es.js.map +1 -1
  401. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  402. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  403. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +151 -334
  404. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  405. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +3 -3
  406. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  407. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +27 -329
  408. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  409. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  410. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +39 -236
  412. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  413. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  414. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +65 -255
  416. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  417. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js +1 -1
  418. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js +16 -317
  420. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js.map +1 -1
  421. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  422. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +61 -354
  424. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
  425. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js +5 -5
  426. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js +20 -116
  428. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js.map +1 -1
  429. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  430. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
  431. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +2 -306
  432. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
  433. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.cjs.js +1 -1
  434. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.es.js +51 -147
  436. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.es.js.map +1 -1
  437. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  438. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +2 -202
  440. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  441. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.cjs.js.map +1 -1
  442. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.es.js.map +1 -1
  443. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js.map +1 -1
  444. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.es.js.map +1 -1
  445. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.cjs.js.map +1 -1
  446. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.es.js.map +1 -1
  447. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +9 -9
  448. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  449. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +18 -320
  450. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  451. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  452. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  453. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +13 -217
  454. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  455. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  456. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  457. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +22 -323
  458. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  459. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  460. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  461. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +27 -307
  462. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  463. package/dist/shared/src/containers/DetailsPanel/helpers/buildDetailsPanelTitles.cjs.js.map +1 -1
  464. package/dist/shared/src/containers/DetailsPanel/helpers/buildDetailsPanelTitles.es.js.map +1 -1
  465. package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.cjs.js.map +1 -1
  466. package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.es.js.map +1 -1
  467. package/dist/shared/src/containers/DetailsPanel/helpers/getAllProjectsStatuses.cjs.js.map +1 -1
  468. package/dist/shared/src/containers/DetailsPanel/helpers/getAllProjectsStatuses.es.js.map +1 -1
  469. package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.cjs.js.map +1 -1
  470. package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.es.js.map +1 -1
  471. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js +1 -1
  472. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js.map +1 -1
  473. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js +10 -106
  474. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js.map +1 -1
  475. package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.cjs.js.map +1 -1
  476. package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.es.js.map +1 -1
  477. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  478. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  479. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +2 -209
  480. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  481. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +2 -2
  482. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  483. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +74 -373
  484. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  485. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  486. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  487. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +20 -324
  488. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  489. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +6 -6
  490. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  491. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +32 -338
  492. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  493. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +3 -3
  494. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  495. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +12 -318
  496. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  497. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js +1 -1
  498. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js.map +1 -1
  499. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js +11 -107
  500. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js.map +1 -1
  501. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  502. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  503. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +23 -228
  504. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  505. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js +1 -1
  506. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js.map +1 -1
  507. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js +27 -123
  508. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js.map +1 -1
  509. package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.cjs.js.map +1 -1
  510. package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.es.js.map +1 -1
  511. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  512. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  513. package/dist/shared/src/containers/Feed/Feed.es.js +65 -245
  514. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  515. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js.map +1 -1
  516. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.es.js.map +1 -1
  517. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  518. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  519. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +8 -309
  520. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  521. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  522. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  523. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +145 -421
  524. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  525. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  526. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  527. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +18 -317
  528. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  529. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js +1 -1
  530. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js.map +1 -1
  531. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js +24 -120
  532. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js.map +1 -1
  533. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  534. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  535. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +42 -331
  536. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  537. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js.map +1 -1
  538. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.styled.es.js.map +1 -1
  539. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  540. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  541. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +227 -372
  542. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  543. package/dist/shared/src/containers/Feed/components/CommentInput/VersionReviewPill.cjs.js.map +1 -1
  544. package/dist/shared/src/containers/Feed/components/CommentInput/VersionReviewPill.es.js.map +1 -1
  545. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  546. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  547. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +38 -341
  548. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  549. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  550. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  551. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +22 -324
  552. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  553. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js +1 -1
  554. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js.map +1 -1
  555. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js +9 -105
  556. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js.map +1 -1
  557. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  558. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  559. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +21 -324
  560. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  561. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.cjs.js +1 -1
  562. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.cjs.js.map +1 -1
  563. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.es.js +16 -26
  564. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.es.js.map +1 -1
  565. package/dist/shared/src/containers/Feed/components/CommentInput/quillFormats.cjs.js +2 -0
  566. package/dist/shared/src/containers/Feed/components/CommentInput/quillFormats.cjs.js.map +1 -0
  567. package/dist/shared/src/containers/Feed/components/CommentInput/quillFormats.es.js +14 -0
  568. package/dist/shared/src/containers/Feed/components/CommentInput/quillFormats.es.js.map +1 -0
  569. package/dist/shared/src/containers/Feed/components/CommentInput/types.cjs.js +1 -1
  570. package/dist/shared/src/containers/Feed/components/CommentInput/types.cjs.js.map +1 -1
  571. package/dist/shared/src/containers/Feed/components/CommentInput/types.es.js +2 -15
  572. package/dist/shared/src/containers/Feed/components/CommentInput/types.es.js.map +1 -1
  573. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +2 -2
  574. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js.map +1 -1
  575. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +62 -361
  576. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js.map +1 -1
  577. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  578. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  579. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +57 -356
  580. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  581. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  582. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  583. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +14 -310
  584. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  585. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  586. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  587. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +34 -238
  588. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  589. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.cjs.js +1 -1
  590. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.cjs.js.map +1 -1
  591. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.es.js +24 -18
  592. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.es.js.map +1 -1
  593. package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.cjs.js +1 -1
  594. package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.cjs.js.map +1 -1
  595. package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.es.js +26 -25
  596. package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.es.js.map +1 -1
  597. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js +1 -1
  598. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js.map +1 -1
  599. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js +67 -163
  600. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js.map +1 -1
  601. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.cjs.js.map +1 -1
  602. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.es.js +18 -8
  603. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.es.js.map +1 -1
  604. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js +1 -1
  605. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js.map +1 -1
  606. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js +10 -106
  607. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js.map +1 -1
  608. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionUsers.cjs.js.map +1 -1
  609. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionUsers.es.js.map +1 -1
  610. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js +1 -1
  611. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js.map +1 -1
  612. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js +13 -109
  613. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js.map +1 -1
  614. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  615. package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
  616. package/dist/shared/src/containers/ListTable/ListTable.es.js +115 -284
  617. package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
  618. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  619. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  620. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +56 -177
  621. package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
  622. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  623. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
  624. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +46 -343
  625. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
  626. package/dist/shared/src/containers/ListTable/ListTableWidgets.cjs.js.map +1 -1
  627. package/dist/shared/src/containers/ListTable/ListTableWidgets.es.js.map +1 -1
  628. package/dist/shared/src/containers/MoveEntityDialog/MoveEntityDialog.cjs.js.map +1 -1
  629. package/dist/shared/src/containers/MoveEntityDialog/MoveEntityDialog.es.js.map +1 -1
  630. package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js +3 -3
  631. package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js.map +1 -1
  632. package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js +170 -459
  633. package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js.map +1 -1
  634. package/dist/shared/src/containers/NewEntity/components/TypeEditor.cjs.js.map +1 -1
  635. package/dist/shared/src/containers/NewEntity/components/TypeEditor.es.js.map +1 -1
  636. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js +1 -1
  637. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js.map +1 -1
  638. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.es.js +117 -314
  639. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.es.js.map +1 -1
  640. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  641. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  642. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +613 -883
  643. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  644. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +6 -0
  645. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
  646. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +14 -8
  647. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
  648. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  649. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  650. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +289 -413
  651. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  652. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  653. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  654. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +75 -375
  655. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  656. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  657. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  658. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +32 -204
  659. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  660. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  661. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  662. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +38 -124
  663. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  664. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js +7 -7
  665. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js.map +1 -1
  666. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js +35 -131
  667. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js.map +1 -1
  668. package/dist/shared/src/containers/ProjectTreeTable/constants.cjs.js +1 -1
  669. package/dist/shared/src/containers/ProjectTreeTable/constants.cjs.js.map +1 -1
  670. package/dist/shared/src/containers/ProjectTreeTable/constants.es.js +6 -3
  671. package/dist/shared/src/containers/ProjectTreeTable/constants.es.js.map +1 -1
  672. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  673. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  674. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +97 -292
  675. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  676. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +4 -4
  677. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  678. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +243 -441
  679. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  680. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  681. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  682. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +156 -330
  683. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  684. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  685. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  686. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +4 -208
  687. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  688. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +1 -1
  689. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  690. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +120 -420
  691. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  692. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  693. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  694. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +71 -245
  695. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  696. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.cjs.js.map +1 -1
  697. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.es.js +3 -3
  698. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.es.js.map +1 -1
  699. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.cjs.js.map +1 -1
  700. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.es.js.map +1 -1
  701. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.cjs.js.map +1 -1
  702. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.es.js.map +1 -1
  703. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js +1 -1
  704. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js.map +1 -1
  705. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js +83 -179
  706. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js.map +1 -1
  707. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  708. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  709. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +13 -317
  710. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  711. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  712. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  713. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +59 -233
  714. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  715. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  716. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  717. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +74 -248
  718. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  719. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  720. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  721. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +147 -439
  722. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  723. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  724. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  725. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +23 -197
  726. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  727. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  728. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  729. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +32 -206
  730. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  731. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  732. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  733. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +32 -332
  734. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  735. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  736. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  737. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +135 -335
  738. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  739. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js.map +1 -1
  740. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js.map +1 -1
  741. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  742. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  743. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +29 -203
  744. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  745. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  746. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  747. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +36 -204
  748. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  749. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  750. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  751. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +78 -282
  752. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  753. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  754. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  755. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +31 -232
  756. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  757. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  758. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  759. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +24 -198
  760. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  761. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  762. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  763. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +43 -217
  764. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  765. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  766. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  767. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +167 -467
  768. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  769. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  770. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  771. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +41 -215
  772. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  773. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js.map +1 -1
  774. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js.map +1 -1
  775. package/dist/shared/src/containers/ProjectTreeTable/utils/getEntityViewerIds.cjs.js.map +1 -1
  776. package/dist/shared/src/containers/ProjectTreeTable/utils/getEntityViewerIds.es.js.map +1 -1
  777. package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.cjs.js.map +1 -1
  778. package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.es.js.map +1 -1
  779. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js.map +1 -1
  780. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js.map +1 -1
  781. package/dist/shared/src/containers/ProjectTreeTable/utils/getTypeDefaultValue.cjs.js.map +1 -1
  782. package/dist/shared/src/containers/ProjectTreeTable/utils/getTypeDefaultValue.es.js.map +1 -1
  783. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.cjs.js.map +1 -1
  784. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.es.js.map +1 -1
  785. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.cjs.js.map +1 -1
  786. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.es.js.map +1 -1
  787. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
  788. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
  789. package/dist/shared/src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.cjs.js.map +1 -1
  790. package/dist/shared/src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.es.js.map +1 -1
  791. package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.cjs.js.map +1 -1
  792. package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.es.js.map +1 -1
  793. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +2 -2
  794. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  795. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +14 -315
  796. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  797. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +5 -3
  798. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  799. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +159 -441
  800. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  801. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +5 -5
  802. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
  803. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +40 -332
  804. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
  805. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.cjs.js +9 -1
  806. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.cjs.js.map +1 -1
  807. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.es.js +47 -31
  808. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.es.js.map +1 -1
  809. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js +28 -9
  810. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js.map +1 -1
  811. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js +58 -39
  812. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js.map +1 -1
  813. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.cjs.js +1 -1
  814. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.cjs.js.map +1 -1
  815. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.es.js +22 -194
  816. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.es.js.map +1 -1
  817. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js +53 -25
  818. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js.map +1 -1
  819. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js +150 -103
  820. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js.map +1 -1
  821. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +9 -2
  822. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
  823. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +66 -57
  824. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
  825. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +3 -3
  826. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  827. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +52 -348
  828. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  829. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +5 -5
  830. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
  831. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +77 -364
  832. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js.map +1 -1
  833. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  834. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  835. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +28 -202
  836. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  837. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  838. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  839. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +37 -333
  840. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  841. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +5 -5
  842. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
  843. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +130 -424
  844. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
  845. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +19 -3
  846. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
  847. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +119 -196
  848. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
  849. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +5 -5
  850. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -1
  851. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +12 -108
  852. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js.map +1 -1
  853. package/dist/shared/src/containers/ProjectTreeTable/widgets/wrapMode.cjs.js +6 -0
  854. package/dist/shared/src/containers/ProjectTreeTable/widgets/wrapMode.cjs.js.map +1 -0
  855. package/dist/shared/src/containers/ProjectTreeTable/widgets/wrapMode.es.js +11 -0
  856. package/dist/shared/src/containers/ProjectTreeTable/widgets/wrapMode.es.js.map +1 -0
  857. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  858. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  859. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +20 -217
  860. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  861. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  862. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  863. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +231 -527
  864. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  865. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +2 -2
  866. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -1
  867. package/dist/shared/src/containers/Slicer/components/Slicer.es.js +69 -367
  868. package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -1
  869. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +2 -2
  870. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
  871. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +18 -318
  872. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -1
  873. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +2 -2
  874. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  875. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +24 -328
  876. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  877. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  878. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  879. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +69 -370
  880. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  881. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
  882. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
  883. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +27 -228
  884. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
  885. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js +1 -1
  886. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js.map +1 -1
  887. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.es.js +34 -236
  888. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.es.js.map +1 -1
  889. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +1 -1
  890. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -1
  891. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +5 -309
  892. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
  893. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +1 -1
  894. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -1
  895. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +7 -311
  896. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -1
  897. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js +1 -1
  898. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js.map +1 -1
  899. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js +11 -314
  900. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js.map +1 -1
  901. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js +1 -1
  902. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js.map +1 -1
  903. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js +13 -316
  904. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js.map +1 -1
  905. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js +1 -1
  906. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js.map +1 -1
  907. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js +34 -338
  908. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js.map +1 -1
  909. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js +1 -1
  910. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js.map +1 -1
  911. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js +11 -316
  912. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js.map +1 -1
  913. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  914. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  915. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +72 -368
  916. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  917. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -1
  918. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -1
  919. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.cjs.js.map +1 -1
  920. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.es.js.map +1 -1
  921. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js +1 -1
  922. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js.map +1 -1
  923. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js +24 -120
  924. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js.map +1 -1
  925. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.cjs.js.map +1 -1
  926. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.es.js.map +1 -1
  927. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  928. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  929. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +35 -336
  930. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  931. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  932. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  933. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +55 -354
  934. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  935. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +2 -2
  936. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  937. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +40 -335
  938. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  939. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  940. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  941. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +89 -287
  942. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  943. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js +1 -1
  944. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js.map +1 -1
  945. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js +17 -113
  946. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js.map +1 -1
  947. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -1
  948. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
  949. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +45 -141
  950. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
  951. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.cjs.js.map +1 -1
  952. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.es.js.map +1 -1
  953. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  954. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  955. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +22 -216
  956. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  957. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  958. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  959. package/dist/shared/src/containers/Views/types.cjs.js.map +1 -1
  960. package/dist/shared/src/containers/Views/types.es.js.map +1 -1
  961. package/dist/shared/src/containers/Views/utils/generateWorkingView.cjs.js.map +1 -1
  962. package/dist/shared/src/containers/Views/utils/generateWorkingView.es.js.map +1 -1
  963. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  964. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  965. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +47 -46
  966. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  967. package/dist/shared/src/context/AddonContext.cjs.js.map +1 -1
  968. package/dist/shared/src/context/AddonContext.es.js.map +1 -1
  969. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  970. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  971. package/dist/shared/src/context/AddonProjectContext.es.js +19 -115
  972. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  973. package/dist/shared/src/context/DeleteEntitiesContext.cjs.js +1 -1
  974. package/dist/shared/src/context/DeleteEntitiesContext.cjs.js.map +1 -1
  975. package/dist/shared/src/context/DeleteEntitiesContext.es.js +1 -1
  976. package/dist/shared/src/context/DeleteEntitiesContext.es.js.map +1 -1
  977. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  978. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  979. package/dist/shared/src/context/DetailsPanelContext.es.js +66 -362
  980. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  981. package/dist/shared/src/context/EntityUpdatesContext.cjs.js +1 -1
  982. package/dist/shared/src/context/EntityUpdatesContext.cjs.js.map +1 -1
  983. package/dist/shared/src/context/EntityUpdatesContext.es.js +61 -358
  984. package/dist/shared/src/context/EntityUpdatesContext.es.js.map +1 -1
  985. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  986. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  987. package/dist/shared/src/context/PowerpackContext.es.js +42 -344
  988. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  989. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  990. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  991. package/dist/shared/src/context/ProjectContext.es.js +1 -1
  992. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  993. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  994. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  995. package/dist/shared/src/context/ProjectFoldersContext.es.js +26 -231
  996. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  997. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  998. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  999. package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
  1000. package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
  1001. package/dist/shared/src/context/SubtasksModulesContext.es.js +23 -324
  1002. package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
  1003. package/dist/shared/src/context/ThumbnailUploaderContext.cjs.js +1 -1
  1004. package/dist/shared/src/context/ThumbnailUploaderContext.cjs.js.map +1 -1
  1005. package/dist/shared/src/context/ThumbnailUploaderContext.es.js +17 -21
  1006. package/dist/shared/src/context/ThumbnailUploaderContext.es.js.map +1 -1
  1007. package/dist/shared/src/context/UriContext.cjs.js +1 -1
  1008. package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
  1009. package/dist/shared/src/context/UriContext.es.js +2 -2
  1010. package/dist/shared/src/context/UriContext.es.js.map +1 -1
  1011. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  1012. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  1013. package/dist/shared/src/context/WebsocketContext.es.js +28 -229
  1014. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  1015. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  1016. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  1017. package/dist/shared/src/hooks/useEntityUpdate.es.js +2 -208
  1018. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  1019. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  1020. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  1021. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +11 -314
  1022. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  1023. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  1024. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  1025. package/dist/shared/src/hooks/useHierarchyTable.es.js +30 -333
  1026. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  1027. package/dist/shared/src/hooks/useLoadModules.cjs.js.map +1 -1
  1028. package/dist/shared/src/hooks/useLoadModules.es.js.map +1 -1
  1029. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js +1 -1
  1030. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js.map +1 -1
  1031. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js +19 -115
  1032. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js.map +1 -1
  1033. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  1034. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  1035. package/dist/shared/src/hooks/useUserProjectConfig.es.js +6 -212
  1036. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  1037. package/dist/shared/src/util/buildHierarchicalTableRows.cjs.js +1 -1
  1038. package/dist/shared/src/util/buildHierarchicalTableRows.cjs.js.map +1 -1
  1039. package/dist/shared/src/util/buildHierarchicalTableRows.es.js +36 -33
  1040. package/dist/shared/src/util/buildHierarchicalTableRows.es.js.map +1 -1
  1041. package/dist/shared/src/util/checkName.cjs.js.map +1 -1
  1042. package/dist/shared/src/util/checkName.es.js.map +1 -1
  1043. package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
  1044. package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
  1045. package/dist/shared/src/util/getAttributeIcon.cjs.js.map +1 -1
  1046. package/dist/shared/src/util/getAttributeIcon.es.js.map +1 -1
  1047. package/dist/shared/src/util/getBundleMode.cjs.js +1 -1
  1048. package/dist/shared/src/util/getBundleMode.cjs.js.map +1 -1
  1049. package/dist/shared/src/util/getBundleMode.es.js +16 -112
  1050. package/dist/shared/src/util/getBundleMode.es.js.map +1 -1
  1051. package/dist/shared/src/util/getGroupByDataType.cjs.js.map +1 -1
  1052. package/dist/shared/src/util/getGroupByDataType.es.js.map +1 -1
  1053. package/dist/shared/src/util/getPriorityOptions.cjs.js.map +1 -1
  1054. package/dist/shared/src/util/getPriorityOptions.es.js.map +1 -1
  1055. package/dist/shared/src/util/iconUtils.cjs.js.map +1 -1
  1056. package/dist/shared/src/util/iconUtils.es.js.map +1 -1
  1057. package/dist/shared/src/util/mentionTypeOptions.cjs.js +2 -0
  1058. package/dist/shared/src/util/mentionTypeOptions.cjs.js.map +1 -0
  1059. package/dist/shared/src/util/mentionTypeOptions.es.js +16 -0
  1060. package/dist/shared/src/util/mentionTypeOptions.es.js.map +1 -0
  1061. package/dist/shared/src/util/parseFilename.cjs.js +2 -0
  1062. package/dist/shared/src/util/parseFilename.cjs.js.map +1 -0
  1063. package/dist/shared/src/util/parseFilename.es.js +8 -0
  1064. package/dist/shared/src/util/parseFilename.es.js.map +1 -0
  1065. package/dist/shared/src/util/uriUtils.cjs.js.map +1 -1
  1066. package/dist/shared/src/util/uriUtils.es.js.map +1 -1
  1067. package/dist/types/api/base/index.d.ts +1 -1
  1068. package/dist/types/api/generated/graphql.d.ts +76 -2
  1069. package/dist/types/api/generated/graphqlLinks.d.ts +1 -0
  1070. package/dist/types/api/queries/activities/getActivities.d.ts +32 -2
  1071. package/dist/types/api/queries/activities/getCategories.d.ts +1 -1
  1072. package/dist/types/api/queries/activities/util/activityRealtimeHandler.d.ts +1 -1
  1073. package/dist/types/api/queries/entities/getEntity.d.ts +16 -1
  1074. package/dist/types/api/queries/entities/getEntityPanel.d.ts +16 -1
  1075. package/dist/types/api/queries/entities/updateEntity.d.ts +16 -1
  1076. package/dist/types/api/queries/entityLists/getLists.d.ts +319 -305
  1077. package/dist/types/api/queries/overview/getOverview.d.ts +49 -18
  1078. package/dist/types/api/queries/project/getProject.d.ts +76 -61
  1079. package/dist/types/api/queries/system/getSystem.d.ts +1 -1
  1080. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +16 -1
  1081. package/dist/types/api/queries/users/getUsers.d.ts +16 -1
  1082. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +32 -2
  1083. package/dist/types/api/queries/views/getViews.d.ts +1 -1
  1084. package/dist/types/components/DetailsPanelDetails/DetailsSection.d.ts +1 -1
  1085. package/dist/types/components/Menu/Menu.d.ts +1 -1
  1086. package/dist/types/components/Menu/MenuList.d.ts +1 -1
  1087. package/dist/types/components/Powerpack/PowerpackButton.d.ts +1 -1
  1088. package/dist/types/components/ProjectTableSettings/ColumnsSettings.d.ts +1 -1
  1089. package/dist/types/components/ProjectTableSettings/ProjectTableSettings.d.ts +2 -2
  1090. package/dist/types/components/ProjectTableSettings/TableSettingsFallback.d.ts +1 -1
  1091. package/dist/types/components/RemotePage/ProjectPageRemote.d.ts +1 -1
  1092. package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +4 -2
  1093. package/dist/types/components/RenameForm/RenameForm.d.ts +1 -1
  1094. package/dist/types/components/ReviewablesList/SortableReviewableCard.d.ts +1 -1
  1095. package/dist/types/components/ReviewablesList/useReviewablesUpload.d.ts +2 -2
  1096. package/dist/types/components/ReviewablesSelector/Card.d.ts +1 -1
  1097. package/dist/types/components/SearchFilter/filterScopeRegistry.d.ts +1 -1
  1098. package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +1 -1
  1099. package/dist/types/components/SettingsPanel/SettingsPanel.d.ts +1 -1
  1100. package/dist/types/components/SubtasksManager/SubtasksManagerWrapper.d.ts +4 -1
  1101. package/dist/types/components/SyncButton/SyncButton.d.ts +1 -1
  1102. package/dist/types/components/Thumbnail/StackedThumbnails.d.ts +1 -2
  1103. package/dist/types/config/plannerFeatures.d.ts +1 -1
  1104. package/dist/types/config/powerpackFeatures.d.ts +1 -1
  1105. package/dist/types/containers/Actions/Actions.d.ts +2 -2
  1106. package/dist/types/containers/ContextMenu/ContextMenuItem.d.ts +1 -1
  1107. package/dist/types/containers/ContextMenu/useCreateContextMenu.d.ts +1 -1
  1108. package/dist/types/containers/DetailsPanel/DetailsPanel.d.ts +1 -1
  1109. package/dist/types/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.d.ts +2 -2
  1110. package/dist/types/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.d.ts +1 -1
  1111. package/dist/types/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.d.ts +2 -2
  1112. package/dist/types/containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.d.ts +1 -1
  1113. package/dist/types/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.d.ts +3 -3
  1114. package/dist/types/containers/DetailsPanel/containers/DetailsPanelSubtasks.d.ts +1 -1
  1115. package/dist/types/containers/DetailsPanel/helpers/buildEntityTypeIcons.d.ts +1 -1
  1116. package/dist/types/containers/DetailsPanel/helpers/getEntityPathData.d.ts +1 -1
  1117. package/dist/types/containers/DetailsPanel/helpers/mergeProjectInfo.d.ts +1 -1
  1118. package/dist/types/containers/DetailsPanel/hooks/useGetEntityPath.d.ts +1 -1
  1119. package/dist/types/containers/EntityPickerDialog/components/EntityTypeTable.d.ts +1 -1
  1120. package/dist/types/containers/EntityPickerDialog/hooks/useGetEntityPickerData.d.ts +1 -1
  1121. package/dist/types/containers/EntityPickerDialog/util/buildEntityPickerTableData.d.ts +1 -1
  1122. package/dist/types/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.d.ts +1 -1
  1123. package/dist/types/containers/Feed/components/ActivityReference/ActivityReference.styled.d.ts +2 -2
  1124. package/dist/types/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.d.ts +1 -1
  1125. package/dist/types/containers/Feed/components/ActivityVersions/ActivityVersions.styled.d.ts +1 -1
  1126. package/dist/types/containers/Feed/components/CommentInput/modules/index.d.ts +1 -1
  1127. package/dist/types/containers/Feed/components/CommentInput/quillFormats.d.ts +1 -0
  1128. package/dist/types/containers/Feed/components/CommentInput/types.d.ts +1 -12
  1129. package/dist/types/containers/Feed/components/FileUploadCard/FileUploadCard.d.ts +1 -1
  1130. package/dist/types/containers/Feed/context/FeedContext.d.ts +1 -1
  1131. package/dist/types/containers/Feed/helpers/buildBackendFilter.d.ts +1 -0
  1132. package/dist/types/containers/Feed/hooks/useLastVersionReview.d.ts +1 -1
  1133. package/dist/types/containers/Feed/mentionHelpers/getMentionTasks.d.ts +1 -1
  1134. package/dist/types/containers/Feed/mentionHelpers/getMentionUsers.d.ts +1 -1
  1135. package/dist/types/containers/Feed/mentionHelpers/getMentionVersions.d.ts +2 -2
  1136. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +1 -1
  1137. package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +2 -1
  1138. package/dist/types/containers/ProjectTreeTable/constants.d.ts +3 -0
  1139. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +4 -3
  1140. package/dist/types/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +1 -1
  1141. package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +4 -5
  1142. package/dist/types/containers/ProjectTreeTable/hooks/useFolderRelationships.d.ts +1 -1
  1143. package/dist/types/containers/ProjectTreeTable/hooks/useGetEntityTypeData.d.ts +2 -2
  1144. package/dist/types/containers/ProjectTreeTable/hooks/useMoveEntities.d.ts +1 -1
  1145. package/dist/types/containers/ProjectTreeTable/hooks/usePasteLinks.d.ts +1 -1
  1146. package/dist/types/containers/ProjectTreeTable/hooks/useQueryFilters.d.ts +1 -1
  1147. package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +6 -5
  1148. package/dist/types/containers/ProjectTreeTable/utils/getEntityViewerIds.d.ts +1 -1
  1149. package/dist/types/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.d.ts +1 -1
  1150. package/dist/types/containers/ProjectTreeTable/utils/linksToTableData.d.ts +1 -1
  1151. package/dist/types/containers/ProjectTreeTable/utils/sanitizeQueryFilter.d.ts +1 -1
  1152. package/dist/types/containers/ProjectTreeTable/widgets/LinksWidget.d.ts +1 -1
  1153. package/dist/types/containers/ProjectTreeTable/widgets/NameWidget.d.ts +1 -1
  1154. package/dist/types/containers/ProjectTreeTable/widgets/SubtasksWidget.d.ts +1 -0
  1155. package/dist/types/containers/ProjectTreeTable/widgets/TextWidget.d.ts +2 -1
  1156. package/dist/types/containers/ProjectTreeTable/widgets/wrapMode.d.ts +2 -0
  1157. package/dist/types/containers/Slicer/components/Slicer.d.ts +2 -2
  1158. package/dist/types/containers/Slicer/components/SlicerDropdownFallback.d.ts +1 -1
  1159. package/dist/types/containers/Slicer/context/SlicerContext.d.ts +3 -4
  1160. package/dist/types/containers/Slicer/hooks/useEntityListsSlice.d.ts +1 -1
  1161. package/dist/types/containers/Slicer/hooks/useHierarchyContextMenuItems.d.ts +3 -3
  1162. package/dist/types/containers/Slicer/hooks/useProjectAnatomySlices.d.ts +1 -1
  1163. package/dist/types/containers/Slicer/hooks/useSlicerCounts.d.ts +1 -1
  1164. package/dist/types/containers/Slicer/hooks/useUsersTable.d.ts +1 -1
  1165. package/dist/types/containers/Slicer/types.d.ts +1 -1
  1166. package/dist/types/containers/Views/context/ViewsContext.d.ts +1 -0
  1167. package/dist/types/containers/Views/hooks/pages/useListsViewSettings.d.ts +1 -1
  1168. package/dist/types/containers/Views/hooks/pages/useOverviewViewSettings.d.ts +1 -1
  1169. package/dist/types/containers/Views/types.d.ts +1 -1
  1170. package/dist/types/context/AddonContext.d.ts +1 -1
  1171. package/dist/types/context/AddonProjectContext.d.ts +2 -2
  1172. package/dist/types/context/DetailsPanelContext.d.ts +2 -2
  1173. package/dist/types/context/SubtasksModulesContext.d.ts +1 -1
  1174. package/dist/types/hooks/useHierarchyTable.d.ts +1 -1
  1175. package/dist/types/util/buildHierarchicalTableRows.d.ts +3 -1
  1176. package/dist/types/util/columnConfigConverter.d.ts +1 -1
  1177. package/dist/types/util/getBundleMode.d.ts +1 -1
  1178. package/dist/types/util/getGroupByDataType.d.ts +1 -1
  1179. package/dist/types/util/index.d.ts +2 -0
  1180. package/dist/types/util/mentionTypeOptions.d.ts +12 -0
  1181. package/dist/types/util/parseFilename.d.ts +1 -0
  1182. package/dist/types/util/uriUtils.d.ts +1 -1
  1183. package/dist/util.cjs.js +1 -1
  1184. package/dist/util.es.js +24 -20
  1185. package/dist/util.es.js.map +1 -1
  1186. package/package.json +1 -1
  1187. package/dist/shared/src/components/ThumbnailSimple/index.cjs.js +0 -2
  1188. package/dist/shared/src/components/ThumbnailSimple/index.cjs.js.map +0 -1
  1189. package/dist/shared/src/components/ThumbnailSimple/index.es.js +0 -6
  1190. package/dist/shared/src/components/ThumbnailSimple/index.es.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DeleteEntitiesContext.cjs.js","sources":["../../../../src/context/DeleteEntitiesContext.tsx"],"sourcesContent":["import { createContext, useCallback, useContext, useMemo, useState, ReactNode } from 'react'\nimport { toast } from 'react-toastify'\nimport {\n useUpdateOverviewEntitiesMutation,\n useLazyGetFolderDeleteInfoQuery,\n type FolderDeleteInfo,\n type OperationModel,\n} from '@shared/api'\nimport {\n DeleteEntitiesConfirmDialog,\n buildChildrenDetails,\n buildEntityLabel,\n buildExpectedCounts,\n type DeleteConfirmPayload,\n} from '@shared/components/DeleteEntitiesConfirm'\n\nexport type DeletableEntityType =\n | 'folder'\n | 'task'\n | 'product'\n | 'version'\n | 'representation'\n | 'workfile'\n\nconst DELETABLE_ENTITY_TYPES = new Set<string>([\n 'folder',\n 'task',\n 'product',\n 'version',\n 'representation',\n 'workfile',\n])\n\nexport const isDeletableEntityType = (type?: string): type is DeletableEntityType =>\n !!type && DELETABLE_ENTITY_TYPES.has(type)\n\nexport interface DeletableEntity {\n id: string\n entityType: DeletableEntityType\n name?: string\n label?: string | null\n projectName: string\n // parent references — used to drop descendants when an ancestor is also selected\n folderId?: string // task / product parent folder\n parentId?: string // folder parent folder\n // local fallbacks used when the folder delete-info fetch is unavailable\n hasChildren?: boolean\n taskNames?: string[]\n}\n\nexport interface DeleteEntitiesOptions {\n onSuccess?: () => void\n}\n\ninterface DeleteEntitiesContextValue {\n // resolves when the confirmation dialog opens, not when deletion finishes — use onSuccess\n deleteEntities: (entities: DeletableEntity[], options?: DeleteEntitiesOptions) => Promise<void>\n}\n\nconst DeleteEntitiesContext = createContext<DeleteEntitiesContextValue | null>(null)\n\n// operations run sequentially on the server — delete children before their parents\nconst DELETE_OP_ORDER: DeletableEntityType[] = [\n 'representation',\n 'version',\n 'workfile',\n 'product',\n 'task',\n 'folder',\n]\nconst FOLDER_WITH_CHILDREN_CODE = 'delete-folder-with-children'\n\ntype RecoverResult = 'recovered' | 'cancelled' | 'unhandled'\n\ntype PendingDelete = {\n payload: DeleteConfirmPayload\n accept: () => Promise<void>\n // 'recovered' — force delete ran, 'cancelled' — user declined it, 'unhandled' — force does not apply\n recover: (error: any) => Promise<RecoverResult>\n}\n\ntype PendingForce = {\n payload: DeleteConfirmPayload\n resolve: (confirmed: boolean) => void\n}\n\nexport const DeleteEntitiesProvider = ({ children }: { children: ReactNode }) => {\n const [operations] = useUpdateOverviewEntitiesMutation()\n const [fetchFolderDeleteInfo] = useLazyGetFolderDeleteInfoQuery()\n const [pendingDelete, setPendingDelete] = useState<PendingDelete | null>(null)\n const [pendingForce, setPendingForce] = useState<PendingForce | null>(null)\n\n const confirmForce = useCallback(\n (payload: DeleteConfirmPayload) =>\n new Promise<boolean>((resolve) => setPendingForce({ payload, resolve })),\n [],\n )\n\n const deleteEntities = useCallback<DeleteEntitiesContextValue['deleteEntities']>(\n async (entities, options) => {\n if (!entities || entities.length === 0) {\n toast.error('No entities selected')\n return\n }\n\n // dedupe by id\n const seen = new Set<string>()\n const uniqueEntities = entities.filter((e) => {\n if (!e?.id || seen.has(e.id)) return false\n seen.add(e.id)\n return true\n })\n\n if (uniqueEntities.length === 0) {\n toast.error('No entities found')\n return\n }\n\n // drop descendants whose ancestor is also selected — avoids double-deletes / double-counts\n const selectedIdSet = new Set(uniqueEntities.map((e) => e.id))\n const topLevel = uniqueEntities.filter((e) => {\n if (e.entityType === 'folder' && e.parentId) return !selectedIdSet.has(e.parentId)\n if ((e.entityType === 'task' || e.entityType === 'product') && e.folderId) {\n return !selectedIdSet.has(e.folderId)\n }\n return true\n })\n\n // one batched operations request per project — caches are patched optimistically\n // by the mutation and rolled back automatically if the request fails\n const runOperationsDelete = async (\n entitiesToDelete: DeletableEntity[],\n force: boolean,\n ) => {\n if (entitiesToDelete.length === 0) return\n\n const byProject = new Map<string, DeletableEntity[]>()\n for (const e of entitiesToDelete) {\n const group = byProject.get(e.projectName) || []\n group.push(e)\n byProject.set(e.projectName, group)\n }\n\n await Promise.all(\n Array.from(byProject.entries()).map(([projectName, group]) => {\n const sorted = [...group].sort(\n (a, b) =>\n DELETE_OP_ORDER.indexOf(a.entityType) - DELETE_OP_ORDER.indexOf(b.entityType),\n )\n const ops: OperationModel[] = sorted.map((e) => ({\n type: 'delete',\n entityType: e.entityType,\n entityId: e.id,\n force,\n }))\n return operations({\n operationsRequestModel: { operations: ops },\n projectName,\n }).unwrap()\n }),\n )\n }\n\n const runDelete = async () => {\n try {\n await runOperationsDelete(topLevel, false)\n options?.onSuccess?.()\n } catch (error: any) {\n const message = error?.error || 'Failed to delete entities'\n console.error('Failed to delete entities:', error)\n throw { message, ...error }\n }\n }\n\n // force only applies to folders — everything else either succeeded on the first\n // attempt or is deleted by the folder cascade\n const runForceDelete = () =>\n runOperationsDelete(\n topLevel.filter((e) => e.entityType === 'folder' || e.entityType === 'task'),\n true,\n )\n\n // fetch child counts for top-level folders (grouped per project) to show what else gets deleted\n const topLevelFolders = topLevel.filter((e) => e.entityType === 'folder')\n let folderInfo: FolderDeleteInfo[] = []\n if (topLevelFolders.length > 0) {\n const foldersByProject = new Map<string, DeletableEntity[]>()\n for (const f of topLevelFolders) {\n const group = foldersByProject.get(f.projectName) || []\n group.push(f)\n foldersByProject.set(f.projectName, group)\n }\n try {\n const infoLists = await Promise.all(\n Array.from(foldersByProject.entries()).map(([projectName, group]) =>\n fetchFolderDeleteInfo({\n projectName,\n folderIds: group.map((f) => f.id),\n }).unwrap(),\n ),\n )\n folderInfo = infoLists.flat()\n } catch (error) {\n console.warn('Failed to fetch folder delete info, falling back to local data', error)\n }\n }\n const childrenDetails = buildChildrenDetails(topLevelFolders, folderInfo)\n\n // products cascade to their versions on the backend — warn about it\n const productCount = topLevel.filter((e) => e.entityType === 'product').length\n if (productCount > 0) {\n childrenDetails.push(\n productCount > 1\n ? 'Deleting these products also deletes all their versions'\n : 'Deleting this product also deletes all its versions',\n )\n }\n\n const entityLabel = buildEntityLabel(topLevel)\n const single = topLevel.length === 1 ? topLevel[0] : undefined\n\n setPendingDelete({\n payload: {\n entityLabel,\n childrenDetails,\n expectedCounts: buildExpectedCounts(topLevel, folderInfo),\n expectedName: single && (single.label || single.name || single.id),\n },\n accept: runDelete,\n recover: async (error: any): Promise<RecoverResult> => {\n if (!error?.errorCodes?.includes(FOLDER_WITH_CHILDREN_CODE)) return 'unhandled'\n const confirmed = await confirmForce({\n entityLabel,\n message: `Are you really sure you want to delete ${entityLabel} and all of its dependencies? This cannot be undone. (NOT RECOMMENDED)`,\n childrenDetails: [],\n expectedCounts: {},\n deleteLabel: 'Force delete',\n })\n if (!confirmed) return 'cancelled'\n await runForceDelete()\n options?.onSuccess?.()\n return 'recovered'\n },\n })\n },\n [operations, fetchFolderDeleteInfo, confirmForce],\n )\n\n const handleConfirm = useCallback(async () => {\n if (!pendingDelete) return\n const { payload, accept, recover } = pendingDelete\n setPendingDelete(null)\n\n const label = payload.entityLabel\n const toastId = toast.loading(`Deleting ${label}...`, { autoClose: false })\n const succeed = () =>\n toast.update(toastId, {\n render: `${label} deleted`,\n type: 'success',\n autoClose: 5000,\n isLoading: false,\n })\n\n try {\n await accept()\n succeed()\n } catch (error: any) {\n // the first attempt failing is expected when a folder needs force — only toast\n // the error once we know force was declined or failed\n let failure = error\n try {\n const result = await recover(error)\n if (result === 'recovered') return succeed()\n if (result === 'cancelled') {\n return toast.update(toastId, {\n render: `${label} was not deleted`,\n type: 'info',\n autoClose: 5000,\n isLoading: false,\n })\n }\n } catch (forceError: any) {\n console.error('Failed to force delete entities:', forceError)\n failure = forceError\n }\n\n const message =\n typeof failure === 'string'\n ? failure\n : failure?.message || failure?.error || `Error deleting ${label}`\n toast.update(toastId, {\n render: message,\n type: 'error',\n autoClose: 5000,\n isLoading: false,\n })\n }\n }, [pendingDelete])\n\n const value = useMemo(() => ({ deleteEntities }), [deleteEntities])\n\n return (\n <DeleteEntitiesContext.Provider value={value}>\n {children}\n {pendingDelete && (\n <DeleteEntitiesConfirmDialog\n payload={pendingDelete.payload}\n onConfirm={handleConfirm}\n onCancel={() => setPendingDelete(null)}\n />\n )}\n {pendingForce && (\n <DeleteEntitiesConfirmDialog\n payload={pendingForce.payload}\n onConfirm={() => {\n setPendingForce(null)\n pendingForce.resolve(true)\n }}\n onCancel={() => {\n setPendingForce(null)\n pendingForce.resolve(false)\n }}\n />\n )}\n </DeleteEntitiesContext.Provider>\n )\n}\n\nexport const useDeleteEntitiesContext = (): DeleteEntitiesContextValue => {\n const ctx = useContext(DeleteEntitiesContext)\n if (!ctx) {\n throw new Error('useDeleteEntitiesContext must be used within a DeleteEntitiesProvider')\n }\n return ctx\n}\n\n// non-throwing variant for optional consumers (e.g. menus that may render outside the provider)\nexport const useDeleteEntitiesContextOptional = (): DeleteEntitiesContextValue | null =>\n useContext(DeleteEntitiesContext)\n"],"names":["DELETABLE_ENTITY_TYPES","isDeletableEntityType","type","DeleteEntitiesContext","createContext","DELETE_OP_ORDER","FOLDER_WITH_CHILDREN_CODE","DeleteEntitiesProvider","children","operations","useUpdateOverviewEntitiesMutation","fetchFolderDeleteInfo","useLazyGetFolderDeleteInfoQuery","pendingDelete","setPendingDelete","useState","pendingForce","setPendingForce","confirmForce","useCallback","payload","resolve","deleteEntities","entities","options","toast","seen","uniqueEntities","selectedIdSet","topLevel","runOperationsDelete","entitiesToDelete","force","byProject","e","group","projectName","ops","a","b","runDelete","error","message","runForceDelete","topLevelFolders","folderInfo","foldersByProject","f","childrenDetails","buildChildrenDetails","productCount","entityLabel","buildEntityLabel","single","buildExpectedCounts","handleConfirm","accept","recover","label","toastId","succeed","failure","result","forceError","value","useMemo","jsxs","jsx","DeleteEntitiesConfirmDialog","useDeleteEntitiesContext","ctx","useContext","useDeleteEntitiesContextOptional"],"mappings":"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"}
1
+ {"version":3,"file":"DeleteEntitiesContext.cjs.js","sources":["../../../../src/context/DeleteEntitiesContext.tsx"],"sourcesContent":["import { createContext, useCallback, useContext, useMemo, useState, ReactNode } from 'react'\nimport { toast } from 'react-toastify'\nimport {\n useUpdateOverviewEntitiesMutation,\n useLazyGetFolderDeleteInfoQuery,\n type FolderDeleteInfo,\n type OperationModel,\n} from '@shared/api'\nimport { DeleteEntitiesConfirmDialog } from '@shared/components/DeleteEntitiesConfirm/DeleteEntitiesConfirmDialog'\nimport {\n buildChildrenDetails,\n buildEntityLabel,\n buildExpectedCounts,\n} from '@shared/components/DeleteEntitiesConfirm/DeleteConfirmContent'\nimport type { DeleteConfirmPayload } from '@shared/components/DeleteEntitiesConfirm/DeleteConfirmContent'\n\nexport type DeletableEntityType =\n | 'folder'\n | 'task'\n | 'product'\n | 'version'\n | 'representation'\n | 'workfile'\n\nconst DELETABLE_ENTITY_TYPES = new Set<string>([\n 'folder',\n 'task',\n 'product',\n 'version',\n 'representation',\n 'workfile',\n])\n\nexport const isDeletableEntityType = (type?: string): type is DeletableEntityType =>\n !!type && DELETABLE_ENTITY_TYPES.has(type)\n\nexport interface DeletableEntity {\n id: string\n entityType: DeletableEntityType\n name?: string\n label?: string | null\n projectName: string\n // parent references — used to drop descendants when an ancestor is also selected\n folderId?: string // task / product parent folder\n parentId?: string // folder parent folder\n // local fallbacks used when the folder delete-info fetch is unavailable\n hasChildren?: boolean\n taskNames?: string[]\n}\n\nexport interface DeleteEntitiesOptions {\n onSuccess?: () => void\n}\n\ninterface DeleteEntitiesContextValue {\n // resolves when the confirmation dialog opens, not when deletion finishes — use onSuccess\n deleteEntities: (entities: DeletableEntity[], options?: DeleteEntitiesOptions) => Promise<void>\n}\n\nconst DeleteEntitiesContext = createContext<DeleteEntitiesContextValue | null>(null)\n\n// operations run sequentially on the server — delete children before their parents\nconst DELETE_OP_ORDER: DeletableEntityType[] = [\n 'representation',\n 'version',\n 'workfile',\n 'product',\n 'task',\n 'folder',\n]\nconst FOLDER_WITH_CHILDREN_CODE = 'delete-folder-with-children'\n\ntype RecoverResult = 'recovered' | 'cancelled' | 'unhandled'\n\ntype PendingDelete = {\n payload: DeleteConfirmPayload\n accept: () => Promise<void>\n // 'recovered' — force delete ran, 'cancelled' — user declined it, 'unhandled' — force does not apply\n recover: (error: any) => Promise<RecoverResult>\n}\n\ntype PendingForce = {\n payload: DeleteConfirmPayload\n resolve: (confirmed: boolean) => void\n}\n\nexport const DeleteEntitiesProvider = ({ children }: { children: ReactNode }) => {\n const [operations] = useUpdateOverviewEntitiesMutation()\n const [fetchFolderDeleteInfo] = useLazyGetFolderDeleteInfoQuery()\n const [pendingDelete, setPendingDelete] = useState<PendingDelete | null>(null)\n const [pendingForce, setPendingForce] = useState<PendingForce | null>(null)\n\n const confirmForce = useCallback(\n (payload: DeleteConfirmPayload) =>\n new Promise<boolean>((resolve) => setPendingForce({ payload, resolve })),\n [],\n )\n\n const deleteEntities = useCallback<DeleteEntitiesContextValue['deleteEntities']>(\n async (entities, options) => {\n if (!entities || entities.length === 0) {\n toast.error('No entities selected')\n return\n }\n\n // dedupe by id\n const seen = new Set<string>()\n const uniqueEntities = entities.filter((e) => {\n if (!e?.id || seen.has(e.id)) return false\n seen.add(e.id)\n return true\n })\n\n if (uniqueEntities.length === 0) {\n toast.error('No entities found')\n return\n }\n\n // drop descendants whose ancestor is also selected — avoids double-deletes / double-counts\n const selectedIdSet = new Set(uniqueEntities.map((e) => e.id))\n const topLevel = uniqueEntities.filter((e) => {\n if (e.entityType === 'folder' && e.parentId) return !selectedIdSet.has(e.parentId)\n if ((e.entityType === 'task' || e.entityType === 'product') && e.folderId) {\n return !selectedIdSet.has(e.folderId)\n }\n return true\n })\n\n // one batched operations request per project — caches are patched optimistically\n // by the mutation and rolled back automatically if the request fails\n const runOperationsDelete = async (entitiesToDelete: DeletableEntity[], force: boolean) => {\n if (entitiesToDelete.length === 0) return\n\n const byProject = new Map<string, DeletableEntity[]>()\n for (const e of entitiesToDelete) {\n const group = byProject.get(e.projectName) || []\n group.push(e)\n byProject.set(e.projectName, group)\n }\n\n await Promise.all(\n Array.from(byProject.entries()).map(([projectName, group]) => {\n const sorted = [...group].sort(\n (a, b) =>\n DELETE_OP_ORDER.indexOf(a.entityType) - DELETE_OP_ORDER.indexOf(b.entityType),\n )\n const ops: OperationModel[] = sorted.map((e) => ({\n type: 'delete',\n entityType: e.entityType,\n entityId: e.id,\n force,\n }))\n return operations({\n operationsRequestModel: { operations: ops },\n projectName,\n }).unwrap()\n }),\n )\n }\n\n const runDelete = async () => {\n try {\n await runOperationsDelete(topLevel, false)\n options?.onSuccess?.()\n } catch (error: any) {\n const message = error?.error || 'Failed to delete entities'\n console.error('Failed to delete entities:', error)\n throw { message, ...error }\n }\n }\n\n // force only applies to folders — everything else either succeeded on the first\n // attempt or is deleted by the folder cascade\n const runForceDelete = () =>\n runOperationsDelete(\n topLevel.filter((e) => e.entityType === 'folder' || e.entityType === 'task'),\n true,\n )\n\n // fetch child counts for top-level folders (grouped per project) to show what else gets deleted\n const topLevelFolders = topLevel.filter((e) => e.entityType === 'folder')\n let folderInfo: FolderDeleteInfo[] = []\n if (topLevelFolders.length > 0) {\n const foldersByProject = new Map<string, DeletableEntity[]>()\n for (const f of topLevelFolders) {\n const group = foldersByProject.get(f.projectName) || []\n group.push(f)\n foldersByProject.set(f.projectName, group)\n }\n try {\n const infoLists = await Promise.all(\n Array.from(foldersByProject.entries()).map(([projectName, group]) =>\n fetchFolderDeleteInfo({\n projectName,\n folderIds: group.map((f) => f.id),\n }).unwrap(),\n ),\n )\n folderInfo = infoLists.flat()\n } catch (error) {\n console.warn('Failed to fetch folder delete info, falling back to local data', error)\n }\n }\n const childrenDetails = buildChildrenDetails(topLevelFolders, folderInfo)\n\n // products cascade to their versions on the backend — warn about it\n const productCount = topLevel.filter((e) => e.entityType === 'product').length\n if (productCount > 0) {\n childrenDetails.push(\n productCount > 1\n ? 'Deleting these products also deletes all their versions'\n : 'Deleting this product also deletes all its versions',\n )\n }\n\n const entityLabel = buildEntityLabel(topLevel)\n const single = topLevel.length === 1 ? topLevel[0] : undefined\n\n setPendingDelete({\n payload: {\n entityLabel,\n childrenDetails,\n expectedCounts: buildExpectedCounts(topLevel, folderInfo),\n expectedName: single && (single.label || single.name || single.id),\n },\n accept: runDelete,\n recover: async (error: any): Promise<RecoverResult> => {\n if (!error?.errorCodes?.includes(FOLDER_WITH_CHILDREN_CODE)) return 'unhandled'\n const confirmed = await confirmForce({\n entityLabel,\n message: `Are you really sure you want to delete ${entityLabel} and all of its dependencies? This cannot be undone. (NOT RECOMMENDED)`,\n childrenDetails: [],\n expectedCounts: {},\n deleteLabel: 'Force delete',\n })\n if (!confirmed) return 'cancelled'\n await runForceDelete()\n options?.onSuccess?.()\n return 'recovered'\n },\n })\n },\n [operations, fetchFolderDeleteInfo, confirmForce],\n )\n\n const handleConfirm = useCallback(async () => {\n if (!pendingDelete) return\n const { payload, accept, recover } = pendingDelete\n setPendingDelete(null)\n\n const label = payload.entityLabel\n const toastId = toast.loading(`Deleting ${label}...`, { autoClose: false })\n const succeed = () =>\n toast.update(toastId, {\n render: `${label} deleted`,\n type: 'success',\n autoClose: 5000,\n isLoading: false,\n })\n\n try {\n await accept()\n succeed()\n } catch (error: any) {\n // the first attempt failing is expected when a folder needs force — only toast\n // the error once we know force was declined or failed\n let failure = error\n try {\n const result = await recover(error)\n if (result === 'recovered') return succeed()\n if (result === 'cancelled') {\n return toast.update(toastId, {\n render: `${label} was not deleted`,\n type: 'info',\n autoClose: 5000,\n isLoading: false,\n })\n }\n } catch (forceError: any) {\n console.error('Failed to force delete entities:', forceError)\n failure = forceError\n }\n\n const message =\n typeof failure === 'string'\n ? failure\n : failure?.message || failure?.error || `Error deleting ${label}`\n toast.update(toastId, {\n render: message,\n type: 'error',\n autoClose: 5000,\n isLoading: false,\n })\n }\n }, [pendingDelete])\n\n const value = useMemo(() => ({ deleteEntities }), [deleteEntities])\n\n return (\n <DeleteEntitiesContext.Provider value={value}>\n {children}\n {pendingDelete && (\n <DeleteEntitiesConfirmDialog\n payload={pendingDelete.payload}\n onConfirm={handleConfirm}\n onCancel={() => setPendingDelete(null)}\n />\n )}\n {pendingForce && (\n <DeleteEntitiesConfirmDialog\n payload={pendingForce.payload}\n onConfirm={() => {\n setPendingForce(null)\n pendingForce.resolve(true)\n }}\n onCancel={() => {\n setPendingForce(null)\n pendingForce.resolve(false)\n }}\n />\n )}\n </DeleteEntitiesContext.Provider>\n )\n}\n\nexport const useDeleteEntitiesContext = (): DeleteEntitiesContextValue => {\n const ctx = useContext(DeleteEntitiesContext)\n if (!ctx) {\n throw new Error('useDeleteEntitiesContext must be used within a DeleteEntitiesProvider')\n }\n return ctx\n}\n\n// non-throwing variant for optional consumers (e.g. menus that may render outside the provider)\nexport const useDeleteEntitiesContextOptional = (): DeleteEntitiesContextValue | null =>\n useContext(DeleteEntitiesContext)\n"],"names":["DELETABLE_ENTITY_TYPES","isDeletableEntityType","type","DeleteEntitiesContext","createContext","DELETE_OP_ORDER","FOLDER_WITH_CHILDREN_CODE","DeleteEntitiesProvider","children","operations","useUpdateOverviewEntitiesMutation","fetchFolderDeleteInfo","useLazyGetFolderDeleteInfoQuery","pendingDelete","setPendingDelete","useState","pendingForce","setPendingForce","confirmForce","useCallback","payload","resolve","deleteEntities","entities","options","toast","seen","uniqueEntities","selectedIdSet","topLevel","runOperationsDelete","entitiesToDelete","force","byProject","e","group","projectName","ops","a","b","runDelete","error","message","runForceDelete","topLevelFolders","folderInfo","foldersByProject","f","childrenDetails","buildChildrenDetails","productCount","entityLabel","buildEntityLabel","single","buildExpectedCounts","handleConfirm","accept","recover","label","toastId","succeed","failure","result","forceError","value","useMemo","jsxs","jsx","DeleteEntitiesConfirmDialog","useDeleteEntitiesContext","ctx","useContext","useDeleteEntitiesContextOptional"],"mappings":"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"}
@@ -98,8 +98,8 @@ import "../api/queries/views/getViews.es.js";
98
98
  import "../api/queries/views/updateViews.es.js";
99
99
  import "../api/queries/watchers/getWatchers.es.js";
100
100
  import "../api/queries/uris/getUris.es.js";
101
- import { buildChildrenDetails as Q, buildEntityLabel as U, buildExpectedCounts as W } from "../components/DeleteEntitiesConfirm/DeleteConfirmContent.es.js";
102
101
  import { DeleteEntitiesConfirmDialog as M } from "../components/DeleteEntitiesConfirm/DeleteEntitiesConfirmDialog.es.js";
102
+ import { buildChildrenDetails as Q, buildEntityLabel as U, buildExpectedCounts as W } from "../components/DeleteEntitiesConfirm/DeleteConfirmContent.es.js";
103
103
  const J = /* @__PURE__ */ new Set([
104
104
  "folder",
105
105
  "task",
@@ -1 +1 @@
1
- {"version":3,"file":"DeleteEntitiesContext.es.js","sources":["../../../../src/context/DeleteEntitiesContext.tsx"],"sourcesContent":["import { createContext, useCallback, useContext, useMemo, useState, ReactNode } from 'react'\nimport { toast } from 'react-toastify'\nimport {\n useUpdateOverviewEntitiesMutation,\n useLazyGetFolderDeleteInfoQuery,\n type FolderDeleteInfo,\n type OperationModel,\n} from '@shared/api'\nimport {\n DeleteEntitiesConfirmDialog,\n buildChildrenDetails,\n buildEntityLabel,\n buildExpectedCounts,\n type DeleteConfirmPayload,\n} from '@shared/components/DeleteEntitiesConfirm'\n\nexport type DeletableEntityType =\n | 'folder'\n | 'task'\n | 'product'\n | 'version'\n | 'representation'\n | 'workfile'\n\nconst DELETABLE_ENTITY_TYPES = new Set<string>([\n 'folder',\n 'task',\n 'product',\n 'version',\n 'representation',\n 'workfile',\n])\n\nexport const isDeletableEntityType = (type?: string): type is DeletableEntityType =>\n !!type && DELETABLE_ENTITY_TYPES.has(type)\n\nexport interface DeletableEntity {\n id: string\n entityType: DeletableEntityType\n name?: string\n label?: string | null\n projectName: string\n // parent references — used to drop descendants when an ancestor is also selected\n folderId?: string // task / product parent folder\n parentId?: string // folder parent folder\n // local fallbacks used when the folder delete-info fetch is unavailable\n hasChildren?: boolean\n taskNames?: string[]\n}\n\nexport interface DeleteEntitiesOptions {\n onSuccess?: () => void\n}\n\ninterface DeleteEntitiesContextValue {\n // resolves when the confirmation dialog opens, not when deletion finishes — use onSuccess\n deleteEntities: (entities: DeletableEntity[], options?: DeleteEntitiesOptions) => Promise<void>\n}\n\nconst DeleteEntitiesContext = createContext<DeleteEntitiesContextValue | null>(null)\n\n// operations run sequentially on the server — delete children before their parents\nconst DELETE_OP_ORDER: DeletableEntityType[] = [\n 'representation',\n 'version',\n 'workfile',\n 'product',\n 'task',\n 'folder',\n]\nconst FOLDER_WITH_CHILDREN_CODE = 'delete-folder-with-children'\n\ntype RecoverResult = 'recovered' | 'cancelled' | 'unhandled'\n\ntype PendingDelete = {\n payload: DeleteConfirmPayload\n accept: () => Promise<void>\n // 'recovered' — force delete ran, 'cancelled' — user declined it, 'unhandled' — force does not apply\n recover: (error: any) => Promise<RecoverResult>\n}\n\ntype PendingForce = {\n payload: DeleteConfirmPayload\n resolve: (confirmed: boolean) => void\n}\n\nexport const DeleteEntitiesProvider = ({ children }: { children: ReactNode }) => {\n const [operations] = useUpdateOverviewEntitiesMutation()\n const [fetchFolderDeleteInfo] = useLazyGetFolderDeleteInfoQuery()\n const [pendingDelete, setPendingDelete] = useState<PendingDelete | null>(null)\n const [pendingForce, setPendingForce] = useState<PendingForce | null>(null)\n\n const confirmForce = useCallback(\n (payload: DeleteConfirmPayload) =>\n new Promise<boolean>((resolve) => setPendingForce({ payload, resolve })),\n [],\n )\n\n const deleteEntities = useCallback<DeleteEntitiesContextValue['deleteEntities']>(\n async (entities, options) => {\n if (!entities || entities.length === 0) {\n toast.error('No entities selected')\n return\n }\n\n // dedupe by id\n const seen = new Set<string>()\n const uniqueEntities = entities.filter((e) => {\n if (!e?.id || seen.has(e.id)) return false\n seen.add(e.id)\n return true\n })\n\n if (uniqueEntities.length === 0) {\n toast.error('No entities found')\n return\n }\n\n // drop descendants whose ancestor is also selected — avoids double-deletes / double-counts\n const selectedIdSet = new Set(uniqueEntities.map((e) => e.id))\n const topLevel = uniqueEntities.filter((e) => {\n if (e.entityType === 'folder' && e.parentId) return !selectedIdSet.has(e.parentId)\n if ((e.entityType === 'task' || e.entityType === 'product') && e.folderId) {\n return !selectedIdSet.has(e.folderId)\n }\n return true\n })\n\n // one batched operations request per project — caches are patched optimistically\n // by the mutation and rolled back automatically if the request fails\n const runOperationsDelete = async (\n entitiesToDelete: DeletableEntity[],\n force: boolean,\n ) => {\n if (entitiesToDelete.length === 0) return\n\n const byProject = new Map<string, DeletableEntity[]>()\n for (const e of entitiesToDelete) {\n const group = byProject.get(e.projectName) || []\n group.push(e)\n byProject.set(e.projectName, group)\n }\n\n await Promise.all(\n Array.from(byProject.entries()).map(([projectName, group]) => {\n const sorted = [...group].sort(\n (a, b) =>\n DELETE_OP_ORDER.indexOf(a.entityType) - DELETE_OP_ORDER.indexOf(b.entityType),\n )\n const ops: OperationModel[] = sorted.map((e) => ({\n type: 'delete',\n entityType: e.entityType,\n entityId: e.id,\n force,\n }))\n return operations({\n operationsRequestModel: { operations: ops },\n projectName,\n }).unwrap()\n }),\n )\n }\n\n const runDelete = async () => {\n try {\n await runOperationsDelete(topLevel, false)\n options?.onSuccess?.()\n } catch (error: any) {\n const message = error?.error || 'Failed to delete entities'\n console.error('Failed to delete entities:', error)\n throw { message, ...error }\n }\n }\n\n // force only applies to folders — everything else either succeeded on the first\n // attempt or is deleted by the folder cascade\n const runForceDelete = () =>\n runOperationsDelete(\n topLevel.filter((e) => e.entityType === 'folder' || e.entityType === 'task'),\n true,\n )\n\n // fetch child counts for top-level folders (grouped per project) to show what else gets deleted\n const topLevelFolders = topLevel.filter((e) => e.entityType === 'folder')\n let folderInfo: FolderDeleteInfo[] = []\n if (topLevelFolders.length > 0) {\n const foldersByProject = new Map<string, DeletableEntity[]>()\n for (const f of topLevelFolders) {\n const group = foldersByProject.get(f.projectName) || []\n group.push(f)\n foldersByProject.set(f.projectName, group)\n }\n try {\n const infoLists = await Promise.all(\n Array.from(foldersByProject.entries()).map(([projectName, group]) =>\n fetchFolderDeleteInfo({\n projectName,\n folderIds: group.map((f) => f.id),\n }).unwrap(),\n ),\n )\n folderInfo = infoLists.flat()\n } catch (error) {\n console.warn('Failed to fetch folder delete info, falling back to local data', error)\n }\n }\n const childrenDetails = buildChildrenDetails(topLevelFolders, folderInfo)\n\n // products cascade to their versions on the backend — warn about it\n const productCount = topLevel.filter((e) => e.entityType === 'product').length\n if (productCount > 0) {\n childrenDetails.push(\n productCount > 1\n ? 'Deleting these products also deletes all their versions'\n : 'Deleting this product also deletes all its versions',\n )\n }\n\n const entityLabel = buildEntityLabel(topLevel)\n const single = topLevel.length === 1 ? topLevel[0] : undefined\n\n setPendingDelete({\n payload: {\n entityLabel,\n childrenDetails,\n expectedCounts: buildExpectedCounts(topLevel, folderInfo),\n expectedName: single && (single.label || single.name || single.id),\n },\n accept: runDelete,\n recover: async (error: any): Promise<RecoverResult> => {\n if (!error?.errorCodes?.includes(FOLDER_WITH_CHILDREN_CODE)) return 'unhandled'\n const confirmed = await confirmForce({\n entityLabel,\n message: `Are you really sure you want to delete ${entityLabel} and all of its dependencies? This cannot be undone. (NOT RECOMMENDED)`,\n childrenDetails: [],\n expectedCounts: {},\n deleteLabel: 'Force delete',\n })\n if (!confirmed) return 'cancelled'\n await runForceDelete()\n options?.onSuccess?.()\n return 'recovered'\n },\n })\n },\n [operations, fetchFolderDeleteInfo, confirmForce],\n )\n\n const handleConfirm = useCallback(async () => {\n if (!pendingDelete) return\n const { payload, accept, recover } = pendingDelete\n setPendingDelete(null)\n\n const label = payload.entityLabel\n const toastId = toast.loading(`Deleting ${label}...`, { autoClose: false })\n const succeed = () =>\n toast.update(toastId, {\n render: `${label} deleted`,\n type: 'success',\n autoClose: 5000,\n isLoading: false,\n })\n\n try {\n await accept()\n succeed()\n } catch (error: any) {\n // the first attempt failing is expected when a folder needs force — only toast\n // the error once we know force was declined or failed\n let failure = error\n try {\n const result = await recover(error)\n if (result === 'recovered') return succeed()\n if (result === 'cancelled') {\n return toast.update(toastId, {\n render: `${label} was not deleted`,\n type: 'info',\n autoClose: 5000,\n isLoading: false,\n })\n }\n } catch (forceError: any) {\n console.error('Failed to force delete entities:', forceError)\n failure = forceError\n }\n\n const message =\n typeof failure === 'string'\n ? failure\n : failure?.message || failure?.error || `Error deleting ${label}`\n toast.update(toastId, {\n render: message,\n type: 'error',\n autoClose: 5000,\n isLoading: false,\n })\n }\n }, [pendingDelete])\n\n const value = useMemo(() => ({ deleteEntities }), [deleteEntities])\n\n return (\n <DeleteEntitiesContext.Provider value={value}>\n {children}\n {pendingDelete && (\n <DeleteEntitiesConfirmDialog\n payload={pendingDelete.payload}\n onConfirm={handleConfirm}\n onCancel={() => setPendingDelete(null)}\n />\n )}\n {pendingForce && (\n <DeleteEntitiesConfirmDialog\n payload={pendingForce.payload}\n onConfirm={() => {\n setPendingForce(null)\n pendingForce.resolve(true)\n }}\n onCancel={() => {\n setPendingForce(null)\n pendingForce.resolve(false)\n }}\n />\n )}\n </DeleteEntitiesContext.Provider>\n )\n}\n\nexport const useDeleteEntitiesContext = (): DeleteEntitiesContextValue => {\n const ctx = useContext(DeleteEntitiesContext)\n if (!ctx) {\n throw new Error('useDeleteEntitiesContext must be used within a DeleteEntitiesProvider')\n }\n return ctx\n}\n\n// non-throwing variant for optional consumers (e.g. menus that may render outside the provider)\nexport const useDeleteEntitiesContextOptional = (): DeleteEntitiesContextValue | null =>\n useContext(DeleteEntitiesContext)\n"],"names":["DELETABLE_ENTITY_TYPES","isDeletableEntityType","type","DeleteEntitiesContext","createContext","DELETE_OP_ORDER","FOLDER_WITH_CHILDREN_CODE","DeleteEntitiesProvider","children","operations","useUpdateOverviewEntitiesMutation","fetchFolderDeleteInfo","useLazyGetFolderDeleteInfoQuery","pendingDelete","setPendingDelete","useState","pendingForce","setPendingForce","confirmForce","useCallback","payload","resolve","deleteEntities","entities","options","toast","seen","uniqueEntities","selectedIdSet","topLevel","runOperationsDelete","entitiesToDelete","force","byProject","e","group","projectName","ops","a","b","runDelete","error","message","runForceDelete","topLevelFolders","folderInfo","foldersByProject","f","childrenDetails","buildChildrenDetails","productCount","entityLabel","buildEntityLabel","single","buildExpectedCounts","handleConfirm","accept","recover","label","toastId","succeed","failure","result","forceError","value","useMemo","jsxs","jsx","DeleteEntitiesConfirmDialog","useDeleteEntitiesContext","ctx","useContext","useDeleteEntitiesContextOptional"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,MAAMA,wBAA6B,IAAY;AAAA,EAC7C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC,GAEYC,KAAwB,CAACC,MACpC,CAAC,CAACA,KAAQF,EAAuB,IAAIE,CAAI,GAyBrCC,IAAwBC,EAAiD,IAAI,GAG7EC,IAAyC;AAAA,EAC7C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GACMC,IAA4B,+BAgBrBC,KAAyB,CAAC,EAAE,UAAAC,QAAwC;AAC/E,QAAM,CAACC,CAAU,IAAIC,EAAA,GACf,CAACC,CAAqB,IAAIC,EAAA,GAC1B,CAACC,GAAeC,CAAgB,IAAIC,EAA+B,IAAI,GACvE,CAACC,GAAcC,CAAe,IAAIF,EAA8B,IAAI,GAEpEG,IAAeC;AAAA,IACnB,CAACC,MACC,IAAI,QAAiB,CAACC,MAAYJ,EAAgB,EAAE,SAAAG,GAAS,SAAAC,EAAA,CAAS,CAAC;AAAA,IACzE,CAAA;AAAA,EAAC,GAGGC,IAAiBH;AAAA,IACrB,OAAOI,GAAUC,MAAY;AAC3B,UAAI,CAACD,KAAYA,EAAS,WAAW,GAAG;AACtC,QAAAE,EAAM,MAAM,sBAAsB;AAClC;AAAA,MACF;AAGA,YAAMC,wBAAW,IAAA,GACXC,IAAiBJ,EAAS,OAAO,CAAC,MAClC,CAAC,GAAG,MAAMG,EAAK,IAAI,EAAE,EAAE,IAAU,MACrCA,EAAK,IAAI,EAAE,EAAE,GACN,GACR;AAED,UAAIC,EAAe,WAAW,GAAG;AAC/B,QAAAF,EAAM,MAAM,mBAAmB;AAC/B;AAAA,MACF;AAGA,YAAMG,IAAgB,IAAI,IAAID,EAAe,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,GACvDE,IAAWF,EAAe,OAAO,CAAC,MAClC,EAAE,eAAe,YAAY,EAAE,WAAiB,CAACC,EAAc,IAAI,EAAE,QAAQ,KAC5E,EAAE,eAAe,UAAU,EAAE,eAAe,cAAc,EAAE,WACxD,CAACA,EAAc,IAAI,EAAE,QAAQ,IAE/B,EACR,GAIKE,IAAsB,OAC1BC,GACAC,MACG;AACH,YAAID,EAAiB,WAAW,EAAG;AAEnC,cAAME,wBAAgB,IAAA;AACtB,mBAAWC,KAAKH,GAAkB;AAChC,gBAAMI,IAAQF,EAAU,IAAIC,EAAE,WAAW,KAAK,CAAA;AAC9C,UAAAC,EAAM,KAAKD,CAAC,GACZD,EAAU,IAAIC,EAAE,aAAaC,CAAK;AAAA,QACpC;AAEA,cAAM,QAAQ;AAAA,UACZ,MAAM,KAAKF,EAAU,QAAA,CAAS,EAAE,IAAI,CAAC,CAACG,GAAaD,CAAK,MAAM;AAK5D,kBAAME,IAJS,CAAC,GAAGF,CAAK,EAAE;AAAA,cACxB,CAACG,GAAGC,MACFlC,EAAgB,QAAQiC,EAAE,UAAU,IAAIjC,EAAgB,QAAQkC,EAAE,UAAU;AAAA,YAAA,EAE3C,IAAI,CAACL,OAAO;AAAA,cAC/C,MAAM;AAAA,cACN,YAAYA,EAAE;AAAA,cACd,UAAUA,EAAE;AAAA,cACZ,OAAAF;AAAA,YAAA,EACA;AACF,mBAAOvB,EAAW;AAAA,cAChB,wBAAwB,EAAE,YAAY4B,EAAA;AAAA,cACtC,aAAAD;AAAA,YAAA,CACD,EAAE,OAAA;AAAA,UACL,CAAC;AAAA,QAAA;AAAA,MAEL,GAEMI,IAAY,YAAY;AAC5B,YAAI;AACF,gBAAMV,EAAoBD,GAAU,EAAK,GACzCL,GAAS,YAAA;AAAA,QACX,SAASiB,GAAY;AACnB,gBAAMC,IAAUD,GAAO,SAAS;AAChC,wBAAQ,MAAM,8BAA8BA,CAAK,GAC3C,EAAE,SAAAC,GAAS,GAAGD,EAAA;AAAA,QACtB;AAAA,MACF,GAIME,IAAiB,MACrBb;AAAA,QACED,EAAS,OAAO,CAAC,MAAM,EAAE,eAAe,YAAY,EAAE,eAAe,MAAM;AAAA,QAC3E;AAAA,MAAA,GAIEe,IAAkBf,EAAS,OAAO,CAAC,MAAM,EAAE,eAAe,QAAQ;AACxE,UAAIgB,IAAiC,CAAA;AACrC,UAAID,EAAgB,SAAS,GAAG;AAC9B,cAAME,wBAAuB,IAAA;AAC7B,mBAAWC,KAAKH,GAAiB;AAC/B,gBAAMT,IAAQW,EAAiB,IAAIC,EAAE,WAAW,KAAK,CAAA;AACrD,UAAAZ,EAAM,KAAKY,CAAC,GACZD,EAAiB,IAAIC,EAAE,aAAaZ,CAAK;AAAA,QAC3C;AACA,YAAI;AASF,UAAAU,KARkB,MAAM,QAAQ;AAAA,YAC9B,MAAM,KAAKC,EAAiB,QAAA,CAAS,EAAE;AAAA,cAAI,CAAC,CAACV,GAAaD,CAAK,MAC7DxB,EAAsB;AAAA,gBACpB,aAAAyB;AAAA,gBACA,WAAWD,EAAM,IAAI,CAACY,MAAMA,EAAE,EAAE;AAAA,cAAA,CACjC,EAAE,OAAA;AAAA,YAAO;AAAA,UACZ,GAEqB,KAAA;AAAA,QACzB,SAASN,GAAO;AACd,kBAAQ,KAAK,kEAAkEA,CAAK;AAAA,QACtF;AAAA,MACF;AACA,YAAMO,IAAkBC,EAAqBL,GAAiBC,CAAU,GAGlEK,IAAerB,EAAS,OAAO,CAAC,MAAM,EAAE,eAAe,SAAS,EAAE;AACxE,MAAIqB,IAAe,KACjBF,EAAgB;AAAA,QACdE,IAAe,IACX,4DACA;AAAA,MAAA;AAIR,YAAMC,IAAcC,EAAiBvB,CAAQ,GACvCwB,IAASxB,EAAS,WAAW,IAAIA,EAAS,CAAC,IAAI;AAErD,MAAAf,EAAiB;AAAA,QACf,SAAS;AAAA,UACP,aAAAqC;AAAA,UACA,iBAAAH;AAAA,UACA,gBAAgBM,EAAoBzB,GAAUgB,CAAU;AAAA,UACxD,cAAcQ,MAAWA,EAAO,SAASA,EAAO,QAAQA,EAAO;AAAA,QAAA;AAAA,QAEjE,QAAQb;AAAA,QACR,SAAS,OAAOC,MACTA,GAAO,YAAY,SAASnC,CAAyB,IACxC,MAAMY,EAAa;AAAA,UACnC,aAAAiC;AAAA,UACA,SAAS,0CAA0CA,CAAW;AAAA,UAC9D,iBAAiB,CAAA;AAAA,UACjB,gBAAgB,CAAA;AAAA,UAChB,aAAa;AAAA,QAAA,CACd,KAED,MAAMR,EAAA,GACNnB,GAAS,YAAA,GACF,eAHgB,cAR6C;AAAA,MAYtE,CACD;AAAA,IACH;AAAA,IACA,CAACf,GAAYE,GAAuBO,CAAY;AAAA,EAAA,GAG5CqC,IAAgBpC,EAAY,YAAY;AAC5C,QAAI,CAACN,EAAe;AACpB,UAAM,EAAE,SAAAO,GAAS,QAAAoC,GAAQ,SAAAC,EAAA,IAAY5C;AACrC,IAAAC,EAAiB,IAAI;AAErB,UAAM4C,IAAQtC,EAAQ,aAChBuC,IAAUlC,EAAM,QAAQ,YAAYiC,CAAK,OAAO,EAAE,WAAW,IAAO,GACpEE,IAAU,MACdnC,EAAM,OAAOkC,GAAS;AAAA,MACpB,QAAQ,GAAGD,CAAK;AAAA,MAChB,MAAM;AAAA,MACN,WAAW;AAAA,MACX,WAAW;AAAA,IAAA,CACZ;AAEH,QAAI;AACF,YAAMF,EAAA,GACNI,EAAA;AAAA,IACF,SAASnB,GAAY;AAGnB,UAAIoB,IAAUpB;AACd,UAAI;AACF,cAAMqB,IAAS,MAAML,EAAQhB,CAAK;AAClC,YAAIqB,MAAW,YAAa,QAAOF,EAAA;AACnC,YAAIE,MAAW;AACb,iBAAOrC,EAAM,OAAOkC,GAAS;AAAA,YAC3B,QAAQ,GAAGD,CAAK;AAAA,YAChB,MAAM;AAAA,YACN,WAAW;AAAA,YACX,WAAW;AAAA,UAAA,CACZ;AAAA,MAEL,SAASK,GAAiB;AACxB,gBAAQ,MAAM,oCAAoCA,CAAU,GAC5DF,IAAUE;AAAA,MACZ;AAEA,YAAMrB,IACJ,OAAOmB,KAAY,WACfA,IACAA,GAAS,WAAWA,GAAS,SAAS,kBAAkBH,CAAK;AACnE,MAAAjC,EAAM,OAAOkC,GAAS;AAAA,QACpB,QAAQjB;AAAA,QACR,MAAM;AAAA,QACN,WAAW;AAAA,QACX,WAAW;AAAA,MAAA,CACZ;AAAA,IACH;AAAA,EACF,GAAG,CAAC7B,CAAa,CAAC,GAEZmD,IAAQC,EAAQ,OAAO,EAAE,gBAAA3C,MAAmB,CAACA,CAAc,CAAC;AAElE,SACE4C,gBAAAA,EAAAA,KAAC/D,EAAsB,UAAtB,EAA+B,OAAA6D,GAC7B,UAAA;AAAA,IAAAxD;AAAA,IACAK,KACCsD,gBAAAA,EAAAA;AAAAA,MAACC;AAAA,MAAA;AAAA,QACC,SAASvD,EAAc;AAAA,QACvB,WAAW0C;AAAA,QACX,UAAU,MAAMzC,EAAiB,IAAI;AAAA,MAAA;AAAA,IAAA;AAAA,IAGxCE,KACCmD,gBAAAA,EAAAA;AAAAA,MAACC;AAAA,MAAA;AAAA,QACC,SAASpD,EAAa;AAAA,QACtB,WAAW,MAAM;AACf,UAAAC,EAAgB,IAAI,GACpBD,EAAa,QAAQ,EAAI;AAAA,QAC3B;AAAA,QACA,UAAU,MAAM;AACd,UAAAC,EAAgB,IAAI,GACpBD,EAAa,QAAQ,EAAK;AAAA,QAC5B;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GAEJ;AAEJ,GAEaqD,KAA2B,MAAkC;AACxE,QAAMC,IAAMC,EAAWpE,CAAqB;AAC5C,MAAI,CAACmE;AACH,UAAM,IAAI,MAAM,uEAAuE;AAEzF,SAAOA;AACT,GAGaE,KAAmC,MAC9CD,EAAWpE,CAAqB;"}
1
+ {"version":3,"file":"DeleteEntitiesContext.es.js","sources":["../../../../src/context/DeleteEntitiesContext.tsx"],"sourcesContent":["import { createContext, useCallback, useContext, useMemo, useState, ReactNode } from 'react'\nimport { toast } from 'react-toastify'\nimport {\n useUpdateOverviewEntitiesMutation,\n useLazyGetFolderDeleteInfoQuery,\n type FolderDeleteInfo,\n type OperationModel,\n} from '@shared/api'\nimport { DeleteEntitiesConfirmDialog } from '@shared/components/DeleteEntitiesConfirm/DeleteEntitiesConfirmDialog'\nimport {\n buildChildrenDetails,\n buildEntityLabel,\n buildExpectedCounts,\n} from '@shared/components/DeleteEntitiesConfirm/DeleteConfirmContent'\nimport type { DeleteConfirmPayload } from '@shared/components/DeleteEntitiesConfirm/DeleteConfirmContent'\n\nexport type DeletableEntityType =\n | 'folder'\n | 'task'\n | 'product'\n | 'version'\n | 'representation'\n | 'workfile'\n\nconst DELETABLE_ENTITY_TYPES = new Set<string>([\n 'folder',\n 'task',\n 'product',\n 'version',\n 'representation',\n 'workfile',\n])\n\nexport const isDeletableEntityType = (type?: string): type is DeletableEntityType =>\n !!type && DELETABLE_ENTITY_TYPES.has(type)\n\nexport interface DeletableEntity {\n id: string\n entityType: DeletableEntityType\n name?: string\n label?: string | null\n projectName: string\n // parent references — used to drop descendants when an ancestor is also selected\n folderId?: string // task / product parent folder\n parentId?: string // folder parent folder\n // local fallbacks used when the folder delete-info fetch is unavailable\n hasChildren?: boolean\n taskNames?: string[]\n}\n\nexport interface DeleteEntitiesOptions {\n onSuccess?: () => void\n}\n\ninterface DeleteEntitiesContextValue {\n // resolves when the confirmation dialog opens, not when deletion finishes — use onSuccess\n deleteEntities: (entities: DeletableEntity[], options?: DeleteEntitiesOptions) => Promise<void>\n}\n\nconst DeleteEntitiesContext = createContext<DeleteEntitiesContextValue | null>(null)\n\n// operations run sequentially on the server — delete children before their parents\nconst DELETE_OP_ORDER: DeletableEntityType[] = [\n 'representation',\n 'version',\n 'workfile',\n 'product',\n 'task',\n 'folder',\n]\nconst FOLDER_WITH_CHILDREN_CODE = 'delete-folder-with-children'\n\ntype RecoverResult = 'recovered' | 'cancelled' | 'unhandled'\n\ntype PendingDelete = {\n payload: DeleteConfirmPayload\n accept: () => Promise<void>\n // 'recovered' — force delete ran, 'cancelled' — user declined it, 'unhandled' — force does not apply\n recover: (error: any) => Promise<RecoverResult>\n}\n\ntype PendingForce = {\n payload: DeleteConfirmPayload\n resolve: (confirmed: boolean) => void\n}\n\nexport const DeleteEntitiesProvider = ({ children }: { children: ReactNode }) => {\n const [operations] = useUpdateOverviewEntitiesMutation()\n const [fetchFolderDeleteInfo] = useLazyGetFolderDeleteInfoQuery()\n const [pendingDelete, setPendingDelete] = useState<PendingDelete | null>(null)\n const [pendingForce, setPendingForce] = useState<PendingForce | null>(null)\n\n const confirmForce = useCallback(\n (payload: DeleteConfirmPayload) =>\n new Promise<boolean>((resolve) => setPendingForce({ payload, resolve })),\n [],\n )\n\n const deleteEntities = useCallback<DeleteEntitiesContextValue['deleteEntities']>(\n async (entities, options) => {\n if (!entities || entities.length === 0) {\n toast.error('No entities selected')\n return\n }\n\n // dedupe by id\n const seen = new Set<string>()\n const uniqueEntities = entities.filter((e) => {\n if (!e?.id || seen.has(e.id)) return false\n seen.add(e.id)\n return true\n })\n\n if (uniqueEntities.length === 0) {\n toast.error('No entities found')\n return\n }\n\n // drop descendants whose ancestor is also selected — avoids double-deletes / double-counts\n const selectedIdSet = new Set(uniqueEntities.map((e) => e.id))\n const topLevel = uniqueEntities.filter((e) => {\n if (e.entityType === 'folder' && e.parentId) return !selectedIdSet.has(e.parentId)\n if ((e.entityType === 'task' || e.entityType === 'product') && e.folderId) {\n return !selectedIdSet.has(e.folderId)\n }\n return true\n })\n\n // one batched operations request per project — caches are patched optimistically\n // by the mutation and rolled back automatically if the request fails\n const runOperationsDelete = async (entitiesToDelete: DeletableEntity[], force: boolean) => {\n if (entitiesToDelete.length === 0) return\n\n const byProject = new Map<string, DeletableEntity[]>()\n for (const e of entitiesToDelete) {\n const group = byProject.get(e.projectName) || []\n group.push(e)\n byProject.set(e.projectName, group)\n }\n\n await Promise.all(\n Array.from(byProject.entries()).map(([projectName, group]) => {\n const sorted = [...group].sort(\n (a, b) =>\n DELETE_OP_ORDER.indexOf(a.entityType) - DELETE_OP_ORDER.indexOf(b.entityType),\n )\n const ops: OperationModel[] = sorted.map((e) => ({\n type: 'delete',\n entityType: e.entityType,\n entityId: e.id,\n force,\n }))\n return operations({\n operationsRequestModel: { operations: ops },\n projectName,\n }).unwrap()\n }),\n )\n }\n\n const runDelete = async () => {\n try {\n await runOperationsDelete(topLevel, false)\n options?.onSuccess?.()\n } catch (error: any) {\n const message = error?.error || 'Failed to delete entities'\n console.error('Failed to delete entities:', error)\n throw { message, ...error }\n }\n }\n\n // force only applies to folders — everything else either succeeded on the first\n // attempt or is deleted by the folder cascade\n const runForceDelete = () =>\n runOperationsDelete(\n topLevel.filter((e) => e.entityType === 'folder' || e.entityType === 'task'),\n true,\n )\n\n // fetch child counts for top-level folders (grouped per project) to show what else gets deleted\n const topLevelFolders = topLevel.filter((e) => e.entityType === 'folder')\n let folderInfo: FolderDeleteInfo[] = []\n if (topLevelFolders.length > 0) {\n const foldersByProject = new Map<string, DeletableEntity[]>()\n for (const f of topLevelFolders) {\n const group = foldersByProject.get(f.projectName) || []\n group.push(f)\n foldersByProject.set(f.projectName, group)\n }\n try {\n const infoLists = await Promise.all(\n Array.from(foldersByProject.entries()).map(([projectName, group]) =>\n fetchFolderDeleteInfo({\n projectName,\n folderIds: group.map((f) => f.id),\n }).unwrap(),\n ),\n )\n folderInfo = infoLists.flat()\n } catch (error) {\n console.warn('Failed to fetch folder delete info, falling back to local data', error)\n }\n }\n const childrenDetails = buildChildrenDetails(topLevelFolders, folderInfo)\n\n // products cascade to their versions on the backend — warn about it\n const productCount = topLevel.filter((e) => e.entityType === 'product').length\n if (productCount > 0) {\n childrenDetails.push(\n productCount > 1\n ? 'Deleting these products also deletes all their versions'\n : 'Deleting this product also deletes all its versions',\n )\n }\n\n const entityLabel = buildEntityLabel(topLevel)\n const single = topLevel.length === 1 ? topLevel[0] : undefined\n\n setPendingDelete({\n payload: {\n entityLabel,\n childrenDetails,\n expectedCounts: buildExpectedCounts(topLevel, folderInfo),\n expectedName: single && (single.label || single.name || single.id),\n },\n accept: runDelete,\n recover: async (error: any): Promise<RecoverResult> => {\n if (!error?.errorCodes?.includes(FOLDER_WITH_CHILDREN_CODE)) return 'unhandled'\n const confirmed = await confirmForce({\n entityLabel,\n message: `Are you really sure you want to delete ${entityLabel} and all of its dependencies? This cannot be undone. (NOT RECOMMENDED)`,\n childrenDetails: [],\n expectedCounts: {},\n deleteLabel: 'Force delete',\n })\n if (!confirmed) return 'cancelled'\n await runForceDelete()\n options?.onSuccess?.()\n return 'recovered'\n },\n })\n },\n [operations, fetchFolderDeleteInfo, confirmForce],\n )\n\n const handleConfirm = useCallback(async () => {\n if (!pendingDelete) return\n const { payload, accept, recover } = pendingDelete\n setPendingDelete(null)\n\n const label = payload.entityLabel\n const toastId = toast.loading(`Deleting ${label}...`, { autoClose: false })\n const succeed = () =>\n toast.update(toastId, {\n render: `${label} deleted`,\n type: 'success',\n autoClose: 5000,\n isLoading: false,\n })\n\n try {\n await accept()\n succeed()\n } catch (error: any) {\n // the first attempt failing is expected when a folder needs force — only toast\n // the error once we know force was declined or failed\n let failure = error\n try {\n const result = await recover(error)\n if (result === 'recovered') return succeed()\n if (result === 'cancelled') {\n return toast.update(toastId, {\n render: `${label} was not deleted`,\n type: 'info',\n autoClose: 5000,\n isLoading: false,\n })\n }\n } catch (forceError: any) {\n console.error('Failed to force delete entities:', forceError)\n failure = forceError\n }\n\n const message =\n typeof failure === 'string'\n ? failure\n : failure?.message || failure?.error || `Error deleting ${label}`\n toast.update(toastId, {\n render: message,\n type: 'error',\n autoClose: 5000,\n isLoading: false,\n })\n }\n }, [pendingDelete])\n\n const value = useMemo(() => ({ deleteEntities }), [deleteEntities])\n\n return (\n <DeleteEntitiesContext.Provider value={value}>\n {children}\n {pendingDelete && (\n <DeleteEntitiesConfirmDialog\n payload={pendingDelete.payload}\n onConfirm={handleConfirm}\n onCancel={() => setPendingDelete(null)}\n />\n )}\n {pendingForce && (\n <DeleteEntitiesConfirmDialog\n payload={pendingForce.payload}\n onConfirm={() => {\n setPendingForce(null)\n pendingForce.resolve(true)\n }}\n onCancel={() => {\n setPendingForce(null)\n pendingForce.resolve(false)\n }}\n />\n )}\n </DeleteEntitiesContext.Provider>\n )\n}\n\nexport const useDeleteEntitiesContext = (): DeleteEntitiesContextValue => {\n const ctx = useContext(DeleteEntitiesContext)\n if (!ctx) {\n throw new Error('useDeleteEntitiesContext must be used within a DeleteEntitiesProvider')\n }\n return ctx\n}\n\n// non-throwing variant for optional consumers (e.g. menus that may render outside the provider)\nexport const useDeleteEntitiesContextOptional = (): DeleteEntitiesContextValue | null =>\n useContext(DeleteEntitiesContext)\n"],"names":["DELETABLE_ENTITY_TYPES","isDeletableEntityType","type","DeleteEntitiesContext","createContext","DELETE_OP_ORDER","FOLDER_WITH_CHILDREN_CODE","DeleteEntitiesProvider","children","operations","useUpdateOverviewEntitiesMutation","fetchFolderDeleteInfo","useLazyGetFolderDeleteInfoQuery","pendingDelete","setPendingDelete","useState","pendingForce","setPendingForce","confirmForce","useCallback","payload","resolve","deleteEntities","entities","options","toast","seen","uniqueEntities","selectedIdSet","topLevel","runOperationsDelete","entitiesToDelete","force","byProject","e","group","projectName","ops","a","b","runDelete","error","message","runForceDelete","topLevelFolders","folderInfo","foldersByProject","f","childrenDetails","buildChildrenDetails","productCount","entityLabel","buildEntityLabel","single","buildExpectedCounts","handleConfirm","accept","recover","label","toastId","succeed","failure","result","forceError","value","useMemo","jsxs","jsx","DeleteEntitiesConfirmDialog","useDeleteEntitiesContext","ctx","useContext","useDeleteEntitiesContextOptional"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ie=require("../../../_virtual/jsx-runtime.cjs.js"),e=require("react"),ue=require("./PowerpackContext.cjs.js"),qe=require("./UriContext.cjs.js"),L=require("../hooks/useLocalStorage.cjs.js"),j=require("../hooks/useSessionStorage.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/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/bundles/getBundles.cjs.js");require("../api/queries/bundles/updateBundles.cjs.js");require("../api/queries/cloud/cloud.cjs.js");require("../api/queries/columnStats/metricTargets.cjs.js");require("../api/queries/columnStats/groupCounts.cjs.js");require("../api/queries/config/getConfig.cjs.js");require("../api/queries/config/updateConfig.cjs.js");require("../api/queries/entities/getEntity.cjs.js");require("../api/queries/entities/getEntityPanel.cjs.js");require("../api/queries/overview/getOverview.cjs.js");require("../api/queries/overview/updateOverview.cjs.js");require("../api/queries/versions/getVersionsProducts.cjs.js");require("../api/queries/links/getEntityLinks.cjs.js");require("../api/queries/entities/updateEntity.cjs.js");require("../api/queries/entityLists/getLists.cjs.js");require("../api/queries/entityLists/updateLists.cjs.js");require("../api/queries/entityLists/getListsAttributes.cjs.js");require("../api/queries/entityLists/listItemsColumnStats.cjs.js");require("../api/queries/entityLists/updateListsAttributes.cjs.js");require("../api/queries/entityLists/listFolders.cjs.js");require("../api/queries/folders/getFolders.cjs.js");require("../api/queries/folders/getFolderDeleteInfo.cjs.js");require("../api/queries/grouping/getGrouping.cjs.js");require("../api/queries/links/updateLinks.cjs.js");require("../api/queries/links/getLinks.cjs.js");require("../api/queries/permissions/getPermissions.cjs.js");require("../api/queries/products/createProduct.cjs.js");require("../api/queries/products/getFolderProducts.cjs.js");require("../api/queries/project/getProject.cjs.js");require("../api/queries/project/updateProject.cjs.js");require("../api/queries/projectFolders/projectFolders.cjs.js");require("../api/queries/review/getReview.cjs.js");require("../api/queries/review/updateReview.cjs.js");require("../api/queries/share/share.cjs.js");require("../api/queries/system/getSystem.cjs.js");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");const I=require("./DetailsPanelContextInstance.cjs.js");require("uuid");const te=require("../util/getBundleMode.cjs.js");require("../util/pubsub.cjs.js");require("./SubtasksModulesContextInstance.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("./MenuContext.cjs.js");require("./WebsocketContext.cjs.js");require("./GlobalContext.cjs.js");require("./ProjectContext.cjs.js");require("./ProjectFoldersContextInstance.cjs.js");require("./EntityUpdatesContextInstance.cjs.js");require("../containers/ContextMenu/ContextMenuContext.cjs.js");require("@ynput/ayon-react-components");;/* empty css */require("clsx");require("../containers/Feed/context/FeedContext.cjs.js");require("../containers/Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../containers/Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../containers/Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../containers/Feed/components/CommentInput/CommentInput.cjs.js");require("../containers/Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../containers/Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../containers/Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../containers/Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../containers/Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../components/AccessUser/AccessUser.cjs.js");require("../components/AttributeEditor/AttributeEditor.cjs.js");require("../components/AttributeEditor/attributeTypeMap.cjs.js");require("../components/Badge/Badge.cjs.js");require("../components/Chips/Chips.cjs.js");require("date-fns");require("../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../components/LinksManager/CellEditingDialog.cjs.js");require("../components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js");require("../components/DeleteEntitiesConfirm/DeleteEntitiesConfirmDialog.styled.cjs.js");require("../../../_virtual/index.cjs.js");require("../../../node_modules/refractor/lib/common.cjs.js");require("../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../components/QuillListStyles/QuillListStyles.cjs.js");require("../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("rehype-raw");require("../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../containers/Feed/components/CommentInput/modules/index.cjs.js");require("../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../components/EarlyPreview/EarlyPreview.cjs.js");require("../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../components/InfoMessage/InfoMessage.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../components/EnumEditor/EnumEditor.styled.cjs.js");require("../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../components/EntityPath/EntityPath.styled.cjs.js");require("../components/EntityPath/SegmentProvider.cjs.js");require("../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../components/Feedback/FeedbackContextInstance.cjs.js");require("../components/Feedback/SupportBubble.cjs.js");require("../components/FileThumbnail/FileThumbnail.cjs.js");require("../components/LegacyBadge/LegacyBadge.cjs.js");require("../components/LinksManager/LinksManager.styled.cjs.js");require("../containers/EntityPickerDialog/EntityPickerDialog.cjs.js");require("../components/Powerpack/PowerpackButton.cjs.js");require("../components/Powerpack/FreeTrialLink.cjs.js");require("../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../components/Powerpack/CTAButton.cjs.js");require("../components/Powerpack/RequiredAddonVersion.cjs.js");require("../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../components/ProjectTableSettings/ColumnsSettings.cjs.js");require("../components/SizeSlider/SizeSlider.cjs.js");require("react-router-dom");require("../containers/Slicer/components/Slicer.cjs.js");require("../containers/Slicer/context/SlicerContextInstance.cjs.js");require("../containers/Slicer/components/SlicerDropdownFallback.cjs.js");require("../containers/NewEntity/components/NewEntity.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../containers/ProjectTreeTable/buildTreeTableColumns.cjs.js");require("../containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../containers/ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../containers/ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../containers/ProjectTreeTable/components/SelectionCell.cjs.js");require("../containers/ProjectTreeTable/context/CellEditingContext.cjs.js");require("../components/SearchFilter/filterDates.cjs.js");require("short-uuid");require("../containers/ProjectTreeTable/utils/columnIds.cjs.js");require("../containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../containers/ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../containers/ProjectTreeTable/context/ProjectTableContextInstance.cjs.js");require("../containers/ProjectTreeTable/context/ClipboardContext.cjs.js");require("../containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../containers/ProjectTreeTable/context/ProjectDataContextInstance.cjs.js");require("../containers/ProjectTreeTable/components/TableFooterRow.cjs.js");require("../containers/ProjectTreeTable/widgets/CellWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/DateWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js");require("../containers/ProjectTreeTable/widgets/TextWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/EntityWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/LinksWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../containers/NewEntity/context/NewEntityContextInstance.cjs.js");require("../containers/NewEntity/components/NewEntityForm.cjs.js");require("../containers/Slicer/hooks/useTableDataBySlice.cjs.js");require("react-redux");require("../components/ReviewableCard/ReviewableCard.cjs.js");require("../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../components/SearchFilter/CustomDateRangeDialog.cjs.js");require("../components/SettingsPanel/SettingsPanel.cjs.js");require("../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../components/StyledLink/StyledLink.cjs.js");require("../components/SyncButton/SyncButton.cjs.js");require("../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../components/Thumbnail/Thumbnail.styled.cjs.js");require("../components/Thumbnail/StackedThumbnails.cjs.js");require("../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../components/VersionUploader/context/VersionUploadContextInstance.cjs.js");require("../components/Watchers/Watchers.cjs.js");require("../components/Menu/Menu.styled.cjs.js");require("../components/Menu/MenuItem.cjs.js");require("../components/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../components/ColumnHeaderMenuUI.cjs.js");require("../containers/Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("../containers/Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../containers/Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../containers/Feed/components/ActivityDate.cjs.js");require("../containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../containers/Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../containers/Feed/components/ActivityFieldChange/ActivityFieldChange.styled.cjs.js");require("../containers/Feed/components/ActivityFieldChange/FieldValue.cjs.js");require("../containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../containers/Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../containers/Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../containers/Feed/Feed.styled.cjs.js");require("../containers/Feed/components/FeedSearchFilter.cjs.js");require("../containers/DetailsPanel/DetailsPanel.styled.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../components/PlayableIcon/PlayableIcon.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../containers/Actions/Actions.styled.cjs.js");require("../containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../containers/Actions/ActionIcon.cjs.js");require("../containers/Views/ViewsMenu/ViewsMenu.cjs.js");require("../containers/Views/context/ViewsContextInstance.cjs.js");require("../containers/Views/Views.styled.cjs.js");require("../containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../containers/ListTable/ListTableRow.cjs.js");require("../containers/ListTable/ListTable.styled.cjs.js");require("./DeleteEntitiesContext.cjs.js");require("custom-protocol-check");require("../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");const se=["feed","subtasks","details","files"],A=r=>typeof r=="string"&&se.includes(r),ne=({children:r,defaultTab:s="feed",hasLicense:a,debug:n={},...o})=>{const c=o.user,p=te.getBundleModeFromUser(c),d="isGuest"in n?n.isGuest:c?.data?.isGuest,{powerLicense:C,setPowerpackDialog:D}=ue.usePowerpack(),l="hasLicense"in n?n.hasLicense:!!C||a,[q,x]=e.useState({}),[N,R]=e.useState([]),_=e.useCallback(i=>q[i]?q[i]:!1,[q]),G=e.useCallback((i,t)=>{const u={...q};u[i]=t,x(u)},[q]),[S,M]=j.useSessionStorage(T,{}),Y=e.useCallback(i=>{const t=S[i];return A(t)?t:s},[S,s]),[O,k]=e.useState(null),H=e.useCallback(i=>{k(i)},[]),E=e.useCallback(()=>{k(null),O&&v([])},[]);e.useEffect(()=>{E()},[o.useLocation().pathname]);const[K,m]=e.useState(null),z=e.useCallback(i=>{m(i)},[]),J=e.useCallback(()=>{m(null)},[]),[Q,h]=e.useState(null),[V,v]=e.useState([]),{uriType:W,uri:X,entity:P,getUriEntities:Z}=qe.useURIContext(),[y]=o.useSearchParams(),b=y.get("project"),g=y.get("type"),f=y.get("id"),w=y.get("activity");e.useEffect(()=>{if(!(!b&&!g&&!f)){if(W==="entity"&&P&&P.entityType!=="product"){Z().then(i=>{if(i.length===0)return;const t=i.find(re=>re.uri===X),u=t?.entities?.[0];if(!t||!u)return;const B=u?.projectName||P.projectName||"",F=u.representationId||u.versionId||u.productId||u.taskId||u.folderId;if(!B||!F)return;const ee={entityType:P.entityType,entities:[{id:F,projectName:B}],source:"uri"};h(ee)}).catch(i=>{console.warn("Failed to get URI entities:",i)});return}b&&g&&f&&(h({entityType:g,entities:[{id:f,projectName:b}],source:"url"}),w&&(v([w]),M({...S,overview:"feed"})))}},[b,g,f]);const $={panelOpenByScope:q,getOpenForScope:_,setPanelOpen:G,setPanelOpenByScope:x,tabsByScope:S,getTabForScope:Y,slideOut:O,openSlideOut:H,closeSlideOut:E,highlightedActivities:V,setHighlightedActivities:v,pip:K,openPip:z,closePip:J,entities:Q,setEntities:h,feedAnnotations:N,setFeedAnnotations:R,bundleMode:p,isGuest:d,hasLicense:l,onPowerFeature:D,...o};return ie.jsxRuntimeExports.jsx(I.DetailsPanelContext.Provider,{value:$,children:r})},U=()=>{const r=e.useContext(I.DetailsPanelContext);if(r===void 0)throw new Error("useDetailsPanel must be used within a DetailsPanelProvider");return r},T="details/tabs-by-scope",oe=(r,s)=>{const a=L.readLocalStorage(T,{});L.writeLocalStorage(T,{...a,[r]:s})},ae=r=>{const{getOpenForScope:s,setPanelOpen:a,getTabForScope:n}=U(),[o,c]=j.useSessionStorage(T,{}),p=o[r],d=A(p)?p:n(r),C=e.useCallback(l=>{c(q=>({...q,[r]:l}))},[r,c]),D=d==="feed";return{isOpen:s(r),setOpen:l=>a(r,l),currentTab:d,setTab:C,isFeed:D}};exports.DetailsPanelProvider=ne;exports.setDetailsPanelTabForScope=oe;exports.useDetailsPanelContext=U;exports.useScopedDetailsPanel=ae;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const se=require("../../../_virtual/jsx-runtime.cjs.js"),e=require("react"),ne=require("./PowerpackContext.cjs.js"),ie=require("./UriContext.cjs.js"),j=require("../hooks/useSessionStorage.cjs.js"),L=require("../hooks/useLocalStorage.cjs.js"),I=require("./DetailsPanelContextInstance.cjs.js");require("lodash");require("react-toastify");require("uuid");const oe=require("../util/getBundleMode.cjs.js");require("../util/pubsub.cjs.js");const ae=["feed","subtasks","details","files"],A=t=>typeof t=="string"&&ae.includes(t),ce=({children:t,defaultTab:a="feed",hasLicense:u,debug:c={},...r})=>{const l=r.user,d=oe.getBundleModeFromUser(l),S="isGuest"in c?c.isGuest:l?.data?.isGuest,{powerLicense:D,setPowerpackDialog:h}=ne.usePowerpack(),p="hasLicense"in c?c.hasLicense:!!D||u,[i,O]=e.useState({}),[N,R]=e.useState([]),_=e.useCallback(s=>i[s]?i[s]:!1,[i]),G=e.useCallback((s,o)=>{const n={...i};n[s]=o,O(n)},[i]),[P,M]=j.useSessionStorage(C,{}),Y=e.useCallback(s=>{const o=P[s];return A(o)?o:a},[P,a]),[k,E]=e.useState(null),H=e.useCallback(s=>{E(s)},[]),m=e.useCallback(()=>{E(null),k&&x([])},[]);e.useEffect(()=>{m()},[r.useLocation().pathname]);const[K,q]=e.useState(null),z=e.useCallback(s=>{q(s)},[]),J=e.useCallback(()=>{q(null)},[]),[Q,v]=e.useState(null),[V,x]=e.useState([]),{uriType:W,uri:X,entity:y,getUriEntities:Z}=ie.useURIContext(),[b]=r.useSearchParams(),g=b.get("project"),f=b.get("type"),T=b.get("id"),w=b.get("activity");e.useEffect(()=>{if(!(!g&&!f&&!T)){if(W==="entity"&&y&&y.entityType!=="product"){Z().then(s=>{if(s.length===0)return;const o=s.find(te=>te.uri===X),n=o?.entities?.[0];if(!o||!n)return;const B=n?.projectName||y.projectName||"",F=n.representationId||n.versionId||n.productId||n.taskId||n.folderId;if(!B||!F)return;const ee={entityType:y.entityType,entities:[{id:F,projectName:B}],source:"uri"};v(ee)}).catch(s=>{console.warn("Failed to get URI entities:",s)});return}g&&f&&T&&(v({entityType:f,entities:[{id:T,projectName:g}],source:"url"}),w&&(x([w]),M({...P,overview:"feed"})))}},[g,f,T]);const $={panelOpenByScope:i,getOpenForScope:_,setPanelOpen:G,setPanelOpenByScope:O,tabsByScope:P,getTabForScope:Y,slideOut:k,openSlideOut:H,closeSlideOut:m,highlightedActivities:V,setHighlightedActivities:x,pip:K,openPip:z,closePip:J,entities:Q,setEntities:v,feedAnnotations:N,setFeedAnnotations:R,bundleMode:d,isGuest:S,hasLicense:p,onPowerFeature:h,...r};return se.jsxRuntimeExports.jsx(I.DetailsPanelContext.Provider,{value:$,children:t})},U=()=>{const t=e.useContext(I.DetailsPanelContext);if(t===void 0)throw new Error("useDetailsPanel must be used within a DetailsPanelProvider");return t},C="details/tabs-by-scope",re=(t,a)=>{const u=L.readLocalStorage(C,{});L.writeLocalStorage(C,{...u,[t]:a})},ue=t=>{const{getOpenForScope:a,setPanelOpen:u,getTabForScope:c}=U(),[r,l]=j.useSessionStorage(C,{}),d=r[t],S=A(d)?d:c(t),D=e.useCallback(p=>{l(i=>({...i,[t]:p}))},[t,l]),h=S==="feed";return{isOpen:a(t),setOpen:p=>u(t,p),currentTab:S,setTab:D,isFeed:h}};exports.DetailsPanelProvider=ce;exports.setDetailsPanelTabForScope=re;exports.useDetailsPanelContext=U;exports.useScopedDetailsPanel=ue;
2
2
  //# sourceMappingURL=DetailsPanelContext.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DetailsPanelContext.cjs.js","sources":["../../../../src/context/DetailsPanelContext.tsx"],"sourcesContent":["import React, { ReactNode, useCallback, useContext, useEffect, useState } 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 { useSessionStorage, readLocalStorage, writeLocalStorage } from '@shared/hooks'\nimport type { SubtasksManagerProps } from '@shared/components'\nimport { DetailsPanelContext } from './DetailsPanelContextInstance'\nimport { BundleMode, getBundleModeFromUser } from '@shared/util'\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 bundleMode: BundleMode\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// 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 bundleMode = getBundleModeFromUser(user)\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] = useSessionStorage<TabStateByScope>(TABS_BY_SCOPE_KEY, {})\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 // closing the panel deletes these params; bail so the stale uri state below can't reopen it\n if (!project && !type && !id) return\n\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 bundleMode,\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\nconst TABS_BY_SCOPE_KEY = 'details/tabs-by-scope'\n\nexport const setDetailsPanelTabForScope = (scope: string, tab: DetailsPanelTab) => {\n const current = readLocalStorage<TabStateByScope>(TABS_BY_SCOPE_KEY, {})\n writeLocalStorage(TABS_BY_SCOPE_KEY, { ...current, [scope]: tab })\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] = useSessionStorage<TabStateByScope>(TABS_BY_SCOPE_KEY, {})\n\n // derived from localStorage state, which useSessionStorage keeps in sync across hook instances\n const storedTab = tabsByScope[scope]\n const currentTab = isDetailsPanelTab(storedTab) ? storedTab : getTabForScope(scope)\n\n const updateTab = useCallback(\n (newTab: DetailsPanelTab) => {\n setTabsByScope((prev) => ({ ...prev, [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","DetailsPanelProvider","children","defaultTab","hasLicenseProp","debug","forwardedProps","user","bundleMode","getBundleModeFromUser","isGuest","powerLicense","setPowerpackDialog","usePowerpack","hasLicense","panelOpenByScope","setPanelOpenByScope","useState","feedAnnotations","setFeedAnnotations","getOpenForScope","useCallback","scope","setPanelOpen","isOpen","newState","tabsByScope","setTabByScope","useSessionStorage","TABS_BY_SCOPE_KEY","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","DetailsPanelContext","useDetailsPanelContext","context","useContext","setDetailsPanelTabForScope","current","readLocalStorage","writeLocalStorage","useScopedDetailsPanel","setTabsByScope","storedTab","currentTab","updateTab","newTab","prev","isFeed"],"mappings":"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"}
1
+ {"version":3,"file":"DetailsPanelContext.cjs.js","sources":["../../../../src/context/DetailsPanelContext.tsx"],"sourcesContent":["import React, { ReactNode, useCallback, useContext, useEffect, useState } from 'react'\nimport type { QueryFilter, UserModel, DetailsPanelEntityType } from '@shared/api'\nimport { useLocation, useNavigate, useParams, useSearchParams } from 'react-router-dom'\nimport type { SavedAnnotationMetadata } from '@shared/containers/Feed'\nimport { PowerpackFeature, usePowerpack } from './PowerpackContext'\nimport { useURIContext } from './UriContext'\nimport { useSessionStorage } from '@shared/hooks/useSessionStorage'\nimport { readLocalStorage, writeLocalStorage } from '@shared/hooks/useLocalStorage'\nimport type { SubtasksManagerProps } from '@shared/components/SubtasksManager/SubtasksManagerWrapper'\nimport { DetailsPanelContext } from './DetailsPanelContextInstance'\nimport { BundleMode, getBundleModeFromUser } from '@shared/util'\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 bundleMode: BundleMode\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// 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 bundleMode = getBundleModeFromUser(user)\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] = useSessionStorage<TabStateByScope>(TABS_BY_SCOPE_KEY, {})\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 // closing the panel deletes these params; bail so the stale uri state below can't reopen it\n if (!project && !type && !id) return\n\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 bundleMode,\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\nconst TABS_BY_SCOPE_KEY = 'details/tabs-by-scope'\n\nexport const setDetailsPanelTabForScope = (scope: string, tab: DetailsPanelTab) => {\n const current = readLocalStorage<TabStateByScope>(TABS_BY_SCOPE_KEY, {})\n writeLocalStorage(TABS_BY_SCOPE_KEY, { ...current, [scope]: tab })\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] = useSessionStorage<TabStateByScope>(TABS_BY_SCOPE_KEY, {})\n\n // derived from localStorage state, which useSessionStorage keeps in sync across hook instances\n const storedTab = tabsByScope[scope]\n const currentTab = isDetailsPanelTab(storedTab) ? storedTab : getTabForScope(scope)\n\n const updateTab = useCallback(\n (newTab: DetailsPanelTab) => {\n setTabsByScope((prev) => ({ ...prev, [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","DetailsPanelProvider","children","defaultTab","hasLicenseProp","debug","forwardedProps","user","bundleMode","getBundleModeFromUser","isGuest","powerLicense","setPowerpackDialog","usePowerpack","hasLicense","panelOpenByScope","setPanelOpenByScope","useState","feedAnnotations","setFeedAnnotations","getOpenForScope","useCallback","scope","setPanelOpen","isOpen","newState","tabsByScope","setTabByScope","useSessionStorage","TABS_BY_SCOPE_KEY","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","DetailsPanelContext","useDetailsPanelContext","context","useContext","setDetailsPanelTabForScope","current","readLocalStorage","writeLocalStorage","useScopedDetailsPanel","setTabsByScope","storedTab","currentTab","updateTab","newTab","prev","isFeed"],"mappings":"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"}