@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.
- package/dist/DetailsPanel.cjs.js +1 -1
- package/dist/DetailsPanel.es.js +27 -26
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +1 -1
- package/dist/ProjectTreeTable.es.js +236 -235
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/Slicer.cjs.js +1 -1
- package/dist/Slicer.es.js +34 -33
- package/dist/Slicer.es.js.map +1 -1
- package/dist/_virtual/ConsumeSharedPlugin.cjs.js +2 -0
- package/dist/_virtual/ConsumeSharedPlugin.cjs.js.map +1 -0
- package/dist/_virtual/ConsumeSharedPlugin.es.js +5 -0
- package/dist/_virtual/ConsumeSharedPlugin.es.js.map +1 -0
- package/dist/_virtual/ContainerPlugin.cjs.js +2 -0
- package/dist/_virtual/ContainerPlugin.cjs.js.map +1 -0
- package/dist/_virtual/ContainerPlugin.es.js +5 -0
- package/dist/_virtual/ContainerPlugin.es.js.map +1 -0
- package/dist/_virtual/ContainerReferencePlugin.cjs.js +2 -0
- package/dist/_virtual/ContainerReferencePlugin.cjs.js.map +1 -0
- package/dist/_virtual/ContainerReferencePlugin.es.js +5 -0
- package/dist/_virtual/ContainerReferencePlugin.es.js.map +1 -0
- package/dist/_virtual/ModuleFederationPlugin.cjs.js +2 -0
- package/dist/_virtual/ModuleFederationPlugin.cjs.js.map +1 -0
- package/dist/_virtual/ModuleFederationPlugin.es.js +5 -0
- package/dist/_virtual/ModuleFederationPlugin.es.js.map +1 -0
- package/dist/_virtual/ProvideSharedPlugin.cjs.js +2 -0
- package/dist/_virtual/ProvideSharedPlugin.cjs.js.map +1 -0
- package/dist/_virtual/ProvideSharedPlugin.es.js +5 -0
- package/dist/_virtual/ProvideSharedPlugin.es.js.map +1 -0
- package/dist/_virtual/SharePlugin.cjs.js +2 -0
- package/dist/_virtual/SharePlugin.cjs.js.map +1 -0
- package/dist/_virtual/SharePlugin.es.js +5 -0
- package/dist/_virtual/SharePlugin.es.js.map +1 -0
- package/dist/_virtual/SnapshotHandler.cjs.js +2 -0
- package/dist/_virtual/SnapshotHandler.cjs.js.map +1 -0
- package/dist/_virtual/SnapshotHandler.es.js +5 -0
- package/dist/_virtual/SnapshotHandler.es.js.map +1 -0
- package/dist/_virtual/asyncHook.cjs.js +2 -0
- package/dist/_virtual/asyncHook.cjs.js.map +1 -0
- package/dist/_virtual/asyncHook.es.js +5 -0
- package/dist/_virtual/asyncHook.es.js.map +1 -0
- package/dist/_virtual/asyncWaterfallHooks.cjs.js +2 -0
- package/dist/_virtual/asyncWaterfallHooks.cjs.js.map +1 -0
- package/dist/_virtual/asyncWaterfallHooks.es.js +5 -0
- package/dist/_virtual/asyncWaterfallHooks.es.js.map +1 -0
- package/dist/_virtual/browser.cjs.js +2 -0
- package/dist/_virtual/browser.cjs.js.map +1 -0
- package/dist/_virtual/browser.es.js +5 -0
- package/dist/_virtual/browser.es.js.map +1 -0
- package/dist/_virtual/compare.cjs.js +2 -0
- package/dist/_virtual/compare.cjs.js.map +1 -0
- package/dist/_virtual/compare.es.js +5 -0
- package/dist/_virtual/compare.es.js.map +1 -0
- package/dist/_virtual/constant.cjs.js +2 -0
- package/dist/_virtual/constant.cjs.js.map +1 -0
- package/dist/_virtual/constant.cjs2.js +2 -0
- package/dist/_virtual/constant.cjs2.js.map +1 -0
- package/dist/_virtual/constant.es.js +5 -0
- package/dist/_virtual/constant.es.js.map +1 -0
- package/dist/_virtual/constant.es2.js +5 -0
- package/dist/_virtual/constant.es2.js.map +1 -0
- package/dist/_virtual/constants.cjs2.js +2 -0
- package/dist/_virtual/constants.cjs2.js.map +1 -0
- package/dist/_virtual/constants.es2.js +5 -0
- package/dist/_virtual/constants.es2.js.map +1 -0
- package/dist/_virtual/context.cjs.js +2 -0
- package/dist/_virtual/context.cjs.js.map +1 -0
- package/dist/_virtual/context.es.js +5 -0
- package/dist/_virtual/context.es.js.map +1 -0
- package/dist/_virtual/core.cjs.js +2 -0
- package/dist/_virtual/core.cjs.js.map +1 -0
- package/dist/_virtual/core.es.js +5 -0
- package/dist/_virtual/core.es.js.map +1 -0
- package/dist/_virtual/createModuleFederationConfig.cjs.js +2 -0
- package/dist/_virtual/createModuleFederationConfig.cjs.js.map +1 -0
- package/dist/_virtual/createModuleFederationConfig.es.js +5 -0
- package/dist/_virtual/createModuleFederationConfig.es.js.map +1 -0
- package/dist/_virtual/desc.cjs.js +2 -0
- package/dist/_virtual/desc.cjs.js.map +1 -0
- package/dist/_virtual/desc.es.js +5 -0
- package/dist/_virtual/desc.es.js.map +1 -0
- package/dist/_virtual/dom.cjs.js +2 -0
- package/dist/_virtual/dom.cjs.js.map +1 -0
- package/dist/_virtual/dom.es.js +5 -0
- package/dist/_virtual/dom.es.js.map +1 -0
- package/dist/_virtual/env.cjs.js +2 -0
- package/dist/_virtual/env.cjs.js.map +1 -0
- package/dist/_virtual/env.cjs2.js +2 -0
- package/dist/_virtual/env.cjs2.js.map +1 -0
- package/dist/_virtual/env.es.js +5 -0
- package/dist/_virtual/env.es.js.map +1 -0
- package/dist/_virtual/env.es2.js +5 -0
- package/dist/_virtual/env.es2.js.map +1 -0
- package/dist/_virtual/error-codes.cjs.js +2 -0
- package/dist/_virtual/error-codes.cjs.js.map +1 -0
- package/dist/_virtual/error-codes.es.js +5 -0
- package/dist/_virtual/error-codes.es.js.map +1 -0
- package/dist/_virtual/generate-preload-assets.cjs.js +2 -0
- package/dist/_virtual/generate-preload-assets.cjs.js.map +1 -0
- package/dist/_virtual/generate-preload-assets.es.js +5 -0
- package/dist/_virtual/generate-preload-assets.es.js.map +1 -0
- package/dist/_virtual/generateSnapshotFromManifest.cjs.js +2 -0
- package/dist/_virtual/generateSnapshotFromManifest.cjs.js.map +1 -0
- package/dist/_virtual/generateSnapshotFromManifest.es.js +5 -0
- package/dist/_virtual/generateSnapshotFromManifest.es.js.map +1 -0
- package/dist/_virtual/getShortErrorMsg.cjs.js +2 -0
- package/dist/_virtual/getShortErrorMsg.cjs.js.map +1 -0
- package/dist/_virtual/getShortErrorMsg.es.js +5 -0
- package/dist/_virtual/getShortErrorMsg.es.js.map +1 -0
- package/dist/_virtual/global.cjs.js +2 -0
- package/dist/_virtual/global.cjs.js.map +1 -0
- package/dist/_virtual/global.es.js +5 -0
- package/dist/_virtual/global.es.js.map +1 -0
- package/dist/_virtual/helpers.cjs.js +2 -0
- package/dist/_virtual/helpers.cjs.js.map +1 -0
- package/dist/_virtual/helpers.es.js +5 -0
- package/dist/_virtual/helpers.es.js.map +1 -0
- package/dist/_virtual/index.cjs10.js +1 -1
- package/dist/_virtual/index.cjs11.js +1 -1
- package/dist/_virtual/index.cjs12.js +1 -1
- package/dist/_virtual/index.cjs13.js +2 -0
- package/dist/_virtual/index.cjs13.js.map +1 -0
- package/dist/_virtual/index.cjs14.js +2 -0
- package/dist/_virtual/index.cjs14.js.map +1 -0
- package/dist/_virtual/index.cjs15.js +2 -0
- package/dist/_virtual/index.cjs15.js.map +1 -0
- package/dist/_virtual/index.cjs16.js +2 -0
- package/dist/_virtual/index.cjs16.js.map +1 -0
- package/dist/_virtual/index.cjs17.js +2 -0
- package/dist/_virtual/index.cjs17.js.map +1 -0
- package/dist/_virtual/index.cjs18.js +2 -0
- package/dist/_virtual/index.cjs18.js.map +1 -0
- package/dist/_virtual/index.cjs19.js +2 -0
- package/dist/_virtual/index.cjs19.js.map +1 -0
- package/dist/_virtual/index.cjs20.js +2 -0
- package/dist/_virtual/index.cjs20.js.map +1 -0
- package/dist/_virtual/index.cjs21.js +2 -0
- package/dist/_virtual/index.cjs21.js.map +1 -0
- package/dist/_virtual/index.cjs22.js +2 -0
- package/dist/_virtual/index.cjs22.js.map +1 -0
- package/dist/_virtual/index.cjs23.js +2 -0
- package/dist/_virtual/index.cjs23.js.map +1 -0
- package/dist/_virtual/index.cjs24.js +2 -0
- package/dist/_virtual/index.cjs24.js.map +1 -0
- package/dist/_virtual/index.cjs4.js +1 -1
- package/dist/_virtual/index.cjs5.js +1 -1
- package/dist/_virtual/index.cjs6.js +1 -1
- package/dist/_virtual/index.cjs7.js +1 -1
- package/dist/_virtual/index.cjs8.js +1 -1
- package/dist/_virtual/index.es10.js +2 -5
- package/dist/_virtual/index.es10.js.map +1 -1
- package/dist/_virtual/index.es11.js +2 -5
- package/dist/_virtual/index.es11.js.map +1 -1
- package/dist/_virtual/index.es12.js +2 -5
- package/dist/_virtual/index.es12.js.map +1 -1
- package/dist/_virtual/index.es13.js +5 -0
- package/dist/_virtual/index.es13.js.map +1 -0
- package/dist/_virtual/index.es14.js +5 -0
- package/dist/_virtual/index.es14.js.map +1 -0
- package/dist/_virtual/index.es15.js +5 -0
- package/dist/_virtual/index.es15.js.map +1 -0
- package/dist/_virtual/index.es16.js +5 -0
- package/dist/_virtual/index.es16.js.map +1 -0
- package/dist/_virtual/index.es17.js +5 -0
- package/dist/_virtual/index.es17.js.map +1 -0
- package/dist/_virtual/index.es18.js +5 -0
- package/dist/_virtual/index.es18.js.map +1 -0
- package/dist/_virtual/index.es19.js +5 -0
- package/dist/_virtual/index.es19.js.map +1 -0
- package/dist/_virtual/index.es20.js +5 -0
- package/dist/_virtual/index.es20.js.map +1 -0
- package/dist/_virtual/index.es21.js +5 -0
- package/dist/_virtual/index.es21.js.map +1 -0
- package/dist/_virtual/index.es22.js +8 -0
- package/dist/_virtual/index.es22.js.map +1 -0
- package/dist/_virtual/index.es23.js +8 -0
- package/dist/_virtual/index.es23.js.map +1 -0
- package/dist/_virtual/index.es24.js +8 -0
- package/dist/_virtual/index.es24.js.map +1 -0
- package/dist/_virtual/index.es4.js +2 -5
- package/dist/_virtual/index.es4.js.map +1 -1
- package/dist/_virtual/index.es5.js +4 -4
- package/dist/_virtual/index.es6.js +2 -2
- package/dist/_virtual/index.es7.js +2 -2
- package/dist/_virtual/index.es8.js +5 -2
- package/dist/_virtual/index.es8.js.map +1 -1
- package/dist/_virtual/index.es9.js +2 -2
- package/dist/_virtual/load.cjs.js +2 -0
- package/dist/_virtual/load.cjs.js.map +1 -0
- package/dist/_virtual/load.es.js +5 -0
- package/dist/_virtual/load.es.js.map +1 -0
- package/dist/_virtual/logger.cjs.js +2 -0
- package/dist/_virtual/logger.cjs.js.map +1 -0
- package/dist/_virtual/logger.cjs2.js +2 -0
- package/dist/_virtual/logger.cjs2.js.map +1 -0
- package/dist/_virtual/logger.es.js +5 -0
- package/dist/_virtual/logger.es.js.map +1 -0
- package/dist/_virtual/logger.es2.js +5 -0
- package/dist/_virtual/logger.es2.js.map +1 -0
- package/dist/_virtual/manifest.cjs.js +2 -0
- package/dist/_virtual/manifest.cjs.js.map +1 -0
- package/dist/_virtual/manifest.es.js +5 -0
- package/dist/_virtual/manifest.es.js.map +1 -0
- package/dist/_virtual/node.cjs.js +2 -0
- package/dist/_virtual/node.cjs.js.map +1 -0
- package/dist/_virtual/node.es.js +5 -0
- package/dist/_virtual/node.es.js.map +1 -0
- package/dist/_virtual/normalizeOptions.cjs.js +2 -0
- package/dist/_virtual/normalizeOptions.cjs.js.map +1 -0
- package/dist/_virtual/normalizeOptions.es.js +5 -0
- package/dist/_virtual/normalizeOptions.es.js.map +1 -0
- package/dist/_virtual/parser.cjs.js +2 -0
- package/dist/_virtual/parser.cjs.js.map +1 -0
- package/dist/_virtual/parser.es.js +5 -0
- package/dist/_virtual/parser.es.js.map +1 -0
- package/dist/_virtual/plugin.cjs.js +2 -0
- package/dist/_virtual/plugin.cjs.js.map +1 -0
- package/dist/_virtual/plugin.es.js +5 -0
- package/dist/_virtual/plugin.es.js.map +1 -0
- package/dist/_virtual/pluginSystem.cjs.js +2 -0
- package/dist/_virtual/pluginSystem.cjs.js.map +1 -0
- package/dist/_virtual/pluginSystem.es.js +5 -0
- package/dist/_virtual/pluginSystem.es.js.map +1 -0
- package/dist/_virtual/preload.cjs.js +2 -0
- package/dist/_virtual/preload.cjs.js.map +1 -0
- package/dist/_virtual/preload.es.js +5 -0
- package/dist/_virtual/preload.es.js.map +1 -0
- package/dist/_virtual/runtime.cjs.js +2 -0
- package/dist/_virtual/runtime.cjs.js.map +1 -0
- package/dist/_virtual/runtime.cjs2.js +2 -0
- package/dist/_virtual/runtime.cjs2.js.map +1 -0
- package/dist/_virtual/runtime.cjs3.js +2 -0
- package/dist/_virtual/runtime.cjs3.js.map +1 -0
- package/dist/_virtual/runtime.cjs4.js +2 -0
- package/dist/_virtual/runtime.cjs4.js.map +1 -0
- package/dist/_virtual/runtime.cjs5.js +2 -0
- package/dist/_virtual/runtime.cjs5.js.map +1 -0
- package/dist/_virtual/runtime.es.js +6 -0
- package/dist/_virtual/runtime.es.js.map +1 -0
- package/dist/_virtual/runtime.es2.js +5 -0
- package/dist/_virtual/runtime.es2.js.map +1 -0
- package/dist/_virtual/runtime.es3.js +5 -0
- package/dist/_virtual/runtime.es3.js.map +1 -0
- package/dist/_virtual/runtime.es4.js +5 -0
- package/dist/_virtual/runtime.es4.js.map +1 -0
- package/dist/_virtual/runtime.es5.js +5 -0
- package/dist/_virtual/runtime.es5.js.map +1 -0
- package/dist/_virtual/share.cjs.js +2 -0
- package/dist/_virtual/share.cjs.js.map +1 -0
- package/dist/_virtual/share.es.js +5 -0
- package/dist/_virtual/share.es.js.map +1 -0
- package/dist/_virtual/syncHook.cjs.js +2 -0
- package/dist/_virtual/syncHook.cjs.js.map +1 -0
- package/dist/_virtual/syncHook.es.js +5 -0
- package/dist/_virtual/syncHook.es.js.map +1 -0
- package/dist/_virtual/syncWaterfallHook.cjs.js +2 -0
- package/dist/_virtual/syncWaterfallHook.cjs.js.map +1 -0
- package/dist/_virtual/syncWaterfallHook.es.js +5 -0
- package/dist/_virtual/syncWaterfallHook.es.js.map +1 -0
- package/dist/_virtual/tool.cjs.js +2 -0
- package/dist/_virtual/tool.cjs.js.map +1 -0
- package/dist/_virtual/tool.es.js +5 -0
- package/dist/_virtual/tool.es.js.map +1 -0
- package/dist/_virtual/utils.cjs.js +2 -0
- package/dist/_virtual/utils.cjs.js.map +1 -0
- package/dist/_virtual/utils.cjs2.js +2 -0
- package/dist/_virtual/utils.cjs2.js.map +1 -0
- package/dist/_virtual/utils.cjs3.js +2 -0
- package/dist/_virtual/utils.cjs3.js.map +1 -0
- package/dist/_virtual/utils.es.js +5 -0
- package/dist/_virtual/utils.es.js.map +1 -0
- package/dist/_virtual/utils.es2.js +5 -0
- package/dist/_virtual/utils.es2.js.map +1 -0
- package/dist/_virtual/utils.es3.js +5 -0
- package/dist/_virtual/utils.es3.js.map +1 -0
- package/dist/api.cjs.js +1 -1
- package/dist/api.es.js +444 -442
- package/dist/components.cjs.js +1 -1
- package/dist/components.es.js +183 -177
- package/dist/components.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +14 -13
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
- package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
- package/dist/node_modules/parse-numeric-range/index.cjs.js.map +1 -1
- package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
- package/dist/node_modules/remove-accents/index.cjs.js +1 -1
- package/dist/node_modules/remove-accents/index.cjs.js.map +1 -1
- package/dist/node_modules/remove-accents/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/enhanced/dist/src/runtime.cjs.js +2 -0
- package/dist/shared/node_modules/@module-federation/enhanced/dist/src/runtime.cjs.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/enhanced/dist/src/runtime.es.js +21 -0
- package/dist/shared/node_modules/@module-federation/enhanced/dist/src/runtime.es.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/error-codes/dist/browser.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/browser.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/browser.es.js +13 -4
- package/dist/shared/node_modules/@module-federation/error-codes/dist/browser.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/desc.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/desc.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/desc.es.js +30 -22
- package/dist/shared/node_modules/@module-federation/error-codes/dist/desc.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/error-codes.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/error-codes.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/error-codes.es.js +9 -16
- package/dist/shared/node_modules/@module-federation/error-codes/dist/error-codes.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/getShortErrorMsg.cjs.js +3 -3
- package/dist/shared/node_modules/@module-federation/error-codes/dist/getShortErrorMsg.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/getShortErrorMsg.es.js +13 -6
- package/dist/shared/node_modules/@module-federation/error-codes/dist/getShortErrorMsg.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +2 -0
- package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +16 -0
- package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/runtime/dist/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime/dist/index.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime/dist/index.es.js +76 -16
- package/dist/shared/node_modules/@module-federation/runtime/dist/index.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime/dist/utils.cjs.js +2 -0
- package/dist/shared/node_modules/@module-federation/runtime/dist/utils.cjs.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/runtime/dist/utils.es.js +20 -0
- package/dist/shared/node_modules/@module-federation/runtime/dist/utils.es.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/_virtual/_rolldown/runtime.cjs.js +2 -0
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/_virtual/_rolldown/runtime.cjs.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/_virtual/_rolldown/runtime.es.js +20 -0
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/_virtual/_rolldown/runtime.es.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/constant.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/constant.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/constant.es.js +9 -3
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/constant.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/core.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/core.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/core.es.js +135 -125
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/core.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/global.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/global.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/global.es.js +102 -92
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/global.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/helpers.cjs.js +2 -0
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/helpers.cjs.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/helpers.es.js +50 -0
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/helpers.es.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +42 -11
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.cjs.js +2 -2
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.es.js +96 -216
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/generate-preload-assets.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/generate-preload-assets.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/generate-preload-assets.es.js +137 -127
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/generate-preload-assets.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/SnapshotHandler.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/SnapshotHandler.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/SnapshotHandler.es.js +158 -172
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/SnapshotHandler.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.es.js +59 -56
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.es.js +226 -347
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.es.js +207 -297
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.cjs.js +2 -0
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.cjs.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.es.js +18 -0
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.es.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/context.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/context.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/context.es.js +40 -33
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/context.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/env.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/env.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/env.es.js +10 -3
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/env.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncHook.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncHook.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncHook.es.js +21 -13
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncHook.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncWaterfallHooks.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncWaterfallHooks.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncWaterfallHooks.es.js +36 -29
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncWaterfallHooks.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs.js +2 -0
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.es.js +14 -0
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.es.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/pluginSystem.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/pluginSystem.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/pluginSystem.es.js +33 -24
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/pluginSystem.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/syncHook.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/syncHook.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/syncHook.es.js +34 -28
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/syncHook.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/syncWaterfallHook.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/syncWaterfallHook.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/syncWaterfallHook.es.js +35 -29
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/syncWaterfallHook.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.cjs.js +2 -0
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.cjs.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.es.js +16 -0
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.es.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/load.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/load.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/load.es.js +156 -182
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/load.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/logger.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/logger.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/logger.es.js +24 -19
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/logger.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/manifest.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/manifest.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/manifest.es.js +41 -39
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/manifest.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/plugin.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/plugin.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/plugin.es.js +26 -18
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/plugin.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/preload.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/preload.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/preload.es.js +135 -189
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/preload.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/compare.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/compare.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/compare.es.js +45 -38
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/compare.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/constants.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/constants.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/constants.es.js +9 -11
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/constants.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.es.js +63 -55
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/parser.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/parser.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/parser.es.js +40 -40
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/parser.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.es.js +25 -21
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/share.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/share.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/share.es.js +200 -197
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/share.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/tool.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/tool.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/tool.es.js +64 -51
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/tool.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-tools/dist/runtime.cjs.js +2 -0
- package/dist/shared/node_modules/@module-federation/runtime-tools/dist/runtime.cjs.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/runtime-tools/dist/runtime.es.js +20 -0
- package/dist/shared/node_modules/@module-federation/runtime-tools/dist/runtime.es.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/_virtual/_rolldown/runtime.cjs.js +2 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/_virtual/_rolldown/runtime.cjs.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/_virtual/_rolldown/runtime.es.js +20 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/_virtual/_rolldown/runtime.es.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/constant.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/constant.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/constant.es.js +33 -8
- package/dist/shared/node_modules/@module-federation/sdk/dist/constant.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/createModuleFederationConfig.cjs.js +2 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/createModuleFederationConfig.cjs.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/createModuleFederationConfig.es.js +12 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/createModuleFederationConfig.es.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/dom.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/dom.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/dom.es.js +120 -132
- package/dist/shared/node_modules/@module-federation/sdk/dist/dom.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/env.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/env.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/env.es.js +27 -20
- package/dist/shared/node_modules/@module-federation/sdk/dist/env.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/generateSnapshotFromManifest.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/generateSnapshotFromManifest.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/generateSnapshotFromManifest.es.js +102 -71
- package/dist/shared/node_modules/@module-federation/sdk/dist/generateSnapshotFromManifest.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/index.cjs.js +2 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/index.cjs.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/index.es.js +58 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/index.es.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/logger.cjs.js +4 -4
- package/dist/shared/node_modules/@module-federation/sdk/dist/logger.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/logger.es.js +114 -99
- package/dist/shared/node_modules/@module-federation/sdk/dist/logger.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/node.cjs.js +2 -2
- package/dist/shared/node_modules/@module-federation/sdk/dist/node.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/node.es.js +88 -120
- package/dist/shared/node_modules/@module-federation/sdk/dist/node.es.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/normalizeOptions.cjs.js +2 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/normalizeOptions.cjs.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/normalizeOptions.es.js +23 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/normalizeOptions.es.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ConsumeSharedPlugin.cjs.js +2 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ConsumeSharedPlugin.cjs.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ConsumeSharedPlugin.es.js +18 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ConsumeSharedPlugin.es.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ContainerPlugin.cjs.js +2 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ContainerPlugin.cjs.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ContainerPlugin.es.js +18 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ContainerPlugin.es.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ContainerReferencePlugin.cjs.js +2 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ContainerReferencePlugin.cjs.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ContainerReferencePlugin.es.js +18 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ContainerReferencePlugin.es.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ModuleFederationPlugin.cjs.js +2 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ModuleFederationPlugin.cjs.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ModuleFederationPlugin.es.js +18 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ModuleFederationPlugin.es.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ProvideSharedPlugin.cjs.js +2 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ProvideSharedPlugin.cjs.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ProvideSharedPlugin.es.js +18 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ProvideSharedPlugin.es.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/SharePlugin.cjs.js +2 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/SharePlugin.cjs.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/SharePlugin.es.js +18 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/SharePlugin.es.js.map +1 -0
- package/dist/shared/node_modules/@module-federation/sdk/dist/utils.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/utils.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/utils.es.js +78 -21
- package/dist/shared/node_modules/@module-federation/sdk/dist/utils.es.js.map +1 -1
- package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
- package/dist/shared/node_modules/prop-types/index.es.js +1 -1
- package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
- package/dist/shared/node_modules/react-is/index.cjs.js.map +1 -1
- package/dist/shared/node_modules/react-is/index.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +74 -45
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +151 -118
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -1
- package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/folders/getFolders.es.js +108 -116
- package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +483 -497
- package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
- package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js +1 -1
- package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js.map +1 -1
- package/dist/shared/src/components/ColumnHeaderMenuUI.es.js +7 -6
- package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
- package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js +9 -4
- package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js.map +1 -1
- package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.es.js +52 -29
- package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.es.js.map +1 -1
- package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteEntitiesConfirmDialog.cjs.js +2 -0
- package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteEntitiesConfirmDialog.cjs.js.map +1 -0
- package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteEntitiesConfirmDialog.es.js +106 -0
- package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteEntitiesConfirmDialog.es.js.map +1 -0
- package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteEntitiesConfirmDialog.styled.cjs.js +35 -0
- package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteEntitiesConfirmDialog.styled.cjs.js.map +1 -0
- package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteEntitiesConfirmDialog.styled.es.js +47 -0
- package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteEntitiesConfirmDialog.styled.es.js.map +1 -0
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +7 -6
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +7 -6
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +7 -6
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +7 -6
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
- package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js +1 -1
- package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityIcon/EntityIcon.es.js +7 -6
- package/dist/shared/src/components/EntityIcon/EntityIcon.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +7 -6
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +7 -6
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +7 -6
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js +11 -10
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.es.js +7 -6
- package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +7 -6
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +7 -6
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
- package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
- package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -1
- package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +7 -6
- package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -1
- package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
- package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -1
- package/dist/shared/src/components/Menu/Menu.es.js +7 -6
- package/dist/shared/src/components/Menu/Menu.es.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuItem.cjs.js +1 -1
- package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuItem.es.js +5 -4
- package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
- package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuList.es.js +7 -6
- package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +7 -6
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +7 -6
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +7 -6
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +9 -8
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +7 -6
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +7 -6
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +7 -6
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.es.js +7 -6
- package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +7 -6
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +8 -7
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +7 -6
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js +7 -6
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +11 -10
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +7 -6
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +9 -8
- package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +7 -6
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/SyncButton/SyncButton.cjs.js +1 -1
- package/dist/shared/src/components/SyncButton/SyncButton.cjs.js.map +1 -1
- package/dist/shared/src/components/SyncButton/SyncButton.es.js +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +7 -6
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +7 -6
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +11 -10
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +7 -6
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.es.js +49 -48
- package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +7 -6
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +7 -6
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +7 -6
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +7 -6
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +7 -6
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js +7 -6
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +7 -6
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +7 -6
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +7 -6
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +21 -20
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +7 -6
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +7 -6
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +4 -3
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +7 -6
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +7 -6
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +7 -6
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +7 -6
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +7 -6
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +7 -6
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.es.js +5 -4
- package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +7 -6
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +4 -3
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +7 -6
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityHeader/ActivityHeader.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityHeader/ActivityHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityHeader/ActivityHeader.es.js +44 -32
- package/dist/shared/src/containers/Feed/components/ActivityHeader/ActivityHeader.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +57 -338
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +4 -3
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +8 -7
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +11 -10
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +7 -6
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +7 -6
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +5 -4
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +96 -82
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js +2 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.styled.es.js +2 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.styled.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +7 -6
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js +10 -9
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.es.js +7 -6
- package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.es.js +7 -6
- package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +7 -6
- package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
- package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js +1 -1
- package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js.map +1 -1
- package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js +9 -8
- package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js.map +1 -1
- package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js +1 -1
- package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/NewEntity/context/NewEntityContext.es.js +9 -8
- package/dist/shared/src/containers/NewEntity/context/NewEntityContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +47 -46
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +9 -8
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +11 -10
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +10 -9
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +18 -17
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +8 -7
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +11 -10
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +9 -8
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +7 -6
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +7 -6
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/Slicer.es.js +7 -6
- package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +7 -6
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +7 -6
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +11 -10
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +66 -60
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.es.js +7 -6
- package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +7 -6
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +7 -6
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js +7 -6
- package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js +7 -6
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js +7 -6
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js +7 -6
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +7 -6
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +7 -6
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +7 -6
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +7 -6
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js +9 -8
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +10 -9
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
- package/dist/shared/src/context/DeleteEntitiesContext.cjs.js +1 -1
- package/dist/shared/src/context/DeleteEntitiesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DeleteEntitiesContext.es.js +145 -86
- package/dist/shared/src/context/DeleteEntitiesContext.es.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js +11 -10
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/EntityUpdatesContext.cjs.js +1 -1
- package/dist/shared/src/context/EntityUpdatesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/EntityUpdatesContext.es.js +13 -12
- package/dist/shared/src/context/EntityUpdatesContext.es.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.es.js +11 -10
- package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.es.js +9 -8
- package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.es.js +9 -9
- package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.es.js +9 -8
- package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.es.js +9 -8
- package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.es.js +7 -6
- package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +7 -6
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.es.js +7 -6
- package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModule.cjs.js +1 -1
- package/dist/shared/src/hooks/useLoadModule.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModule.es.js +11 -11
- package/dist/shared/src/hooks/useLoadModule.es.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModules.cjs.js +1 -1
- package/dist/shared/src/hooks/useLoadModules.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModules.es.js +37 -37
- package/dist/shared/src/hooks/useLoadModules.es.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.es.js +7 -6
- package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
- package/dist/shared/src/util/realtimeUpdatesUtils.cjs.js +2 -0
- package/dist/shared/src/util/realtimeUpdatesUtils.cjs.js.map +1 -0
- package/dist/shared/src/util/realtimeUpdatesUtils.es.js +48 -0
- package/dist/shared/src/util/realtimeUpdatesUtils.es.js.map +1 -0
- package/dist/types/api/generated/graphql.d.ts +45 -0
- package/dist/types/api/queries/activities/getActivities.d.ts +20 -0
- package/dist/types/api/queries/entities/getEntity.d.ts +10 -0
- package/dist/types/api/queries/entities/getEntityPanel.d.ts +10 -0
- package/dist/types/api/queries/entities/updateEntity.d.ts +10 -0
- package/dist/types/api/queries/entityLists/getLists.d.ts +87 -0
- package/dist/types/api/queries/entityLists/listItemsColumnStats.d.ts +16 -0
- package/dist/types/api/queries/folders/getFolders.d.ts +1 -0
- package/dist/types/api/queries/overview/getOverview.d.ts +10 -0
- package/dist/types/api/queries/project/getProject.d.ts +10 -0
- package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +10 -0
- package/dist/types/api/queries/users/getUsers.d.ts +10 -0
- package/dist/types/api/queries/versions/getVersionsProducts.d.ts +20 -0
- package/dist/types/components/DeleteEntitiesConfirm/DeleteConfirmContent.d.ts +9 -2
- package/dist/types/components/DeleteEntitiesConfirm/DeleteEntitiesConfirmDialog.d.ts +15 -0
- package/dist/types/components/DeleteEntitiesConfirm/DeleteEntitiesConfirmDialog.styled.d.ts +20 -0
- package/dist/types/components/DeleteEntitiesConfirm/index.d.ts +1 -0
- package/dist/types/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.d.ts +1 -0
- package/dist/types/util/index.d.ts +1 -0
- package/dist/types/util/realtimeUpdatesUtils.d.ts +14 -0
- package/dist/util.cjs.js +1 -1
- package/dist/util.es.js +80 -73
- package/dist/util.es.js.map +1 -1
- package/package.json +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/disabled.cjs.js +0 -2
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/disabled.cjs.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/disabled.es.js +0 -10
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/disabled.es.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/disabled.cjs.js +0 -2
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/disabled.cjs.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/disabled.es.js +0 -34
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/disabled.es.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/disabled.cjs.js +0 -2
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/disabled.cjs.js.map +0 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/disabled.es.js +0 -29
- 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":"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"}
|
|
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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"}
|