@ynput/ayon-frontend-shared 0.3.53 → 0.3.55

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 (1207) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +27 -26
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +236 -235
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Slicer.cjs.js +1 -1
  8. package/dist/Slicer.es.js +34 -33
  9. package/dist/Slicer.es.js.map +1 -1
  10. package/dist/_virtual/ConsumeSharedPlugin.cjs.js +2 -0
  11. package/dist/_virtual/ConsumeSharedPlugin.cjs.js.map +1 -0
  12. package/dist/_virtual/ConsumeSharedPlugin.es.js +5 -0
  13. package/dist/_virtual/ConsumeSharedPlugin.es.js.map +1 -0
  14. package/dist/_virtual/ContainerPlugin.cjs.js +2 -0
  15. package/dist/_virtual/ContainerPlugin.cjs.js.map +1 -0
  16. package/dist/_virtual/ContainerPlugin.es.js +5 -0
  17. package/dist/_virtual/ContainerPlugin.es.js.map +1 -0
  18. package/dist/_virtual/ContainerReferencePlugin.cjs.js +2 -0
  19. package/dist/_virtual/ContainerReferencePlugin.cjs.js.map +1 -0
  20. package/dist/_virtual/ContainerReferencePlugin.es.js +5 -0
  21. package/dist/_virtual/ContainerReferencePlugin.es.js.map +1 -0
  22. package/dist/_virtual/ModuleFederationPlugin.cjs.js +2 -0
  23. package/dist/_virtual/ModuleFederationPlugin.cjs.js.map +1 -0
  24. package/dist/_virtual/ModuleFederationPlugin.es.js +5 -0
  25. package/dist/_virtual/ModuleFederationPlugin.es.js.map +1 -0
  26. package/dist/_virtual/ProvideSharedPlugin.cjs.js +2 -0
  27. package/dist/_virtual/ProvideSharedPlugin.cjs.js.map +1 -0
  28. package/dist/_virtual/ProvideSharedPlugin.es.js +5 -0
  29. package/dist/_virtual/ProvideSharedPlugin.es.js.map +1 -0
  30. package/dist/_virtual/SharePlugin.cjs.js +2 -0
  31. package/dist/_virtual/SharePlugin.cjs.js.map +1 -0
  32. package/dist/_virtual/SharePlugin.es.js +5 -0
  33. package/dist/_virtual/SharePlugin.es.js.map +1 -0
  34. package/dist/_virtual/SnapshotHandler.cjs.js +2 -0
  35. package/dist/_virtual/SnapshotHandler.cjs.js.map +1 -0
  36. package/dist/_virtual/SnapshotHandler.es.js +5 -0
  37. package/dist/_virtual/SnapshotHandler.es.js.map +1 -0
  38. package/dist/_virtual/asyncHook.cjs.js +2 -0
  39. package/dist/_virtual/asyncHook.cjs.js.map +1 -0
  40. package/dist/_virtual/asyncHook.es.js +5 -0
  41. package/dist/_virtual/asyncHook.es.js.map +1 -0
  42. package/dist/_virtual/asyncWaterfallHooks.cjs.js +2 -0
  43. package/dist/_virtual/asyncWaterfallHooks.cjs.js.map +1 -0
  44. package/dist/_virtual/asyncWaterfallHooks.es.js +5 -0
  45. package/dist/_virtual/asyncWaterfallHooks.es.js.map +1 -0
  46. package/dist/_virtual/browser.cjs.js +2 -0
  47. package/dist/_virtual/browser.cjs.js.map +1 -0
  48. package/dist/_virtual/browser.es.js +5 -0
  49. package/dist/_virtual/browser.es.js.map +1 -0
  50. package/dist/_virtual/compare.cjs.js +2 -0
  51. package/dist/_virtual/compare.cjs.js.map +1 -0
  52. package/dist/_virtual/compare.es.js +5 -0
  53. package/dist/_virtual/compare.es.js.map +1 -0
  54. package/dist/_virtual/constant.cjs.js +2 -0
  55. package/dist/_virtual/constant.cjs.js.map +1 -0
  56. package/dist/_virtual/constant.cjs2.js +2 -0
  57. package/dist/_virtual/constant.cjs2.js.map +1 -0
  58. package/dist/_virtual/constant.es.js +5 -0
  59. package/dist/_virtual/constant.es.js.map +1 -0
  60. package/dist/_virtual/constant.es2.js +5 -0
  61. package/dist/_virtual/constant.es2.js.map +1 -0
  62. package/dist/_virtual/constants.cjs2.js +2 -0
  63. package/dist/_virtual/constants.cjs2.js.map +1 -0
  64. package/dist/_virtual/constants.es2.js +5 -0
  65. package/dist/_virtual/constants.es2.js.map +1 -0
  66. package/dist/_virtual/context.cjs.js +2 -0
  67. package/dist/_virtual/context.cjs.js.map +1 -0
  68. package/dist/_virtual/context.es.js +5 -0
  69. package/dist/_virtual/context.es.js.map +1 -0
  70. package/dist/_virtual/core.cjs.js +2 -0
  71. package/dist/_virtual/core.cjs.js.map +1 -0
  72. package/dist/_virtual/core.es.js +5 -0
  73. package/dist/_virtual/core.es.js.map +1 -0
  74. package/dist/_virtual/createModuleFederationConfig.cjs.js +2 -0
  75. package/dist/_virtual/createModuleFederationConfig.cjs.js.map +1 -0
  76. package/dist/_virtual/createModuleFederationConfig.es.js +5 -0
  77. package/dist/_virtual/createModuleFederationConfig.es.js.map +1 -0
  78. package/dist/_virtual/desc.cjs.js +2 -0
  79. package/dist/_virtual/desc.cjs.js.map +1 -0
  80. package/dist/_virtual/desc.es.js +5 -0
  81. package/dist/_virtual/desc.es.js.map +1 -0
  82. package/dist/_virtual/dom.cjs.js +2 -0
  83. package/dist/_virtual/dom.cjs.js.map +1 -0
  84. package/dist/_virtual/dom.es.js +5 -0
  85. package/dist/_virtual/dom.es.js.map +1 -0
  86. package/dist/_virtual/env.cjs.js +2 -0
  87. package/dist/_virtual/env.cjs.js.map +1 -0
  88. package/dist/_virtual/env.cjs2.js +2 -0
  89. package/dist/_virtual/env.cjs2.js.map +1 -0
  90. package/dist/_virtual/env.es.js +5 -0
  91. package/dist/_virtual/env.es.js.map +1 -0
  92. package/dist/_virtual/env.es2.js +5 -0
  93. package/dist/_virtual/env.es2.js.map +1 -0
  94. package/dist/_virtual/error-codes.cjs.js +2 -0
  95. package/dist/_virtual/error-codes.cjs.js.map +1 -0
  96. package/dist/_virtual/error-codes.es.js +5 -0
  97. package/dist/_virtual/error-codes.es.js.map +1 -0
  98. package/dist/_virtual/generate-preload-assets.cjs.js +2 -0
  99. package/dist/_virtual/generate-preload-assets.cjs.js.map +1 -0
  100. package/dist/_virtual/generate-preload-assets.es.js +5 -0
  101. package/dist/_virtual/generate-preload-assets.es.js.map +1 -0
  102. package/dist/_virtual/generateSnapshotFromManifest.cjs.js +2 -0
  103. package/dist/_virtual/generateSnapshotFromManifest.cjs.js.map +1 -0
  104. package/dist/_virtual/generateSnapshotFromManifest.es.js +5 -0
  105. package/dist/_virtual/generateSnapshotFromManifest.es.js.map +1 -0
  106. package/dist/_virtual/getShortErrorMsg.cjs.js +2 -0
  107. package/dist/_virtual/getShortErrorMsg.cjs.js.map +1 -0
  108. package/dist/_virtual/getShortErrorMsg.es.js +5 -0
  109. package/dist/_virtual/getShortErrorMsg.es.js.map +1 -0
  110. package/dist/_virtual/global.cjs.js +2 -0
  111. package/dist/_virtual/global.cjs.js.map +1 -0
  112. package/dist/_virtual/global.es.js +5 -0
  113. package/dist/_virtual/global.es.js.map +1 -0
  114. package/dist/_virtual/helpers.cjs.js +2 -0
  115. package/dist/_virtual/helpers.cjs.js.map +1 -0
  116. package/dist/_virtual/helpers.es.js +5 -0
  117. package/dist/_virtual/helpers.es.js.map +1 -0
  118. package/dist/_virtual/index.cjs10.js +1 -1
  119. package/dist/_virtual/index.cjs11.js +1 -1
  120. package/dist/_virtual/index.cjs12.js +1 -1
  121. package/dist/_virtual/index.cjs13.js +2 -0
  122. package/dist/_virtual/index.cjs13.js.map +1 -0
  123. package/dist/_virtual/index.cjs14.js +2 -0
  124. package/dist/_virtual/index.cjs14.js.map +1 -0
  125. package/dist/_virtual/index.cjs15.js +2 -0
  126. package/dist/_virtual/index.cjs15.js.map +1 -0
  127. package/dist/_virtual/index.cjs16.js +2 -0
  128. package/dist/_virtual/index.cjs16.js.map +1 -0
  129. package/dist/_virtual/index.cjs17.js +2 -0
  130. package/dist/_virtual/index.cjs17.js.map +1 -0
  131. package/dist/_virtual/index.cjs18.js +2 -0
  132. package/dist/_virtual/index.cjs18.js.map +1 -0
  133. package/dist/_virtual/index.cjs19.js +2 -0
  134. package/dist/_virtual/index.cjs19.js.map +1 -0
  135. package/dist/_virtual/index.cjs20.js +2 -0
  136. package/dist/_virtual/index.cjs20.js.map +1 -0
  137. package/dist/_virtual/index.cjs21.js +2 -0
  138. package/dist/_virtual/index.cjs21.js.map +1 -0
  139. package/dist/_virtual/index.cjs22.js +2 -0
  140. package/dist/_virtual/index.cjs22.js.map +1 -0
  141. package/dist/_virtual/index.cjs23.js +2 -0
  142. package/dist/_virtual/index.cjs23.js.map +1 -0
  143. package/dist/_virtual/index.cjs24.js +2 -0
  144. package/dist/_virtual/index.cjs24.js.map +1 -0
  145. package/dist/_virtual/index.cjs4.js +1 -1
  146. package/dist/_virtual/index.cjs5.js +1 -1
  147. package/dist/_virtual/index.cjs6.js +1 -1
  148. package/dist/_virtual/index.cjs7.js +1 -1
  149. package/dist/_virtual/index.cjs8.js +1 -1
  150. package/dist/_virtual/index.es10.js +2 -5
  151. package/dist/_virtual/index.es10.js.map +1 -1
  152. package/dist/_virtual/index.es11.js +2 -5
  153. package/dist/_virtual/index.es11.js.map +1 -1
  154. package/dist/_virtual/index.es12.js +2 -5
  155. package/dist/_virtual/index.es12.js.map +1 -1
  156. package/dist/_virtual/index.es13.js +5 -0
  157. package/dist/_virtual/index.es13.js.map +1 -0
  158. package/dist/_virtual/index.es14.js +5 -0
  159. package/dist/_virtual/index.es14.js.map +1 -0
  160. package/dist/_virtual/index.es15.js +5 -0
  161. package/dist/_virtual/index.es15.js.map +1 -0
  162. package/dist/_virtual/index.es16.js +5 -0
  163. package/dist/_virtual/index.es16.js.map +1 -0
  164. package/dist/_virtual/index.es17.js +5 -0
  165. package/dist/_virtual/index.es17.js.map +1 -0
  166. package/dist/_virtual/index.es18.js +5 -0
  167. package/dist/_virtual/index.es18.js.map +1 -0
  168. package/dist/_virtual/index.es19.js +5 -0
  169. package/dist/_virtual/index.es19.js.map +1 -0
  170. package/dist/_virtual/index.es20.js +5 -0
  171. package/dist/_virtual/index.es20.js.map +1 -0
  172. package/dist/_virtual/index.es21.js +5 -0
  173. package/dist/_virtual/index.es21.js.map +1 -0
  174. package/dist/_virtual/index.es22.js +8 -0
  175. package/dist/_virtual/index.es22.js.map +1 -0
  176. package/dist/_virtual/index.es23.js +8 -0
  177. package/dist/_virtual/index.es23.js.map +1 -0
  178. package/dist/_virtual/index.es24.js +8 -0
  179. package/dist/_virtual/index.es24.js.map +1 -0
  180. package/dist/_virtual/index.es4.js +2 -5
  181. package/dist/_virtual/index.es4.js.map +1 -1
  182. package/dist/_virtual/index.es5.js +4 -4
  183. package/dist/_virtual/index.es6.js +2 -2
  184. package/dist/_virtual/index.es7.js +2 -2
  185. package/dist/_virtual/index.es8.js +5 -2
  186. package/dist/_virtual/index.es8.js.map +1 -1
  187. package/dist/_virtual/index.es9.js +2 -2
  188. package/dist/_virtual/load.cjs.js +2 -0
  189. package/dist/_virtual/load.cjs.js.map +1 -0
  190. package/dist/_virtual/load.es.js +5 -0
  191. package/dist/_virtual/load.es.js.map +1 -0
  192. package/dist/_virtual/logger.cjs.js +2 -0
  193. package/dist/_virtual/logger.cjs.js.map +1 -0
  194. package/dist/_virtual/logger.cjs2.js +2 -0
  195. package/dist/_virtual/logger.cjs2.js.map +1 -0
  196. package/dist/_virtual/logger.es.js +5 -0
  197. package/dist/_virtual/logger.es.js.map +1 -0
  198. package/dist/_virtual/logger.es2.js +5 -0
  199. package/dist/_virtual/logger.es2.js.map +1 -0
  200. package/dist/_virtual/manifest.cjs.js +2 -0
  201. package/dist/_virtual/manifest.cjs.js.map +1 -0
  202. package/dist/_virtual/manifest.es.js +5 -0
  203. package/dist/_virtual/manifest.es.js.map +1 -0
  204. package/dist/_virtual/node.cjs.js +2 -0
  205. package/dist/_virtual/node.cjs.js.map +1 -0
  206. package/dist/_virtual/node.es.js +5 -0
  207. package/dist/_virtual/node.es.js.map +1 -0
  208. package/dist/_virtual/normalizeOptions.cjs.js +2 -0
  209. package/dist/_virtual/normalizeOptions.cjs.js.map +1 -0
  210. package/dist/_virtual/normalizeOptions.es.js +5 -0
  211. package/dist/_virtual/normalizeOptions.es.js.map +1 -0
  212. package/dist/_virtual/parser.cjs.js +2 -0
  213. package/dist/_virtual/parser.cjs.js.map +1 -0
  214. package/dist/_virtual/parser.es.js +5 -0
  215. package/dist/_virtual/parser.es.js.map +1 -0
  216. package/dist/_virtual/plugin.cjs.js +2 -0
  217. package/dist/_virtual/plugin.cjs.js.map +1 -0
  218. package/dist/_virtual/plugin.es.js +5 -0
  219. package/dist/_virtual/plugin.es.js.map +1 -0
  220. package/dist/_virtual/pluginSystem.cjs.js +2 -0
  221. package/dist/_virtual/pluginSystem.cjs.js.map +1 -0
  222. package/dist/_virtual/pluginSystem.es.js +5 -0
  223. package/dist/_virtual/pluginSystem.es.js.map +1 -0
  224. package/dist/_virtual/preload.cjs.js +2 -0
  225. package/dist/_virtual/preload.cjs.js.map +1 -0
  226. package/dist/_virtual/preload.es.js +5 -0
  227. package/dist/_virtual/preload.es.js.map +1 -0
  228. package/dist/_virtual/runtime.cjs.js +2 -0
  229. package/dist/_virtual/runtime.cjs.js.map +1 -0
  230. package/dist/_virtual/runtime.cjs2.js +2 -0
  231. package/dist/_virtual/runtime.cjs2.js.map +1 -0
  232. package/dist/_virtual/runtime.cjs3.js +2 -0
  233. package/dist/_virtual/runtime.cjs3.js.map +1 -0
  234. package/dist/_virtual/runtime.cjs4.js +2 -0
  235. package/dist/_virtual/runtime.cjs4.js.map +1 -0
  236. package/dist/_virtual/runtime.cjs5.js +2 -0
  237. package/dist/_virtual/runtime.cjs5.js.map +1 -0
  238. package/dist/_virtual/runtime.es.js +6 -0
  239. package/dist/_virtual/runtime.es.js.map +1 -0
  240. package/dist/_virtual/runtime.es2.js +5 -0
  241. package/dist/_virtual/runtime.es2.js.map +1 -0
  242. package/dist/_virtual/runtime.es3.js +5 -0
  243. package/dist/_virtual/runtime.es3.js.map +1 -0
  244. package/dist/_virtual/runtime.es4.js +5 -0
  245. package/dist/_virtual/runtime.es4.js.map +1 -0
  246. package/dist/_virtual/runtime.es5.js +5 -0
  247. package/dist/_virtual/runtime.es5.js.map +1 -0
  248. package/dist/_virtual/share.cjs.js +2 -0
  249. package/dist/_virtual/share.cjs.js.map +1 -0
  250. package/dist/_virtual/share.es.js +5 -0
  251. package/dist/_virtual/share.es.js.map +1 -0
  252. package/dist/_virtual/syncHook.cjs.js +2 -0
  253. package/dist/_virtual/syncHook.cjs.js.map +1 -0
  254. package/dist/_virtual/syncHook.es.js +5 -0
  255. package/dist/_virtual/syncHook.es.js.map +1 -0
  256. package/dist/_virtual/syncWaterfallHook.cjs.js +2 -0
  257. package/dist/_virtual/syncWaterfallHook.cjs.js.map +1 -0
  258. package/dist/_virtual/syncWaterfallHook.es.js +5 -0
  259. package/dist/_virtual/syncWaterfallHook.es.js.map +1 -0
  260. package/dist/_virtual/tool.cjs.js +2 -0
  261. package/dist/_virtual/tool.cjs.js.map +1 -0
  262. package/dist/_virtual/tool.es.js +5 -0
  263. package/dist/_virtual/tool.es.js.map +1 -0
  264. package/dist/_virtual/utils.cjs.js +2 -0
  265. package/dist/_virtual/utils.cjs.js.map +1 -0
  266. package/dist/_virtual/utils.cjs2.js +2 -0
  267. package/dist/_virtual/utils.cjs2.js.map +1 -0
  268. package/dist/_virtual/utils.cjs3.js +2 -0
  269. package/dist/_virtual/utils.cjs3.js.map +1 -0
  270. package/dist/_virtual/utils.es.js +5 -0
  271. package/dist/_virtual/utils.es.js.map +1 -0
  272. package/dist/_virtual/utils.es2.js +5 -0
  273. package/dist/_virtual/utils.es2.js.map +1 -0
  274. package/dist/_virtual/utils.es3.js +5 -0
  275. package/dist/_virtual/utils.es3.js.map +1 -0
  276. package/dist/api.cjs.js +1 -1
  277. package/dist/api.es.js +444 -442
  278. package/dist/components.cjs.js +1 -1
  279. package/dist/components.es.js +183 -177
  280. package/dist/components.es.js.map +1 -1
  281. package/dist/index.cjs.js +1 -1
  282. package/dist/index.es.js +14 -13
  283. package/dist/index.es.js.map +1 -1
  284. package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
  285. package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
  286. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  287. package/dist/node_modules/parse-numeric-range/index.cjs.js.map +1 -1
  288. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  289. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  290. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  291. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  292. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  293. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  294. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  295. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  296. package/dist/node_modules/remove-accents/index.cjs.js.map +1 -1
  297. package/dist/node_modules/remove-accents/index.es.js +1 -1
  298. package/dist/shared/node_modules/@module-federation/enhanced/dist/src/runtime.cjs.js +2 -0
  299. package/dist/shared/node_modules/@module-federation/enhanced/dist/src/runtime.cjs.js.map +1 -0
  300. package/dist/shared/node_modules/@module-federation/enhanced/dist/src/runtime.es.js +21 -0
  301. package/dist/shared/node_modules/@module-federation/enhanced/dist/src/runtime.es.js.map +1 -0
  302. package/dist/shared/node_modules/@module-federation/error-codes/dist/browser.cjs.js +1 -1
  303. package/dist/shared/node_modules/@module-federation/error-codes/dist/browser.cjs.js.map +1 -1
  304. package/dist/shared/node_modules/@module-federation/error-codes/dist/browser.es.js +13 -4
  305. package/dist/shared/node_modules/@module-federation/error-codes/dist/browser.es.js.map +1 -1
  306. package/dist/shared/node_modules/@module-federation/error-codes/dist/desc.cjs.js +1 -1
  307. package/dist/shared/node_modules/@module-federation/error-codes/dist/desc.cjs.js.map +1 -1
  308. package/dist/shared/node_modules/@module-federation/error-codes/dist/desc.es.js +30 -22
  309. package/dist/shared/node_modules/@module-federation/error-codes/dist/desc.es.js.map +1 -1
  310. package/dist/shared/node_modules/@module-federation/error-codes/dist/error-codes.cjs.js +1 -1
  311. package/dist/shared/node_modules/@module-federation/error-codes/dist/error-codes.cjs.js.map +1 -1
  312. package/dist/shared/node_modules/@module-federation/error-codes/dist/error-codes.es.js +9 -16
  313. package/dist/shared/node_modules/@module-federation/error-codes/dist/error-codes.es.js.map +1 -1
  314. package/dist/shared/node_modules/@module-federation/error-codes/dist/getShortErrorMsg.cjs.js +3 -3
  315. package/dist/shared/node_modules/@module-federation/error-codes/dist/getShortErrorMsg.cjs.js.map +1 -1
  316. package/dist/shared/node_modules/@module-federation/error-codes/dist/getShortErrorMsg.es.js +13 -6
  317. package/dist/shared/node_modules/@module-federation/error-codes/dist/getShortErrorMsg.es.js.map +1 -1
  318. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +2 -0
  319. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js.map +1 -0
  320. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +16 -0
  321. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js.map +1 -0
  322. package/dist/shared/node_modules/@module-federation/runtime/dist/index.cjs.js +1 -1
  323. package/dist/shared/node_modules/@module-federation/runtime/dist/index.cjs.js.map +1 -1
  324. package/dist/shared/node_modules/@module-federation/runtime/dist/index.es.js +76 -16
  325. package/dist/shared/node_modules/@module-federation/runtime/dist/index.es.js.map +1 -1
  326. package/dist/shared/node_modules/@module-federation/runtime/dist/utils.cjs.js +2 -0
  327. package/dist/shared/node_modules/@module-federation/runtime/dist/utils.cjs.js.map +1 -0
  328. package/dist/shared/node_modules/@module-federation/runtime/dist/utils.es.js +20 -0
  329. package/dist/shared/node_modules/@module-federation/runtime/dist/utils.es.js.map +1 -0
  330. package/dist/shared/node_modules/@module-federation/runtime-core/dist/_virtual/_rolldown/runtime.cjs.js +2 -0
  331. package/dist/shared/node_modules/@module-federation/runtime-core/dist/_virtual/_rolldown/runtime.cjs.js.map +1 -0
  332. package/dist/shared/node_modules/@module-federation/runtime-core/dist/_virtual/_rolldown/runtime.es.js +20 -0
  333. package/dist/shared/node_modules/@module-federation/runtime-core/dist/_virtual/_rolldown/runtime.es.js.map +1 -0
  334. package/dist/shared/node_modules/@module-federation/runtime-core/dist/constant.cjs.js +1 -1
  335. package/dist/shared/node_modules/@module-federation/runtime-core/dist/constant.cjs.js.map +1 -1
  336. package/dist/shared/node_modules/@module-federation/runtime-core/dist/constant.es.js +9 -3
  337. package/dist/shared/node_modules/@module-federation/runtime-core/dist/constant.es.js.map +1 -1
  338. package/dist/shared/node_modules/@module-federation/runtime-core/dist/core.cjs.js +1 -1
  339. package/dist/shared/node_modules/@module-federation/runtime-core/dist/core.cjs.js.map +1 -1
  340. package/dist/shared/node_modules/@module-federation/runtime-core/dist/core.es.js +135 -125
  341. package/dist/shared/node_modules/@module-federation/runtime-core/dist/core.es.js.map +1 -1
  342. package/dist/shared/node_modules/@module-federation/runtime-core/dist/global.cjs.js +1 -1
  343. package/dist/shared/node_modules/@module-federation/runtime-core/dist/global.cjs.js.map +1 -1
  344. package/dist/shared/node_modules/@module-federation/runtime-core/dist/global.es.js +102 -92
  345. package/dist/shared/node_modules/@module-federation/runtime-core/dist/global.es.js.map +1 -1
  346. package/dist/shared/node_modules/@module-federation/runtime-core/dist/helpers.cjs.js +2 -0
  347. package/dist/shared/node_modules/@module-federation/runtime-core/dist/helpers.cjs.js.map +1 -0
  348. package/dist/shared/node_modules/@module-federation/runtime-core/dist/helpers.es.js +50 -0
  349. package/dist/shared/node_modules/@module-federation/runtime-core/dist/helpers.es.js.map +1 -0
  350. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
  351. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js.map +1 -1
  352. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +42 -11
  353. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js.map +1 -1
  354. package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.cjs.js +2 -2
  355. package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.cjs.js.map +1 -1
  356. package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.es.js +96 -216
  357. package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.es.js.map +1 -1
  358. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/generate-preload-assets.cjs.js +1 -1
  359. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/generate-preload-assets.cjs.js.map +1 -1
  360. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/generate-preload-assets.es.js +137 -127
  361. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/generate-preload-assets.es.js.map +1 -1
  362. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/SnapshotHandler.cjs.js +1 -1
  363. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/SnapshotHandler.cjs.js.map +1 -1
  364. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/SnapshotHandler.es.js +158 -172
  365. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/SnapshotHandler.es.js.map +1 -1
  366. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs.js +1 -1
  367. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs.js.map +1 -1
  368. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.es.js +59 -56
  369. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.es.js.map +1 -1
  370. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.cjs.js +1 -1
  371. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.cjs.js.map +1 -1
  372. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.es.js +226 -347
  373. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.es.js.map +1 -1
  374. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.cjs.js +1 -1
  375. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.cjs.js.map +1 -1
  376. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.es.js +207 -297
  377. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.es.js.map +1 -1
  378. package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.cjs.js +2 -0
  379. package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.cjs.js.map +1 -0
  380. package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.es.js +18 -0
  381. package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.es.js.map +1 -0
  382. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/context.cjs.js +1 -1
  383. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/context.cjs.js.map +1 -1
  384. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/context.es.js +40 -33
  385. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/context.es.js.map +1 -1
  386. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/env.cjs.js +1 -1
  387. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/env.cjs.js.map +1 -1
  388. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/env.es.js +10 -3
  389. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/env.es.js.map +1 -1
  390. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncHook.cjs.js +1 -1
  391. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncHook.cjs.js.map +1 -1
  392. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncHook.es.js +21 -13
  393. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncHook.es.js.map +1 -1
  394. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncWaterfallHooks.cjs.js +1 -1
  395. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncWaterfallHooks.cjs.js.map +1 -1
  396. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncWaterfallHooks.es.js +36 -29
  397. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncWaterfallHooks.es.js.map +1 -1
  398. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs.js +2 -0
  399. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs.js.map +1 -0
  400. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.es.js +14 -0
  401. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.es.js.map +1 -0
  402. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/pluginSystem.cjs.js +1 -1
  403. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/pluginSystem.cjs.js.map +1 -1
  404. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/pluginSystem.es.js +33 -24
  405. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/pluginSystem.es.js.map +1 -1
  406. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/syncHook.cjs.js +1 -1
  407. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/syncHook.cjs.js.map +1 -1
  408. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/syncHook.es.js +34 -28
  409. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/syncHook.es.js.map +1 -1
  410. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/syncWaterfallHook.cjs.js +1 -1
  411. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/syncWaterfallHook.cjs.js.map +1 -1
  412. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/syncWaterfallHook.es.js +35 -29
  413. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/syncWaterfallHook.es.js.map +1 -1
  414. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.cjs.js +2 -0
  415. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.cjs.js.map +1 -0
  416. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.es.js +16 -0
  417. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.es.js.map +1 -0
  418. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/load.cjs.js +1 -1
  419. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/load.cjs.js.map +1 -1
  420. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/load.es.js +156 -182
  421. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/load.es.js.map +1 -1
  422. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/logger.cjs.js +1 -1
  423. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/logger.cjs.js.map +1 -1
  424. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/logger.es.js +24 -19
  425. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/logger.es.js.map +1 -1
  426. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/manifest.cjs.js +1 -1
  427. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/manifest.cjs.js.map +1 -1
  428. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/manifest.es.js +41 -39
  429. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/manifest.es.js.map +1 -1
  430. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/plugin.cjs.js +1 -1
  431. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/plugin.cjs.js.map +1 -1
  432. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/plugin.es.js +26 -18
  433. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/plugin.es.js.map +1 -1
  434. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/preload.cjs.js +1 -1
  435. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/preload.cjs.js.map +1 -1
  436. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/preload.es.js +135 -189
  437. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/preload.es.js.map +1 -1
  438. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/compare.cjs.js +1 -1
  439. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/compare.cjs.js.map +1 -1
  440. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/compare.es.js +45 -38
  441. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/compare.es.js.map +1 -1
  442. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/constants.cjs.js +1 -1
  443. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/constants.cjs.js.map +1 -1
  444. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/constants.es.js +9 -11
  445. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/constants.es.js.map +1 -1
  446. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js +1 -1
  447. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js.map +1 -1
  448. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.es.js +63 -55
  449. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.es.js.map +1 -1
  450. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/parser.cjs.js +1 -1
  451. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/parser.cjs.js.map +1 -1
  452. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/parser.es.js +40 -40
  453. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/parser.es.js.map +1 -1
  454. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.cjs.js +1 -1
  455. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.cjs.js.map +1 -1
  456. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.es.js +25 -21
  457. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.es.js.map +1 -1
  458. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/share.cjs.js +1 -1
  459. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/share.cjs.js.map +1 -1
  460. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/share.es.js +200 -197
  461. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/share.es.js.map +1 -1
  462. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/tool.cjs.js +1 -1
  463. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/tool.cjs.js.map +1 -1
  464. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/tool.es.js +64 -51
  465. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/tool.es.js.map +1 -1
  466. package/dist/shared/node_modules/@module-federation/runtime-tools/dist/runtime.cjs.js +2 -0
  467. package/dist/shared/node_modules/@module-federation/runtime-tools/dist/runtime.cjs.js.map +1 -0
  468. package/dist/shared/node_modules/@module-federation/runtime-tools/dist/runtime.es.js +20 -0
  469. package/dist/shared/node_modules/@module-federation/runtime-tools/dist/runtime.es.js.map +1 -0
  470. package/dist/shared/node_modules/@module-federation/sdk/dist/_virtual/_rolldown/runtime.cjs.js +2 -0
  471. package/dist/shared/node_modules/@module-federation/sdk/dist/_virtual/_rolldown/runtime.cjs.js.map +1 -0
  472. package/dist/shared/node_modules/@module-federation/sdk/dist/_virtual/_rolldown/runtime.es.js +20 -0
  473. package/dist/shared/node_modules/@module-federation/sdk/dist/_virtual/_rolldown/runtime.es.js.map +1 -0
  474. package/dist/shared/node_modules/@module-federation/sdk/dist/constant.cjs.js +1 -1
  475. package/dist/shared/node_modules/@module-federation/sdk/dist/constant.cjs.js.map +1 -1
  476. package/dist/shared/node_modules/@module-federation/sdk/dist/constant.es.js +33 -8
  477. package/dist/shared/node_modules/@module-federation/sdk/dist/constant.es.js.map +1 -1
  478. package/dist/shared/node_modules/@module-federation/sdk/dist/createModuleFederationConfig.cjs.js +2 -0
  479. package/dist/shared/node_modules/@module-federation/sdk/dist/createModuleFederationConfig.cjs.js.map +1 -0
  480. package/dist/shared/node_modules/@module-federation/sdk/dist/createModuleFederationConfig.es.js +12 -0
  481. package/dist/shared/node_modules/@module-federation/sdk/dist/createModuleFederationConfig.es.js.map +1 -0
  482. package/dist/shared/node_modules/@module-federation/sdk/dist/dom.cjs.js +1 -1
  483. package/dist/shared/node_modules/@module-federation/sdk/dist/dom.cjs.js.map +1 -1
  484. package/dist/shared/node_modules/@module-federation/sdk/dist/dom.es.js +120 -132
  485. package/dist/shared/node_modules/@module-federation/sdk/dist/dom.es.js.map +1 -1
  486. package/dist/shared/node_modules/@module-federation/sdk/dist/env.cjs.js +1 -1
  487. package/dist/shared/node_modules/@module-federation/sdk/dist/env.cjs.js.map +1 -1
  488. package/dist/shared/node_modules/@module-federation/sdk/dist/env.es.js +27 -20
  489. package/dist/shared/node_modules/@module-federation/sdk/dist/env.es.js.map +1 -1
  490. package/dist/shared/node_modules/@module-federation/sdk/dist/generateSnapshotFromManifest.cjs.js +1 -1
  491. package/dist/shared/node_modules/@module-federation/sdk/dist/generateSnapshotFromManifest.cjs.js.map +1 -1
  492. package/dist/shared/node_modules/@module-federation/sdk/dist/generateSnapshotFromManifest.es.js +102 -71
  493. package/dist/shared/node_modules/@module-federation/sdk/dist/generateSnapshotFromManifest.es.js.map +1 -1
  494. package/dist/shared/node_modules/@module-federation/sdk/dist/index.cjs.js +2 -0
  495. package/dist/shared/node_modules/@module-federation/sdk/dist/index.cjs.js.map +1 -0
  496. package/dist/shared/node_modules/@module-federation/sdk/dist/index.es.js +58 -0
  497. package/dist/shared/node_modules/@module-federation/sdk/dist/index.es.js.map +1 -0
  498. package/dist/shared/node_modules/@module-federation/sdk/dist/logger.cjs.js +4 -4
  499. package/dist/shared/node_modules/@module-federation/sdk/dist/logger.cjs.js.map +1 -1
  500. package/dist/shared/node_modules/@module-federation/sdk/dist/logger.es.js +114 -99
  501. package/dist/shared/node_modules/@module-federation/sdk/dist/logger.es.js.map +1 -1
  502. package/dist/shared/node_modules/@module-federation/sdk/dist/node.cjs.js +2 -2
  503. package/dist/shared/node_modules/@module-federation/sdk/dist/node.cjs.js.map +1 -1
  504. package/dist/shared/node_modules/@module-federation/sdk/dist/node.es.js +88 -120
  505. package/dist/shared/node_modules/@module-federation/sdk/dist/node.es.js.map +1 -1
  506. package/dist/shared/node_modules/@module-federation/sdk/dist/normalizeOptions.cjs.js +2 -0
  507. package/dist/shared/node_modules/@module-federation/sdk/dist/normalizeOptions.cjs.js.map +1 -0
  508. package/dist/shared/node_modules/@module-federation/sdk/dist/normalizeOptions.es.js +23 -0
  509. package/dist/shared/node_modules/@module-federation/sdk/dist/normalizeOptions.es.js.map +1 -0
  510. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ConsumeSharedPlugin.cjs.js +2 -0
  511. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ConsumeSharedPlugin.cjs.js.map +1 -0
  512. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ConsumeSharedPlugin.es.js +18 -0
  513. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ConsumeSharedPlugin.es.js.map +1 -0
  514. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ContainerPlugin.cjs.js +2 -0
  515. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ContainerPlugin.cjs.js.map +1 -0
  516. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ContainerPlugin.es.js +18 -0
  517. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ContainerPlugin.es.js.map +1 -0
  518. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ContainerReferencePlugin.cjs.js +2 -0
  519. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ContainerReferencePlugin.cjs.js.map +1 -0
  520. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ContainerReferencePlugin.es.js +18 -0
  521. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ContainerReferencePlugin.es.js.map +1 -0
  522. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ModuleFederationPlugin.cjs.js +2 -0
  523. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ModuleFederationPlugin.cjs.js.map +1 -0
  524. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ModuleFederationPlugin.es.js +18 -0
  525. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ModuleFederationPlugin.es.js.map +1 -0
  526. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ProvideSharedPlugin.cjs.js +2 -0
  527. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ProvideSharedPlugin.cjs.js.map +1 -0
  528. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ProvideSharedPlugin.es.js +18 -0
  529. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ProvideSharedPlugin.es.js.map +1 -0
  530. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/SharePlugin.cjs.js +2 -0
  531. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/SharePlugin.cjs.js.map +1 -0
  532. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/SharePlugin.es.js +18 -0
  533. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/SharePlugin.es.js.map +1 -0
  534. package/dist/shared/node_modules/@module-federation/sdk/dist/utils.cjs.js +1 -1
  535. package/dist/shared/node_modules/@module-federation/sdk/dist/utils.cjs.js.map +1 -1
  536. package/dist/shared/node_modules/@module-federation/sdk/dist/utils.es.js +78 -21
  537. package/dist/shared/node_modules/@module-federation/sdk/dist/utils.es.js.map +1 -1
  538. package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
  539. package/dist/shared/node_modules/prop-types/index.es.js +1 -1
  540. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  541. package/dist/shared/node_modules/react-is/index.cjs.js.map +1 -1
  542. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  543. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
  544. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
  545. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
  546. package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
  547. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
  548. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
  549. package/dist/shared/src/api/generated/graphql.cjs.js +74 -45
  550. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  551. package/dist/shared/src/api/generated/graphql.es.js +151 -118
  552. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  553. package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -1
  554. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  555. package/dist/shared/src/api/queries/folders/getFolders.es.js +108 -116
  556. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  557. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
  558. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
  559. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +483 -497
  560. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
  561. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js +1 -1
  562. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js.map +1 -1
  563. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js +7 -6
  564. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
  565. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js +9 -4
  566. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js.map +1 -1
  567. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.es.js +52 -29
  568. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.es.js.map +1 -1
  569. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteEntitiesConfirmDialog.cjs.js +2 -0
  570. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteEntitiesConfirmDialog.cjs.js.map +1 -0
  571. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteEntitiesConfirmDialog.es.js +106 -0
  572. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteEntitiesConfirmDialog.es.js.map +1 -0
  573. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteEntitiesConfirmDialog.styled.cjs.js +35 -0
  574. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteEntitiesConfirmDialog.styled.cjs.js.map +1 -0
  575. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteEntitiesConfirmDialog.styled.es.js +47 -0
  576. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteEntitiesConfirmDialog.styled.es.js.map +1 -0
  577. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  578. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  579. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +7 -6
  580. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  581. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  582. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  583. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +7 -6
  584. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  585. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  586. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  587. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +7 -6
  588. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  589. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  590. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  591. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +7 -6
  592. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  593. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js +1 -1
  594. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js.map +1 -1
  595. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js +7 -6
  596. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js.map +1 -1
  597. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  598. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  599. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +7 -6
  600. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  601. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  602. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  603. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +7 -6
  604. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  605. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  606. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  607. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +7 -6
  608. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  609. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  610. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  611. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +11 -10
  612. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  613. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
  614. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
  615. package/dist/shared/src/components/LinksManager/LinksManager.es.js +7 -6
  616. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
  617. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  618. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  619. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +7 -6
  620. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  621. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  622. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  623. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +7 -6
  624. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  625. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
  626. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -1
  627. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +7 -6
  628. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -1
  629. package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
  630. package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -1
  631. package/dist/shared/src/components/Menu/Menu.es.js +7 -6
  632. package/dist/shared/src/components/Menu/Menu.es.js.map +1 -1
  633. package/dist/shared/src/components/Menu/MenuItem.cjs.js +1 -1
  634. package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -1
  635. package/dist/shared/src/components/Menu/MenuItem.es.js +5 -4
  636. package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -1
  637. package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
  638. package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
  639. package/dist/shared/src/components/Menu/MenuList.es.js +7 -6
  640. package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
  641. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
  642. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  643. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +7 -6
  644. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  645. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  646. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  647. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +7 -6
  648. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  649. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
  650. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  651. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +7 -6
  652. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  653. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  654. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  655. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +9 -8
  656. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  657. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  658. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  659. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +7 -6
  660. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  661. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  662. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  663. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +7 -6
  664. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  665. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  666. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  667. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +7 -6
  668. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  669. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  670. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  671. package/dist/shared/src/components/RenameForm/RenameForm.es.js +7 -6
  672. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  673. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  674. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  675. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +7 -6
  676. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  677. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  678. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  679. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +8 -7
  680. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  681. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  682. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  683. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +7 -6
  684. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  685. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  686. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  687. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +7 -6
  688. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  689. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  690. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  691. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +11 -10
  692. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  693. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +1 -1
  694. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  695. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +7 -6
  696. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  697. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
  698. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  699. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +9 -8
  700. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  701. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  702. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  703. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +7 -6
  704. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  705. package/dist/shared/src/components/SyncButton/SyncButton.cjs.js +1 -1
  706. package/dist/shared/src/components/SyncButton/SyncButton.cjs.js.map +1 -1
  707. package/dist/shared/src/components/SyncButton/SyncButton.es.js +1 -1
  708. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
  709. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  710. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +7 -6
  711. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  712. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  713. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  714. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +7 -6
  715. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  716. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  717. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  718. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +11 -10
  719. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  720. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  721. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  722. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +7 -6
  723. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  724. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  725. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  726. package/dist/shared/src/containers/Actions/Actions.es.js +49 -48
  727. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  728. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  729. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  730. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +7 -6
  731. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  732. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  733. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  734. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +7 -6
  735. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  736. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  737. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  738. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +7 -6
  739. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  740. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  741. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  742. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +7 -6
  743. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  744. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  745. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  746. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +7 -6
  747. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  748. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js +1 -1
  749. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js.map +1 -1
  750. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js +7 -6
  751. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js.map +1 -1
  752. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  753. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
  754. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +7 -6
  755. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
  756. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  757. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
  758. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +7 -6
  759. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
  760. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  761. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  762. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +7 -6
  763. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  764. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  765. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  766. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +21 -20
  767. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  768. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  769. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  770. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +7 -6
  771. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  772. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  773. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  774. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +7 -6
  775. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  776. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  777. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  778. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +4 -3
  779. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  780. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  781. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  782. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +7 -6
  783. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  784. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  785. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  786. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +7 -6
  787. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  788. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  789. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  790. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +7 -6
  791. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  792. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  793. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  794. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +7 -6
  795. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  796. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  797. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  798. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +7 -6
  799. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  800. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  801. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  802. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +7 -6
  803. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  804. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  805. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  806. package/dist/shared/src/containers/Feed/Feed.es.js +5 -4
  807. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  808. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  809. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  810. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +7 -6
  811. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  812. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  813. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  814. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +4 -3
  815. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  816. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  817. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  818. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +7 -6
  819. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  820. package/dist/shared/src/containers/Feed/components/ActivityHeader/ActivityHeader.cjs.js +1 -1
  821. package/dist/shared/src/containers/Feed/components/ActivityHeader/ActivityHeader.cjs.js.map +1 -1
  822. package/dist/shared/src/containers/Feed/components/ActivityHeader/ActivityHeader.es.js +44 -32
  823. package/dist/shared/src/containers/Feed/components/ActivityHeader/ActivityHeader.es.js.map +1 -1
  824. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +1 -1
  825. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js.map +1 -1
  826. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +57 -338
  827. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js.map +1 -1
  828. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  829. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  830. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +4 -3
  831. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  832. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  833. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  834. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +8 -7
  835. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  836. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  837. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  838. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +11 -10
  839. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  840. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  841. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  842. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +7 -6
  843. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  844. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  845. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  846. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +7 -6
  847. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  848. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +1 -1
  849. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js.map +1 -1
  850. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +5 -4
  851. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js.map +1 -1
  852. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  853. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  854. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +96 -82
  855. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  856. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js +2 -1
  857. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js.map +1 -1
  858. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.styled.es.js +2 -1
  859. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.styled.es.js.map +1 -1
  860. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  861. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  862. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +7 -6
  863. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  864. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  865. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  866. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +10 -9
  867. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  868. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  869. package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
  870. package/dist/shared/src/containers/ListTable/ListTable.es.js +7 -6
  871. package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
  872. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  873. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  874. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +7 -6
  875. package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
  876. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  877. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
  878. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +7 -6
  879. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
  880. package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js +1 -1
  881. package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js.map +1 -1
  882. package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js +9 -8
  883. package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js.map +1 -1
  884. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js +1 -1
  885. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js.map +1 -1
  886. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.es.js +9 -8
  887. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.es.js.map +1 -1
  888. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  889. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  890. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +7 -6
  891. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  892. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  893. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  894. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +7 -6
  895. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  896. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  897. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  898. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +7 -6
  899. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  900. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  901. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  902. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +7 -6
  903. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  904. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  905. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  906. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +7 -6
  907. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  908. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  909. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  910. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +7 -6
  911. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  912. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +1 -1
  913. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  914. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +47 -46
  915. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  916. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  917. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  918. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +7 -6
  919. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  920. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  921. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  922. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +9 -8
  923. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  924. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +1 -1
  925. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  926. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +11 -10
  927. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  928. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  929. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  930. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +7 -6
  931. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  932. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  933. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  934. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +7 -6
  935. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  936. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  937. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  938. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +10 -9
  939. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  940. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  941. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  942. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +7 -6
  943. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  944. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  945. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  946. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +7 -6
  947. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  948. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  949. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  950. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +7 -6
  951. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  952. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  953. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  954. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +7 -6
  955. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  956. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  957. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  958. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +7 -6
  959. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  960. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  961. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  962. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +7 -6
  963. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  964. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  965. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  966. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +7 -6
  967. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  968. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  969. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  970. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +7 -6
  971. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  972. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  973. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  974. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +7 -6
  975. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  976. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  977. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  978. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +7 -6
  979. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  980. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  981. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  982. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +7 -6
  983. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  984. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  985. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  986. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +7 -6
  987. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  988. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  989. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  990. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +7 -6
  991. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  992. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  993. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  994. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +7 -6
  995. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  996. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  997. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  998. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +18 -17
  999. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  1000. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  1001. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  1002. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +7 -6
  1003. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  1004. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  1005. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  1006. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +8 -7
  1007. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  1008. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +3 -3
  1009. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
  1010. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +11 -10
  1011. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
  1012. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  1013. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  1014. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +9 -8
  1015. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  1016. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +1 -1
  1017. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
  1018. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +7 -6
  1019. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js.map +1 -1
  1020. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  1021. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  1022. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +7 -6
  1023. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  1024. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  1025. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  1026. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +7 -6
  1027. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  1028. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +1 -1
  1029. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
  1030. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +7 -6
  1031. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
  1032. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  1033. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  1034. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +7 -6
  1035. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  1036. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  1037. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  1038. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +7 -6
  1039. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  1040. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +1 -1
  1041. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -1
  1042. package/dist/shared/src/containers/Slicer/components/Slicer.es.js +7 -6
  1043. package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -1
  1044. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +1 -1
  1045. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
  1046. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +7 -6
  1047. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -1
  1048. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  1049. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  1050. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +7 -6
  1051. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  1052. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  1053. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  1054. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +11 -10
  1055. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  1056. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
  1057. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
  1058. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +66 -60
  1059. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
  1060. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js +1 -1
  1061. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js.map +1 -1
  1062. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.es.js +7 -6
  1063. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.es.js.map +1 -1
  1064. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +1 -1
  1065. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -1
  1066. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +7 -6
  1067. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
  1068. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +1 -1
  1069. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -1
  1070. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +7 -6
  1071. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -1
  1072. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js +1 -1
  1073. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js.map +1 -1
  1074. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js +7 -6
  1075. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js.map +1 -1
  1076. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js +1 -1
  1077. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js.map +1 -1
  1078. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js +7 -6
  1079. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js.map +1 -1
  1080. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js +1 -1
  1081. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js.map +1 -1
  1082. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js +7 -6
  1083. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js.map +1 -1
  1084. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js +1 -1
  1085. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js.map +1 -1
  1086. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js +7 -6
  1087. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js.map +1 -1
  1088. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  1089. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  1090. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +7 -6
  1091. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  1092. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  1093. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  1094. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +7 -6
  1095. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  1096. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  1097. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  1098. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +7 -6
  1099. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  1100. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +1 -1
  1101. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  1102. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +7 -6
  1103. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  1104. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  1105. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  1106. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +9 -8
  1107. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  1108. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  1109. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  1110. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +10 -9
  1111. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  1112. package/dist/shared/src/context/DeleteEntitiesContext.cjs.js +1 -1
  1113. package/dist/shared/src/context/DeleteEntitiesContext.cjs.js.map +1 -1
  1114. package/dist/shared/src/context/DeleteEntitiesContext.es.js +145 -86
  1115. package/dist/shared/src/context/DeleteEntitiesContext.es.js.map +1 -1
  1116. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  1117. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  1118. package/dist/shared/src/context/DetailsPanelContext.es.js +11 -10
  1119. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  1120. package/dist/shared/src/context/EntityUpdatesContext.cjs.js +1 -1
  1121. package/dist/shared/src/context/EntityUpdatesContext.cjs.js.map +1 -1
  1122. package/dist/shared/src/context/EntityUpdatesContext.es.js +13 -12
  1123. package/dist/shared/src/context/EntityUpdatesContext.es.js.map +1 -1
  1124. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  1125. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  1126. package/dist/shared/src/context/PowerpackContext.es.js +11 -10
  1127. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  1128. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  1129. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  1130. package/dist/shared/src/context/ProjectFoldersContext.es.js +9 -8
  1131. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  1132. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  1133. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  1134. package/dist/shared/src/context/RemoteModulesContext.es.js +9 -9
  1135. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  1136. package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
  1137. package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
  1138. package/dist/shared/src/context/SubtasksModulesContext.es.js +9 -8
  1139. package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
  1140. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  1141. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  1142. package/dist/shared/src/context/WebsocketContext.es.js +9 -8
  1143. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  1144. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  1145. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  1146. package/dist/shared/src/hooks/useEntityUpdate.es.js +7 -6
  1147. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  1148. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  1149. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  1150. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +7 -6
  1151. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  1152. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  1153. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  1154. package/dist/shared/src/hooks/useHierarchyTable.es.js +7 -6
  1155. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  1156. package/dist/shared/src/hooks/useLoadModule.cjs.js +1 -1
  1157. package/dist/shared/src/hooks/useLoadModule.cjs.js.map +1 -1
  1158. package/dist/shared/src/hooks/useLoadModule.es.js +11 -11
  1159. package/dist/shared/src/hooks/useLoadModule.es.js.map +1 -1
  1160. package/dist/shared/src/hooks/useLoadModules.cjs.js +1 -1
  1161. package/dist/shared/src/hooks/useLoadModules.cjs.js.map +1 -1
  1162. package/dist/shared/src/hooks/useLoadModules.es.js +37 -37
  1163. package/dist/shared/src/hooks/useLoadModules.es.js.map +1 -1
  1164. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  1165. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  1166. package/dist/shared/src/hooks/useUserProjectConfig.es.js +7 -6
  1167. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  1168. package/dist/shared/src/util/realtimeUpdatesUtils.cjs.js +2 -0
  1169. package/dist/shared/src/util/realtimeUpdatesUtils.cjs.js.map +1 -0
  1170. package/dist/shared/src/util/realtimeUpdatesUtils.es.js +48 -0
  1171. package/dist/shared/src/util/realtimeUpdatesUtils.es.js.map +1 -0
  1172. package/dist/types/api/generated/graphql.d.ts +45 -0
  1173. package/dist/types/api/queries/activities/getActivities.d.ts +20 -0
  1174. package/dist/types/api/queries/entities/getEntity.d.ts +10 -0
  1175. package/dist/types/api/queries/entities/getEntityPanel.d.ts +10 -0
  1176. package/dist/types/api/queries/entities/updateEntity.d.ts +10 -0
  1177. package/dist/types/api/queries/entityLists/getLists.d.ts +87 -0
  1178. package/dist/types/api/queries/entityLists/listItemsColumnStats.d.ts +16 -0
  1179. package/dist/types/api/queries/folders/getFolders.d.ts +1 -0
  1180. package/dist/types/api/queries/overview/getOverview.d.ts +10 -0
  1181. package/dist/types/api/queries/project/getProject.d.ts +10 -0
  1182. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +10 -0
  1183. package/dist/types/api/queries/users/getUsers.d.ts +10 -0
  1184. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +20 -0
  1185. package/dist/types/components/DeleteEntitiesConfirm/DeleteConfirmContent.d.ts +9 -2
  1186. package/dist/types/components/DeleteEntitiesConfirm/DeleteEntitiesConfirmDialog.d.ts +15 -0
  1187. package/dist/types/components/DeleteEntitiesConfirm/DeleteEntitiesConfirmDialog.styled.d.ts +20 -0
  1188. package/dist/types/components/DeleteEntitiesConfirm/index.d.ts +1 -0
  1189. package/dist/types/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.d.ts +1 -0
  1190. package/dist/types/util/index.d.ts +1 -0
  1191. package/dist/types/util/realtimeUpdatesUtils.d.ts +14 -0
  1192. package/dist/util.cjs.js +1 -1
  1193. package/dist/util.es.js +80 -73
  1194. package/dist/util.es.js.map +1 -1
  1195. package/package.json +1 -1
  1196. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/disabled.cjs.js +0 -2
  1197. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/disabled.cjs.js.map +0 -1
  1198. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/disabled.es.js +0 -10
  1199. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/disabled.es.js.map +0 -1
  1200. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/disabled.cjs.js +0 -2
  1201. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/disabled.cjs.js.map +0 -1
  1202. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/disabled.es.js +0 -34
  1203. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/disabled.es.js.map +0 -1
  1204. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/disabled.cjs.js +0 -2
  1205. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/disabled.cjs.js.map +0 -1
  1206. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/disabled.es.js +0 -29
  1207. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/disabled.es.js.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");const S=require("../../generated/graphql.cjs.js");require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/dataImport.cjs.js");require("../../generated/desktop.cjs.js");require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/projectFolders.cjs.js");require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");const g=require("./getVersionsProductsUtils.cjs.js"),B=require("../overview/getOverview.cjs.js");require("../overview/updateOverview.cjs.js");require("../links/getEntityLinks.cjs.js");const P=require("../../../util/pubsub.cjs.js");require("lodash");require("react-toastify");require("uuid");const N=require("../../../util/thumbnailWebsocket.cjs.js");require("../actions/getActions.cjs.js");require("../activities/getActivities.cjs.js");require("../activities/updateReaction.cjs.js");require("../activities/getMentions.cjs.js");require("../activities/getCategories.cjs.js");require("../addons/getAddons.cjs.js");require("../addons/updateAddons.cjs.js");require("../attributes/getAttributes.cjs.js");require("../attributes/updateAttributes.cjs.js");require("../authentication/getAuthentication.cjs.js");require("../bundles/getBundles.cjs.js");require("../bundles/updateBundles.cjs.js");require("../cloud/cloud.cjs.js");const R=require("../columnStats/columnStats.cjs.js"),k=require("../columnStats/metricTargets.cjs.js");require("../columnStats/groupCounts.cjs.js");require("../config/getConfig.cjs.js");require("../config/updateConfig.cjs.js");require("../entities/getEntity.cjs.js");require("../entities/getEntityPanel.cjs.js");require("../entities/updateEntity.cjs.js");require("../entityLists/getLists.cjs.js");require("../entityLists/updateLists.cjs.js");require("../entityLists/getListsAttributes.cjs.js");require("../entityLists/listItemsColumnStats.cjs.js");require("../entityLists/updateListsAttributes.cjs.js");require("../entityLists/listFolders.cjs.js");require("../folders/getFolders.cjs.js");require("../folders/getFolderDeleteInfo.cjs.js");require("../grouping/getGrouping.cjs.js");require("../links/updateLinks.cjs.js");require("../links/getLinks.cjs.js");require("../permissions/getPermissions.cjs.js");require("../products/createProduct.cjs.js");require("../products/getFolderProducts.cjs.js");require("../project/getProject.cjs.js");require("../project/updateProject.cjs.js");require("../projectFolders/projectFolders.cjs.js");require("../review/getReview.cjs.js");require("../review/updateReview.cjs.js");require("../share/share.cjs.js");require("../system/getSystem.cjs.js");require("../tasks/getTasks.cjs.js");require("../tasks/updateTasks.cjs.js");require("../teams/getTeams.cjs.js");require("../userDashboard/getUserDashboard.cjs.js");require("../users/getUsers.cjs.js");require("../users/updateUsers.cjs.js");require("../users/guests.cjs.js");require("./updateVersions.cjs.js");require("../views/getViews.cjs.js");require("../views/updateViews.cjs.js");require("../watchers/getWatchers.cjs.js");require("../uris/getUris.cjs.js");const T=10;function G(v,e,d,I){for(let p=0;p<v.length;p++){const c=e[d],y=v[p][d];if(I?c>y:c<y)return p}return v.length}function Q(v,e,d,I,p,c){for(const y of v){const l=y[I],f=l.findIndex(n=>n.id===e);if(f!==-1){d?l[f]=d:l.splice(f,1);return}}if(d&&v.length>0){const y=v[0][I],l=G(y,d,p,c);y.splice(l,0,d)}}const F=S.api.enhanceEndpoints({endpoints:{GetVersions:{transformResponse:g.transformVersionsResponse,providesTags:g.provideTagsForVersionsResult,keepUnusedDataFor:T},GetVersionsByProductId:{transformResponse:g.transformVersionsResponse,providesTags:g.provideTagsForVersionsResult,keepUnusedDataFor:T},GetProducts:{transformResponse:g.transformProductsResponse,providesTags:g.provideTagsForProductsResult,keepUnusedDataFor:T},GetProductsColumnStats:{transformResponse:v=>R.normalizeFieldStats(v?.project?.products?.fieldStats??[]),transformErrorResponse:v=>R.transformStatsError(v,"product"),serializeQueryArgs:({queryArgs:{targets:v,...e}})=>e,merge:(v,e)=>R.mergeFieldStats(e,v),forceRefetch:({currentArg:v,previousArg:e})=>k.hasNewTargetFields(v,e),providesTags:(v,e,{projectName:d})=>[{type:"productColumnStats",id:d}],keepUnusedDataFor:T},GetVersionsColumnStats:{transformResponse:v=>R.normalizeFieldStats(v?.project?.versions?.fieldStats??[]),transformErrorResponse:v=>R.transformStatsError(v,"version"),serializeQueryArgs:({queryArgs:{targets:v,...e}})=>e,merge:(v,e)=>R.mergeFieldStats(e,v),forceRefetch:({currentArg:v,previousArg:e})=>k.hasNewTargetFields(v,e),providesTags:(v,e,{projectName:d})=>[{type:"versionColumnStats",id:d}],keepUnusedDataFor:T}}}),E=250,w=1e3,j=10,O=5e3,M=1e3,U=3e4,H=1500;function _(v,e,d){let I=[],p=null,c=new Set,y=null;const l=async()=>{const n=[...I];I=[],p=null;const r=[],t=[],i=new Set;for(const{topic:s,message:a}of n){const u=a.summary?.entityId,h=a.summary?.parentId;if(u){if(s==="entity.version.deleted")r.push({entityId:u,parentId:h});else if(s.startsWith("entity.version.")&&s.endsWith("_changed")){if(!d.checkVersionInCache(u,h))continue;const m=s.split(".")[2].split("_changed")[0];if(m==="attrib"){i.add(u);continue}const A=["status","tags"].includes(m),V=a.summary?.value;if(!V||!A){c.add(u);continue}let x=V;m==="status"?x=String(V):m==="tags"&&(x=Array.isArray(V)?V:[]),t.push({entityId:u,field:m,value:x,parentId:h})}}}c.size>0&&!y&&(y=setTimeout(f,U));const o=[];if(i.size>0&&e)try{await new Promise(u=>setTimeout(u,Math.random()*M));const s=Array.from(i),a=await e(F.endpoints.GetVersionsAttribs.initiate({projectName:v,versionIds:s},{forceRefetch:!0}));if(a.data?.project?.versions?.edges)for(const u of a.data.project.versions.edges){const h=u.node;h&&o.push({entityId:h.id,allAttrib:h.allAttrib,parsedAttrib:B.parseAllAttribs(h.allAttrib)})}}catch(s){console.error("Failed to fetch patched version attribs",s)}(r.length>0||t.length>0||o.length>0)&&d.onBatchUpdate({deleted:r,patched:t,attribPatched:o})},f=async()=>{const n=Array.from(c);if(c.clear(),y=null,!(n.length===0||!e))try{await new Promise(i=>setTimeout(i,Math.random()*H));const r=d.getBaseFilters?.()||{},t=await e(F.endpoints.GetVersions.initiate({...r,projectName:v,versionIds:n}));t.data?.versions&&d.onBatchUpdate({fullUpdated:t.data.versions})}catch(r){console.error("Failed to fetch full version data batch",r)}};return(n,r)=>{if(r.project!==v)return;const i=r.summary?.entityId;i&&(n==="entity.version.created"?(c.add(i),y||(y=setTimeout(f,U))):(I.push({topic:n,message:r}),p&&clearTimeout(p),p=setTimeout(l,O)))}}const C=F.injectEndpoints({endpoints:v=>({getVersionsInfinite:v.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:"",desc:!1},getNextPageParam:(e,d,I,p)=>{const c=e.pageInfo;if(!(!(I.desc?c?.hasPreviousPage:c?.hasNextPage)||!c?.endCursor))return{cursor:c?.endCursor,desc:I.desc}}},queryFn:async({queryArg:e,pageParam:d},I)=>{try{const{sortBy:p,desc:c,folderIds:y,...l}=e,{cursor:f}=d,n={...l};p?(n.sortBy=p,c?(n.before=f||void 0,n.last=E):(n.after=f||void 0,n.first=E)):(n.after=f||void 0,n.first=E),y&&y.length&&(n.folderIds=y);const r=await I.dispatch(F.endpoints.GetVersions.initiate(n,{forceRefetch:!0}));if(r.error)throw r.error;const t={versions:[],pageInfo:{hasNextPage:!1,endCursor:null,startCursor:null,hasPreviousPage:!1}};return{data:r.data||t}}catch(p){return console.error("Error in getVersionsInfiniteQuery queryFn:",p),{error:{status:"FETCH_ERROR",error:g.parseGQLErrorMessage(p.message)}}}},providesTags:g.provideTagsForVersionsInfinite,onCacheEntryAdded:async(e,{getCacheEntry:d,updateCachedData:I,cacheEntryRemoved:p,dispatch:c})=>{let y;y=N.subscribeToThumbnailUpdates(f=>{const n=f.filter(r=>r.project===e.projectName);n.length&&I(r=>{n.forEach(t=>{t.summary.entityType==="version"&&r.pages.forEach(i=>{const o=i.versions.findIndex(s=>s.id===t.summary.entityId);o!==-1&&(i.versions[o].thumbnailHash=t.summary.thumbnailHash||"")})})})},["version"]);const l=P.subscribe("entity.version",_(e.projectName,c,{getBaseFilters:()=>({versionFilter:e.versionFilter,productFilter:e.productFilter,taskFilter:e.taskFilter,folderIds:e.folderIds?.length?e.folderIds:void 0,featuredOnly:e.featuredOnly,hasReviewables:e.hasReviewables,sortBy:e.sortBy}),checkVersionInCache:f=>{const n=d().data;if(!n)return!1;for(const r of n.pages||[])if(r.versions.some(t=>t.id===f))return!0;return!1},onBatchUpdate:({deleted:f,patched:n,attribPatched:r,fullUpdated:t})=>{I(i=>{for(const o of i?.pages||[]){if(f)for(const{entityId:s}of f){const a=o.versions.findIndex(u=>u.id===s);a!==-1&&o.versions.splice(a,1)}if(n)for(const{entityId:s,field:a,value:u}of n){const h=o.versions.find(q=>q.id===s);h&&(h[a]=u)}if(r)for(const{entityId:s,allAttrib:a,parsedAttrib:u}of r){const h=o.versions.find(q=>q.id===s);h&&(h.allAttrib=a,h.attrib=u)}if(t)for(const s of t){const a=o.versions.findIndex(u=>u.id===s.id);if(a!==-1)o.versions[a]=s;else{const u=e.sortBy||"createdAt",h=G(o.versions,s,u,e.desc||!1);o===i.pages[0]&&o.versions.splice(h,0,s)}}}})}}));await p,P.unsubscribe(l),y&&y()},keepUnusedDataFor:T}),getVersionsByProducts:v.query({queryFn:async(e,{dispatch:d,forced:I})=>{const{productIds:p=[],desc:c,...y}=e,l=async(i,o)=>{const s={...y,productIds:[i]};return c?(o&&(s.before=o),s.last=w):(o&&(s.after=o),s.first=w),d(F.endpoints.GetVersionsByProductId.initiate(s,{forceRefetch:I}))},f=p.map(i=>l(i)),n=await Promise.allSettled(f),r=[],t=[];for(let i=0;i<n.length;i++){const o=n[i],s=p[i];if(o.status==="rejected"){console.error(`Error fetching versions for product ${s}:`,o.reason),t.push({productId:s,error:g.parseGQLErrorMessage(o.reason)});continue}const a=o.value;if(a.error){console.error(`Error fetching versions for product ${s}:`,a.error),t.push({productId:s,error:g.parseGQLErrorMessage(a.error?.message||"Unknown error")});continue}if(!a.data)continue;r.push(...a.data.versions);let u=a.data.pageInfo,h=1;for(;u&&h<j;){const q=c?u.hasPreviousPage:u.hasNextPage,m=u.endCursor;if(!q||!m)break;const b=await l(s,m);if(b.error){console.error(`Error fetching versions page ${h+1} for product ${s}:`,b.error),t.push({productId:s,error:b.error});break}if(!b.data)break;r.push(...b.data.versions),u=b.data.pageInfo,h++}}return t.length>0&&console.warn(`Partial success: ${t.length} of ${p.length} products failed to fetch versions`,t),{data:{versions:r,pageInfo:void 0,errors:t.length>0?t:void 0}}},onCacheEntryAdded:async(e,{updateCachedData:d,cacheEntryRemoved:I,dispatch:p})=>{let c;c=N.subscribeToThumbnailUpdates(l=>{const f=l.filter(n=>n.project===e.projectName);f.length&&d(n=>{f.forEach(r=>{if(r.summary.entityType==="version"){const t=n.versions.findIndex(i=>i.id===r.summary.entityId);t!==-1&&(n.versions[t].thumbnailHash=r.summary.thumbnailHash||"")}})})},["version"]);const y=P.subscribe("entity.version",_(e.projectName,p,{getBaseFilters:()=>({versionFilter:e.versionFilter,taskFilter:e.taskFilter,productIds:e.productIds}),checkVersionInCache:(l,f)=>{if(!f||!e.productIds.includes(f))return!1;let n=!1;return d(r=>{n=r.versions.some(t=>t.id===l)}),n},onBatchUpdate:({deleted:l,patched:f,attribPatched:n,fullUpdated:r})=>{d(t=>{if(l)for(const{entityId:i}of l){const o=t.versions.findIndex(s=>s.id===i);o!==-1&&t.versions.splice(o,1)}if(f)for(const{entityId:i,field:o,value:s}of f){const a=t.versions.find(u=>u.id===i);a&&(a[o]=s)}if(n)for(const{entityId:i,allAttrib:o,parsedAttrib:s}of n){const a=t.versions.find(u=>u.id===i);a&&(a.allAttrib=o,a.attrib=s)}if(r)for(const i of r){const o=t.versions.findIndex(s=>s.id===i.id);if(o!==-1)t.versions[o]=i;else{const s=e.sortBy||"createdAt",a=G(t.versions,i,s,e.desc||!1);t.versions.splice(a,0,i)}}})}}));await I,P.unsubscribe(y),c&&c()},providesTags:g.provideTagsForVersionsResult,keepUnusedDataFor:T}),getProductsInfinite:v.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:"",desc:!1},getNextPageParam:(e,d,I,p)=>{const c=e.pageInfo;if(!(!(I.desc?c?.hasPreviousPage:c?.hasNextPage)||!c?.endCursor))return{cursor:c?.endCursor,desc:I.desc}}},queryFn:async({queryArg:e,pageParam:d},I)=>{let p;try{const{sortBy:c,desc:y,folderIds:l,...f}=e,{cursor:n}=d,r={...f};if(c?(r.sortBy=c,y?(r.before=n||void 0,r.last=E):(r.after=n||void 0,r.first=E)):(r.after=n||void 0,r.first=E),l&&l.length&&(r.folderIds=l),p=await I.dispatch(F.endpoints.GetProducts.initiate(r,{forceRefetch:!0})),p.error)throw p.error;const t={products:[],pageInfo:{hasNextPage:!1,endCursor:null,startCursor:null,hasPreviousPage:!1}};return{data:p.data||t}}catch(c){return console.error("Error in getProductsInfiniteQuery queryFn:",c),{error:{status:"FETCH_ERROR",error:g.parseGQLErrorMessage(c.message)}}}},providesTags:g.provideTagsForProductsInfinite,onCacheEntryAdded:async(e,{updateCachedData:d,cacheEntryRemoved:I,dispatch:p})=>{let c;c=N.subscribeToThumbnailUpdates(r=>{const t=r.filter(i=>i.project===e.projectName);t.length&&d(i=>{t.forEach(o=>{o.summary.entityType==="version"&&i.pages.forEach(s=>{s.products.forEach(a=>{a.featuredVersion?.id===o.summary.entityId&&(a.featuredVersion.thumbnailHash=o.summary.thumbnailHash||"")})})})})},["version"]);const y=async r=>{const t={projectName:e.projectName,productIds:[r],productFilter:e.productFilter,versionFilter:e.versionFilter,taskFilter:e.taskFilter,folderIds:e.folderIds?.length?e.folderIds:void 0,first:1},i=await p(F.endpoints.GetProducts.initiate(t,{forceRefetch:!0}));i.error||d(o=>{const s=i.data?.products?.[0];Q(o.pages,r,s,"products",e.sortBy||"createdAt",e.desc||!1)})},l=P.subscribe("entity.product",async(r,t)=>{try{const i=t.summary?.entityId;if(!i)return;let o=!1;if(d(s=>{o=s.pages.some(a=>a.products.some(u=>u.id===i))}),!o&&r!=="entity.product.created")return;await y(i)}catch{}}),f=P.subscribe("entity.version",_(e.projectName,p,{getBaseFilters:()=>({versionFilter:e.versionFilter,productFilter:e.productFilter,taskFilter:e.taskFilter,folderIds:e.folderIds?.length?e.folderIds:void 0}),checkVersionInCache:(r,t)=>{let i=!1;return d(o=>{i=o.pages.some(s=>s.products.some(a=>a.id===t&&a.featuredVersion?.id===r))}),i},onBatchUpdate:({deleted:r,patched:t,attribPatched:i,fullUpdated:o})=>{d(s=>{for(const a of s?.pages||[])for(const u of a.products){const h=u.featuredVersion?.id;if(h){if(r&&r.some(q=>q.entityId===h&&q.parentId===u.id)&&n.add(u.id),t)for(const{entityId:q,field:m,value:b,parentId:A}of t)u.id===A&&h===q&&u.featuredVersion&&(u.featuredVersion[m]=b);if(i)for(const{entityId:q,allAttrib:m,parsedAttrib:b}of i)h===q&&u.featuredVersion&&(u.featuredVersion.allAttrib=m,u.featuredVersion.attrib=b);if(o)for(const q of o)h===q.id&&u.featuredVersion&&(u.featuredVersion=q)}}});for(const s of n)y(s);n.clear()}})),n=new Set;await I,P.unsubscribe(l),P.unsubscribe(f),c&&c()},keepUnusedDataFor:T}),getGroupedVersionsList:v.query({queryFn:async({projectName:e,groups:d,groupFilterKey:I="versionFilter",versionFilter:p,productFilter:c,taskFilter:y,folderIds:l,desc:f,sortBy:n,featuredOnly:r,hasReviewables:t},i)=>{try{const o=[];for(const u of d){const h=u.count||500,q={projectName:e,productFilter:c,taskFilter:y,versionFilter:p,[I]:u.filter,folderIds:l?.length?l:void 0,sortBy:n,featuredOnly:r,hasReviewables:t,group:u.value};f?q.last=h:q.first=h;const m=i.dispatch(F.endpoints.GetVersions.initiate(q,{forceRefetch:!0}));o.push(m)}const s=await Promise.all(o),a=[];for(const u of s){if(u.error)throw u.error;const h=u.originalArgs?.group,q=u.data?.pageInfo?.hasNextPage||u.data?.pageInfo?.hasPreviousPage||!1,m=u.data?.versions.map((b,A,V)=>({...b,groups:[{value:h,hasNextPage:A===V.length-1&&q?h:void 0}]}))||[];a.push(...m)}return{data:{versions:a}}}catch(o){return console.error("Error in getGroupedVersionsList queryFn:",o),{error:{status:"FETCH_ERROR",error:g.parseGQLErrorMessage(o.message)}}}},providesTags:g.provideTagsForVersionsResult,onCacheEntryAdded:async(e,{updateCachedData:d,cacheEntryRemoved:I,dispatch:p})=>{let c;c=N.subscribeToThumbnailUpdates(l=>{const f=l.filter(n=>n.project===e.projectName);f.length&&d(n=>{f.forEach(r=>{if(r.summary.entityType==="version"){const t=n.versions.findIndex(i=>i.id===r.summary.entityId);t!==-1&&(n.versions[t].thumbnailHash=r.summary.thumbnailHash||"")}})})},["version"]);const y=P.subscribe("entity.version",_(e.projectName,p,{getBaseFilters:()=>({versionFilter:e.versionFilter,productFilter:e.productFilter,taskFilter:e.taskFilter,folderIds:e.folderIds?.length?e.folderIds:void 0,sortBy:e.sortBy,featuredOnly:e.featuredOnly,hasReviewables:e.hasReviewables}),checkVersionInCache:l=>{let f=!1;return d(n=>{f=n.versions.some(r=>r.id===l)}),f},onBatchUpdate:({deleted:l,patched:f,attribPatched:n,fullUpdated:r})=>{d(t=>{if(l)for(const{entityId:i}of l){const o=t.versions.findIndex(s=>s.id===i);o!==-1&&t.versions.splice(o,1)}if(f)for(const{entityId:i,field:o,value:s}of f){const a=t.versions.find(u=>u.id===i);a&&(a[o]=s)}if(n)for(const{entityId:i,allAttrib:o,parsedAttrib:s}of n){const a=t.versions.find(u=>u.id===i);a&&(a.allAttrib=o,a.attrib=s)}if(r)for(const i of r){const o=t.versions.findIndex(s=>s.id===i.id);if(o!==-1){const s=t.versions[o].groups;t.versions[o]={...i,groups:s}}}})}}));await I,P.unsubscribe(y),c&&c()},keepUnusedDataFor:T})})}),{useGetVersionsQuery:D,useGetProductsColumnStatsQuery:L,useGetVersionsColumnStatsQuery:z}=F,{useGetVersionsInfiniteInfiniteQuery:$,useGetVersionsByProductsQuery:W,useGetProductsInfiniteInfiniteQuery:Y,useGetGroupedVersionsListQuery:J}=C;exports.VP_INFINITE_QUERY_COUNT=E;exports.enhancedVersionsPageApi=F;exports.injectedVersionsPageApi=C;exports.useGetGroupedVersionsListQuery=J;exports.useGetProductsColumnStatsQuery=L;exports.useGetProductsInfiniteQuery=Y;exports.useGetVersionsByProductsQuery=W;exports.useGetVersionsColumnStatsQuery=z;exports.useGetVersionsInfiniteQuery=$;exports.useGetVersionsQuery=D;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");const C=require("../../generated/graphql.cjs.js");require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/dataImport.cjs.js");require("../../generated/desktop.cjs.js");require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/projectFolders.cjs.js");require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");const g=require("./getVersionsProductsUtils.cjs.js"),Q=require("../overview/getOverview.cjs.js");require("../overview/updateOverview.cjs.js");require("../links/getEntityLinks.cjs.js");require("lodash");require("react-toastify");require("uuid");const x=require("../../../util/thumbnailWebsocket.cjs.js");require("../actions/getActions.cjs.js");require("../activities/getActivities.cjs.js");require("../activities/updateReaction.cjs.js");require("../activities/getMentions.cjs.js");require("../activities/getCategories.cjs.js");require("../addons/getAddons.cjs.js");require("../addons/updateAddons.cjs.js");require("../attributes/getAttributes.cjs.js");require("../attributes/updateAttributes.cjs.js");require("../authentication/getAuthentication.cjs.js");require("../bundles/getBundles.cjs.js");require("../bundles/updateBundles.cjs.js");require("../cloud/cloud.cjs.js");const R=require("../columnStats/columnStats.cjs.js"),_=require("../columnStats/metricTargets.cjs.js");require("../columnStats/groupCounts.cjs.js");require("../config/getConfig.cjs.js");require("../config/updateConfig.cjs.js");require("../entities/getEntity.cjs.js");require("../entities/getEntityPanel.cjs.js");require("../entities/updateEntity.cjs.js");require("../entityLists/getLists.cjs.js");require("../entityLists/updateLists.cjs.js");require("../entityLists/getListsAttributes.cjs.js");require("../entityLists/listItemsColumnStats.cjs.js");require("../entityLists/updateListsAttributes.cjs.js");require("../entityLists/listFolders.cjs.js");require("../folders/getFolders.cjs.js");require("../folders/getFolderDeleteInfo.cjs.js");require("../grouping/getGrouping.cjs.js");require("../links/updateLinks.cjs.js");require("../links/getLinks.cjs.js");require("../permissions/getPermissions.cjs.js");require("../products/createProduct.cjs.js");require("../products/getFolderProducts.cjs.js");require("../project/getProject.cjs.js");require("../project/updateProject.cjs.js");require("../projectFolders/projectFolders.cjs.js");require("../review/getReview.cjs.js");require("../review/updateReview.cjs.js");require("../share/share.cjs.js");require("../system/getSystem.cjs.js");require("../tasks/getTasks.cjs.js");require("../tasks/updateTasks.cjs.js");require("../teams/getTeams.cjs.js");require("../userDashboard/getUserDashboard.cjs.js");require("../users/getUsers.cjs.js");require("../users/updateUsers.cjs.js");require("../users/guests.cjs.js");require("./updateVersions.cjs.js");require("../views/getViews.cjs.js");require("../views/updateViews.cjs.js");require("../watchers/getWatchers.cjs.js");require("../uris/getUris.cjs.js");const E=require("../../../util/realtimeUpdatesUtils.cjs.js"),P=require("../../../util/pubsub.cjs.js"),V=10;function k(y,e,d,I){for(let p=0;p<y.length;p++){const f=e[d],l=y[p][d];if(I?f>l:f<l)return p}return y.length}function U(y,e,d,I,p,f){for(const l of y){const v=l[I],h=v.findIndex(a=>a.id===e);if(h!==-1){d?v[h]=d:v.splice(h,1);return}}if(d&&y.length>0){const l=y[0][I],v=k(l,d,p,f);l.splice(v,0,d)}}const F=C.api.enhanceEndpoints({endpoints:{GetVersions:{transformResponse:g.transformVersionsResponse,providesTags:g.provideTagsForVersionsResult,keepUnusedDataFor:V},GetVersionsByProductId:{transformResponse:g.transformVersionsResponse,providesTags:g.provideTagsForVersionsResult,keepUnusedDataFor:V},GetProducts:{transformResponse:g.transformProductsResponse,providesTags:g.provideTagsForProductsResult,keepUnusedDataFor:V},GetProductsColumnStats:{transformResponse:y=>R.normalizeFieldStats(y?.project?.products?.fieldStats??[]),transformErrorResponse:y=>R.transformStatsError(y,"product"),serializeQueryArgs:({queryArgs:{targets:y,...e}})=>e,merge:(y,e)=>R.mergeFieldStats(e,y),forceRefetch:({currentArg:y,previousArg:e})=>_.hasNewTargetFields(y,e),providesTags:(y,e,{projectName:d})=>[{type:"productColumnStats",id:d}],keepUnusedDataFor:V},GetVersionsColumnStats:{transformResponse:y=>R.normalizeFieldStats(y?.project?.versions?.fieldStats??[]),transformErrorResponse:y=>R.transformStatsError(y,"version"),serializeQueryArgs:({queryArgs:{targets:y,...e}})=>e,merge:(y,e)=>R.mergeFieldStats(e,y),forceRefetch:({currentArg:y,previousArg:e})=>_.hasNewTargetFields(y,e),providesTags:(y,e,{projectName:d})=>[{type:"versionColumnStats",id:d}],keepUnusedDataFor:V}}}),T=250,w=1e3,S=10,j=["status","tags"];function G(y,e,d){const I=async l=>{const v=[],h=[],a=new Set,o=new Set;for(const{topic:s,message:t}of l){const r=t.summary?.entityId,i=t.summary?.parentId;if(r){if(s==="entity.version.deleted")v.push({entityId:r,parentId:i});else if(s==="entity.version.created")o.add(r);else if(s.startsWith("entity.version.")&&s.endsWith("_changed")){if(!d.checkVersionInCache(r,i))continue;const c=s.split(".")[2].split("_changed")[0];if(c==="attrib"){a.add(r);continue}const q=E.getSupportedEntityPatch(c,t.summary,j);if(!q){o.add(r);continue}h.push({entityId:r,field:q.field,value:q.value,parentId:i})}}}if(o.size>0&&o.size<=E.REALTIME_REST_CALL_LIMIT&&e)try{await E.waitForRealtimeJitter();const s=await e(F.endpoints.GetVersions.initiate({...d.getBaseFilters?.()||{},projectName:y,versionIds:Array.from(o)}));s.data?.versions&&d.onBatchUpdate({fullUpdated:s.data.versions})}catch(s){console.error("Failed to fetch full version data batch",s)}const n=[];if(a.size>0&&a.size<=E.REALTIME_REST_CALL_LIMIT&&e)try{await E.waitForRealtimeJitter();const s=Array.from(a),t=await e(F.endpoints.GetVersionsAttribs.initiate({projectName:y,versionIds:s},{forceRefetch:!0}));if(t.data?.project?.versions?.edges)for(const r of t.data.project.versions.edges){const i=r.node;i&&n.push({entityId:i.id,allAttrib:i.allAttrib,parsedAttrib:Q.parseAllAttribs(i.allAttrib)})}}catch(s){console.error("Failed to fetch patched version attribs",s)}(v.length>0||h.length>0||n.length>0)&&d.onBatchUpdate({deleted:v,patched:h,attribPatched:n})},p=E.createRealtimeBatcher(I,({message:l})=>l.summary?.entityId);return{handle:(l,v)=>{v.project!==y||!v.summary?.entityId||p.add({topic:l,message:v})},clear(){p.clear()}}}const B=F.injectEndpoints({endpoints:y=>({getVersionsInfinite:y.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:"",desc:!1},getNextPageParam:(e,d,I,p)=>{const f=e.pageInfo;if(!(!(I.desc?f?.hasPreviousPage:f?.hasNextPage)||!f?.endCursor))return{cursor:f?.endCursor,desc:I.desc}}},queryFn:async({queryArg:e,pageParam:d},I)=>{try{const{sortBy:p,desc:f,folderIds:l,...v}=e,{cursor:h}=d,a={...v};p?(a.sortBy=p,f?(a.before=h||void 0,a.last=T):(a.after=h||void 0,a.first=T)):(a.after=h||void 0,a.first=T),l&&l.length&&(a.folderIds=l);const o=await I.dispatch(F.endpoints.GetVersions.initiate(a,{forceRefetch:!0}));if(o.error)throw o.error;const n={versions:[],pageInfo:{hasNextPage:!1,endCursor:null,startCursor:null,hasPreviousPage:!1}};return{data:o.data||n}}catch(p){return console.error("Error in getVersionsInfiniteQuery queryFn:",p),{error:{status:"FETCH_ERROR",error:g.parseGQLErrorMessage(p.message)}}}},providesTags:g.provideTagsForVersionsInfinite,onCacheEntryAdded:async(e,{getCacheEntry:d,updateCachedData:I,cacheEntryRemoved:p,dispatch:f})=>{let l;l=x.subscribeToThumbnailUpdates(a=>{const o=a.filter(n=>n.project===e.projectName);o.length&&I(n=>{o.forEach(s=>{s.summary.entityType==="version"&&n.pages.forEach(t=>{const r=t.versions.findIndex(i=>i.id===s.summary.entityId);r!==-1&&(t.versions[r].thumbnailHash=s.summary.thumbnailHash||"")})})})},["version"]);const v=G(e.projectName,f,{getBaseFilters:()=>({versionFilter:e.versionFilter,productFilter:e.productFilter,taskFilter:e.taskFilter,folderIds:e.folderIds?.length?e.folderIds:void 0,featuredOnly:e.featuredOnly,hasReviewables:e.hasReviewables,sortBy:e.sortBy}),checkVersionInCache:a=>{const o=d().data;if(!o)return!1;for(const n of o.pages||[])if(n.versions.some(s=>s.id===a))return!0;return!1},onBatchUpdate:({deleted:a,patched:o,attribPatched:n,fullUpdated:s})=>{I(t=>{for(const r of t?.pages||[]){if(a)for(const{entityId:i}of a){const u=r.versions.findIndex(c=>c.id===i);u!==-1&&r.versions.splice(u,1)}if(o)for(const{entityId:i,field:u,value:c}of o){const q=r.versions.find(m=>m.id===i);q&&(q[u]=c)}if(n)for(const{entityId:i,allAttrib:u,parsedAttrib:c}of n){const q=r.versions.find(m=>m.id===i);q&&(q.allAttrib=u,q.attrib=c)}if(s)for(const i of s){const u=r.versions.findIndex(c=>c.id===i.id);if(u!==-1)r.versions[u]=i;else{const c=e.sortBy||"createdAt",q=k(r.versions,i,c,e.desc||!1);r===t.pages[0]&&r.versions.splice(q,0,i)}}}})}}),h=P.subscribe("entity.version",v.handle);await p,v.clear(),P.unsubscribe(h),l&&l()},keepUnusedDataFor:V}),getVersionsByProducts:y.query({queryFn:async(e,{dispatch:d,forced:I})=>{const{productIds:p=[],desc:f,...l}=e,v=async(s,t)=>{const r={...l,productIds:[s]};return f?(t&&(r.before=t),r.last=w):(t&&(r.after=t),r.first=w),d(F.endpoints.GetVersionsByProductId.initiate(r,{forceRefetch:I}))},h=p.map(s=>v(s)),a=await Promise.allSettled(h),o=[],n=[];for(let s=0;s<a.length;s++){const t=a[s],r=p[s];if(t.status==="rejected"){console.error(`Error fetching versions for product ${r}:`,t.reason),n.push({productId:r,error:g.parseGQLErrorMessage(t.reason)});continue}const i=t.value;if(i.error){console.error(`Error fetching versions for product ${r}:`,i.error),n.push({productId:r,error:g.parseGQLErrorMessage(i.error?.message||"Unknown error")});continue}if(!i.data)continue;o.push(...i.data.versions);let u=i.data.pageInfo,c=1;for(;u&&c<S;){const q=f?u.hasPreviousPage:u.hasNextPage,m=u.endCursor;if(!q||!m)break;const b=await v(r,m);if(b.error){console.error(`Error fetching versions page ${c+1} for product ${r}:`,b.error),n.push({productId:r,error:b.error});break}if(!b.data)break;o.push(...b.data.versions),u=b.data.pageInfo,c++}}return n.length>0&&console.warn(`Partial success: ${n.length} of ${p.length} products failed to fetch versions`,n),{data:{versions:o,pageInfo:void 0,errors:n.length>0?n:void 0}}},onCacheEntryAdded:async(e,{updateCachedData:d,cacheEntryRemoved:I,dispatch:p})=>{let f;f=x.subscribeToThumbnailUpdates(h=>{const a=h.filter(o=>o.project===e.projectName);a.length&&d(o=>{a.forEach(n=>{if(n.summary.entityType==="version"){const s=o.versions.findIndex(t=>t.id===n.summary.entityId);s!==-1&&(o.versions[s].thumbnailHash=n.summary.thumbnailHash||"")}})})},["version"]);const l=G(e.projectName,p,{getBaseFilters:()=>({versionFilter:e.versionFilter,taskFilter:e.taskFilter,productIds:e.productIds}),checkVersionInCache:(h,a)=>{if(!a||!e.productIds.includes(a))return!1;let o=!1;return d(n=>{o=n.versions.some(s=>s.id===h)}),o},onBatchUpdate:({deleted:h,patched:a,attribPatched:o,fullUpdated:n})=>{d(s=>{if(h)for(const{entityId:t}of h){const r=s.versions.findIndex(i=>i.id===t);r!==-1&&s.versions.splice(r,1)}if(a)for(const{entityId:t,field:r,value:i}of a){const u=s.versions.find(c=>c.id===t);u&&(u[r]=i)}if(o)for(const{entityId:t,allAttrib:r,parsedAttrib:i}of o){const u=s.versions.find(c=>c.id===t);u&&(u.allAttrib=r,u.attrib=i)}if(n)for(const t of n){const r=s.versions.findIndex(i=>i.id===t.id);if(r!==-1)s.versions[r]=t;else{const i=e.sortBy||"createdAt",u=k(s.versions,t,i,e.desc||!1);s.versions.splice(u,0,t)}}})}}),v=P.subscribe("entity.version",l.handle);await I,l.clear(),P.unsubscribe(v),f&&f()},providesTags:g.provideTagsForVersionsResult,keepUnusedDataFor:V}),getProductsInfinite:y.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:"",desc:!1},getNextPageParam:(e,d,I,p)=>{const f=e.pageInfo;if(!(!(I.desc?f?.hasPreviousPage:f?.hasNextPage)||!f?.endCursor))return{cursor:f?.endCursor,desc:I.desc}}},queryFn:async({queryArg:e,pageParam:d},I)=>{let p;try{const{sortBy:f,desc:l,folderIds:v,...h}=e,{cursor:a}=d,o={...h};if(f?(o.sortBy=f,l?(o.before=a||void 0,o.last=T):(o.after=a||void 0,o.first=T)):(o.after=a||void 0,o.first=T),v&&v.length&&(o.folderIds=v),p=await I.dispatch(F.endpoints.GetProducts.initiate(o,{forceRefetch:!0})),p.error)throw p.error;const n={products:[],pageInfo:{hasNextPage:!1,endCursor:null,startCursor:null,hasPreviousPage:!1}};return{data:p.data||n}}catch(f){return console.error("Error in getProductsInfiniteQuery queryFn:",f),{error:{status:"FETCH_ERROR",error:g.parseGQLErrorMessage(f.message)}}}},providesTags:g.provideTagsForProductsInfinite,onCacheEntryAdded:async(e,{updateCachedData:d,cacheEntryRemoved:I,dispatch:p})=>{let f;f=x.subscribeToThumbnailUpdates(n=>{const s=n.filter(t=>t.project===e.projectName);s.length&&d(t=>{s.forEach(r=>{r.summary.entityType==="version"&&t.pages.forEach(i=>{i.products.forEach(u=>{u.featuredVersion?.id===r.summary.entityId&&(u.featuredVersion.thumbnailHash=r.summary.thumbnailHash||"")})})})})},["version"]);const l=async n=>{const s={projectName:e.projectName,productIds:[n],productFilter:e.productFilter,versionFilter:e.versionFilter,taskFilter:e.taskFilter,folderIds:e.folderIds?.length?e.folderIds:void 0,first:1},t=await p(F.endpoints.GetProducts.initiate(s,{forceRefetch:!0}));t.error||d(r=>{const i=t.data?.products?.[0];U(r.pages,n,i,"products",e.sortBy||"createdAt",e.desc||!1)})},v=P.subscribe("entity.product",async(n,s)=>{try{const t=s.summary?.entityId;if(!t)return;let r=!1;if(d(i=>{r=i.pages.some(u=>u.products.some(c=>c.id===t))}),!r&&n!=="entity.product.created")return;await l(t)}catch{}}),h=G(e.projectName,p,{getBaseFilters:()=>({versionFilter:e.versionFilter,productFilter:e.productFilter,taskFilter:e.taskFilter,folderIds:e.folderIds?.length?e.folderIds:void 0}),checkVersionInCache:(n,s)=>{let t=!1;return d(r=>{t=r.pages.some(i=>i.products.some(u=>u.id===s&&u.featuredVersion?.id===n))}),t},onBatchUpdate:({deleted:n,patched:s,attribPatched:t,fullUpdated:r})=>{d(i=>{for(const u of i?.pages||[])for(const c of u.products){const q=c.featuredVersion?.id;if(q){if(n&&n.some(m=>m.entityId===q&&m.parentId===c.id)&&o.add(c.id),s)for(const{entityId:m,field:b,value:A,parentId:N}of s)c.id===N&&q===m&&c.featuredVersion&&(c.featuredVersion[b]=A);if(t)for(const{entityId:m,allAttrib:b,parsedAttrib:A}of t)q===m&&c.featuredVersion&&(c.featuredVersion.allAttrib=b,c.featuredVersion.attrib=A);if(r)for(const m of r)q===m.id&&c.featuredVersion&&(c.featuredVersion=m)}}});for(const i of o)l(i);o.clear()}}),a=P.subscribe("entity.version",h.handle),o=new Set;await I,h.clear(),P.unsubscribe(v),P.unsubscribe(a),f&&f()},keepUnusedDataFor:V}),getGroupedVersionsList:y.query({queryFn:async({projectName:e,groups:d,groupFilterKey:I="versionFilter",versionFilter:p,productFilter:f,taskFilter:l,folderIds:v,desc:h,sortBy:a,featuredOnly:o,hasReviewables:n},s)=>{try{const t=[];for(const u of d){const c=u.count||500,q={projectName:e,productFilter:f,taskFilter:l,versionFilter:p,[I]:u.filter,folderIds:v?.length?v:void 0,sortBy:a,featuredOnly:o,hasReviewables:n,group:u.value};h?q.last=c:q.first=c;const m=s.dispatch(F.endpoints.GetVersions.initiate(q,{forceRefetch:!0}));t.push(m)}const r=await Promise.all(t),i=[];for(const u of r){if(u.error)throw u.error;const c=u.originalArgs?.group,q=u.data?.pageInfo?.hasNextPage||u.data?.pageInfo?.hasPreviousPage||!1,m=u.data?.versions.map((b,A,N)=>({...b,groups:[{value:c,hasNextPage:A===N.length-1&&q?c:void 0}]}))||[];i.push(...m)}return{data:{versions:i}}}catch(t){return console.error("Error in getGroupedVersionsList queryFn:",t),{error:{status:"FETCH_ERROR",error:g.parseGQLErrorMessage(t.message)}}}},providesTags:g.provideTagsForVersionsResult,onCacheEntryAdded:async(e,{updateCachedData:d,cacheEntryRemoved:I,dispatch:p})=>{let f;f=x.subscribeToThumbnailUpdates(h=>{const a=h.filter(o=>o.project===e.projectName);a.length&&d(o=>{a.forEach(n=>{if(n.summary.entityType==="version"){const s=o.versions.findIndex(t=>t.id===n.summary.entityId);s!==-1&&(o.versions[s].thumbnailHash=n.summary.thumbnailHash||"")}})})},["version"]);const l=G(e.projectName,p,{getBaseFilters:()=>({versionFilter:e.versionFilter,productFilter:e.productFilter,taskFilter:e.taskFilter,folderIds:e.folderIds?.length?e.folderIds:void 0,sortBy:e.sortBy,featuredOnly:e.featuredOnly,hasReviewables:e.hasReviewables}),checkVersionInCache:h=>{let a=!1;return d(o=>{a=o.versions.some(n=>n.id===h)}),a},onBatchUpdate:({deleted:h,patched:a,attribPatched:o,fullUpdated:n})=>{d(s=>{if(h)for(const{entityId:t}of h){const r=s.versions.findIndex(i=>i.id===t);r!==-1&&s.versions.splice(r,1)}if(a)for(const{entityId:t,field:r,value:i}of a){const u=s.versions.find(c=>c.id===t);u&&(u[r]=i)}if(o)for(const{entityId:t,allAttrib:r,parsedAttrib:i}of o){const u=s.versions.find(c=>c.id===t);u&&(u.allAttrib=r,u.attrib=i)}if(n)for(const t of n){const r=s.versions.findIndex(i=>i.id===t.id);if(r!==-1){const i=s.versions[r].groups;s.versions[r]={...t,groups:i}}}})}}),v=P.subscribe("entity.version",l.handle);await I,l.clear(),P.unsubscribe(v),f&&f()},keepUnusedDataFor:V})})}),{useGetVersionsQuery:L,useGetProductsColumnStatsQuery:M,useGetVersionsColumnStatsQuery:O}=F,{useGetVersionsInfiniteInfiniteQuery:H,useGetVersionsByProductsQuery:z,useGetProductsInfiniteInfiniteQuery:$,useGetGroupedVersionsListQuery:Y}=B;exports.VP_INFINITE_QUERY_COUNT=T;exports.enhancedVersionsPageApi=F;exports.injectedVersionsPageApi=B;exports.useGetGroupedVersionsListQuery=Y;exports.useGetProductsColumnStatsQuery=M;exports.useGetProductsInfiniteQuery=$;exports.useGetVersionsByProductsQuery=z;exports.useGetVersionsColumnStatsQuery=O;exports.useGetVersionsInfiniteQuery=H;exports.useGetVersionsQuery=L;
2
2
  //# sourceMappingURL=getVersionsProducts.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getVersionsProducts.cjs.js","sources":["../../../../../../src/api/queries/versions/getVersionsProducts.ts"],"sourcesContent":["// QUERIES FOR THE VERSIONS PAGE, FETCHING AND UPDATING DATA\n// Uses a separate graphqlVersionsApi for increased IDE speed\n\n// There are 4 main fetch requests:\n\n// Versions Only:\n// 1. GetVersions - fetches all versions in the project for given filtering and with pagination\n\n// Products and Versions (stacked):\n// 2. GetProducts - fetches all products in the project based on product and version filtering\n// 3. GetVersionsByProducts - when a product is expanded, fetches all versions for the products that are expanded. Uses getVersionsByProductId for each parent id. (uses queryFn)\n// 4. GetVersionsByProductId - get all versions for a specific product. Used by getVersionsByProducts only.\n\n// VersionFragment is used in all version queries to ensure consistent data structure\n\nimport {\n DefinitionsFromApi,\n FetchBaseQueryError,\n InfiniteData,\n OverrideResultType,\n TagTypesFromApi,\n} from '@reduxjs/toolkit/query'\nimport {\n GetProductsQuery,\n GetProductsQueryVariables,\n GetProductsColumnStatsQuery,\n GetVersionsByProductIdQueryVariables,\n GetVersionsColumnStatsQuery,\n GetVersionsQuery,\n GetVersionsQueryVariables,\n gqlApi,\n PageInfo,\n VpFolderFragment,\n} from '@shared/api/generated'\nimport {\n parseGQLErrorMessage,\n provideTagsForProductsInfinite,\n provideTagsForProductsResult,\n provideTagsForVersionsInfinite,\n provideTagsForVersionsResult,\n transformProductsResponse,\n transformVersionsResponse,\n} from './getVersionsProductsUtils'\nimport { parseAllAttribs } from '../overview'\nimport PubSub from '@shared/util/pubsub'\nimport { subscribeToThumbnailUpdates, ThumbnailUpdateMessage } from '@shared/util'\nimport type { FieldStats } from '../columnStats'\nimport {\n normalizeFieldStats,\n mergeFieldStats,\n hasNewTargetFields,\n transformStatsError,\n} from '../columnStats'\n\nconst CACHE_TIME = 10 // seconds\n\n// SHARED CACHE UPDATE HELPERS\n// These helpers are used by PubSub handlers to update cached data in real-time\n\n/**\n * Finds the correct insertion index for a new item in a sorted array\n * Used when adding new items to maintain sort order\n */\nfunction findSortedInsertIndex<T>(items: T[], newItem: T, sortBy: keyof T, desc: boolean): number {\n for (let i = 0; i < items.length; i++) {\n const newValue = newItem[sortBy]\n const currentValue = items[i][sortBy]\n const shouldInsert = desc ? newValue > currentValue : newValue < currentValue\n\n if (shouldInsert) {\n return i\n }\n }\n return items.length\n}\n\n/**\n * Updates a paginated cache (draft.pages[].items[]) with a new/updated/deleted item\n * Handles: update existing, delete if not in response, add at sorted position\n *\n * @param pages - Array of page objects containing items arrays\n * @param entityId - ID of the entity to update/delete/add\n * @param updatedItem - The updated item, or undefined if deleted\n * @param itemsKey - Key to access items array in each page ('versions' or 'products')\n * @param sortBy - Property to sort by when inserting new items\n * @param desc - Sort direction (true = descending)\n */\nfunction updatePagedCache<T extends { id: string }>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n pages: any[],\n entityId: string,\n updatedItem: T | undefined,\n itemsKey: string,\n sortBy: keyof T,\n desc: boolean,\n): void {\n // Search for existing item in all pages\n for (const page of pages) {\n const items = page[itemsKey] as T[]\n const index = items.findIndex((item) => item.id === entityId)\n\n if (index !== -1) {\n if (updatedItem) {\n // Update existing item\n items[index] = updatedItem\n } else {\n // Item no longer exists or doesn't match filters - remove it\n items.splice(index, 1)\n }\n return\n }\n }\n\n // Item not found in cache - add at correct sorted position in first page\n if (updatedItem && pages.length > 0) {\n const items = pages[0][itemsKey] as T[]\n const insertIndex = findSortedInsertIndex(items, updatedItem, sortBy, desc)\n items.splice(insertIndex, 0, updatedItem)\n }\n}\n\n/**\n * Updates a flat cache (draft.items[]) with a new/updated/deleted item\n * Handles: update existing, delete if not in response, add new\n */\nfunction updateFlatCache<T extends { id: string }>(\n items: T[],\n entityId: string,\n updatedItem: T | undefined,\n): { index: number; action: 'updated' | 'deleted' | 'added' | 'none' } {\n const index = items.findIndex((item) => item.id === entityId)\n\n if (index !== -1) {\n if (updatedItem) {\n items[index] = updatedItem\n return { index, action: 'updated' }\n } else {\n items.splice(index, 1)\n return { index, action: 'deleted' }\n }\n } else if (updatedItem) {\n items.push(updatedItem)\n return { index: items.length - 1, action: 'added' }\n }\n\n return { index: -1, action: 'none' }\n}\n\n// Query result types\nexport type FolderAttribNode = VpFolderFragment & {\n attrib: Record<string, any> // parsed from allAttrib JSON string\n}\nexport type VersionNodeRAW = GetVersionsQuery['project']['versions']['edges'][0]['node']\nexport type VersionNode = VersionNodeRAW & {\n attrib: Record<string, any> // parsed from allAttrib JSON string\n product: VersionNodeRAW['product'] & {\n attrib: Record<string, any> // parsed from allAttrib JSON string\n folder: FolderAttribNode // folder with parsed attribs\n }\n groups?: { value?: string; hasNextPage?: string }[] // grouping metadata\n}\nexport type ProductNodeRAW = GetProductsQuery['project']['products']['edges'][0]['node']\nexport type ProductNode = Omit<ProductNodeRAW, 'versions'> & {\n attrib: Record<string, any> // parsed from allAttrib JSON string\n featuredVersion?: VersionNode | null // added separately\n folder: FolderAttribNode // folder with parsed attribs\n versions: {\n id: string\n name: string\n version: number\n heroVersionId?: string | null\n }[] // versions with isHero flag\n}\n\nexport type GetVersionsResult = {\n pageInfo?: PageInfo\n versions: VersionNode[]\n errors?: Array<{ productId: string; error: string }>\n}\n\n// for infinite query args\nexport type GetVersionsArgs = Omit<GetVersionsQueryVariables, 'cursor'> & {\n desc?: boolean // sort direction\n}\n\n// for paginated queries in infinite query\ntype VersionsPageParam = {\n cursor: string\n desc?: boolean\n}\n\nexport type GetProductsArgs = Omit<GetProductsQueryVariables, 'cursor' | 'versionIds'> & {\n desc?: boolean // sort direction\n}\n\ntype ProductsPageParam = {\n cursor: string\n desc?: boolean\n}\n\ntype GetVersionsByProductsArgs = GetVersionsByProductIdQueryVariables & {\n productIds: string[]\n desc?: boolean\n}\n\nexport type GetGroupedVersionsListArgs = {\n projectName: string\n groups: { filter: string; count?: number | null; value: string }[]\n groupFilterKey?: string\n versionFilter?: string\n productFilter?: string\n taskFilter?: string\n folderIds?: string[]\n desc?: boolean\n sortBy?: string\n featuredOnly?: string[]\n hasReviewables?: boolean\n}\n\nexport type GetGroupedVersionsListResult = {\n versions: VersionNode[]\n}\n\nexport type VersionInfiniteResult = InfiniteData<GetVersionsResult, VersionsPageParam> | undefined\n\nexport type ProductInfiniteResult = InfiniteData<GetProductsResult, ProductsPageParam> | undefined\n\nexport type GetProductsResult = {\n pageInfo: PageInfo\n products: ProductNode[]\n}\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetVersions'> & {\n GetVersions: OverrideResultType<Definitions['GetVersions'], GetVersionsResult>\n GetVersionsByProductId: OverrideResultType<Definitions['GetVersions'], GetVersionsResult>\n GetProducts: OverrideResultType<Definitions['GetProducts'], GetProductsResult>\n GetProductsColumnStats: OverrideResultType<Definitions['GetProductsColumnStats'], FieldStats[]>\n GetVersionsColumnStats: OverrideResultType<Definitions['GetVersionsColumnStats'], FieldStats[]>\n}\n\nconst enhancedVersionsPageApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n // used by both stacked and non-stacked views\n GetVersions: {\n transformResponse: transformVersionsResponse,\n providesTags: provideTagsForVersionsResult,\n keepUnusedDataFor: CACHE_TIME,\n },\n // used by getVersionsByProducts only\n GetVersionsByProductId: {\n transformResponse: transformVersionsResponse,\n providesTags: provideTagsForVersionsResult,\n keepUnusedDataFor: CACHE_TIME,\n },\n // used by getProductsInfinite only\n GetProducts: {\n transformResponse: transformProductsResponse,\n providesTags: provideTagsForProductsResult,\n keepUnusedDataFor: CACHE_TIME,\n },\n // footer stats: `targets` excluded from cache key + responses merged,\n // so column toggles reuse cache and only added targets refetch\n GetProductsColumnStats: {\n transformResponse: (res: GetProductsColumnStatsQuery) =>\n normalizeFieldStats(res?.project?.products?.fieldStats ?? []),\n transformErrorResponse: (error: any) => transformStatsError(error, 'product'),\n serializeQueryArgs: ({ queryArgs: { targets: _t, ...rest } }) => rest,\n merge: (cache, incoming) => mergeFieldStats(incoming, cache),\n forceRefetch: ({ currentArg, previousArg }) => hasNewTargetFields(currentArg, previousArg),\n providesTags: (_r, _e, { projectName }) => [{ type: 'productColumnStats', id: projectName }],\n keepUnusedDataFor: CACHE_TIME,\n },\n GetVersionsColumnStats: {\n transformResponse: (res: GetVersionsColumnStatsQuery) =>\n normalizeFieldStats(res?.project?.versions?.fieldStats ?? []),\n transformErrorResponse: (error: any) => transformStatsError(error, 'version'),\n serializeQueryArgs: ({ queryArgs: { targets: _t, ...rest } }) => rest,\n merge: (cache, incoming) => mergeFieldStats(incoming, cache),\n forceRefetch: ({ currentArg, previousArg }) => hasNewTargetFields(currentArg, previousArg),\n providesTags: (_r, _e, { projectName }) => [{ type: 'versionColumnStats', id: projectName }],\n keepUnusedDataFor: CACHE_TIME,\n },\n },\n})\n\nexport const VP_INFINITE_QUERY_COUNT = 250 // Number of items to fetch per page\nconst VERSIONS_BY_PRODUCT_ID_QUERY_COUNT = 1000 // max number of versions to fetch per product id\nconst MAX_PAGES_PER_PRODUCT = 10 // Hard cutoff to prevent infinite loops\n\nconst VERSION_UPDATE_BATCH_DEBOUNCE = 5000 // ms to wait before processing batched updates\nconst VERSION_UPDATE_ATTRIB_JITTER = 1000 // max ms of random jitter for attribute fetches\nconst VERSION_UPDATE_NEW_DATA_DEBOUNCE = 30000 // ms to wait before fetching new version data in batch\nconst VERSION_UPDATE_NEW_DATA_JITTER = 1500 // max ms of random jitter for new version data fetches\n\n/**\n * Reusable handler for websocket version updates to perform efficient batched cache updates\n */\nfunction createVersionUpdateBatcher(\n projectName: string,\n dispatch: any,\n handlers: {\n checkVersionInCache: (entityId: string, parentId?: string) => boolean\n onBatchUpdate: (changes: {\n deleted?: { entityId: string; parentId?: string }[]\n patched?: { entityId: string; field: string; value: any; parentId?: string }[]\n attribPatched?: { entityId: string; allAttrib: string; parsedAttrib: any }[]\n fullUpdated?: VersionNode[]\n }) => void\n getBaseFilters?: () => any\n },\n) {\n let pendingPatchUpdates: { topic: string; message: any }[] = []\n let patchTimeoutId: ReturnType<typeof setTimeout> | null = null\n\n let pendingFullFetchIds = new Set<string>()\n let fullFetchTimeoutId: ReturnType<typeof setTimeout> | null = null\n\n const processPatches = async () => {\n const updates = [...pendingPatchUpdates]\n pendingPatchUpdates = []\n patchTimeoutId = null\n\n const deleted: { entityId: string; parentId?: string }[] = []\n const patched: { entityId: string; field: string; value: any; parentId?: string }[] = []\n const attribsToFetch = new Set<string>()\n\n for (const { topic, message: msg } of updates) {\n const entityId = msg.summary?.entityId\n const parentId = msg.summary?.parentId\n if (!entityId) continue\n\n if (topic === 'entity.version.deleted') {\n deleted.push({ entityId, parentId })\n } else if (topic.startsWith('entity.version.') && topic.endsWith('_changed')) {\n const versionFound = handlers.checkVersionInCache(entityId, parentId)\n if (!versionFound) continue\n\n const field = topic.split('.')[2].split('_changed')[0]\n\n if (field === 'attrib') {\n attribsToFetch.add(entityId)\n continue\n }\n\n const supportedFields = ['status', 'tags'] as const\n const isFieldSupported = supportedFields.includes(field as any)\n const value = msg.summary?.value\n\n if (!value || !isFieldSupported) {\n pendingFullFetchIds.add(entityId)\n continue\n }\n\n let castValue: any = value\n if (field === 'status') {\n castValue = String(value)\n } else if (field === 'tags') {\n castValue = Array.isArray(value) ? (value as string[]) : []\n }\n\n patched.push({ entityId, field, value: castValue, parentId })\n }\n }\n\n // Trigger full fetch if any unsupported changes were moved there\n if (pendingFullFetchIds.size > 0 && !fullFetchTimeoutId) {\n fullFetchTimeoutId = setTimeout(processFullFetches, VERSION_UPDATE_NEW_DATA_DEBOUNCE)\n }\n\n const attribPatched: { entityId: string; allAttrib: string; parsedAttrib: any }[] = []\n if (attribsToFetch.size > 0 && dispatch) {\n try {\n await new Promise((resolve) =>\n setTimeout(resolve, Math.random() * VERSION_UPDATE_ATTRIB_JITTER),\n )\n\n const versionIds = Array.from(attribsToFetch)\n const result = await dispatch(\n enhancedVersionsPageApi.endpoints.GetVersionsAttribs.initiate(\n { projectName, versionIds },\n { forceRefetch: true },\n ),\n )\n\n if (result.data?.project?.versions?.edges) {\n for (const edge of result.data.project.versions.edges) {\n const node = edge.node\n if (node) {\n attribPatched.push({\n entityId: node.id,\n allAttrib: node.allAttrib,\n parsedAttrib: parseAllAttribs(node.allAttrib),\n })\n }\n }\n }\n } catch (e) {\n console.error('Failed to fetch patched version attribs', e)\n }\n }\n\n if (deleted.length > 0 || patched.length > 0 || attribPatched.length > 0) {\n handlers.onBatchUpdate({ deleted, patched, attribPatched })\n }\n }\n\n const processFullFetches = async () => {\n const versionIds = Array.from(pendingFullFetchIds)\n pendingFullFetchIds.clear()\n fullFetchTimeoutId = null\n\n if (versionIds.length === 0 || !dispatch) return\n\n try {\n // Jitter fetch to prevent thundering herd\n await new Promise((resolve) =>\n setTimeout(resolve, Math.random() * VERSION_UPDATE_NEW_DATA_JITTER),\n )\n\n const baseFilters = handlers.getBaseFilters?.() || {}\n const result = await dispatch(\n enhancedVersionsPageApi.endpoints.GetVersions.initiate({\n ...baseFilters,\n projectName,\n versionIds,\n }),\n )\n\n if (result.data?.versions) {\n handlers.onBatchUpdate({ fullUpdated: result.data.versions })\n }\n } catch (e) {\n console.error('Failed to fetch full version data batch', e)\n }\n }\n\n return (topic: string, message: any) => {\n const project = message.project\n if (project !== projectName) return\n\n const entityId = message.summary?.entityId\n if (!entityId) return\n\n if (topic === 'entity.version.created') {\n pendingFullFetchIds.add(entityId)\n if (!fullFetchTimeoutId) {\n fullFetchTimeoutId = setTimeout(processFullFetches, VERSION_UPDATE_NEW_DATA_DEBOUNCE)\n }\n } else {\n pendingPatchUpdates.push({ topic, message })\n if (patchTimeoutId) clearTimeout(patchTimeoutId)\n patchTimeoutId = setTimeout(processPatches, VERSION_UPDATE_BATCH_DEBOUNCE)\n }\n }\n}\n\nconst injectedVersionsPageApi = enhancedVersionsPageApi.injectEndpoints({\n endpoints: (build) => ({\n // enhance GetVersions with an infinite query\n getVersionsInfinite: build.infiniteQuery<GetVersionsResult, GetVersionsArgs, VersionsPageParam>(\n {\n infiniteQueryOptions: {\n initialPageParam: { cursor: '', desc: false },\n // Calculate the next page param based on current page response and params\n getNextPageParam: (lastPage, _allPages, lastPageParam, _allPageParams) => {\n // Use the endCursor from the query as the next page param\n const pageInfo = lastPage.pageInfo\n const desc = lastPageParam.desc\n const hasNextPage = desc ? pageInfo?.hasPreviousPage : pageInfo?.hasNextPage\n\n if (!hasNextPage || !pageInfo?.endCursor) return undefined\n\n return {\n cursor: pageInfo?.endCursor,\n desc: lastPageParam.desc,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { sortBy, desc, folderIds, ...rest } = queryArg\n const { cursor } = pageParam\n\n // Build the query parameters for GetVersions query\n const queryParams: any = {\n ...rest,\n }\n\n // Add cursor-based pagination\n if (sortBy) {\n queryParams.sortBy = sortBy\n if (desc) {\n queryParams.before = cursor || undefined\n queryParams.last = VP_INFINITE_QUERY_COUNT\n } else {\n queryParams.after = cursor || undefined\n queryParams.first = VP_INFINITE_QUERY_COUNT\n }\n } else {\n queryParams.after = cursor || undefined\n queryParams.first = VP_INFINITE_QUERY_COUNT\n }\n\n // if folderIds have a length, add them to the query params\n if (folderIds && folderIds.length) {\n queryParams.folderIds = folderIds\n }\n\n // Call the existing GetVersions gql query\n const result = await api.dispatch(\n enhancedVersionsPageApi.endpoints.GetVersions.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) throw result.error\n const fallback = {\n versions: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n }\n\n // Return the versions directly as required by the infinite query format\n return {\n data: result.data || fallback,\n }\n } catch (e: any) {\n console.error('Error in getVersionsInfiniteQuery queryFn:', e)\n return {\n error: {\n status: 'FETCH_ERROR',\n error: parseGQLErrorMessage(e.message),\n } as FetchBaseQueryError,\n }\n }\n },\n providesTags: provideTagsForVersionsInfinite,\n // Subscribes to version entity changes and updates cache accordingly\n // Handles: create, update, delete operations\n onCacheEntryAdded: async (\n arg,\n { getCacheEntry, updateCachedData, cacheEntryRemoved, dispatch },\n ) => {\n let unsubscribeThumbnails: (() => void) | undefined\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n const relevantMessages = messages.filter((m) => m.project === arg.projectName)\n if (!relevantMessages.length) return\n\n updateCachedData((draft) => {\n relevantMessages.forEach((message) => {\n if (message.summary.entityType === 'version') {\n draft.pages.forEach((page) => {\n const vIndex = page.versions.findIndex(\n (v) => v.id === message.summary.entityId,\n )\n if (vIndex !== -1) {\n page.versions[vIndex].thumbnailHash = message.summary.thumbnailHash || ''\n }\n })\n }\n })\n })\n },\n ['version'],\n )\n\n const token = PubSub.subscribe(\n 'entity.version',\n createVersionUpdateBatcher(arg.projectName, dispatch, {\n getBaseFilters: () => ({\n versionFilter: arg.versionFilter,\n productFilter: arg.productFilter,\n taskFilter: arg.taskFilter,\n folderIds: arg.folderIds?.length ? arg.folderIds : undefined,\n featuredOnly: arg.featuredOnly,\n hasReviewables: arg.hasReviewables,\n sortBy: arg.sortBy,\n }),\n checkVersionInCache: (entityId) => {\n const cacheVersions = getCacheEntry().data\n if (!cacheVersions) return false\n for (const page of cacheVersions.pages || []) {\n if (page.versions.some((v) => v.id === entityId)) return true\n }\n return false\n },\n onBatchUpdate: ({ deleted, patched, attribPatched, fullUpdated }) => {\n updateCachedData((draft) => {\n for (const page of draft?.pages || []) {\n // Handle deletes\n if (deleted) {\n for (const { entityId } of deleted) {\n const vIndex = page.versions.findIndex((v) => v.id === entityId)\n if (vIndex !== -1) page.versions.splice(vIndex, 1)\n }\n }\n // Handle simple patches\n if (patched) {\n for (const { entityId, field, value } of patched) {\n const version = page.versions.find((v) => v.id === entityId)\n if (version) {\n // @ts-expect-error valid field\n version[field] = value\n }\n }\n }\n // Handle attrib patched\n if (attribPatched) {\n for (const { entityId, allAttrib, parsedAttrib } of attribPatched) {\n const version = page.versions.find((v) => v.id === entityId)\n if (version) {\n version.allAttrib = allAttrib\n version.attrib = parsedAttrib\n }\n }\n }\n // Handle full updates\n if (fullUpdated) {\n for (const updatedNode of fullUpdated) {\n const vIndex = page.versions.findIndex((v) => v.id === updatedNode.id)\n if (vIndex !== -1) {\n page.versions[vIndex] = updatedNode\n } else {\n // New version not in cache, try to insert in first page if it fits sort\n // (This is a simplification, full refetch is usually better for new items in pagination)\n const sortKey = (arg.sortBy || 'createdAt') as keyof VersionNode\n const insertIndex = findSortedInsertIndex(\n page.versions,\n updatedNode,\n sortKey,\n arg.desc || false,\n )\n // Only insert if it's within current page bounds or we are on first page\n if (page === draft.pages[0]) {\n page.versions.splice(insertIndex, 0, updatedNode)\n }\n }\n }\n }\n }\n })\n },\n }),\n )\n\n // Cleanup: unsubscribe when cache entry is removed\n await cacheEntryRemoved\n PubSub.unsubscribe(token)\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n },\n keepUnusedDataFor: CACHE_TIME,\n },\n ),\n\n // custom query function that fetches versions by multiple parent ids -not infinite and gets 1000 versions max\n getVersionsByProducts: build.query<GetVersionsResult, GetVersionsByProductsArgs>({\n queryFn: async (args, { dispatch, forced }) => {\n const { productIds = [], desc, ...rest } = args\n\n // Helper function to fetch a page of versions\n const fetchVersionsPage = async (productId: string, cursor?: string) => {\n const queryParams: GetVersionsByProductIdQueryVariables = {\n ...rest,\n productIds: [productId],\n }\n\n if (desc) {\n if (cursor) queryParams.before = cursor\n queryParams.last = VERSIONS_BY_PRODUCT_ID_QUERY_COUNT\n } else {\n if (cursor) queryParams.after = cursor\n queryParams.first = VERSIONS_BY_PRODUCT_ID_QUERY_COUNT\n }\n\n return dispatch(\n enhancedVersionsPageApi.endpoints.GetVersionsByProductId.initiate(queryParams, {\n forceRefetch: forced,\n }),\n )\n }\n\n // for each product id, call getVersionsByProductId\n const promises = productIds.map((productId) => fetchVersionsPage(productId))\n\n // wait for all requests to settle (either fulfilled or rejected)\n const settledResults = await Promise.allSettled(promises)\n\n // Collect all versions from initial queries\n const allVersions: VersionNode[] = []\n const errors: Array<{ productId: string; error: any }> = []\n\n // Check each result for additional pages and fetch them if needed\n for (let i = 0; i < settledResults.length; i++) {\n const settledResult = settledResults[i]\n const productId = productIds[i]\n\n // Handle rejected promises\n if (settledResult.status === 'rejected') {\n console.error(`Error fetching versions for product ${productId}:`, settledResult.reason)\n errors.push({ productId, error: parseGQLErrorMessage(settledResult.reason) })\n continue\n }\n\n // Handle errors in fulfilled promises\n const result = settledResult.value\n if (result.error) {\n console.error(`Error fetching versions for product ${productId}:`, result.error)\n errors.push({\n productId,\n // @ts-expect-error - message\n error: parseGQLErrorMessage(result.error?.message || 'Unknown error'),\n })\n continue\n }\n\n if (!result.data) continue\n\n // Add initial page versions\n allVersions.push(...result.data.versions)\n\n // Check if there are more pages to fetch\n let pageInfo = result.data.pageInfo\n let pageCount = 1\n\n while (pageInfo && pageCount < MAX_PAGES_PER_PRODUCT) {\n const hasNextPage = desc ? pageInfo.hasPreviousPage : pageInfo.hasNextPage\n const cursor = pageInfo.endCursor\n\n if (!hasNextPage || !cursor) break\n\n // Fetch next page\n const nextPageResult = await fetchVersionsPage(productId, cursor)\n\n if (nextPageResult.error) {\n console.error(\n `Error fetching versions page ${pageCount + 1} for product ${productId}:`,\n nextPageResult.error,\n )\n errors.push({ productId, error: nextPageResult.error })\n break\n }\n\n if (!nextPageResult.data) break\n\n allVersions.push(...nextPageResult.data.versions)\n pageInfo = nextPageResult.data.pageInfo\n pageCount++\n }\n }\n\n // If some requests failed but we have data, log warning but return successful data\n if (errors.length > 0) {\n console.warn(\n `Partial success: ${errors.length} of ${productIds.length} products failed to fetch versions`,\n errors,\n )\n }\n\n return {\n data: {\n versions: allVersions,\n pageInfo: undefined, // pageInfo is undefined as we've flattened multiple queries\n errors: errors.length > 0 ? errors : undefined,\n },\n }\n },\n // Subscribes to version entity changes for expanded products\n // Only updates versions that belong to currently expanded products\n onCacheEntryAdded: async (arg, { updateCachedData, cacheEntryRemoved, dispatch }) => {\n let unsubscribeThumbnails: (() => void) | undefined\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n const relevantMessages = messages.filter((m) => m.project === arg.projectName)\n if (!relevantMessages.length) return\n\n updateCachedData((draft) => {\n relevantMessages.forEach((message) => {\n if (message.summary.entityType === 'version') {\n const vIndex = draft.versions.findIndex((v) => v.id === message.summary.entityId)\n if (vIndex !== -1) {\n draft.versions[vIndex].thumbnailHash = message.summary.thumbnailHash || ''\n }\n }\n })\n })\n },\n ['version'],\n )\n\n const token = PubSub.subscribe(\n 'entity.version',\n createVersionUpdateBatcher(arg.projectName, dispatch, {\n getBaseFilters: () => ({\n versionFilter: arg.versionFilter,\n taskFilter: arg.taskFilter,\n productIds: arg.productIds,\n }),\n checkVersionInCache: (entityId, parentId) => {\n if (!parentId || !arg.productIds.includes(parentId)) return false\n let found = false\n updateCachedData((draft) => {\n found = draft.versions.some((v) => v.id === entityId)\n })\n return found\n },\n onBatchUpdate: ({ deleted, patched, attribPatched, fullUpdated }) => {\n updateCachedData((draft) => {\n // Handle deletes\n if (deleted) {\n for (const { entityId } of deleted) {\n const vIndex = draft.versions.findIndex((v) => v.id === entityId)\n if (vIndex !== -1) draft.versions.splice(vIndex, 1)\n }\n }\n // Handle simple patches\n if (patched) {\n for (const { entityId, field, value } of patched) {\n const version = draft.versions.find((v) => v.id === entityId)\n if (version) {\n // @ts-expect-error valid field\n version[field] = value\n }\n }\n }\n // Handle attrib patches\n if (attribPatched) {\n for (const { entityId, allAttrib, parsedAttrib } of attribPatched) {\n const version = draft.versions.find((v) => v.id === entityId)\n if (version) {\n version.allAttrib = allAttrib\n version.attrib = parsedAttrib\n }\n }\n }\n // Handle full updates\n if (fullUpdated) {\n for (const updatedNode of fullUpdated) {\n const index = draft.versions.findIndex((v) => v.id === updatedNode.id)\n if (index !== -1) {\n draft.versions[index] = updatedNode\n } else {\n // Add at correct sorted position\n const sortKey = (arg.sortBy || 'createdAt') as keyof VersionNode\n const insertIndex = findSortedInsertIndex(\n draft.versions,\n updatedNode,\n sortKey,\n arg.desc || false,\n )\n draft.versions.splice(insertIndex, 0, updatedNode)\n }\n }\n }\n })\n },\n }),\n )\n\n // Cleanup: unsubscribe when cache entry is removed\n await cacheEntryRemoved\n PubSub.unsubscribe(token)\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n },\n providesTags: provideTagsForVersionsResult,\n keepUnusedDataFor: CACHE_TIME,\n }),\n\n // enhance GetProducts with an infinite query\n getProductsInfinite: build.infiniteQuery<GetProductsResult, GetProductsArgs, ProductsPageParam>(\n {\n infiniteQueryOptions: {\n initialPageParam: { cursor: '', desc: false },\n // Calculate the next page param based on current page response and params\n getNextPageParam: (lastPage, _allPages, lastPageParam, _allPageParams) => {\n // Use the endCursor from the query as the next page param\n const pageInfo = lastPage.pageInfo\n const desc = lastPageParam.desc\n const hasNextPage = desc ? pageInfo?.hasPreviousPage : pageInfo?.hasNextPage\n\n if (!hasNextPage || !pageInfo?.endCursor) return undefined\n\n return {\n cursor: pageInfo?.endCursor,\n desc: lastPageParam.desc,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n let result\n try {\n const { sortBy, desc, folderIds, ...rest } = queryArg\n const { cursor } = pageParam\n\n // Build the query parameters for GetProducts query\n const queryParams: any = {\n ...rest,\n }\n\n // Add cursor-based pagination\n if (sortBy) {\n queryParams.sortBy = sortBy\n if (desc) {\n queryParams.before = cursor || undefined\n queryParams.last = VP_INFINITE_QUERY_COUNT\n } else {\n queryParams.after = cursor || undefined\n queryParams.first = VP_INFINITE_QUERY_COUNT\n }\n } else {\n queryParams.after = cursor || undefined\n queryParams.first = VP_INFINITE_QUERY_COUNT\n }\n\n // if folderIds have a length, add them to the query params\n if (folderIds && folderIds.length) {\n queryParams.folderIds = folderIds\n }\n\n // Call the existing GetProducts gql query\n result = await api.dispatch(\n enhancedVersionsPageApi.endpoints.GetProducts.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) throw result.error\n const fallback = {\n products: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n }\n\n // Return the products directly as required by the infinite query format\n return {\n data: result.data || fallback,\n }\n } catch (e: any) {\n console.error('Error in getProductsInfiniteQuery queryFn:', e)\n return {\n error: {\n status: 'FETCH_ERROR',\n error: parseGQLErrorMessage(e.message),\n } as FetchBaseQueryError,\n }\n }\n },\n providesTags: provideTagsForProductsInfinite,\n // Subscribes to product entity changes and updates cache accordingly\n // Handles: create, update, delete operations\n // Often triggered together with version changes (new product + version)\n\n onCacheEntryAdded: async (arg, { updateCachedData, cacheEntryRemoved, dispatch }) => {\n let unsubscribeThumbnails: (() => void) | undefined\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n const relevantMessages = messages.filter((m) => m.project === arg.projectName)\n if (!relevantMessages.length) return\n\n updateCachedData((draft) => {\n relevantMessages.forEach((message) => {\n if (message.summary.entityType === 'version') {\n draft.pages.forEach((page) => {\n page.products.forEach((p) => {\n if (p.featuredVersion?.id === message.summary.entityId) {\n p.featuredVersion.thumbnailHash = message.summary.thumbnailHash || ''\n }\n })\n })\n }\n })\n })\n },\n ['version'],\n )\n\n // Helper to refetch and update a product in cache\n const refetchProduct = async (productId: string) => {\n const queryParams: any = {\n projectName: arg.projectName,\n productIds: [productId],\n productFilter: arg.productFilter,\n versionFilter: arg.versionFilter,\n taskFilter: arg.taskFilter,\n folderIds: arg.folderIds?.length ? arg.folderIds : undefined,\n first: 1,\n }\n\n const result = await dispatch(\n enhancedVersionsPageApi.endpoints.GetProducts.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) return\n\n // Update the cache: update existing, delete if not found, or add new\n updateCachedData((draft) => {\n const updatedProduct = result.data?.products?.[0]\n updatePagedCache(\n draft.pages,\n productId,\n updatedProduct,\n 'products',\n (arg.sortBy || 'createdAt') as keyof ProductNode,\n arg.desc || false,\n )\n })\n }\n\n // Subscribe to product entity changes from websocket\n const productToken = PubSub.subscribe(\n 'entity.product',\n async (_topic: string, message: any) => {\n try {\n const entityId = message.summary?.entityId\n if (!entityId) return\n\n let productExistsInCache = false\n updateCachedData((draft) => {\n productExistsInCache = draft.pages.some((page) =>\n page.products.some((product: ProductNode) => product.id === entityId),\n )\n })\n\n if (!productExistsInCache && _topic !== 'entity.product.created') return\n\n await refetchProduct(entityId)\n } catch (error) {\n // Silently handle errors to prevent UI disruption\n }\n },\n )\n\n // Subscribe to version entity changes - refetch parent product when version changes\n // This ensures product's versions list and featuredVersion stay up-to-date\n const versionToken = PubSub.subscribe(\n 'entity.version',\n createVersionUpdateBatcher(arg.projectName, dispatch, {\n getBaseFilters: () => ({\n versionFilter: arg.versionFilter,\n productFilter: arg.productFilter,\n taskFilter: arg.taskFilter,\n folderIds: arg.folderIds?.length ? arg.folderIds : undefined,\n }),\n checkVersionInCache: (entityId, parentId) => {\n let found = false\n updateCachedData((draft) => {\n found = draft.pages.some((page) =>\n page.products.some(\n (p) => p.id === parentId && p.featuredVersion?.id === entityId,\n ),\n )\n })\n return found\n },\n onBatchUpdate: ({ deleted, patched, attribPatched, fullUpdated }) => {\n updateCachedData((draft) => {\n for (const page of draft?.pages || []) {\n for (const p of page.products) {\n const featuredId = p.featuredVersion?.id\n if (!featuredId) continue\n\n // Handle deletes\n if (deleted) {\n if (deleted.some((d) => d.entityId === featuredId && d.parentId === p.id)) {\n // Version deleted, need to refetch product to update featuredVersion\n // Using a set to track which products need refetch to avoid multiple calls\n productsToRefetch.add(p.id)\n }\n }\n\n // Handle simple patches\n if (patched) {\n for (const { entityId, field, value, parentId } of patched) {\n if (p.id === parentId && featuredId === entityId && p.featuredVersion) {\n // @ts-expect-error valid field\n p.featuredVersion[field] = value\n }\n }\n }\n\n // Handle attrib patches\n if (attribPatched) {\n for (const { entityId, allAttrib, parsedAttrib } of attribPatched) {\n if (featuredId === entityId && p.featuredVersion) {\n p.featuredVersion.allAttrib = allAttrib\n p.featuredVersion.attrib = parsedAttrib\n }\n }\n }\n\n // Handle full updates\n if (fullUpdated) {\n for (const updatedNode of fullUpdated) {\n if (featuredId === updatedNode.id && p.featuredVersion) {\n p.featuredVersion = updatedNode\n }\n }\n }\n }\n }\n })\n\n // If any products need full refetch (due to deletes or new version becoming featured)\n // we trigger that now\n for (const productId of productsToRefetch) {\n refetchProduct(productId)\n }\n productsToRefetch.clear()\n },\n }),\n )\n\n const productsToRefetch = new Set<string>()\n\n // Cleanup: unsubscribe when cache entry is removed\n await cacheEntryRemoved\n PubSub.unsubscribe(productToken)\n PubSub.unsubscribe(versionToken)\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n },\n keepUnusedDataFor: CACHE_TIME,\n },\n ),\n\n // Grouped versions query - fetches versions for multiple group filters\n getGroupedVersionsList: build.query<GetGroupedVersionsListResult, GetGroupedVersionsListArgs>({\n queryFn: async (\n {\n projectName,\n groups,\n groupFilterKey = 'versionFilter',\n versionFilter, // most of the time overridden by group filters\n productFilter,\n taskFilter,\n folderIds,\n desc,\n sortBy,\n featuredOnly,\n hasReviewables,\n },\n api,\n ) => {\n try {\n const promises = []\n for (const group of groups) {\n const count = group.count || 500\n\n const queryParams: GetVersionsQueryVariables = {\n projectName,\n // base filters\n productFilter,\n taskFilter,\n versionFilter,\n // specific group filter\n [groupFilterKey]: group.filter,\n folderIds: folderIds?.length ? folderIds : undefined,\n sortBy: sortBy,\n featuredOnly,\n hasReviewables,\n // @ts-expect-error - group param used later on\n group: group.value,\n }\n\n if (desc) {\n queryParams.last = count\n } else {\n queryParams.first = count\n }\n\n const promise = api.dispatch(\n enhancedVersionsPageApi.endpoints.GetVersions.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n promises.push(promise)\n }\n\n const result = await Promise.all(promises)\n const versions: VersionNode[] = []\n\n for (const res of result) {\n if (res.error) throw res.error\n\n // get group value\n // @ts-expect-error - we know group does exist on res.originalArgs\n const groupValue = res.originalArgs?.group as string\n\n const hasNextPage =\n res.data?.pageInfo?.hasNextPage || res.data?.pageInfo?.hasPreviousPage || false\n\n const groupVersions =\n res.data?.versions.map((version, i, a) => ({\n ...version,\n groups: [\n {\n value: groupValue,\n hasNextPage: i === a.length - 1 && hasNextPage ? groupValue : undefined,\n },\n ],\n })) || []\n\n versions.push(...groupVersions)\n }\n\n return {\n data: {\n versions,\n },\n }\n } catch (error: any) {\n console.error('Error in getGroupedVersionsList queryFn:', error)\n return {\n error: {\n status: 'FETCH_ERROR',\n error: parseGQLErrorMessage(error.message),\n } as FetchBaseQueryError,\n }\n }\n },\n providesTags: provideTagsForVersionsResult,\n // Subscribes to version entity changes and updates cache accordingly\n // Handles: create, update, delete operations for grouped versions view\n onCacheEntryAdded: async (arg, { updateCachedData, cacheEntryRemoved, dispatch }) => {\n let unsubscribeThumbnails: (() => void) | undefined\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n const relevantMessages = messages.filter((m) => m.project === arg.projectName)\n if (!relevantMessages.length) return\n\n updateCachedData((draft) => {\n relevantMessages.forEach((message) => {\n if (message.summary.entityType === 'version') {\n const vIndex = draft.versions.findIndex((v) => v.id === message.summary.entityId)\n if (vIndex !== -1) {\n draft.versions[vIndex].thumbnailHash = message.summary.thumbnailHash || ''\n }\n }\n })\n })\n },\n ['version'],\n )\n\n const token = PubSub.subscribe(\n 'entity.version',\n createVersionUpdateBatcher(arg.projectName, dispatch, {\n getBaseFilters: () => ({\n versionFilter: arg.versionFilter,\n productFilter: arg.productFilter,\n taskFilter: arg.taskFilter,\n folderIds: arg.folderIds?.length ? arg.folderIds : undefined,\n sortBy: arg.sortBy,\n featuredOnly: arg.featuredOnly,\n hasReviewables: arg.hasReviewables,\n }),\n checkVersionInCache: (entityId) => {\n let found = false\n updateCachedData((draft) => {\n found = draft.versions.some((v) => v.id === entityId)\n })\n return found\n },\n onBatchUpdate: ({ deleted, patched, attribPatched, fullUpdated }) => {\n updateCachedData((draft) => {\n // Handle deletes\n if (deleted) {\n for (const { entityId } of deleted) {\n const vIndex = draft.versions.findIndex((v) => v.id === entityId)\n if (vIndex !== -1) draft.versions.splice(vIndex, 1)\n }\n }\n // Handle patches\n if (patched) {\n for (const { entityId, field, value } of patched) {\n const version = draft.versions.find((v) => v.id === entityId)\n if (version) {\n // @ts-expect-error valid field\n version[field] = value\n }\n }\n }\n // Handle attrib patches\n if (attribPatched) {\n for (const { entityId, allAttrib, parsedAttrib } of attribPatched) {\n const version = draft.versions.find((v) => v.id === entityId)\n if (version) {\n version.allAttrib = allAttrib\n version.attrib = parsedAttrib\n }\n }\n }\n // Handle full updates\n if (fullUpdated) {\n for (const updatedNode of fullUpdated) {\n const index = draft.versions.findIndex((v) => v.id === updatedNode.id)\n if (index !== -1) {\n // Preserve groups when updating\n const originalGroups = draft.versions[index].groups\n draft.versions[index] = { ...updatedNode, groups: originalGroups }\n }\n }\n }\n })\n },\n }),\n )\n\n // Cleanup: unsubscribe when cache entry is removed\n await cacheEntryRemoved\n PubSub.unsubscribe(token)\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n },\n keepUnusedDataFor: CACHE_TIME,\n }),\n }),\n})\n\n// export gql endpoints\nexport const {\n useGetVersionsQuery,\n useGetProductsColumnStatsQuery,\n useGetVersionsColumnStatsQuery,\n} = enhancedVersionsPageApi\n// export custom queries\nexport const {\n useGetVersionsInfiniteInfiniteQuery: useGetVersionsInfiniteQuery,\n useGetVersionsByProductsQuery,\n useGetProductsInfiniteInfiniteQuery: useGetProductsInfiniteQuery,\n useGetGroupedVersionsListQuery,\n} = injectedVersionsPageApi\n\n// export API instances for cache manipulation\nexport { enhancedVersionsPageApi, injectedVersionsPageApi }\n"],"names":["CACHE_TIME","findSortedInsertIndex","items","newItem","sortBy","desc","i","newValue","currentValue","updatePagedCache","pages","entityId","updatedItem","itemsKey","page","index","item","insertIndex","enhancedVersionsPageApi","gqlApi","transformVersionsResponse","provideTagsForVersionsResult","transformProductsResponse","provideTagsForProductsResult","res","normalizeFieldStats","error","transformStatsError","_t","rest","cache","incoming","mergeFieldStats","currentArg","previousArg","hasNewTargetFields","_r","_e","projectName","VP_INFINITE_QUERY_COUNT","VERSIONS_BY_PRODUCT_ID_QUERY_COUNT","MAX_PAGES_PER_PRODUCT","VERSION_UPDATE_BATCH_DEBOUNCE","VERSION_UPDATE_ATTRIB_JITTER","VERSION_UPDATE_NEW_DATA_DEBOUNCE","VERSION_UPDATE_NEW_DATA_JITTER","createVersionUpdateBatcher","dispatch","handlers","pendingPatchUpdates","patchTimeoutId","pendingFullFetchIds","fullFetchTimeoutId","processPatches","updates","deleted","patched","attribsToFetch","topic","msg","parentId","field","isFieldSupported","value","castValue","processFullFetches","attribPatched","resolve","versionIds","result","edge","node","parseAllAttribs","e","baseFilters","message","injectedVersionsPageApi","build","lastPage","_allPages","lastPageParam","_allPageParams","pageInfo","queryArg","pageParam","api","folderIds","cursor","queryParams","fallback","parseGQLErrorMessage","provideTagsForVersionsInfinite","arg","getCacheEntry","updateCachedData","cacheEntryRemoved","unsubscribeThumbnails","subscribeToThumbnailUpdates","messages","relevantMessages","m","draft","vIndex","v","token","PubSub","cacheVersions","fullUpdated","version","allAttrib","parsedAttrib","updatedNode","sortKey","args","forced","productIds","fetchVersionsPage","productId","promises","settledResults","allVersions","errors","settledResult","pageCount","hasNextPage","nextPageResult","found","provideTagsForProductsInfinite","p","refetchProduct","updatedProduct","productToken","_topic","productExistsInCache","product","versionToken","featuredId","d","productsToRefetch","groups","groupFilterKey","versionFilter","productFilter","taskFilter","featuredOnly","hasReviewables","group","count","promise","versions","groupValue","groupVersions","a","originalGroups","useGetVersionsQuery","useGetProductsColumnStatsQuery","useGetVersionsColumnStatsQuery","useGetVersionsInfiniteQuery","useGetVersionsByProductsQuery","useGetProductsInfiniteQuery","useGetGroupedVersionsListQuery"],"mappings":"g3IAsDA,MAAMA,EAAa,GASnB,SAASC,EAAyBC,EAAYC,EAAYC,EAAiBC,EAAuB,CAChG,QAASC,EAAI,EAAGA,EAAIJ,EAAM,OAAQI,IAAK,CACrC,MAAMC,EAAWJ,EAAQC,CAAM,EACzBI,EAAeN,EAAMI,CAAC,EAAEF,CAAM,EAGpC,GAFqBC,EAAOE,EAAWC,EAAeD,EAAWC,EAG/D,OAAOF,CAEX,CACA,OAAOJ,EAAM,MACf,CAaA,SAASO,EAEPC,EACAC,EACAC,EACAC,EACAT,EACAC,EACM,CAEN,UAAWS,KAAQJ,EAAO,CACxB,MAAMR,EAAQY,EAAKD,CAAQ,EACrBE,EAAQb,EAAM,UAAWc,GAASA,EAAK,KAAOL,CAAQ,EAE5D,GAAII,IAAU,GAAI,CACZH,EAEFV,EAAMa,CAAK,EAAIH,EAGfV,EAAM,OAAOa,EAAO,CAAC,EAEvB,MACF,CACF,CAGA,GAAIH,GAAeF,EAAM,OAAS,EAAG,CACnC,MAAMR,EAAQQ,EAAM,CAAC,EAAEG,CAAQ,EACzBI,EAAchB,EAAsBC,EAAOU,EAAaR,EAAQC,CAAI,EAC1EH,EAAM,OAAOe,EAAa,EAAGL,CAAW,CAC1C,CACF,CA4HA,MAAMM,EAA0BC,EAAAA,IAAO,iBAA+C,CACpF,UAAW,CAET,YAAa,CACX,kBAAmBC,EAAAA,0BACnB,aAAcC,EAAAA,6BACd,kBAAmBrB,CAAA,EAGrB,uBAAwB,CACtB,kBAAmBoB,EAAAA,0BACnB,aAAcC,EAAAA,6BACd,kBAAmBrB,CAAA,EAGrB,YAAa,CACX,kBAAmBsB,EAAAA,0BACnB,aAAcC,EAAAA,6BACd,kBAAmBvB,CAAA,EAIrB,uBAAwB,CACtB,kBAAoBwB,GAClBC,sBAAoBD,GAAK,SAAS,UAAU,YAAc,EAAE,EAC9D,uBAAyBE,GAAeC,sBAAoBD,EAAO,SAAS,EAC5E,mBAAoB,CAAC,CAAE,UAAW,CAAE,QAASE,EAAI,GAAGC,CAAA,CAAK,IAAQA,EACjE,MAAO,CAACC,EAAOC,IAAaC,EAAAA,gBAAgBD,EAAUD,CAAK,EAC3D,aAAc,CAAC,CAAE,WAAAG,EAAY,YAAAC,KAAkBC,EAAAA,mBAAmBF,EAAYC,CAAW,EACzF,aAAc,CAACE,EAAIC,EAAI,CAAE,YAAAC,CAAA,IAAkB,CAAC,CAAE,KAAM,qBAAsB,GAAIA,EAAa,EAC3F,kBAAmBtC,CAAA,EAErB,uBAAwB,CACtB,kBAAoBwB,GAClBC,sBAAoBD,GAAK,SAAS,UAAU,YAAc,EAAE,EAC9D,uBAAyBE,GAAeC,sBAAoBD,EAAO,SAAS,EAC5E,mBAAoB,CAAC,CAAE,UAAW,CAAE,QAASE,EAAI,GAAGC,CAAA,CAAK,IAAQA,EACjE,MAAO,CAACC,EAAOC,IAAaC,EAAAA,gBAAgBD,EAAUD,CAAK,EAC3D,aAAc,CAAC,CAAE,WAAAG,EAAY,YAAAC,KAAkBC,EAAAA,mBAAmBF,EAAYC,CAAW,EACzF,aAAc,CAACE,EAAIC,EAAI,CAAE,YAAAC,CAAA,IAAkB,CAAC,CAAE,KAAM,qBAAsB,GAAIA,EAAa,EAC3F,kBAAmBtC,CAAA,CACrB,CAEJ,CAAC,EAEYuC,EAA0B,IACjCC,EAAqC,IACrCC,EAAwB,GAExBC,EAAgC,IAChCC,EAA+B,IAC/BC,EAAmC,IACnCC,EAAiC,KAKvC,SAASC,EACPR,EACAS,EACAC,EAUA,CACA,IAAIC,EAAyD,CAAA,EACzDC,EAAuD,KAEvDC,MAA0B,IAC1BC,EAA2D,KAE/D,MAAMC,EAAiB,SAAY,CACjC,MAAMC,EAAU,CAAC,GAAGL,CAAmB,EACvCA,EAAsB,CAAA,EACtBC,EAAiB,KAEjB,MAAMK,EAAqD,CAAA,EACrDC,EAAgF,CAAA,EAChFC,MAAqB,IAE3B,SAAW,CAAE,MAAAC,EAAO,QAASC,CAAA,IAASL,EAAS,CAC7C,MAAM3C,EAAWgD,EAAI,SAAS,SACxBC,EAAWD,EAAI,SAAS,SAC9B,GAAKhD,GAEL,GAAI+C,IAAU,yBACZH,EAAQ,KAAK,CAAE,SAAA5C,EAAU,SAAAiD,CAAA,CAAU,UAC1BF,EAAM,WAAW,iBAAiB,GAAKA,EAAM,SAAS,UAAU,EAAG,CAE5E,GAAI,CADiBV,EAAS,oBAAoBrC,EAAUiD,CAAQ,EACjD,SAEnB,MAAMC,EAAQH,EAAM,MAAM,GAAG,EAAE,CAAC,EAAE,MAAM,UAAU,EAAE,CAAC,EAErD,GAAIG,IAAU,SAAU,CACtBJ,EAAe,IAAI9C,CAAQ,EAC3B,QACF,CAGA,MAAMmD,EADkB,CAAC,SAAU,MAAM,EACA,SAASD,CAAY,EACxDE,EAAQJ,EAAI,SAAS,MAE3B,GAAI,CAACI,GAAS,CAACD,EAAkB,CAC/BX,EAAoB,IAAIxC,CAAQ,EAChC,QACF,CAEA,IAAIqD,EAAiBD,EACjBF,IAAU,SACZG,EAAY,OAAOD,CAAK,EACfF,IAAU,SACnBG,EAAY,MAAM,QAAQD,CAAK,EAAKA,EAAqB,CAAA,GAG3DP,EAAQ,KAAK,CAAE,SAAA7C,EAAU,MAAAkD,EAAO,MAAOG,EAAW,SAAAJ,EAAU,CAC9D,EACF,CAGIT,EAAoB,KAAO,GAAK,CAACC,IACnCA,EAAqB,WAAWa,EAAoBrB,CAAgC,GAGtF,MAAMsB,EAA8E,CAAA,EACpF,GAAIT,EAAe,KAAO,GAAKV,EAC7B,GAAI,CACF,MAAM,IAAI,QAASoB,GACjB,WAAWA,EAAS,KAAK,OAAA,EAAWxB,CAA4B,CAAA,EAGlE,MAAMyB,EAAa,MAAM,KAAKX,CAAc,EACtCY,EAAS,MAAMtB,EACnB7B,EAAwB,UAAU,mBAAmB,SACnD,CAAE,YAAAoB,EAAa,WAAA8B,CAAA,EACf,CAAE,aAAc,EAAA,CAAK,CACvB,EAGF,GAAIC,EAAO,MAAM,SAAS,UAAU,MAClC,UAAWC,KAAQD,EAAO,KAAK,QAAQ,SAAS,MAAO,CACrD,MAAME,EAAOD,EAAK,KACdC,GACFL,EAAc,KAAK,CACjB,SAAUK,EAAK,GACf,UAAWA,EAAK,UAChB,aAAcC,EAAAA,gBAAgBD,EAAK,SAAS,CAAA,CAC7C,CAEL,CAEJ,OAASE,EAAG,CACV,QAAQ,MAAM,0CAA2CA,CAAC,CAC5D,EAGElB,EAAQ,OAAS,GAAKC,EAAQ,OAAS,GAAKU,EAAc,OAAS,IACrElB,EAAS,cAAc,CAAE,QAAAO,EAAS,QAAAC,EAAS,cAAAU,EAAe,CAE9D,EAEMD,EAAqB,SAAY,CACrC,MAAMG,EAAa,MAAM,KAAKjB,CAAmB,EAIjD,GAHAA,EAAoB,MAAA,EACpBC,EAAqB,KAEjB,EAAAgB,EAAW,SAAW,GAAK,CAACrB,GAEhC,GAAI,CAEF,MAAM,IAAI,QAASoB,GACjB,WAAWA,EAAS,KAAK,OAAA,EAAWtB,CAA8B,CAAA,EAGpE,MAAM6B,EAAc1B,EAAS,iBAAA,GAAsB,CAAA,EAC7CqB,EAAS,MAAMtB,EACnB7B,EAAwB,UAAU,YAAY,SAAS,CACrD,GAAGwD,EACH,YAAApC,EACA,WAAA8B,CAAA,CACD,CAAA,EAGCC,EAAO,MAAM,UACfrB,EAAS,cAAc,CAAE,YAAaqB,EAAO,KAAK,SAAU,CAEhE,OAASI,EAAG,CACV,QAAQ,MAAM,0CAA2CA,CAAC,CAC5D,CACF,EAEA,MAAO,CAACf,EAAeiB,IAAiB,CAEtC,GADgBA,EAAQ,UACRrC,EAAa,OAE7B,MAAM3B,EAAWgE,EAAQ,SAAS,SAC7BhE,IAED+C,IAAU,0BACZP,EAAoB,IAAIxC,CAAQ,EAC3ByC,IACHA,EAAqB,WAAWa,EAAoBrB,CAAgC,KAGtFK,EAAoB,KAAK,CAAE,MAAAS,EAAO,QAAAiB,CAAA,CAAS,EACvCzB,gBAA6BA,CAAc,EAC/CA,EAAiB,WAAWG,EAAgBX,CAA6B,GAE7E,CACF,CAEA,MAAMkC,EAA0B1D,EAAwB,gBAAgB,CACtE,UAAY2D,IAAW,CAErB,oBAAqBA,EAAM,cACzB,CACE,qBAAsB,CACpB,iBAAkB,CAAE,OAAQ,GAAI,KAAM,EAAA,EAEtC,iBAAkB,CAACC,EAAUC,EAAWC,EAAeC,IAAmB,CAExE,MAAMC,EAAWJ,EAAS,SAI1B,GAAI,IAHSE,EAAc,KACAE,GAAU,gBAAkBA,GAAU,cAE7C,CAACA,GAAU,WAE/B,MAAO,CACL,OAAQA,GAAU,UAClB,KAAMF,EAAc,IAAA,CAExB,CAAA,EAEF,QAAS,MAAO,CAAE,SAAAG,EAAU,UAAAC,CAAA,EAAaC,IAAQ,CAC/C,GAAI,CACF,KAAM,CAAE,OAAAjF,EAAQ,KAAAC,EAAM,UAAAiF,EAAW,GAAGzD,GAASsD,EACvC,CAAE,OAAAI,GAAWH,EAGbI,EAAmB,CACvB,GAAG3D,CAAA,EAIDzB,GACFoF,EAAY,OAASpF,EACjBC,GACFmF,EAAY,OAASD,GAAU,OAC/BC,EAAY,KAAOjD,IAEnBiD,EAAY,MAAQD,GAAU,OAC9BC,EAAY,MAAQjD,KAGtBiD,EAAY,MAAQD,GAAU,OAC9BC,EAAY,MAAQjD,GAIlB+C,GAAaA,EAAU,SACzBE,EAAY,UAAYF,GAI1B,MAAMjB,EAAS,MAAMgB,EAAI,SACvBnE,EAAwB,UAAU,YAAY,SAASsE,EAAa,CAClE,aAAc,EAAA,CACf,CAAA,EAGH,GAAInB,EAAO,MAAO,MAAMA,EAAO,MAC/B,MAAMoB,EAAW,CACf,SAAU,CAAA,EACV,SAAU,CACR,YAAa,GACb,UAAW,KACX,YAAa,KACb,gBAAiB,EAAA,CACnB,EAIF,MAAO,CACL,KAAMpB,EAAO,MAAQoB,CAAA,CAEzB,OAAShB,EAAQ,CACf,eAAQ,MAAM,6CAA8CA,CAAC,EACtD,CACL,MAAO,CACL,OAAQ,cACR,MAAOiB,EAAAA,qBAAqBjB,EAAE,OAAO,CAAA,CACvC,CAEJ,CACF,EACA,aAAckB,EAAAA,+BAGd,kBAAmB,MACjBC,EACA,CAAE,cAAAC,EAAe,iBAAAC,EAAkB,kBAAAC,EAAmB,SAAAhD,KACnD,CACH,IAAIiD,EAEJA,EAAwBC,EAAAA,4BACrBC,GAAuC,CACtC,MAAMC,EAAmBD,EAAS,OAAQE,GAAMA,EAAE,UAAYR,EAAI,WAAW,EACxEO,EAAiB,QAEtBL,EAAkBO,GAAU,CAC1BF,EAAiB,QAASxB,GAAY,CAChCA,EAAQ,QAAQ,aAAe,WACjC0B,EAAM,MAAM,QAASvF,GAAS,CAC5B,MAAMwF,EAASxF,EAAK,SAAS,UAC1ByF,GAAMA,EAAE,KAAO5B,EAAQ,QAAQ,QAAA,EAE9B2B,IAAW,KACbxF,EAAK,SAASwF,CAAM,EAAE,cAAgB3B,EAAQ,QAAQ,eAAiB,GAE3E,CAAC,CAEL,CAAC,CACH,CAAC,CACH,EACA,CAAC,SAAS,CAAA,EAGZ,MAAM6B,EAAQC,EAAO,UACnB,iBACA3D,EAA2B8C,EAAI,YAAa7C,EAAU,CACpD,eAAgB,KAAO,CACrB,cAAe6C,EAAI,cACnB,cAAeA,EAAI,cACnB,WAAYA,EAAI,WAChB,UAAWA,EAAI,WAAW,OAASA,EAAI,UAAY,OACnD,aAAcA,EAAI,aAClB,eAAgBA,EAAI,eACpB,OAAQA,EAAI,MAAA,GAEd,oBAAsBjF,GAAa,CACjC,MAAM+F,EAAgBb,IAAgB,KACtC,GAAI,CAACa,EAAe,MAAO,GAC3B,UAAW5F,KAAQ4F,EAAc,OAAS,CAAA,EACxC,GAAI5F,EAAK,SAAS,KAAMyF,GAAMA,EAAE,KAAO5F,CAAQ,EAAG,MAAO,GAE3D,MAAO,EACT,EACA,cAAe,CAAC,CAAE,QAAA4C,EAAS,QAAAC,EAAS,cAAAU,EAAe,YAAAyC,KAAkB,CACnEb,EAAkBO,GAAU,CAC1B,UAAWvF,KAAQuF,GAAO,OAAS,CAAA,EAAI,CAErC,GAAI9C,EACF,SAAW,CAAE,SAAA5C,CAAA,IAAc4C,EAAS,CAClC,MAAM+C,EAASxF,EAAK,SAAS,UAAWyF,GAAMA,EAAE,KAAO5F,CAAQ,EAC3D2F,IAAW,IAAIxF,EAAK,SAAS,OAAOwF,EAAQ,CAAC,CACnD,CAGF,GAAI9C,EACF,SAAW,CAAE,SAAA7C,EAAU,MAAAkD,EAAO,MAAAE,CAAA,IAAWP,EAAS,CAChD,MAAMoD,EAAU9F,EAAK,SAAS,KAAMyF,GAAMA,EAAE,KAAO5F,CAAQ,EACvDiG,IAEFA,EAAQ/C,CAAK,EAAIE,EAErB,CAGF,GAAIG,EACF,SAAW,CAAE,SAAAvD,EAAU,UAAAkG,EAAW,aAAAC,CAAA,IAAkB5C,EAAe,CACjE,MAAM0C,EAAU9F,EAAK,SAAS,KAAMyF,GAAMA,EAAE,KAAO5F,CAAQ,EACvDiG,IACFA,EAAQ,UAAYC,EACpBD,EAAQ,OAASE,EAErB,CAGF,GAAIH,EACF,UAAWI,KAAeJ,EAAa,CACrC,MAAML,EAASxF,EAAK,SAAS,UAAWyF,GAAMA,EAAE,KAAOQ,EAAY,EAAE,EACrE,GAAIT,IAAW,GACbxF,EAAK,SAASwF,CAAM,EAAIS,MACnB,CAGL,MAAMC,EAAWpB,EAAI,QAAU,YACzB3E,EAAchB,EAClBa,EAAK,SACLiG,EACAC,EACApB,EAAI,MAAQ,EAAA,EAGV9E,IAASuF,EAAM,MAAM,CAAC,GACxBvF,EAAK,SAAS,OAAOG,EAAa,EAAG8F,CAAW,CAEpD,CACF,CAEJ,CACF,CAAC,CACH,CAAA,CACD,CAAA,EAIH,MAAMhB,EACNU,EAAO,YAAYD,CAAK,EACpBR,GACFA,EAAA,CAEJ,EACA,kBAAmBhG,CAAA,CACrB,EAIF,sBAAuB6E,EAAM,MAAoD,CAC/E,QAAS,MAAOoC,EAAM,CAAE,SAAAlE,EAAU,OAAAmE,KAAa,CAC7C,KAAM,CAAE,WAAAC,EAAa,CAAA,EAAI,KAAA9G,EAAM,GAAGwB,GAASoF,EAGrCG,EAAoB,MAAOC,EAAmB9B,IAAoB,CACtE,MAAMC,EAAoD,CACxD,GAAG3D,EACH,WAAY,CAACwF,CAAS,CAAA,EAGxB,OAAIhH,GACEkF,MAAoB,OAASA,GACjCC,EAAY,KAAOhD,IAEf+C,MAAoB,MAAQA,GAChCC,EAAY,MAAQhD,GAGfO,EACL7B,EAAwB,UAAU,uBAAuB,SAASsE,EAAa,CAC7E,aAAc0B,CAAA,CACf,CAAA,CAEL,EAGMI,EAAWH,EAAW,IAAKE,GAAcD,EAAkBC,CAAS,CAAC,EAGrEE,EAAiB,MAAM,QAAQ,WAAWD,CAAQ,EAGlDE,EAA6B,CAAA,EAC7BC,EAAmD,CAAA,EAGzD,QAAS,EAAI,EAAG,EAAIF,EAAe,OAAQ,IAAK,CAC9C,MAAMG,EAAgBH,EAAe,CAAC,EAChCF,EAAYF,EAAW,CAAC,EAG9B,GAAIO,EAAc,SAAW,WAAY,CACvC,QAAQ,MAAM,uCAAuCL,CAAS,IAAKK,EAAc,MAAM,EACvFD,EAAO,KAAK,CAAE,UAAAJ,EAAW,MAAO3B,EAAAA,qBAAqBgC,EAAc,MAAM,EAAG,EAC5E,QACF,CAGA,MAAMrD,EAASqD,EAAc,MAC7B,GAAIrD,EAAO,MAAO,CAChB,QAAQ,MAAM,uCAAuCgD,CAAS,IAAKhD,EAAO,KAAK,EAC/EoD,EAAO,KAAK,CACV,UAAAJ,EAEA,MAAO3B,EAAAA,qBAAqBrB,EAAO,OAAO,SAAW,eAAe,CAAA,CACrE,EACD,QACF,CAEA,GAAI,CAACA,EAAO,KAAM,SAGlBmD,EAAY,KAAK,GAAGnD,EAAO,KAAK,QAAQ,EAGxC,IAAIa,EAAWb,EAAO,KAAK,SACvBsD,EAAY,EAEhB,KAAOzC,GAAYyC,EAAYlF,GAAuB,CACpD,MAAMmF,EAAcvH,EAAO6E,EAAS,gBAAkBA,EAAS,YACzDK,EAASL,EAAS,UAExB,GAAI,CAAC0C,GAAe,CAACrC,EAAQ,MAG7B,MAAMsC,EAAiB,MAAMT,EAAkBC,EAAW9B,CAAM,EAEhE,GAAIsC,EAAe,MAAO,CACxB,QAAQ,MACN,gCAAgCF,EAAY,CAAC,gBAAgBN,CAAS,IACtEQ,EAAe,KAAA,EAEjBJ,EAAO,KAAK,CAAE,UAAAJ,EAAW,MAAOQ,EAAe,MAAO,EACtD,KACF,CAEA,GAAI,CAACA,EAAe,KAAM,MAE1BL,EAAY,KAAK,GAAGK,EAAe,KAAK,QAAQ,EAChD3C,EAAW2C,EAAe,KAAK,SAC/BF,GACF,CACF,CAGA,OAAIF,EAAO,OAAS,GAClB,QAAQ,KACN,oBAAoBA,EAAO,MAAM,OAAON,EAAW,MAAM,qCACzDM,CAAA,EAIG,CACL,KAAM,CACJ,SAAUD,EACV,SAAU,OACV,OAAQC,EAAO,OAAS,EAAIA,EAAS,MAAA,CACvC,CAEJ,EAGA,kBAAmB,MAAO7B,EAAK,CAAE,iBAAAE,EAAkB,kBAAAC,EAAmB,SAAAhD,KAAe,CACnF,IAAIiD,EAEJA,EAAwBC,EAAAA,4BACrBC,GAAuC,CACtC,MAAMC,EAAmBD,EAAS,OAAQE,GAAMA,EAAE,UAAYR,EAAI,WAAW,EACxEO,EAAiB,QAEtBL,EAAkBO,GAAU,CAC1BF,EAAiB,QAASxB,GAAY,CACpC,GAAIA,EAAQ,QAAQ,aAAe,UAAW,CAC5C,MAAM2B,EAASD,EAAM,SAAS,UAAWE,GAAMA,EAAE,KAAO5B,EAAQ,QAAQ,QAAQ,EAC5E2B,IAAW,KACbD,EAAM,SAASC,CAAM,EAAE,cAAgB3B,EAAQ,QAAQ,eAAiB,GAE5E,CACF,CAAC,CACH,CAAC,CACH,EACA,CAAC,SAAS,CAAA,EAGZ,MAAM6B,EAAQC,EAAO,UACnB,iBACA3D,EAA2B8C,EAAI,YAAa7C,EAAU,CACpD,eAAgB,KAAO,CACrB,cAAe6C,EAAI,cACnB,WAAYA,EAAI,WAChB,WAAYA,EAAI,UAAA,GAElB,oBAAqB,CAACjF,EAAUiD,IAAa,CAC3C,GAAI,CAACA,GAAY,CAACgC,EAAI,WAAW,SAAShC,CAAQ,EAAG,MAAO,GAC5D,IAAIkE,EAAQ,GACZ,OAAAhC,EAAkBO,GAAU,CAC1ByB,EAAQzB,EAAM,SAAS,KAAME,GAAMA,EAAE,KAAO5F,CAAQ,CACtD,CAAC,EACMmH,CACT,EACA,cAAe,CAAC,CAAE,QAAAvE,EAAS,QAAAC,EAAS,cAAAU,EAAe,YAAAyC,KAAkB,CACnEb,EAAkBO,GAAU,CAE1B,GAAI9C,EACF,SAAW,CAAE,SAAA5C,CAAA,IAAc4C,EAAS,CAClC,MAAM+C,EAASD,EAAM,SAAS,UAAWE,GAAMA,EAAE,KAAO5F,CAAQ,EAC5D2F,IAAW,IAAID,EAAM,SAAS,OAAOC,EAAQ,CAAC,CACpD,CAGF,GAAI9C,EACF,SAAW,CAAE,SAAA7C,EAAU,MAAAkD,EAAO,MAAAE,CAAA,IAAWP,EAAS,CAChD,MAAMoD,EAAUP,EAAM,SAAS,KAAME,GAAMA,EAAE,KAAO5F,CAAQ,EACxDiG,IAEFA,EAAQ/C,CAAK,EAAIE,EAErB,CAGF,GAAIG,EACF,SAAW,CAAE,SAAAvD,EAAU,UAAAkG,EAAW,aAAAC,CAAA,IAAkB5C,EAAe,CACjE,MAAM0C,EAAUP,EAAM,SAAS,KAAME,GAAMA,EAAE,KAAO5F,CAAQ,EACxDiG,IACFA,EAAQ,UAAYC,EACpBD,EAAQ,OAASE,EAErB,CAGF,GAAIH,EACF,UAAWI,KAAeJ,EAAa,CACrC,MAAM5F,EAAQsF,EAAM,SAAS,UAAWE,GAAMA,EAAE,KAAOQ,EAAY,EAAE,EACrE,GAAIhG,IAAU,GACZsF,EAAM,SAAStF,CAAK,EAAIgG,MACnB,CAEL,MAAMC,EAAWpB,EAAI,QAAU,YACzB3E,EAAchB,EAClBoG,EAAM,SACNU,EACAC,EACApB,EAAI,MAAQ,EAAA,EAEdS,EAAM,SAAS,OAAOpF,EAAa,EAAG8F,CAAW,CACnD,CACF,CAEJ,CAAC,CACH,CAAA,CACD,CAAA,EAIH,MAAMhB,EACNU,EAAO,YAAYD,CAAK,EACpBR,GACFA,EAAA,CAEJ,EACA,aAAc3E,EAAAA,6BACd,kBAAmBrB,CAAA,CACpB,EAGD,oBAAqB6E,EAAM,cACzB,CACE,qBAAsB,CACpB,iBAAkB,CAAE,OAAQ,GAAI,KAAM,EAAA,EAEtC,iBAAkB,CAACC,EAAUC,EAAWC,EAAeC,IAAmB,CAExE,MAAMC,EAAWJ,EAAS,SAI1B,GAAI,IAHSE,EAAc,KACAE,GAAU,gBAAkBA,GAAU,cAE7C,CAACA,GAAU,WAE/B,MAAO,CACL,OAAQA,GAAU,UAClB,KAAMF,EAAc,IAAA,CAExB,CAAA,EAEF,QAAS,MAAO,CAAE,SAAAG,EAAU,UAAAC,CAAA,EAAaC,IAAQ,CAC/C,IAAIhB,EACJ,GAAI,CACF,KAAM,CAAE,OAAAjE,EAAQ,KAAAC,EAAM,UAAAiF,EAAW,GAAGzD,GAASsD,EACvC,CAAE,OAAAI,GAAWH,EAGbI,EAAmB,CACvB,GAAG3D,CAAA,EA8BL,GA1BIzB,GACFoF,EAAY,OAASpF,EACjBC,GACFmF,EAAY,OAASD,GAAU,OAC/BC,EAAY,KAAOjD,IAEnBiD,EAAY,MAAQD,GAAU,OAC9BC,EAAY,MAAQjD,KAGtBiD,EAAY,MAAQD,GAAU,OAC9BC,EAAY,MAAQjD,GAIlB+C,GAAaA,EAAU,SACzBE,EAAY,UAAYF,GAI1BjB,EAAS,MAAMgB,EAAI,SACjBnE,EAAwB,UAAU,YAAY,SAASsE,EAAa,CAClE,aAAc,EAAA,CACf,CAAA,EAGCnB,EAAO,MAAO,MAAMA,EAAO,MAC/B,MAAMoB,EAAW,CACf,SAAU,CAAA,EACV,SAAU,CACR,YAAa,GACb,UAAW,KACX,YAAa,KACb,gBAAiB,EAAA,CACnB,EAIF,MAAO,CACL,KAAMpB,EAAO,MAAQoB,CAAA,CAEzB,OAAShB,EAAQ,CACf,eAAQ,MAAM,6CAA8CA,CAAC,EACtD,CACL,MAAO,CACL,OAAQ,cACR,MAAOiB,EAAAA,qBAAqBjB,EAAE,OAAO,CAAA,CACvC,CAEJ,CACF,EACA,aAAcsD,EAAAA,+BAKd,kBAAmB,MAAOnC,EAAK,CAAE,iBAAAE,EAAkB,kBAAAC,EAAmB,SAAAhD,KAAe,CACnF,IAAIiD,EAEJA,EAAwBC,EAAAA,4BACrBC,GAAuC,CACtC,MAAMC,EAAmBD,EAAS,OAAQE,GAAMA,EAAE,UAAYR,EAAI,WAAW,EACxEO,EAAiB,QAEtBL,EAAkBO,GAAU,CAC1BF,EAAiB,QAASxB,GAAY,CAChCA,EAAQ,QAAQ,aAAe,WACjC0B,EAAM,MAAM,QAASvF,GAAS,CAC5BA,EAAK,SAAS,QAASkH,GAAM,CACvBA,EAAE,iBAAiB,KAAOrD,EAAQ,QAAQ,WAC5CqD,EAAE,gBAAgB,cAAgBrD,EAAQ,QAAQ,eAAiB,GAEvE,CAAC,CACH,CAAC,CAEL,CAAC,CACH,CAAC,CACH,EACA,CAAC,SAAS,CAAA,EAIZ,MAAMsD,EAAiB,MAAOZ,GAAsB,CAClD,MAAM7B,EAAmB,CACvB,YAAaI,EAAI,YACjB,WAAY,CAACyB,CAAS,EACtB,cAAezB,EAAI,cACnB,cAAeA,EAAI,cACnB,WAAYA,EAAI,WAChB,UAAWA,EAAI,WAAW,OAASA,EAAI,UAAY,OACnD,MAAO,CAAA,EAGHvB,EAAS,MAAMtB,EACnB7B,EAAwB,UAAU,YAAY,SAASsE,EAAa,CAClE,aAAc,EAAA,CACf,CAAA,EAGCnB,EAAO,OAGXyB,EAAkBO,GAAU,CAC1B,MAAM6B,EAAiB7D,EAAO,MAAM,WAAW,CAAC,EAChD5D,EACE4F,EAAM,MACNgB,EACAa,EACA,WACCtC,EAAI,QAAU,YACfA,EAAI,MAAQ,EAAA,CAEhB,CAAC,CACH,EAGMuC,EAAe1B,EAAO,UAC1B,iBACA,MAAO2B,EAAgBzD,IAAiB,CACtC,GAAI,CACF,MAAMhE,EAAWgE,EAAQ,SAAS,SAClC,GAAI,CAAChE,EAAU,OAEf,IAAI0H,EAAuB,GAO3B,GANAvC,EAAkBO,GAAU,CAC1BgC,EAAuBhC,EAAM,MAAM,KAAMvF,GACvCA,EAAK,SAAS,KAAMwH,GAAyBA,EAAQ,KAAO3H,CAAQ,CAAA,CAExE,CAAC,EAEG,CAAC0H,GAAwBD,IAAW,yBAA0B,OAElE,MAAMH,EAAetH,CAAQ,CAC/B,MAAgB,CAEhB,CACF,CAAA,EAKI4H,EAAe9B,EAAO,UAC1B,iBACA3D,EAA2B8C,EAAI,YAAa7C,EAAU,CACpD,eAAgB,KAAO,CACrB,cAAe6C,EAAI,cACnB,cAAeA,EAAI,cACnB,WAAYA,EAAI,WAChB,UAAWA,EAAI,WAAW,OAASA,EAAI,UAAY,MAAA,GAErD,oBAAqB,CAACjF,EAAUiD,IAAa,CAC3C,IAAIkE,EAAQ,GACZ,OAAAhC,EAAkBO,GAAU,CAC1ByB,EAAQzB,EAAM,MAAM,KAAMvF,GACxBA,EAAK,SAAS,KACXkH,GAAMA,EAAE,KAAOpE,GAAYoE,EAAE,iBAAiB,KAAOrH,CAAA,CACxD,CAEJ,CAAC,EACMmH,CACT,EACA,cAAe,CAAC,CAAE,QAAAvE,EAAS,QAAAC,EAAS,cAAAU,EAAe,YAAAyC,KAAkB,CACnEb,EAAkBO,GAAU,CAC1B,UAAWvF,KAAQuF,GAAO,OAAS,CAAA,EACjC,UAAW2B,KAAKlH,EAAK,SAAU,CAC7B,MAAM0H,EAAaR,EAAE,iBAAiB,GACtC,GAAKQ,EAYL,IATIjF,GACEA,EAAQ,KAAMkF,GAAMA,EAAE,WAAaD,GAAcC,EAAE,WAAaT,EAAE,EAAE,GAGtEU,EAAkB,IAAIV,EAAE,EAAE,EAK1BxE,EACF,SAAW,CAAE,SAAA7C,EAAU,MAAAkD,EAAO,MAAAE,EAAO,SAAAH,CAAA,IAAcJ,EAC7CwE,EAAE,KAAOpE,GAAY4E,IAAe7H,GAAYqH,EAAE,kBAEpDA,EAAE,gBAAgBnE,CAAK,EAAIE,GAMjC,GAAIG,EACF,SAAW,CAAE,SAAAvD,EAAU,UAAAkG,EAAW,aAAAC,CAAA,IAAkB5C,EAC9CsE,IAAe7H,GAAYqH,EAAE,kBAC/BA,EAAE,gBAAgB,UAAYnB,EAC9BmB,EAAE,gBAAgB,OAASlB,GAMjC,GAAIH,EACF,UAAWI,KAAeJ,EACpB6B,IAAezB,EAAY,IAAMiB,EAAE,kBACrCA,EAAE,gBAAkBjB,GAI5B,CAEJ,CAAC,EAID,UAAWM,KAAaqB,EACtBT,EAAeZ,CAAS,EAE1BqB,EAAkB,MAAA,CACpB,CAAA,CACD,CAAA,EAGGA,MAAwB,IAG9B,MAAM3C,EACNU,EAAO,YAAY0B,CAAY,EAC/B1B,EAAO,YAAY8B,CAAY,EAC3BvC,GACFA,EAAA,CAEJ,EACA,kBAAmBhG,CAAA,CACrB,EAIF,uBAAwB6E,EAAM,MAAgE,CAC5F,QAAS,MACP,CACE,YAAAvC,EACA,OAAAqG,EACA,eAAAC,EAAiB,gBACjB,cAAAC,EACA,cAAAC,EACA,WAAAC,EACA,UAAAzD,EACA,KAAAjF,EACA,OAAAD,EACA,aAAA4I,EACA,eAAAC,CAAA,EAEF5D,IACG,CACH,GAAI,CACF,MAAMiC,EAAW,CAAA,EACjB,UAAW4B,KAASP,EAAQ,CAC1B,MAAMQ,EAAQD,EAAM,OAAS,IAEvB1D,EAAyC,CAC7C,YAAAlD,EAEA,cAAAwG,EACA,WAAAC,EACA,cAAAF,EAEA,CAACD,CAAc,EAAGM,EAAM,OACxB,UAAW5D,GAAW,OAASA,EAAY,OAC3C,OAAAlF,EACA,aAAA4I,EACA,eAAAC,EAEA,MAAOC,EAAM,KAAA,EAGX7I,EACFmF,EAAY,KAAO2D,EAEnB3D,EAAY,MAAQ2D,EAGtB,MAAMC,EAAU/D,EAAI,SAClBnE,EAAwB,UAAU,YAAY,SAASsE,EAAa,CAClE,aAAc,EAAA,CACf,CAAA,EAEH8B,EAAS,KAAK8B,CAAO,CACvB,CAEA,MAAM/E,EAAS,MAAM,QAAQ,IAAIiD,CAAQ,EACnC+B,EAA0B,CAAA,EAEhC,UAAW7H,KAAO6C,EAAQ,CACxB,GAAI7C,EAAI,MAAO,MAAMA,EAAI,MAIzB,MAAM8H,EAAa9H,EAAI,cAAc,MAE/BoG,EACJpG,EAAI,MAAM,UAAU,aAAeA,EAAI,MAAM,UAAU,iBAAmB,GAEtE+H,EACJ/H,EAAI,MAAM,SAAS,IAAI,CAACoF,EAAStG,EAAGkJ,KAAO,CACzC,GAAG5C,EACH,OAAQ,CACN,CACE,MAAO0C,EACP,YAAahJ,IAAMkJ,EAAE,OAAS,GAAK5B,EAAc0B,EAAa,MAAA,CAChE,CACF,EACA,GAAK,CAAA,EAETD,EAAS,KAAK,GAAGE,CAAa,CAChC,CAEA,MAAO,CACL,KAAM,CACJ,SAAAF,CAAA,CACF,CAEJ,OAAS3H,EAAY,CACnB,eAAQ,MAAM,2CAA4CA,CAAK,EACxD,CACL,MAAO,CACL,OAAQ,cACR,MAAOgE,EAAAA,qBAAqBhE,EAAM,OAAO,CAAA,CAC3C,CAEJ,CACF,EACA,aAAcL,EAAAA,6BAGd,kBAAmB,MAAOuE,EAAK,CAAE,iBAAAE,EAAkB,kBAAAC,EAAmB,SAAAhD,KAAe,CACnF,IAAIiD,EAEJA,EAAwBC,EAAAA,4BACrBC,GAAuC,CACtC,MAAMC,EAAmBD,EAAS,OAAQE,GAAMA,EAAE,UAAYR,EAAI,WAAW,EACxEO,EAAiB,QAEtBL,EAAkBO,GAAU,CAC1BF,EAAiB,QAASxB,GAAY,CACpC,GAAIA,EAAQ,QAAQ,aAAe,UAAW,CAC5C,MAAM2B,EAASD,EAAM,SAAS,UAAWE,GAAMA,EAAE,KAAO5B,EAAQ,QAAQ,QAAQ,EAC5E2B,IAAW,KACbD,EAAM,SAASC,CAAM,EAAE,cAAgB3B,EAAQ,QAAQ,eAAiB,GAE5E,CACF,CAAC,CACH,CAAC,CACH,EACA,CAAC,SAAS,CAAA,EAGZ,MAAM6B,EAAQC,EAAO,UACnB,iBACA3D,EAA2B8C,EAAI,YAAa7C,EAAU,CACpD,eAAgB,KAAO,CACrB,cAAe6C,EAAI,cACnB,cAAeA,EAAI,cACnB,WAAYA,EAAI,WAChB,UAAWA,EAAI,WAAW,OAASA,EAAI,UAAY,OACnD,OAAQA,EAAI,OACZ,aAAcA,EAAI,aAClB,eAAgBA,EAAI,cAAA,GAEtB,oBAAsBjF,GAAa,CACjC,IAAImH,EAAQ,GACZ,OAAAhC,EAAkBO,GAAU,CAC1ByB,EAAQzB,EAAM,SAAS,KAAME,GAAMA,EAAE,KAAO5F,CAAQ,CACtD,CAAC,EACMmH,CACT,EACA,cAAe,CAAC,CAAE,QAAAvE,EAAS,QAAAC,EAAS,cAAAU,EAAe,YAAAyC,KAAkB,CACnEb,EAAkBO,GAAU,CAE1B,GAAI9C,EACF,SAAW,CAAE,SAAA5C,CAAA,IAAc4C,EAAS,CAClC,MAAM+C,EAASD,EAAM,SAAS,UAAWE,GAAMA,EAAE,KAAO5F,CAAQ,EAC5D2F,IAAW,IAAID,EAAM,SAAS,OAAOC,EAAQ,CAAC,CACpD,CAGF,GAAI9C,EACF,SAAW,CAAE,SAAA7C,EAAU,MAAAkD,EAAO,MAAAE,CAAA,IAAWP,EAAS,CAChD,MAAMoD,EAAUP,EAAM,SAAS,KAAME,GAAMA,EAAE,KAAO5F,CAAQ,EACxDiG,IAEFA,EAAQ/C,CAAK,EAAIE,EAErB,CAGF,GAAIG,EACF,SAAW,CAAE,SAAAvD,EAAU,UAAAkG,EAAW,aAAAC,CAAA,IAAkB5C,EAAe,CACjE,MAAM0C,EAAUP,EAAM,SAAS,KAAME,GAAMA,EAAE,KAAO5F,CAAQ,EACxDiG,IACFA,EAAQ,UAAYC,EACpBD,EAAQ,OAASE,EAErB,CAGF,GAAIH,EACF,UAAWI,KAAeJ,EAAa,CACrC,MAAM5F,EAAQsF,EAAM,SAAS,UAAWE,GAAMA,EAAE,KAAOQ,EAAY,EAAE,EACrE,GAAIhG,IAAU,GAAI,CAEhB,MAAM0I,EAAiBpD,EAAM,SAAStF,CAAK,EAAE,OAC7CsF,EAAM,SAAStF,CAAK,EAAI,CAAE,GAAGgG,EAAa,OAAQ0C,CAAA,CACpD,CACF,CAEJ,CAAC,CACH,CAAA,CACD,CAAA,EAIH,MAAM1D,EACNU,EAAO,YAAYD,CAAK,EACpBR,GACFA,EAAA,CAEJ,EACA,kBAAmBhG,CAAA,CACpB,CAAA,EAEL,CAAC,EAGY,CACX,oBAAA0J,EACA,+BAAAC,EACA,+BAAAC,CACF,EAAI1I,EAES,CACX,oCAAqC2I,EACrC,8BAAAC,EACA,oCAAqCC,EACrC,+BAAAC,CACF,EAAIpF"}
1
+ {"version":3,"file":"getVersionsProducts.cjs.js","sources":["../../../../../../src/api/queries/versions/getVersionsProducts.ts"],"sourcesContent":["// QUERIES FOR THE VERSIONS PAGE, FETCHING AND UPDATING DATA\n// Uses a separate graphqlVersionsApi for increased IDE speed\n\n// There are 4 main fetch requests:\n\n// Versions Only:\n// 1. GetVersions - fetches all versions in the project for given filtering and with pagination\n\n// Products and Versions (stacked):\n// 2. GetProducts - fetches all products in the project based on product and version filtering\n// 3. GetVersionsByProducts - when a product is expanded, fetches all versions for the products that are expanded. Uses getVersionsByProductId for each parent id. (uses queryFn)\n// 4. GetVersionsByProductId - get all versions for a specific product. Used by getVersionsByProducts only.\n\n// VersionFragment is used in all version queries to ensure consistent data structure\n\nimport {\n DefinitionsFromApi,\n FetchBaseQueryError,\n InfiniteData,\n OverrideResultType,\n TagTypesFromApi,\n} from '@reduxjs/toolkit/query'\nimport {\n GetProductsQuery,\n GetProductsQueryVariables,\n GetProductsColumnStatsQuery,\n GetVersionsByProductIdQueryVariables,\n GetVersionsColumnStatsQuery,\n GetVersionsQuery,\n GetVersionsQueryVariables,\n gqlApi,\n PageInfo,\n VpFolderFragment,\n} from '@shared/api/generated'\nimport {\n parseGQLErrorMessage,\n provideTagsForProductsInfinite,\n provideTagsForProductsResult,\n provideTagsForVersionsInfinite,\n provideTagsForVersionsResult,\n transformProductsResponse,\n transformVersionsResponse,\n} from './getVersionsProductsUtils'\nimport { parseAllAttribs } from '../overview'\nimport {\n getSupportedEntityPatch,\n createRealtimeBatcher,\n REALTIME_REST_CALL_LIMIT,\n REALTIME_UPDATE_DEBOUNCE,\n waitForRealtimeJitter,\n} from '@shared/util'\nimport PubSub from '@shared/util/pubsub'\nimport { subscribeToThumbnailUpdates, ThumbnailUpdateMessage } from '@shared/util'\nimport type { FieldStats } from '../columnStats'\nimport {\n normalizeFieldStats,\n mergeFieldStats,\n hasNewTargetFields,\n transformStatsError,\n} from '../columnStats'\n\nconst CACHE_TIME = 10 // seconds\n\n// SHARED CACHE UPDATE HELPERS\n// These helpers are used by PubSub handlers to update cached data in real-time\n\n/**\n * Finds the correct insertion index for a new item in a sorted array\n * Used when adding new items to maintain sort order\n */\nfunction findSortedInsertIndex<T>(items: T[], newItem: T, sortBy: keyof T, desc: boolean): number {\n for (let i = 0; i < items.length; i++) {\n const newValue = newItem[sortBy]\n const currentValue = items[i][sortBy]\n const shouldInsert = desc ? newValue > currentValue : newValue < currentValue\n\n if (shouldInsert) {\n return i\n }\n }\n return items.length\n}\n\n/**\n * Updates a paginated cache (draft.pages[].items[]) with a new/updated/deleted item\n * Handles: update existing, delete if not in response, add at sorted position\n *\n * @param pages - Array of page objects containing items arrays\n * @param entityId - ID of the entity to update/delete/add\n * @param updatedItem - The updated item, or undefined if deleted\n * @param itemsKey - Key to access items array in each page ('versions' or 'products')\n * @param sortBy - Property to sort by when inserting new items\n * @param desc - Sort direction (true = descending)\n */\nfunction updatePagedCache<T extends { id: string }>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n pages: any[],\n entityId: string,\n updatedItem: T | undefined,\n itemsKey: string,\n sortBy: keyof T,\n desc: boolean,\n): void {\n // Search for existing item in all pages\n for (const page of pages) {\n const items = page[itemsKey] as T[]\n const index = items.findIndex((item) => item.id === entityId)\n\n if (index !== -1) {\n if (updatedItem) {\n // Update existing item\n items[index] = updatedItem\n } else {\n // Item no longer exists or doesn't match filters - remove it\n items.splice(index, 1)\n }\n return\n }\n }\n\n // Item not found in cache - add at correct sorted position in first page\n if (updatedItem && pages.length > 0) {\n const items = pages[0][itemsKey] as T[]\n const insertIndex = findSortedInsertIndex(items, updatedItem, sortBy, desc)\n items.splice(insertIndex, 0, updatedItem)\n }\n}\n\n/**\n * Updates a flat cache (draft.items[]) with a new/updated/deleted item\n * Handles: update existing, delete if not in response, add new\n */\nfunction updateFlatCache<T extends { id: string }>(\n items: T[],\n entityId: string,\n updatedItem: T | undefined,\n): { index: number; action: 'updated' | 'deleted' | 'added' | 'none' } {\n const index = items.findIndex((item) => item.id === entityId)\n\n if (index !== -1) {\n if (updatedItem) {\n items[index] = updatedItem\n return { index, action: 'updated' }\n } else {\n items.splice(index, 1)\n return { index, action: 'deleted' }\n }\n } else if (updatedItem) {\n items.push(updatedItem)\n return { index: items.length - 1, action: 'added' }\n }\n\n return { index: -1, action: 'none' }\n}\n\n// Query result types\nexport type FolderAttribNode = VpFolderFragment & {\n attrib: Record<string, any> // parsed from allAttrib JSON string\n}\nexport type VersionNodeRAW = GetVersionsQuery['project']['versions']['edges'][0]['node']\nexport type VersionNode = VersionNodeRAW & {\n attrib: Record<string, any> // parsed from allAttrib JSON string\n product: VersionNodeRAW['product'] & {\n attrib: Record<string, any> // parsed from allAttrib JSON string\n folder: FolderAttribNode // folder with parsed attribs\n }\n groups?: { value?: string; hasNextPage?: string }[] // grouping metadata\n}\nexport type ProductNodeRAW = GetProductsQuery['project']['products']['edges'][0]['node']\nexport type ProductNode = Omit<ProductNodeRAW, 'versions'> & {\n attrib: Record<string, any> // parsed from allAttrib JSON string\n featuredVersion?: VersionNode | null // added separately\n folder: FolderAttribNode // folder with parsed attribs\n versions: {\n id: string\n name: string\n version: number\n heroVersionId?: string | null\n }[] // versions with isHero flag\n}\n\nexport type GetVersionsResult = {\n pageInfo?: PageInfo\n versions: VersionNode[]\n errors?: Array<{ productId: string; error: string }>\n}\n\n// for infinite query args\nexport type GetVersionsArgs = Omit<GetVersionsQueryVariables, 'cursor'> & {\n desc?: boolean // sort direction\n}\n\n// for paginated queries in infinite query\ntype VersionsPageParam = {\n cursor: string\n desc?: boolean\n}\n\nexport type GetProductsArgs = Omit<GetProductsQueryVariables, 'cursor' | 'versionIds'> & {\n desc?: boolean // sort direction\n}\n\ntype ProductsPageParam = {\n cursor: string\n desc?: boolean\n}\n\ntype GetVersionsByProductsArgs = GetVersionsByProductIdQueryVariables & {\n productIds: string[]\n desc?: boolean\n}\n\nexport type GetGroupedVersionsListArgs = {\n projectName: string\n groups: { filter: string; count?: number | null; value: string }[]\n groupFilterKey?: string\n versionFilter?: string\n productFilter?: string\n taskFilter?: string\n folderIds?: string[]\n desc?: boolean\n sortBy?: string\n featuredOnly?: string[]\n hasReviewables?: boolean\n}\n\nexport type GetGroupedVersionsListResult = {\n versions: VersionNode[]\n}\n\nexport type VersionInfiniteResult = InfiniteData<GetVersionsResult, VersionsPageParam> | undefined\n\nexport type ProductInfiniteResult = InfiniteData<GetProductsResult, ProductsPageParam> | undefined\n\nexport type GetProductsResult = {\n pageInfo: PageInfo\n products: ProductNode[]\n}\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetVersions'> & {\n GetVersions: OverrideResultType<Definitions['GetVersions'], GetVersionsResult>\n GetVersionsByProductId: OverrideResultType<Definitions['GetVersions'], GetVersionsResult>\n GetProducts: OverrideResultType<Definitions['GetProducts'], GetProductsResult>\n GetProductsColumnStats: OverrideResultType<Definitions['GetProductsColumnStats'], FieldStats[]>\n GetVersionsColumnStats: OverrideResultType<Definitions['GetVersionsColumnStats'], FieldStats[]>\n}\n\nconst enhancedVersionsPageApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n // used by both stacked and non-stacked views\n GetVersions: {\n transformResponse: transformVersionsResponse,\n providesTags: provideTagsForVersionsResult,\n keepUnusedDataFor: CACHE_TIME,\n },\n // used by getVersionsByProducts only\n GetVersionsByProductId: {\n transformResponse: transformVersionsResponse,\n providesTags: provideTagsForVersionsResult,\n keepUnusedDataFor: CACHE_TIME,\n },\n // used by getProductsInfinite only\n GetProducts: {\n transformResponse: transformProductsResponse,\n providesTags: provideTagsForProductsResult,\n keepUnusedDataFor: CACHE_TIME,\n },\n // footer stats: `targets` excluded from cache key + responses merged,\n // so column toggles reuse cache and only added targets refetch\n GetProductsColumnStats: {\n transformResponse: (res: GetProductsColumnStatsQuery) =>\n normalizeFieldStats(res?.project?.products?.fieldStats ?? []),\n transformErrorResponse: (error: any) => transformStatsError(error, 'product'),\n serializeQueryArgs: ({ queryArgs: { targets: _t, ...rest } }) => rest,\n merge: (cache, incoming) => mergeFieldStats(incoming, cache),\n forceRefetch: ({ currentArg, previousArg }) => hasNewTargetFields(currentArg, previousArg),\n providesTags: (_r, _e, { projectName }) => [{ type: 'productColumnStats', id: projectName }],\n keepUnusedDataFor: CACHE_TIME,\n },\n GetVersionsColumnStats: {\n transformResponse: (res: GetVersionsColumnStatsQuery) =>\n normalizeFieldStats(res?.project?.versions?.fieldStats ?? []),\n transformErrorResponse: (error: any) => transformStatsError(error, 'version'),\n serializeQueryArgs: ({ queryArgs: { targets: _t, ...rest } }) => rest,\n merge: (cache, incoming) => mergeFieldStats(incoming, cache),\n forceRefetch: ({ currentArg, previousArg }) => hasNewTargetFields(currentArg, previousArg),\n providesTags: (_r, _e, { projectName }) => [{ type: 'versionColumnStats', id: projectName }],\n keepUnusedDataFor: CACHE_TIME,\n },\n },\n})\n\nexport const VP_INFINITE_QUERY_COUNT = 250 // Number of items to fetch per page\nconst VERSIONS_BY_PRODUCT_ID_QUERY_COUNT = 1000 // max number of versions to fetch per product id\nconst MAX_PAGES_PER_PRODUCT = 10 // Hard cutoff to prevent infinite loops\n\nconst supportedVersionFields = ['status', 'tags']\n\n/**\n * Reusable handler for websocket version updates to perform efficient batched cache updates\n */\nfunction createVersionUpdateBatcher(\n projectName: string,\n dispatch: any,\n handlers: {\n checkVersionInCache: (entityId: string, parentId?: string) => boolean\n onBatchUpdate: (changes: {\n deleted?: { entityId: string; parentId?: string }[]\n patched?: { entityId: string; field: string; value: any; parentId?: string }[]\n attribPatched?: { entityId: string; allAttrib: string; parsedAttrib: any }[]\n fullUpdated?: VersionNode[]\n }) => void\n getBaseFilters?: () => any\n },\n) {\n const batchProcessMessages = async (updates: { topic: string; message: any }[]) => {\n const deleted: { entityId: string; parentId?: string }[] = []\n const patched: { entityId: string; field: string; value: any; parentId?: string }[] = []\n const attribsToFetch = new Set<string>()\n const fullFetchIds = new Set<string>()\n\n for (const { topic, message: msg } of updates) {\n const entityId = msg.summary?.entityId\n const parentId = msg.summary?.parentId\n if (!entityId) continue\n\n if (topic === 'entity.version.deleted') {\n deleted.push({ entityId, parentId })\n } else if (topic === 'entity.version.created') {\n fullFetchIds.add(entityId)\n } else if (topic.startsWith('entity.version.') && topic.endsWith('_changed')) {\n const versionFound = handlers.checkVersionInCache(entityId, parentId)\n if (!versionFound) continue\n\n const field = topic.split('.')[2].split('_changed')[0]\n\n if (field === 'attrib') {\n attribsToFetch.add(entityId)\n continue\n }\n\n const patch = getSupportedEntityPatch(field, msg.summary, supportedVersionFields)\n if (!patch) {\n fullFetchIds.add(entityId)\n continue\n }\n\n patched.push({ entityId, field: patch.field, value: patch.value, parentId })\n }\n }\n\n if (fullFetchIds.size > 0 && fullFetchIds.size <= REALTIME_REST_CALL_LIMIT && dispatch) {\n try {\n await waitForRealtimeJitter()\n\n const result = await dispatch(\n enhancedVersionsPageApi.endpoints.GetVersions.initiate({\n ...(handlers.getBaseFilters?.() || {}),\n projectName,\n versionIds: Array.from(fullFetchIds),\n }),\n )\n\n if (result.data?.versions) {\n handlers.onBatchUpdate({ fullUpdated: result.data.versions })\n }\n } catch (e) {\n console.error('Failed to fetch full version data batch', e)\n }\n }\n\n const attribPatched: { entityId: string; allAttrib: string; parsedAttrib: any }[] = []\n if (attribsToFetch.size > 0 && attribsToFetch.size <= REALTIME_REST_CALL_LIMIT && dispatch) {\n try {\n await waitForRealtimeJitter()\n\n const versionIds = Array.from(attribsToFetch)\n const result = await dispatch(\n enhancedVersionsPageApi.endpoints.GetVersionsAttribs.initiate(\n { projectName, versionIds },\n { forceRefetch: true },\n ),\n )\n\n if (result.data?.project?.versions?.edges) {\n for (const edge of result.data.project.versions.edges) {\n const node = edge.node\n if (node) {\n attribPatched.push({\n entityId: node.id,\n allAttrib: node.allAttrib,\n parsedAttrib: parseAllAttribs(node.allAttrib),\n })\n }\n }\n }\n } catch (e) {\n console.error('Failed to fetch patched version attribs', e)\n }\n }\n\n if (deleted.length > 0 || patched.length > 0 || attribPatched.length > 0) {\n handlers.onBatchUpdate({ deleted, patched, attribPatched })\n }\n }\n\n const batcher = createRealtimeBatcher(\n batchProcessMessages,\n ({ message }) => message.summary?.entityId,\n )\n\n const handleRealtimeUpdate = (topic: string, message: any) => {\n const project = message.project\n if (project !== projectName) return\n\n const entityId = message.summary?.entityId\n if (!entityId) return\n\n batcher.add({ topic, message })\n }\n\n return {\n handle: handleRealtimeUpdate,\n clear() {\n batcher.clear()\n },\n }\n}\n\nconst injectedVersionsPageApi = enhancedVersionsPageApi.injectEndpoints({\n endpoints: (build) => ({\n // enhance GetVersions with an infinite query\n getVersionsInfinite: build.infiniteQuery<GetVersionsResult, GetVersionsArgs, VersionsPageParam>(\n {\n infiniteQueryOptions: {\n initialPageParam: { cursor: '', desc: false },\n // Calculate the next page param based on current page response and params\n getNextPageParam: (lastPage, _allPages, lastPageParam, _allPageParams) => {\n // Use the endCursor from the query as the next page param\n const pageInfo = lastPage.pageInfo\n const desc = lastPageParam.desc\n const hasNextPage = desc ? pageInfo?.hasPreviousPage : pageInfo?.hasNextPage\n\n if (!hasNextPage || !pageInfo?.endCursor) return undefined\n\n return {\n cursor: pageInfo?.endCursor,\n desc: lastPageParam.desc,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { sortBy, desc, folderIds, ...rest } = queryArg\n const { cursor } = pageParam\n\n // Build the query parameters for GetVersions query\n const queryParams: any = {\n ...rest,\n }\n\n // Add cursor-based pagination\n if (sortBy) {\n queryParams.sortBy = sortBy\n if (desc) {\n queryParams.before = cursor || undefined\n queryParams.last = VP_INFINITE_QUERY_COUNT\n } else {\n queryParams.after = cursor || undefined\n queryParams.first = VP_INFINITE_QUERY_COUNT\n }\n } else {\n queryParams.after = cursor || undefined\n queryParams.first = VP_INFINITE_QUERY_COUNT\n }\n\n // if folderIds have a length, add them to the query params\n if (folderIds && folderIds.length) {\n queryParams.folderIds = folderIds\n }\n\n // Call the existing GetVersions gql query\n const result = await api.dispatch(\n enhancedVersionsPageApi.endpoints.GetVersions.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) throw result.error\n const fallback = {\n versions: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n }\n\n // Return the versions directly as required by the infinite query format\n return {\n data: result.data || fallback,\n }\n } catch (e: any) {\n console.error('Error in getVersionsInfiniteQuery queryFn:', e)\n return {\n error: {\n status: 'FETCH_ERROR',\n error: parseGQLErrorMessage(e.message),\n } as FetchBaseQueryError,\n }\n }\n },\n providesTags: provideTagsForVersionsInfinite,\n // Subscribes to version entity changes and updates cache accordingly\n // Handles: create, update, delete operations\n onCacheEntryAdded: async (\n arg,\n { getCacheEntry, updateCachedData, cacheEntryRemoved, dispatch },\n ) => {\n let unsubscribeThumbnails: (() => void) | undefined\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n const relevantMessages = messages.filter((m) => m.project === arg.projectName)\n if (!relevantMessages.length) return\n\n updateCachedData((draft) => {\n relevantMessages.forEach((message) => {\n if (message.summary.entityType === 'version') {\n draft.pages.forEach((page) => {\n const vIndex = page.versions.findIndex(\n (v) => v.id === message.summary.entityId,\n )\n if (vIndex !== -1) {\n page.versions[vIndex].thumbnailHash = message.summary.thumbnailHash || ''\n }\n })\n }\n })\n })\n },\n ['version'],\n )\n\n const realtimeBatcher = createVersionUpdateBatcher(arg.projectName, dispatch, {\n getBaseFilters: () => ({\n versionFilter: arg.versionFilter,\n productFilter: arg.productFilter,\n taskFilter: arg.taskFilter,\n folderIds: arg.folderIds?.length ? arg.folderIds : undefined,\n featuredOnly: arg.featuredOnly,\n hasReviewables: arg.hasReviewables,\n sortBy: arg.sortBy,\n }),\n checkVersionInCache: (entityId) => {\n const cacheVersions = getCacheEntry().data\n if (!cacheVersions) return false\n for (const page of cacheVersions.pages || []) {\n if (page.versions.some((v) => v.id === entityId)) return true\n }\n return false\n },\n onBatchUpdate: ({ deleted, patched, attribPatched, fullUpdated }) => {\n updateCachedData((draft) => {\n for (const page of draft?.pages || []) {\n // Handle deletes\n if (deleted) {\n for (const { entityId } of deleted) {\n const vIndex = page.versions.findIndex((v) => v.id === entityId)\n if (vIndex !== -1) page.versions.splice(vIndex, 1)\n }\n }\n // Handle simple patches\n if (patched) {\n for (const { entityId, field, value } of patched) {\n const version = page.versions.find((v) => v.id === entityId)\n if (version) {\n // @ts-expect-error valid field\n version[field] = value\n }\n }\n }\n // Handle attrib patched\n if (attribPatched) {\n for (const { entityId, allAttrib, parsedAttrib } of attribPatched) {\n const version = page.versions.find((v) => v.id === entityId)\n if (version) {\n version.allAttrib = allAttrib\n version.attrib = parsedAttrib\n }\n }\n }\n // Handle full updates\n if (fullUpdated) {\n for (const updatedNode of fullUpdated) {\n const vIndex = page.versions.findIndex((v) => v.id === updatedNode.id)\n if (vIndex !== -1) {\n page.versions[vIndex] = updatedNode\n } else {\n // New version not in cache, try to insert in first page if it fits sort\n // (This is a simplification, full refetch is usually better for new items in pagination)\n const sortKey = (arg.sortBy || 'createdAt') as keyof VersionNode\n const insertIndex = findSortedInsertIndex(\n page.versions,\n updatedNode,\n sortKey,\n arg.desc || false,\n )\n // Only insert if it's within current page bounds or we are on first page\n if (page === draft.pages[0]) {\n page.versions.splice(insertIndex, 0, updatedNode)\n }\n }\n }\n }\n }\n })\n },\n })\n const token = PubSub.subscribe('entity.version', realtimeBatcher.handle)\n\n // Cleanup: unsubscribe when cache entry is removed\n await cacheEntryRemoved\n realtimeBatcher.clear()\n PubSub.unsubscribe(token)\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n },\n keepUnusedDataFor: CACHE_TIME,\n },\n ),\n\n // custom query function that fetches versions by multiple parent ids -not infinite and gets 1000 versions max\n getVersionsByProducts: build.query<GetVersionsResult, GetVersionsByProductsArgs>({\n queryFn: async (args, { dispatch, forced }) => {\n const { productIds = [], desc, ...rest } = args\n\n // Helper function to fetch a page of versions\n const fetchVersionsPage = async (productId: string, cursor?: string) => {\n const queryParams: GetVersionsByProductIdQueryVariables = {\n ...rest,\n productIds: [productId],\n }\n\n if (desc) {\n if (cursor) queryParams.before = cursor\n queryParams.last = VERSIONS_BY_PRODUCT_ID_QUERY_COUNT\n } else {\n if (cursor) queryParams.after = cursor\n queryParams.first = VERSIONS_BY_PRODUCT_ID_QUERY_COUNT\n }\n\n return dispatch(\n enhancedVersionsPageApi.endpoints.GetVersionsByProductId.initiate(queryParams, {\n forceRefetch: forced,\n }),\n )\n }\n\n // for each product id, call getVersionsByProductId\n const promises = productIds.map((productId) => fetchVersionsPage(productId))\n\n // wait for all requests to settle (either fulfilled or rejected)\n const settledResults = await Promise.allSettled(promises)\n\n // Collect all versions from initial queries\n const allVersions: VersionNode[] = []\n const errors: Array<{ productId: string; error: any }> = []\n\n // Check each result for additional pages and fetch them if needed\n for (let i = 0; i < settledResults.length; i++) {\n const settledResult = settledResults[i]\n const productId = productIds[i]\n\n // Handle rejected promises\n if (settledResult.status === 'rejected') {\n console.error(`Error fetching versions for product ${productId}:`, settledResult.reason)\n errors.push({ productId, error: parseGQLErrorMessage(settledResult.reason) })\n continue\n }\n\n // Handle errors in fulfilled promises\n const result = settledResult.value\n if (result.error) {\n console.error(`Error fetching versions for product ${productId}:`, result.error)\n errors.push({\n productId,\n // @ts-expect-error - message\n error: parseGQLErrorMessage(result.error?.message || 'Unknown error'),\n })\n continue\n }\n\n if (!result.data) continue\n\n // Add initial page versions\n allVersions.push(...result.data.versions)\n\n // Check if there are more pages to fetch\n let pageInfo = result.data.pageInfo\n let pageCount = 1\n\n while (pageInfo && pageCount < MAX_PAGES_PER_PRODUCT) {\n const hasNextPage = desc ? pageInfo.hasPreviousPage : pageInfo.hasNextPage\n const cursor = pageInfo.endCursor\n\n if (!hasNextPage || !cursor) break\n\n // Fetch next page\n const nextPageResult = await fetchVersionsPage(productId, cursor)\n\n if (nextPageResult.error) {\n console.error(\n `Error fetching versions page ${pageCount + 1} for product ${productId}:`,\n nextPageResult.error,\n )\n errors.push({ productId, error: nextPageResult.error })\n break\n }\n\n if (!nextPageResult.data) break\n\n allVersions.push(...nextPageResult.data.versions)\n pageInfo = nextPageResult.data.pageInfo\n pageCount++\n }\n }\n\n // If some requests failed but we have data, log warning but return successful data\n if (errors.length > 0) {\n console.warn(\n `Partial success: ${errors.length} of ${productIds.length} products failed to fetch versions`,\n errors,\n )\n }\n\n return {\n data: {\n versions: allVersions,\n pageInfo: undefined, // pageInfo is undefined as we've flattened multiple queries\n errors: errors.length > 0 ? errors : undefined,\n },\n }\n },\n // Subscribes to version entity changes for expanded products\n // Only updates versions that belong to currently expanded products\n onCacheEntryAdded: async (arg, { updateCachedData, cacheEntryRemoved, dispatch }) => {\n let unsubscribeThumbnails: (() => void) | undefined\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n const relevantMessages = messages.filter((m) => m.project === arg.projectName)\n if (!relevantMessages.length) return\n\n updateCachedData((draft) => {\n relevantMessages.forEach((message) => {\n if (message.summary.entityType === 'version') {\n const vIndex = draft.versions.findIndex((v) => v.id === message.summary.entityId)\n if (vIndex !== -1) {\n draft.versions[vIndex].thumbnailHash = message.summary.thumbnailHash || ''\n }\n }\n })\n })\n },\n ['version'],\n )\n\n const realtimeBatcher = createVersionUpdateBatcher(arg.projectName, dispatch, {\n getBaseFilters: () => ({\n versionFilter: arg.versionFilter,\n taskFilter: arg.taskFilter,\n productIds: arg.productIds,\n }),\n checkVersionInCache: (entityId, parentId) => {\n if (!parentId || !arg.productIds.includes(parentId)) return false\n let found = false\n updateCachedData((draft) => {\n found = draft.versions.some((v) => v.id === entityId)\n })\n return found\n },\n onBatchUpdate: ({ deleted, patched, attribPatched, fullUpdated }) => {\n updateCachedData((draft) => {\n // Handle deletes\n if (deleted) {\n for (const { entityId } of deleted) {\n const vIndex = draft.versions.findIndex((v) => v.id === entityId)\n if (vIndex !== -1) draft.versions.splice(vIndex, 1)\n }\n }\n // Handle simple patches\n if (patched) {\n for (const { entityId, field, value } of patched) {\n const version = draft.versions.find((v) => v.id === entityId)\n if (version) {\n // @ts-expect-error valid field\n version[field] = value\n }\n }\n }\n // Handle attrib patches\n if (attribPatched) {\n for (const { entityId, allAttrib, parsedAttrib } of attribPatched) {\n const version = draft.versions.find((v) => v.id === entityId)\n if (version) {\n version.allAttrib = allAttrib\n version.attrib = parsedAttrib\n }\n }\n }\n // Handle full updates\n if (fullUpdated) {\n for (const updatedNode of fullUpdated) {\n const index = draft.versions.findIndex((v) => v.id === updatedNode.id)\n if (index !== -1) {\n draft.versions[index] = updatedNode\n } else {\n // Add at correct sorted position\n const sortKey = (arg.sortBy || 'createdAt') as keyof VersionNode\n const insertIndex = findSortedInsertIndex(\n draft.versions,\n updatedNode,\n sortKey,\n arg.desc || false,\n )\n draft.versions.splice(insertIndex, 0, updatedNode)\n }\n }\n }\n })\n },\n })\n const token = PubSub.subscribe('entity.version', realtimeBatcher.handle)\n\n // Cleanup: unsubscribe when cache entry is removed\n await cacheEntryRemoved\n realtimeBatcher.clear()\n PubSub.unsubscribe(token)\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n },\n providesTags: provideTagsForVersionsResult,\n keepUnusedDataFor: CACHE_TIME,\n }),\n\n // enhance GetProducts with an infinite query\n getProductsInfinite: build.infiniteQuery<GetProductsResult, GetProductsArgs, ProductsPageParam>(\n {\n infiniteQueryOptions: {\n initialPageParam: { cursor: '', desc: false },\n // Calculate the next page param based on current page response and params\n getNextPageParam: (lastPage, _allPages, lastPageParam, _allPageParams) => {\n // Use the endCursor from the query as the next page param\n const pageInfo = lastPage.pageInfo\n const desc = lastPageParam.desc\n const hasNextPage = desc ? pageInfo?.hasPreviousPage : pageInfo?.hasNextPage\n\n if (!hasNextPage || !pageInfo?.endCursor) return undefined\n\n return {\n cursor: pageInfo?.endCursor,\n desc: lastPageParam.desc,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n let result\n try {\n const { sortBy, desc, folderIds, ...rest } = queryArg\n const { cursor } = pageParam\n\n // Build the query parameters for GetProducts query\n const queryParams: any = {\n ...rest,\n }\n\n // Add cursor-based pagination\n if (sortBy) {\n queryParams.sortBy = sortBy\n if (desc) {\n queryParams.before = cursor || undefined\n queryParams.last = VP_INFINITE_QUERY_COUNT\n } else {\n queryParams.after = cursor || undefined\n queryParams.first = VP_INFINITE_QUERY_COUNT\n }\n } else {\n queryParams.after = cursor || undefined\n queryParams.first = VP_INFINITE_QUERY_COUNT\n }\n\n // if folderIds have a length, add them to the query params\n if (folderIds && folderIds.length) {\n queryParams.folderIds = folderIds\n }\n\n // Call the existing GetProducts gql query\n result = await api.dispatch(\n enhancedVersionsPageApi.endpoints.GetProducts.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) throw result.error\n const fallback = {\n products: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n }\n\n // Return the products directly as required by the infinite query format\n return {\n data: result.data || fallback,\n }\n } catch (e: any) {\n console.error('Error in getProductsInfiniteQuery queryFn:', e)\n return {\n error: {\n status: 'FETCH_ERROR',\n error: parseGQLErrorMessage(e.message),\n } as FetchBaseQueryError,\n }\n }\n },\n providesTags: provideTagsForProductsInfinite,\n // Subscribes to product entity changes and updates cache accordingly\n // Handles: create, update, delete operations\n // Often triggered together with version changes (new product + version)\n\n onCacheEntryAdded: async (arg, { updateCachedData, cacheEntryRemoved, dispatch }) => {\n let unsubscribeThumbnails: (() => void) | undefined\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n const relevantMessages = messages.filter((m) => m.project === arg.projectName)\n if (!relevantMessages.length) return\n\n updateCachedData((draft) => {\n relevantMessages.forEach((message) => {\n if (message.summary.entityType === 'version') {\n draft.pages.forEach((page) => {\n page.products.forEach((p) => {\n if (p.featuredVersion?.id === message.summary.entityId) {\n p.featuredVersion.thumbnailHash = message.summary.thumbnailHash || ''\n }\n })\n })\n }\n })\n })\n },\n ['version'],\n )\n\n // Helper to refetch and update a product in cache\n const refetchProduct = async (productId: string) => {\n const queryParams: any = {\n projectName: arg.projectName,\n productIds: [productId],\n productFilter: arg.productFilter,\n versionFilter: arg.versionFilter,\n taskFilter: arg.taskFilter,\n folderIds: arg.folderIds?.length ? arg.folderIds : undefined,\n first: 1,\n }\n\n const result = await dispatch(\n enhancedVersionsPageApi.endpoints.GetProducts.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) return\n\n // Update the cache: update existing, delete if not found, or add new\n updateCachedData((draft) => {\n const updatedProduct = result.data?.products?.[0]\n updatePagedCache(\n draft.pages,\n productId,\n updatedProduct,\n 'products',\n (arg.sortBy || 'createdAt') as keyof ProductNode,\n arg.desc || false,\n )\n })\n }\n\n // Subscribe to product entity changes from websocket\n const productToken = PubSub.subscribe(\n 'entity.product',\n async (_topic: string, message: any) => {\n try {\n const entityId = message.summary?.entityId\n if (!entityId) return\n\n let productExistsInCache = false\n updateCachedData((draft) => {\n productExistsInCache = draft.pages.some((page) =>\n page.products.some((product: ProductNode) => product.id === entityId),\n )\n })\n\n if (!productExistsInCache && _topic !== 'entity.product.created') return\n\n await refetchProduct(entityId)\n } catch (error) {\n // Silently handle errors to prevent UI disruption\n }\n },\n )\n\n // Subscribe to version entity changes - refetch parent product when version changes\n // This ensures product's versions list and featuredVersion stay up-to-date\n const realtimeBatcher = createVersionUpdateBatcher(arg.projectName, dispatch, {\n getBaseFilters: () => ({\n versionFilter: arg.versionFilter,\n productFilter: arg.productFilter,\n taskFilter: arg.taskFilter,\n folderIds: arg.folderIds?.length ? arg.folderIds : undefined,\n }),\n checkVersionInCache: (entityId, parentId) => {\n let found = false\n updateCachedData((draft) => {\n found = draft.pages.some((page) =>\n page.products.some(\n (p) => p.id === parentId && p.featuredVersion?.id === entityId,\n ),\n )\n })\n return found\n },\n onBatchUpdate: ({ deleted, patched, attribPatched, fullUpdated }) => {\n updateCachedData((draft) => {\n for (const page of draft?.pages || []) {\n for (const p of page.products) {\n const featuredId = p.featuredVersion?.id\n if (!featuredId) continue\n\n // Handle deletes\n if (deleted) {\n if (deleted.some((d) => d.entityId === featuredId && d.parentId === p.id)) {\n // Version deleted, need to refetch product to update featuredVersion\n // Using a set to track which products need refetch to avoid multiple calls\n productsToRefetch.add(p.id)\n }\n }\n\n // Handle simple patches\n if (patched) {\n for (const { entityId, field, value, parentId } of patched) {\n if (p.id === parentId && featuredId === entityId && p.featuredVersion) {\n // @ts-expect-error valid field\n p.featuredVersion[field] = value\n }\n }\n }\n\n // Handle attrib patches\n if (attribPatched) {\n for (const { entityId, allAttrib, parsedAttrib } of attribPatched) {\n if (featuredId === entityId && p.featuredVersion) {\n p.featuredVersion.allAttrib = allAttrib\n p.featuredVersion.attrib = parsedAttrib\n }\n }\n }\n\n // Handle full updates\n if (fullUpdated) {\n for (const updatedNode of fullUpdated) {\n if (featuredId === updatedNode.id && p.featuredVersion) {\n p.featuredVersion = updatedNode\n }\n }\n }\n }\n }\n })\n\n // If any products need full refetch (due to deletes or new version becoming featured)\n // we trigger that now\n for (const productId of productsToRefetch) {\n refetchProduct(productId)\n }\n productsToRefetch.clear()\n },\n })\n const versionToken = PubSub.subscribe('entity.version', realtimeBatcher.handle)\n\n const productsToRefetch = new Set<string>()\n\n // Cleanup: unsubscribe when cache entry is removed\n await cacheEntryRemoved\n realtimeBatcher.clear()\n PubSub.unsubscribe(productToken)\n PubSub.unsubscribe(versionToken)\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n },\n keepUnusedDataFor: CACHE_TIME,\n },\n ),\n\n // Grouped versions query - fetches versions for multiple group filters\n getGroupedVersionsList: build.query<GetGroupedVersionsListResult, GetGroupedVersionsListArgs>({\n queryFn: async (\n {\n projectName,\n groups,\n groupFilterKey = 'versionFilter',\n versionFilter, // most of the time overridden by group filters\n productFilter,\n taskFilter,\n folderIds,\n desc,\n sortBy,\n featuredOnly,\n hasReviewables,\n },\n api,\n ) => {\n try {\n const promises = []\n for (const group of groups) {\n const count = group.count || 500\n\n const queryParams: GetVersionsQueryVariables = {\n projectName,\n // base filters\n productFilter,\n taskFilter,\n versionFilter,\n // specific group filter\n [groupFilterKey]: group.filter,\n folderIds: folderIds?.length ? folderIds : undefined,\n sortBy: sortBy,\n featuredOnly,\n hasReviewables,\n // @ts-expect-error - group param used later on\n group: group.value,\n }\n\n if (desc) {\n queryParams.last = count\n } else {\n queryParams.first = count\n }\n\n const promise = api.dispatch(\n enhancedVersionsPageApi.endpoints.GetVersions.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n promises.push(promise)\n }\n\n const result = await Promise.all(promises)\n const versions: VersionNode[] = []\n\n for (const res of result) {\n if (res.error) throw res.error\n\n // get group value\n // @ts-expect-error - we know group does exist on res.originalArgs\n const groupValue = res.originalArgs?.group as string\n\n const hasNextPage =\n res.data?.pageInfo?.hasNextPage || res.data?.pageInfo?.hasPreviousPage || false\n\n const groupVersions =\n res.data?.versions.map((version, i, a) => ({\n ...version,\n groups: [\n {\n value: groupValue,\n hasNextPage: i === a.length - 1 && hasNextPage ? groupValue : undefined,\n },\n ],\n })) || []\n\n versions.push(...groupVersions)\n }\n\n return {\n data: {\n versions,\n },\n }\n } catch (error: any) {\n console.error('Error in getGroupedVersionsList queryFn:', error)\n return {\n error: {\n status: 'FETCH_ERROR',\n error: parseGQLErrorMessage(error.message),\n } as FetchBaseQueryError,\n }\n }\n },\n providesTags: provideTagsForVersionsResult,\n // Subscribes to version entity changes and updates cache accordingly\n // Handles: create, update, delete operations for grouped versions view\n onCacheEntryAdded: async (arg, { updateCachedData, cacheEntryRemoved, dispatch }) => {\n let unsubscribeThumbnails: (() => void) | undefined\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n const relevantMessages = messages.filter((m) => m.project === arg.projectName)\n if (!relevantMessages.length) return\n\n updateCachedData((draft) => {\n relevantMessages.forEach((message) => {\n if (message.summary.entityType === 'version') {\n const vIndex = draft.versions.findIndex((v) => v.id === message.summary.entityId)\n if (vIndex !== -1) {\n draft.versions[vIndex].thumbnailHash = message.summary.thumbnailHash || ''\n }\n }\n })\n })\n },\n ['version'],\n )\n\n const realtimeBatcher = createVersionUpdateBatcher(arg.projectName, dispatch, {\n getBaseFilters: () => ({\n versionFilter: arg.versionFilter,\n productFilter: arg.productFilter,\n taskFilter: arg.taskFilter,\n folderIds: arg.folderIds?.length ? arg.folderIds : undefined,\n sortBy: arg.sortBy,\n featuredOnly: arg.featuredOnly,\n hasReviewables: arg.hasReviewables,\n }),\n checkVersionInCache: (entityId) => {\n let found = false\n updateCachedData((draft) => {\n found = draft.versions.some((v) => v.id === entityId)\n })\n return found\n },\n onBatchUpdate: ({ deleted, patched, attribPatched, fullUpdated }) => {\n updateCachedData((draft) => {\n // Handle deletes\n if (deleted) {\n for (const { entityId } of deleted) {\n const vIndex = draft.versions.findIndex((v) => v.id === entityId)\n if (vIndex !== -1) draft.versions.splice(vIndex, 1)\n }\n }\n // Handle patches\n if (patched) {\n for (const { entityId, field, value } of patched) {\n const version = draft.versions.find((v) => v.id === entityId)\n if (version) {\n // @ts-expect-error valid field\n version[field] = value\n }\n }\n }\n // Handle attrib patches\n if (attribPatched) {\n for (const { entityId, allAttrib, parsedAttrib } of attribPatched) {\n const version = draft.versions.find((v) => v.id === entityId)\n if (version) {\n version.allAttrib = allAttrib\n version.attrib = parsedAttrib\n }\n }\n }\n // Handle full updates\n if (fullUpdated) {\n for (const updatedNode of fullUpdated) {\n const index = draft.versions.findIndex((v) => v.id === updatedNode.id)\n if (index !== -1) {\n // Preserve groups when updating\n const originalGroups = draft.versions[index].groups\n draft.versions[index] = { ...updatedNode, groups: originalGroups }\n }\n }\n }\n })\n },\n })\n const token = PubSub.subscribe('entity.version', realtimeBatcher.handle)\n\n // Cleanup: unsubscribe when cache entry is removed\n await cacheEntryRemoved\n realtimeBatcher.clear()\n PubSub.unsubscribe(token)\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n },\n keepUnusedDataFor: CACHE_TIME,\n }),\n }),\n})\n\n// export gql endpoints\nexport const {\n useGetVersionsQuery,\n useGetProductsColumnStatsQuery,\n useGetVersionsColumnStatsQuery,\n} = enhancedVersionsPageApi\n// export custom queries\nexport const {\n useGetVersionsInfiniteInfiniteQuery: useGetVersionsInfiniteQuery,\n useGetVersionsByProductsQuery,\n useGetProductsInfiniteInfiniteQuery: useGetProductsInfiniteQuery,\n useGetGroupedVersionsListQuery,\n} = injectedVersionsPageApi\n\n// export API instances for cache manipulation\nexport { enhancedVersionsPageApi, injectedVersionsPageApi }\n"],"names":["CACHE_TIME","findSortedInsertIndex","items","newItem","sortBy","desc","i","newValue","currentValue","updatePagedCache","pages","entityId","updatedItem","itemsKey","page","index","item","insertIndex","enhancedVersionsPageApi","gqlApi","transformVersionsResponse","provideTagsForVersionsResult","transformProductsResponse","provideTagsForProductsResult","res","normalizeFieldStats","error","transformStatsError","_t","rest","cache","incoming","mergeFieldStats","currentArg","previousArg","hasNewTargetFields","_r","_e","projectName","VP_INFINITE_QUERY_COUNT","VERSIONS_BY_PRODUCT_ID_QUERY_COUNT","MAX_PAGES_PER_PRODUCT","supportedVersionFields","createVersionUpdateBatcher","dispatch","handlers","batchProcessMessages","updates","deleted","patched","attribsToFetch","fullFetchIds","topic","msg","parentId","field","patch","getSupportedEntityPatch","REALTIME_REST_CALL_LIMIT","waitForRealtimeJitter","result","e","attribPatched","versionIds","edge","node","parseAllAttribs","batcher","createRealtimeBatcher","message","injectedVersionsPageApi","build","lastPage","_allPages","lastPageParam","_allPageParams","pageInfo","queryArg","pageParam","api","folderIds","cursor","queryParams","fallback","parseGQLErrorMessage","provideTagsForVersionsInfinite","arg","getCacheEntry","updateCachedData","cacheEntryRemoved","unsubscribeThumbnails","subscribeToThumbnailUpdates","messages","relevantMessages","m","draft","vIndex","v","realtimeBatcher","cacheVersions","fullUpdated","value","version","allAttrib","parsedAttrib","updatedNode","sortKey","token","PubSub","args","forced","productIds","fetchVersionsPage","productId","promises","settledResults","allVersions","errors","settledResult","pageCount","hasNextPage","nextPageResult","found","provideTagsForProductsInfinite","p","refetchProduct","updatedProduct","productToken","_topic","productExistsInCache","product","featuredId","d","productsToRefetch","versionToken","groups","groupFilterKey","versionFilter","productFilter","taskFilter","featuredOnly","hasReviewables","group","count","promise","versions","groupValue","groupVersions","a","originalGroups","useGetVersionsQuery","useGetProductsColumnStatsQuery","useGetVersionsColumnStatsQuery","useGetVersionsInfiniteQuery","useGetVersionsByProductsQuery","useGetProductsInfiniteQuery","useGetGroupedVersionsListQuery"],"mappings":"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"}