@ynput/ayon-frontend-shared 0.3.47 → 0.3.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1180) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +25 -24
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +230 -229
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Slicer.cjs.js +1 -1
  8. package/dist/Slicer.es.js +28 -27
  9. package/dist/Slicer.es.js.map +1 -1
  10. package/dist/_virtual/index.cjs10.js +1 -1
  11. package/dist/_virtual/index.cjs11.js +1 -1
  12. package/dist/_virtual/index.cjs12.js +1 -1
  13. package/dist/_virtual/index.cjs5.js +1 -1
  14. package/dist/_virtual/index.cjs6.js +1 -1
  15. package/dist/_virtual/index.cjs7.js +1 -1
  16. package/dist/_virtual/index.cjs8.js +1 -1
  17. package/dist/_virtual/index.cjs9.js +1 -1
  18. package/dist/_virtual/index.es10.js +5 -2
  19. package/dist/_virtual/index.es10.js.map +1 -1
  20. package/dist/_virtual/index.es11.js +5 -2
  21. package/dist/_virtual/index.es11.js.map +1 -1
  22. package/dist/_virtual/index.es12.js +5 -2
  23. package/dist/_virtual/index.es12.js.map +1 -1
  24. package/dist/_virtual/index.es5.js +2 -2
  25. package/dist/_virtual/index.es6.js +5 -2
  26. package/dist/_virtual/index.es6.js.map +1 -1
  27. package/dist/_virtual/index.es7.js +2 -2
  28. package/dist/_virtual/index.es8.js +2 -2
  29. package/dist/_virtual/index.es9.js +2 -2
  30. package/dist/components.cjs.js +1 -1
  31. package/dist/components.es.js +178 -174
  32. package/dist/components.es.js.map +1 -1
  33. package/dist/context.cjs.js +1 -1
  34. package/dist/context.es.js +52 -46
  35. package/dist/context.es.js.map +1 -1
  36. package/dist/index.cjs.js +1 -1
  37. package/dist/index.es.js +12 -11
  38. package/dist/index.es.js.map +1 -1
  39. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  40. package/dist/node_modules/parse-numeric-range/index.cjs.js.map +1 -1
  41. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  42. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  43. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  44. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  45. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  46. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  47. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  48. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  49. package/dist/node_modules/remove-accents/index.es.js +1 -1
  50. package/dist/shared/node_modules/@module-federation/error-codes/dist/browser.cjs.js +1 -1
  51. package/dist/shared/node_modules/@module-federation/error-codes/dist/browser.cjs.js.map +1 -1
  52. package/dist/shared/node_modules/@module-federation/error-codes/dist/browser.es.js +4 -13
  53. package/dist/shared/node_modules/@module-federation/error-codes/dist/browser.es.js.map +1 -1
  54. package/dist/shared/node_modules/@module-federation/error-codes/dist/desc.cjs.js +1 -1
  55. package/dist/shared/node_modules/@module-federation/error-codes/dist/desc.cjs.js.map +1 -1
  56. package/dist/shared/node_modules/@module-federation/error-codes/dist/desc.es.js +22 -30
  57. package/dist/shared/node_modules/@module-federation/error-codes/dist/desc.es.js.map +1 -1
  58. package/dist/shared/node_modules/@module-federation/error-codes/dist/error-codes.cjs.js +1 -1
  59. package/dist/shared/node_modules/@module-federation/error-codes/dist/error-codes.cjs.js.map +1 -1
  60. package/dist/shared/node_modules/@module-federation/error-codes/dist/error-codes.es.js +16 -9
  61. package/dist/shared/node_modules/@module-federation/error-codes/dist/error-codes.es.js.map +1 -1
  62. package/dist/shared/node_modules/@module-federation/error-codes/dist/getShortErrorMsg.cjs.js +3 -3
  63. package/dist/shared/node_modules/@module-federation/error-codes/dist/getShortErrorMsg.cjs.js.map +1 -1
  64. package/dist/shared/node_modules/@module-federation/error-codes/dist/getShortErrorMsg.es.js +6 -13
  65. package/dist/shared/node_modules/@module-federation/error-codes/dist/getShortErrorMsg.es.js.map +1 -1
  66. package/dist/shared/node_modules/@module-federation/runtime/dist/index.cjs.js +1 -1
  67. package/dist/shared/node_modules/@module-federation/runtime/dist/index.cjs.js.map +1 -1
  68. package/dist/shared/node_modules/@module-federation/runtime/dist/index.es.js +16 -76
  69. package/dist/shared/node_modules/@module-federation/runtime/dist/index.es.js.map +1 -1
  70. package/dist/shared/node_modules/@module-federation/runtime-core/dist/constant.cjs.js +1 -1
  71. package/dist/shared/node_modules/@module-federation/runtime-core/dist/constant.cjs.js.map +1 -1
  72. package/dist/shared/node_modules/@module-federation/runtime-core/dist/constant.es.js +3 -9
  73. package/dist/shared/node_modules/@module-federation/runtime-core/dist/constant.es.js.map +1 -1
  74. package/dist/shared/node_modules/@module-federation/runtime-core/dist/core.cjs.js +1 -1
  75. package/dist/shared/node_modules/@module-federation/runtime-core/dist/core.cjs.js.map +1 -1
  76. package/dist/shared/node_modules/@module-federation/runtime-core/dist/core.es.js +125 -135
  77. package/dist/shared/node_modules/@module-federation/runtime-core/dist/core.es.js.map +1 -1
  78. package/dist/shared/node_modules/@module-federation/runtime-core/dist/global.cjs.js +1 -1
  79. package/dist/shared/node_modules/@module-federation/runtime-core/dist/global.cjs.js.map +1 -1
  80. package/dist/shared/node_modules/@module-federation/runtime-core/dist/global.es.js +92 -102
  81. package/dist/shared/node_modules/@module-federation/runtime-core/dist/global.es.js.map +1 -1
  82. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
  83. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js.map +1 -1
  84. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +11 -42
  85. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js.map +1 -1
  86. package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.cjs.js +2 -2
  87. package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.cjs.js.map +1 -1
  88. package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.es.js +216 -96
  89. package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.es.js.map +1 -1
  90. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/generate-preload-assets.cjs.js +1 -1
  91. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/generate-preload-assets.cjs.js.map +1 -1
  92. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/generate-preload-assets.es.js +127 -137
  93. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/generate-preload-assets.es.js.map +1 -1
  94. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/SnapshotHandler.cjs.js +1 -1
  95. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/SnapshotHandler.cjs.js.map +1 -1
  96. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/SnapshotHandler.es.js +172 -158
  97. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/SnapshotHandler.es.js.map +1 -1
  98. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/disabled.cjs.js +2 -0
  99. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/disabled.cjs.js.map +1 -0
  100. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/disabled.es.js +10 -0
  101. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/disabled.es.js.map +1 -0
  102. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs.js +1 -1
  103. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs.js.map +1 -1
  104. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.es.js +56 -59
  105. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.es.js.map +1 -1
  106. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/disabled.cjs.js +2 -0
  107. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/disabled.cjs.js.map +1 -0
  108. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/disabled.es.js +34 -0
  109. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/disabled.es.js.map +1 -0
  110. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.cjs.js +1 -1
  111. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.cjs.js.map +1 -1
  112. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.es.js +347 -226
  113. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.es.js.map +1 -1
  114. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/disabled.cjs.js +2 -0
  115. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/disabled.cjs.js.map +1 -0
  116. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/disabled.es.js +29 -0
  117. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/disabled.es.js.map +1 -0
  118. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.cjs.js +1 -1
  119. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.cjs.js.map +1 -1
  120. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.es.js +297 -207
  121. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.es.js.map +1 -1
  122. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/context.cjs.js +1 -1
  123. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/context.cjs.js.map +1 -1
  124. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/context.es.js +33 -40
  125. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/context.es.js.map +1 -1
  126. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/env.cjs.js +1 -1
  127. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/env.cjs.js.map +1 -1
  128. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/env.es.js +3 -10
  129. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/env.es.js.map +1 -1
  130. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncHook.cjs.js +1 -1
  131. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncHook.cjs.js.map +1 -1
  132. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncHook.es.js +13 -21
  133. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncHook.es.js.map +1 -1
  134. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncWaterfallHooks.cjs.js +1 -1
  135. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncWaterfallHooks.cjs.js.map +1 -1
  136. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncWaterfallHooks.es.js +29 -36
  137. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncWaterfallHooks.es.js.map +1 -1
  138. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/pluginSystem.cjs.js +1 -1
  139. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/pluginSystem.cjs.js.map +1 -1
  140. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/pluginSystem.es.js +24 -33
  141. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/pluginSystem.es.js.map +1 -1
  142. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/syncHook.cjs.js +1 -1
  143. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/syncHook.cjs.js.map +1 -1
  144. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/syncHook.es.js +28 -34
  145. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/syncHook.es.js.map +1 -1
  146. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/syncWaterfallHook.cjs.js +1 -1
  147. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/syncWaterfallHook.cjs.js.map +1 -1
  148. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/syncWaterfallHook.es.js +29 -35
  149. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/syncWaterfallHook.es.js.map +1 -1
  150. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/load.cjs.js +1 -1
  151. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/load.cjs.js.map +1 -1
  152. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/load.es.js +182 -156
  153. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/load.es.js.map +1 -1
  154. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/logger.cjs.js +1 -1
  155. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/logger.cjs.js.map +1 -1
  156. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/logger.es.js +19 -24
  157. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/logger.es.js.map +1 -1
  158. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/manifest.cjs.js +1 -1
  159. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/manifest.cjs.js.map +1 -1
  160. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/manifest.es.js +39 -41
  161. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/manifest.es.js.map +1 -1
  162. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/plugin.cjs.js +1 -1
  163. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/plugin.cjs.js.map +1 -1
  164. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/plugin.es.js +18 -26
  165. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/plugin.es.js.map +1 -1
  166. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/preload.cjs.js +1 -1
  167. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/preload.cjs.js.map +1 -1
  168. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/preload.es.js +189 -135
  169. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/preload.es.js.map +1 -1
  170. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/compare.cjs.js +1 -1
  171. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/compare.cjs.js.map +1 -1
  172. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/compare.es.js +38 -45
  173. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/compare.es.js.map +1 -1
  174. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/constants.cjs.js +1 -1
  175. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/constants.cjs.js.map +1 -1
  176. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/constants.es.js +11 -9
  177. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/constants.es.js.map +1 -1
  178. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js +1 -1
  179. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js.map +1 -1
  180. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.es.js +55 -63
  181. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.es.js.map +1 -1
  182. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/parser.cjs.js +1 -1
  183. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/parser.cjs.js.map +1 -1
  184. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/parser.es.js +40 -40
  185. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/parser.es.js.map +1 -1
  186. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.cjs.js +1 -1
  187. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.cjs.js.map +1 -1
  188. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.es.js +21 -25
  189. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.es.js.map +1 -1
  190. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/share.cjs.js +1 -1
  191. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/share.cjs.js.map +1 -1
  192. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/share.es.js +197 -200
  193. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/share.es.js.map +1 -1
  194. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/tool.cjs.js +1 -1
  195. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/tool.cjs.js.map +1 -1
  196. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/tool.es.js +51 -64
  197. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/tool.es.js.map +1 -1
  198. package/dist/shared/node_modules/@module-federation/sdk/dist/constant.cjs.js +1 -1
  199. package/dist/shared/node_modules/@module-federation/sdk/dist/constant.cjs.js.map +1 -1
  200. package/dist/shared/node_modules/@module-federation/sdk/dist/constant.es.js +8 -33
  201. package/dist/shared/node_modules/@module-federation/sdk/dist/constant.es.js.map +1 -1
  202. package/dist/shared/node_modules/@module-federation/sdk/dist/dom.cjs.js +1 -1
  203. package/dist/shared/node_modules/@module-federation/sdk/dist/dom.cjs.js.map +1 -1
  204. package/dist/shared/node_modules/@module-federation/sdk/dist/dom.es.js +132 -120
  205. package/dist/shared/node_modules/@module-federation/sdk/dist/dom.es.js.map +1 -1
  206. package/dist/shared/node_modules/@module-federation/sdk/dist/env.cjs.js +1 -1
  207. package/dist/shared/node_modules/@module-federation/sdk/dist/env.cjs.js.map +1 -1
  208. package/dist/shared/node_modules/@module-federation/sdk/dist/env.es.js +20 -27
  209. package/dist/shared/node_modules/@module-federation/sdk/dist/env.es.js.map +1 -1
  210. package/dist/shared/node_modules/@module-federation/sdk/dist/generateSnapshotFromManifest.cjs.js +1 -1
  211. package/dist/shared/node_modules/@module-federation/sdk/dist/generateSnapshotFromManifest.cjs.js.map +1 -1
  212. package/dist/shared/node_modules/@module-federation/sdk/dist/generateSnapshotFromManifest.es.js +71 -102
  213. package/dist/shared/node_modules/@module-federation/sdk/dist/generateSnapshotFromManifest.es.js.map +1 -1
  214. package/dist/shared/node_modules/@module-federation/sdk/dist/logger.cjs.js +4 -4
  215. package/dist/shared/node_modules/@module-federation/sdk/dist/logger.cjs.js.map +1 -1
  216. package/dist/shared/node_modules/@module-federation/sdk/dist/logger.es.js +99 -114
  217. package/dist/shared/node_modules/@module-federation/sdk/dist/logger.es.js.map +1 -1
  218. package/dist/shared/node_modules/@module-federation/sdk/dist/node.cjs.js +2 -2
  219. package/dist/shared/node_modules/@module-federation/sdk/dist/node.cjs.js.map +1 -1
  220. package/dist/shared/node_modules/@module-federation/sdk/dist/node.es.js +120 -88
  221. package/dist/shared/node_modules/@module-federation/sdk/dist/node.es.js.map +1 -1
  222. package/dist/shared/node_modules/@module-federation/sdk/dist/utils.cjs.js +1 -1
  223. package/dist/shared/node_modules/@module-federation/sdk/dist/utils.cjs.js.map +1 -1
  224. package/dist/shared/node_modules/@module-federation/sdk/dist/utils.es.js +21 -78
  225. package/dist/shared/node_modules/@module-federation/sdk/dist/utils.es.js.map +1 -1
  226. package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
  227. package/dist/shared/node_modules/prop-types/index.cjs.js.map +1 -1
  228. package/dist/shared/node_modules/prop-types/index.es.js +1 -1
  229. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  230. package/dist/shared/node_modules/react-is/index.cjs.js.map +1 -1
  231. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  232. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
  233. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js.map +1 -1
  234. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
  235. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
  236. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js.map +1 -1
  237. package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
  238. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
  239. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js.map +1 -1
  240. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
  241. package/dist/shared/src/api/queries/overview/patchProducts.cjs.js +1 -1
  242. package/dist/shared/src/api/queries/overview/patchProducts.cjs.js.map +1 -1
  243. package/dist/shared/src/api/queries/overview/patchProducts.es.js +61 -29
  244. package/dist/shared/src/api/queries/overview/patchProducts.es.js.map +1 -1
  245. package/dist/shared/src/api/queries/overview/patchVersions.cjs.js +1 -1
  246. package/dist/shared/src/api/queries/overview/patchVersions.cjs.js.map +1 -1
  247. package/dist/shared/src/api/queries/overview/patchVersions.es.js +16 -15
  248. package/dist/shared/src/api/queries/overview/patchVersions.es.js.map +1 -1
  249. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  250. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  251. package/dist/shared/src/api/queries/overview/updateOverview.es.js +232 -227
  252. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  253. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js +1 -1
  254. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js.map +1 -1
  255. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js +5 -4
  256. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
  257. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js +10 -0
  258. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js.map +1 -0
  259. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.es.js +158 -0
  260. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.es.js.map +1 -0
  261. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  262. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  263. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +5 -4
  264. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  265. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  266. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  267. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +5 -4
  268. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  269. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  270. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  271. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +5 -4
  272. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  273. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  274. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  275. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +5 -4
  276. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  277. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js +1 -1
  278. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js.map +1 -1
  279. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js +5 -4
  280. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js.map +1 -1
  281. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  282. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  283. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +5 -4
  284. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  285. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  286. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  287. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +5 -4
  288. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  289. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  290. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  291. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +5 -4
  292. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  293. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  294. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  295. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +9 -8
  296. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  297. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
  298. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
  299. package/dist/shared/src/components/LinksManager/LinksManager.es.js +5 -4
  300. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
  301. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  302. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  303. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +5 -4
  304. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  305. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  306. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  307. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +5 -4
  308. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  309. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
  310. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -1
  311. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +5 -4
  312. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -1
  313. package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
  314. package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -1
  315. package/dist/shared/src/components/Menu/Menu.es.js +5 -4
  316. package/dist/shared/src/components/Menu/Menu.es.js.map +1 -1
  317. package/dist/shared/src/components/Menu/MenuItem.cjs.js +1 -1
  318. package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -1
  319. package/dist/shared/src/components/Menu/MenuItem.es.js +3 -2
  320. package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -1
  321. package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
  322. package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
  323. package/dist/shared/src/components/Menu/MenuList.es.js +5 -4
  324. package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
  325. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
  326. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  327. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +5 -4
  328. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  329. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  330. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  331. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +5 -4
  332. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  333. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
  334. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  335. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +5 -4
  336. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  337. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  338. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  339. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +7 -6
  340. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  341. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  342. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  343. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +5 -4
  344. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  345. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  346. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  347. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +5 -4
  348. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  349. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  350. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  351. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +5 -4
  352. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  353. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  354. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  355. package/dist/shared/src/components/RenameForm/RenameForm.es.js +5 -4
  356. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  357. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  358. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  359. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +5 -4
  360. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  361. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  362. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  363. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +6 -5
  364. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  365. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  366. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  367. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +5 -4
  368. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  369. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  370. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  371. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +5 -4
  372. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  373. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  374. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  375. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +9 -8
  376. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  377. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +1 -1
  378. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  379. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +5 -4
  380. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  381. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
  382. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  383. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +7 -6
  384. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  385. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  386. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  387. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +5 -4
  388. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  389. package/dist/shared/src/components/SyncButton/SyncButton.cjs.js +4 -3
  390. package/dist/shared/src/components/SyncButton/SyncButton.cjs.js.map +1 -1
  391. package/dist/shared/src/components/SyncButton/SyncButton.es.js +20 -18
  392. package/dist/shared/src/components/SyncButton/SyncButton.es.js.map +1 -1
  393. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
  394. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  395. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +5 -4
  396. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  397. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  398. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  399. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +5 -4
  400. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  401. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  402. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  403. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +9 -8
  404. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  405. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  406. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  407. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +5 -4
  408. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  409. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  410. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/Actions/Actions.es.js +5 -4
  412. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  413. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  414. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +5 -4
  416. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  417. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  418. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +46 -38
  420. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  421. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  422. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +5 -4
  424. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  425. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  426. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +5 -4
  428. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  429. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  430. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  431. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +5 -4
  432. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  433. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js +1 -1
  434. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js +5 -4
  436. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js.map +1 -1
  437. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  438. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +91 -71
  440. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
  441. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  442. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
  443. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +5 -4
  444. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
  445. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.cjs.js +1 -1
  446. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.cjs.js.map +1 -1
  447. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.es.js +188 -81
  448. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.es.js.map +1 -1
  449. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  450. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  451. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +5 -4
  452. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  453. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  454. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  455. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +19 -18
  456. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  457. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  458. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  459. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +5 -4
  460. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  461. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  462. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  463. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +5 -4
  464. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  465. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  466. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  467. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +5 -4
  468. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  469. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  470. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  471. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +5 -4
  472. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  473. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  474. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  475. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +5 -4
  476. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  477. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  478. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  479. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +5 -4
  480. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  481. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  482. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  483. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +5 -4
  484. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  485. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  486. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  487. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +5 -4
  488. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  489. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  490. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  491. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +5 -4
  492. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  493. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  494. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  495. package/dist/shared/src/containers/Feed/Feed.es.js +6 -5
  496. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  497. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  498. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  499. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +5 -4
  500. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  501. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  502. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  503. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +5 -4
  504. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  505. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  506. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  507. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +5 -4
  508. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  509. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +1 -1
  510. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js.map +1 -1
  511. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +7 -6
  512. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js.map +1 -1
  513. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  514. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  515. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +5 -4
  516. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  517. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  518. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  519. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +5 -4
  520. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  521. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  522. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  523. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +9 -8
  524. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  525. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  526. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  527. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +5 -4
  528. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  529. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  530. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  531. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +5 -4
  532. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  533. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +1 -1
  534. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js.map +1 -1
  535. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +5 -4
  536. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js.map +1 -1
  537. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  538. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  539. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +5 -4
  540. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  541. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  542. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  543. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +5 -4
  544. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  545. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  546. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  547. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +8 -7
  548. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  549. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  550. package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
  551. package/dist/shared/src/containers/ListTable/ListTable.es.js +5 -4
  552. package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
  553. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  554. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  555. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +5 -4
  556. package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
  557. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  558. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
  559. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +5 -4
  560. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
  561. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  562. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  563. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +108 -106
  564. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  565. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  566. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  567. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +5 -4
  568. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  569. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  570. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  571. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +5 -4
  572. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  573. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  574. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  575. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +5 -4
  576. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  577. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  578. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  579. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +5 -4
  580. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  581. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  582. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  583. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +5 -4
  584. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  585. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +1 -1
  586. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  587. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +7 -6
  588. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  589. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  590. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  591. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +5 -4
  592. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  593. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  594. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  595. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +7 -6
  596. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  597. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +1 -1
  598. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  599. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +7 -6
  600. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  601. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  602. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  603. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +5 -4
  604. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  605. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  606. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  607. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +5 -4
  608. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  609. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  610. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  611. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +8 -7
  612. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  613. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  614. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  615. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +5 -4
  616. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  617. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  618. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  619. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +62 -50
  620. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  621. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  622. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  623. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +5 -4
  624. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  625. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  626. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  627. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +5 -4
  628. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  629. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  630. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  631. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +38 -84
  632. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  633. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  634. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  635. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +32 -35
  636. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  637. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  638. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  639. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +5 -4
  640. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  641. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  642. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  643. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +5 -4
  644. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  645. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  646. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  647. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +88 -82
  648. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  649. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  650. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  651. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +5 -4
  652. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  653. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  654. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  655. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +5 -4
  656. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  657. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  658. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  659. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +5 -4
  660. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  661. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  662. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  663. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +5 -4
  664. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  665. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  666. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  667. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +5 -4
  668. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  669. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  670. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  671. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +16 -15
  672. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  673. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  674. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  675. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +5 -4
  676. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  677. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  678. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  679. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +6 -5
  680. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  681. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +1 -1
  682. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
  683. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +5 -4
  684. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
  685. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  686. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  687. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +7 -6
  688. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  689. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +1 -1
  690. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
  691. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +5 -4
  692. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js.map +1 -1
  693. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  694. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  695. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +5 -4
  696. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  697. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  698. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  699. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +5 -4
  700. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  701. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +1 -1
  702. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
  703. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +5 -4
  704. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
  705. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  706. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  707. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +5 -4
  708. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  709. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  710. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  711. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +174 -172
  712. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  713. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +1 -1
  714. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -1
  715. package/dist/shared/src/containers/Slicer/components/Slicer.es.js +5 -4
  716. package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -1
  717. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +1 -1
  718. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
  719. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +5 -4
  720. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -1
  721. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  722. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  723. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +5 -4
  724. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  725. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  726. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  727. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +9 -8
  728. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  729. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
  730. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
  731. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +42 -41
  732. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
  733. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +1 -1
  734. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -1
  735. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +5 -4
  736. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
  737. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +1 -1
  738. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -1
  739. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +5 -4
  740. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -1
  741. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js +1 -1
  742. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js.map +1 -1
  743. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js +5 -4
  744. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js.map +1 -1
  745. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js +1 -1
  746. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js.map +1 -1
  747. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js +5 -4
  748. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js.map +1 -1
  749. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js +1 -1
  750. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js.map +1 -1
  751. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js +5 -4
  752. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js.map +1 -1
  753. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  754. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  755. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +44 -43
  756. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  757. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  758. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  759. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +5 -4
  760. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  761. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  762. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  763. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +5 -4
  764. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  765. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +1 -1
  766. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  767. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +5 -4
  768. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  769. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  770. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  771. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +7 -6
  772. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  773. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  774. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  775. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +8 -7
  776. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  777. package/dist/shared/src/context/DeleteEntitiesContext.cjs.js +2 -0
  778. package/dist/shared/src/context/DeleteEntitiesContext.cjs.js.map +1 -0
  779. package/dist/shared/src/context/DeleteEntitiesContext.es.js +221 -0
  780. package/dist/shared/src/context/DeleteEntitiesContext.es.js.map +1 -0
  781. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  782. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  783. package/dist/shared/src/context/DetailsPanelContext.es.js +9 -8
  784. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  785. package/dist/shared/src/context/EntityUpdatesContext.cjs.js +1 -1
  786. package/dist/shared/src/context/EntityUpdatesContext.cjs.js.map +1 -1
  787. package/dist/shared/src/context/EntityUpdatesContext.es.js +11 -10
  788. package/dist/shared/src/context/EntityUpdatesContext.es.js.map +1 -1
  789. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  790. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  791. package/dist/shared/src/context/PowerpackContext.es.js +9 -8
  792. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  793. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  794. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  795. package/dist/shared/src/context/ProjectContext.es.js +43 -42
  796. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  797. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  798. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  799. package/dist/shared/src/context/ProjectFoldersContext.es.js +7 -6
  800. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  801. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  802. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  803. package/dist/shared/src/context/RemoteModulesContext.es.js +9 -9
  804. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  805. package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
  806. package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
  807. package/dist/shared/src/context/SubtasksModulesContext.es.js +7 -6
  808. package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
  809. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  810. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  811. package/dist/shared/src/context/WebsocketContext.es.js +7 -6
  812. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  813. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  814. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  815. package/dist/shared/src/hooks/useEntityUpdate.es.js +5 -4
  816. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  817. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  818. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  819. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +5 -4
  820. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  821. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  822. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  823. package/dist/shared/src/hooks/useHierarchyTable.es.js +5 -4
  824. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  825. package/dist/shared/src/hooks/useLoadModule.cjs.js +1 -1
  826. package/dist/shared/src/hooks/useLoadModule.cjs.js.map +1 -1
  827. package/dist/shared/src/hooks/useLoadModule.es.js +11 -11
  828. package/dist/shared/src/hooks/useLoadModule.es.js.map +1 -1
  829. package/dist/shared/src/hooks/useLoadModules.cjs.js +1 -1
  830. package/dist/shared/src/hooks/useLoadModules.cjs.js.map +1 -1
  831. package/dist/shared/src/hooks/useLoadModules.es.js +37 -37
  832. package/dist/shared/src/hooks/useLoadModules.es.js.map +1 -1
  833. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  834. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  835. package/dist/shared/src/hooks/useUserProjectConfig.es.js +5 -4
  836. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  837. package/dist/shared/src/util/pluralize.cjs.js +2 -0
  838. package/dist/shared/src/util/pluralize.cjs.js.map +1 -0
  839. package/dist/shared/src/util/pluralize.es.js +5 -0
  840. package/dist/shared/src/util/pluralize.es.js.map +1 -0
  841. package/dist/types/components/DeleteEntitiesConfirm/DeleteConfirmContent.d.ts +9 -0
  842. package/dist/types/components/DeleteEntitiesConfirm/index.d.ts +1 -0
  843. package/dist/types/components/index.d.ts +1 -0
  844. package/dist/types/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.d.ts +5 -1
  845. package/dist/types/containers/DetailsPanel/components/DetailsPanelMoreMenu/types.d.ts +21 -17
  846. package/dist/types/containers/Slicer/hooks/useEntityListsSlice.d.ts +1 -1
  847. package/dist/types/context/DeleteEntitiesContext.d.ts +26 -0
  848. package/dist/types/context/ProjectContext.d.ts +1 -0
  849. package/dist/types/context/index.d.ts +1 -0
  850. package/dist/types/util/index.d.ts +1 -0
  851. package/dist/types/util/pluralize.d.ts +1 -0
  852. package/dist/util.cjs.js +1 -1
  853. package/dist/util.es.js +53 -51
  854. package/dist/util.es.js.map +1 -1
  855. package/package.json +1 -1
  856. package/dist/_virtual/ConsumeSharedPlugin.cjs.js +0 -2
  857. package/dist/_virtual/ConsumeSharedPlugin.cjs.js.map +0 -1
  858. package/dist/_virtual/ConsumeSharedPlugin.es.js +0 -5
  859. package/dist/_virtual/ConsumeSharedPlugin.es.js.map +0 -1
  860. package/dist/_virtual/ContainerPlugin.cjs.js +0 -2
  861. package/dist/_virtual/ContainerPlugin.cjs.js.map +0 -1
  862. package/dist/_virtual/ContainerPlugin.es.js +0 -5
  863. package/dist/_virtual/ContainerPlugin.es.js.map +0 -1
  864. package/dist/_virtual/ContainerReferencePlugin.cjs.js +0 -2
  865. package/dist/_virtual/ContainerReferencePlugin.cjs.js.map +0 -1
  866. package/dist/_virtual/ContainerReferencePlugin.es.js +0 -5
  867. package/dist/_virtual/ContainerReferencePlugin.es.js.map +0 -1
  868. package/dist/_virtual/ModuleFederationPlugin.cjs.js +0 -2
  869. package/dist/_virtual/ModuleFederationPlugin.cjs.js.map +0 -1
  870. package/dist/_virtual/ModuleFederationPlugin.es.js +0 -5
  871. package/dist/_virtual/ModuleFederationPlugin.es.js.map +0 -1
  872. package/dist/_virtual/ProvideSharedPlugin.cjs.js +0 -2
  873. package/dist/_virtual/ProvideSharedPlugin.cjs.js.map +0 -1
  874. package/dist/_virtual/ProvideSharedPlugin.es.js +0 -5
  875. package/dist/_virtual/ProvideSharedPlugin.es.js.map +0 -1
  876. package/dist/_virtual/SharePlugin.cjs.js +0 -2
  877. package/dist/_virtual/SharePlugin.cjs.js.map +0 -1
  878. package/dist/_virtual/SharePlugin.es.js +0 -5
  879. package/dist/_virtual/SharePlugin.es.js.map +0 -1
  880. package/dist/_virtual/SnapshotHandler.cjs.js +0 -2
  881. package/dist/_virtual/SnapshotHandler.cjs.js.map +0 -1
  882. package/dist/_virtual/SnapshotHandler.es.js +0 -5
  883. package/dist/_virtual/SnapshotHandler.es.js.map +0 -1
  884. package/dist/_virtual/asyncHook.cjs.js +0 -2
  885. package/dist/_virtual/asyncHook.cjs.js.map +0 -1
  886. package/dist/_virtual/asyncHook.es.js +0 -5
  887. package/dist/_virtual/asyncHook.es.js.map +0 -1
  888. package/dist/_virtual/asyncWaterfallHooks.cjs.js +0 -2
  889. package/dist/_virtual/asyncWaterfallHooks.cjs.js.map +0 -1
  890. package/dist/_virtual/asyncWaterfallHooks.es.js +0 -5
  891. package/dist/_virtual/asyncWaterfallHooks.es.js.map +0 -1
  892. package/dist/_virtual/browser.cjs.js +0 -2
  893. package/dist/_virtual/browser.cjs.js.map +0 -1
  894. package/dist/_virtual/browser.es.js +0 -5
  895. package/dist/_virtual/browser.es.js.map +0 -1
  896. package/dist/_virtual/compare.cjs.js +0 -2
  897. package/dist/_virtual/compare.cjs.js.map +0 -1
  898. package/dist/_virtual/compare.es.js +0 -5
  899. package/dist/_virtual/compare.es.js.map +0 -1
  900. package/dist/_virtual/constant.cjs.js +0 -2
  901. package/dist/_virtual/constant.cjs.js.map +0 -1
  902. package/dist/_virtual/constant.cjs2.js +0 -2
  903. package/dist/_virtual/constant.cjs2.js.map +0 -1
  904. package/dist/_virtual/constant.es.js +0 -5
  905. package/dist/_virtual/constant.es.js.map +0 -1
  906. package/dist/_virtual/constant.es2.js +0 -5
  907. package/dist/_virtual/constant.es2.js.map +0 -1
  908. package/dist/_virtual/constants.cjs2.js +0 -2
  909. package/dist/_virtual/constants.cjs2.js.map +0 -1
  910. package/dist/_virtual/constants.es2.js +0 -5
  911. package/dist/_virtual/constants.es2.js.map +0 -1
  912. package/dist/_virtual/context.cjs.js +0 -2
  913. package/dist/_virtual/context.cjs.js.map +0 -1
  914. package/dist/_virtual/context.es.js +0 -5
  915. package/dist/_virtual/context.es.js.map +0 -1
  916. package/dist/_virtual/core.cjs.js +0 -2
  917. package/dist/_virtual/core.cjs.js.map +0 -1
  918. package/dist/_virtual/core.es.js +0 -5
  919. package/dist/_virtual/core.es.js.map +0 -1
  920. package/dist/_virtual/createModuleFederationConfig.cjs.js +0 -2
  921. package/dist/_virtual/createModuleFederationConfig.cjs.js.map +0 -1
  922. package/dist/_virtual/createModuleFederationConfig.es.js +0 -5
  923. package/dist/_virtual/createModuleFederationConfig.es.js.map +0 -1
  924. package/dist/_virtual/desc.cjs.js +0 -2
  925. package/dist/_virtual/desc.cjs.js.map +0 -1
  926. package/dist/_virtual/desc.es.js +0 -5
  927. package/dist/_virtual/desc.es.js.map +0 -1
  928. package/dist/_virtual/dom.cjs.js +0 -2
  929. package/dist/_virtual/dom.cjs.js.map +0 -1
  930. package/dist/_virtual/dom.es.js +0 -5
  931. package/dist/_virtual/dom.es.js.map +0 -1
  932. package/dist/_virtual/env.cjs.js +0 -2
  933. package/dist/_virtual/env.cjs.js.map +0 -1
  934. package/dist/_virtual/env.cjs2.js +0 -2
  935. package/dist/_virtual/env.cjs2.js.map +0 -1
  936. package/dist/_virtual/env.es.js +0 -5
  937. package/dist/_virtual/env.es.js.map +0 -1
  938. package/dist/_virtual/env.es2.js +0 -5
  939. package/dist/_virtual/env.es2.js.map +0 -1
  940. package/dist/_virtual/error-codes.cjs.js +0 -2
  941. package/dist/_virtual/error-codes.cjs.js.map +0 -1
  942. package/dist/_virtual/error-codes.es.js +0 -5
  943. package/dist/_virtual/error-codes.es.js.map +0 -1
  944. package/dist/_virtual/generate-preload-assets.cjs.js +0 -2
  945. package/dist/_virtual/generate-preload-assets.cjs.js.map +0 -1
  946. package/dist/_virtual/generate-preload-assets.es.js +0 -5
  947. package/dist/_virtual/generate-preload-assets.es.js.map +0 -1
  948. package/dist/_virtual/generateSnapshotFromManifest.cjs.js +0 -2
  949. package/dist/_virtual/generateSnapshotFromManifest.cjs.js.map +0 -1
  950. package/dist/_virtual/generateSnapshotFromManifest.es.js +0 -5
  951. package/dist/_virtual/generateSnapshotFromManifest.es.js.map +0 -1
  952. package/dist/_virtual/getShortErrorMsg.cjs.js +0 -2
  953. package/dist/_virtual/getShortErrorMsg.cjs.js.map +0 -1
  954. package/dist/_virtual/getShortErrorMsg.es.js +0 -5
  955. package/dist/_virtual/getShortErrorMsg.es.js.map +0 -1
  956. package/dist/_virtual/global.cjs.js +0 -2
  957. package/dist/_virtual/global.cjs.js.map +0 -1
  958. package/dist/_virtual/global.es.js +0 -5
  959. package/dist/_virtual/global.es.js.map +0 -1
  960. package/dist/_virtual/helpers.cjs.js +0 -2
  961. package/dist/_virtual/helpers.cjs.js.map +0 -1
  962. package/dist/_virtual/helpers.es.js +0 -5
  963. package/dist/_virtual/helpers.es.js.map +0 -1
  964. package/dist/_virtual/index.cjs13.js +0 -2
  965. package/dist/_virtual/index.cjs13.js.map +0 -1
  966. package/dist/_virtual/index.cjs14.js +0 -2
  967. package/dist/_virtual/index.cjs14.js.map +0 -1
  968. package/dist/_virtual/index.cjs15.js +0 -2
  969. package/dist/_virtual/index.cjs15.js.map +0 -1
  970. package/dist/_virtual/index.cjs16.js +0 -2
  971. package/dist/_virtual/index.cjs16.js.map +0 -1
  972. package/dist/_virtual/index.cjs17.js +0 -2
  973. package/dist/_virtual/index.cjs17.js.map +0 -1
  974. package/dist/_virtual/index.cjs18.js +0 -2
  975. package/dist/_virtual/index.cjs18.js.map +0 -1
  976. package/dist/_virtual/index.cjs19.js +0 -2
  977. package/dist/_virtual/index.cjs19.js.map +0 -1
  978. package/dist/_virtual/index.cjs20.js +0 -2
  979. package/dist/_virtual/index.cjs20.js.map +0 -1
  980. package/dist/_virtual/index.cjs21.js +0 -2
  981. package/dist/_virtual/index.cjs21.js.map +0 -1
  982. package/dist/_virtual/index.cjs22.js +0 -2
  983. package/dist/_virtual/index.cjs22.js.map +0 -1
  984. package/dist/_virtual/index.cjs23.js +0 -2
  985. package/dist/_virtual/index.cjs23.js.map +0 -1
  986. package/dist/_virtual/index.cjs24.js +0 -2
  987. package/dist/_virtual/index.cjs24.js.map +0 -1
  988. package/dist/_virtual/index.es13.js +0 -5
  989. package/dist/_virtual/index.es13.js.map +0 -1
  990. package/dist/_virtual/index.es14.js +0 -5
  991. package/dist/_virtual/index.es14.js.map +0 -1
  992. package/dist/_virtual/index.es15.js +0 -5
  993. package/dist/_virtual/index.es15.js.map +0 -1
  994. package/dist/_virtual/index.es16.js +0 -5
  995. package/dist/_virtual/index.es16.js.map +0 -1
  996. package/dist/_virtual/index.es17.js +0 -5
  997. package/dist/_virtual/index.es17.js.map +0 -1
  998. package/dist/_virtual/index.es18.js +0 -8
  999. package/dist/_virtual/index.es18.js.map +0 -1
  1000. package/dist/_virtual/index.es19.js +0 -5
  1001. package/dist/_virtual/index.es19.js.map +0 -1
  1002. package/dist/_virtual/index.es20.js +0 -5
  1003. package/dist/_virtual/index.es20.js.map +0 -1
  1004. package/dist/_virtual/index.es21.js +0 -5
  1005. package/dist/_virtual/index.es21.js.map +0 -1
  1006. package/dist/_virtual/index.es22.js +0 -8
  1007. package/dist/_virtual/index.es22.js.map +0 -1
  1008. package/dist/_virtual/index.es23.js +0 -8
  1009. package/dist/_virtual/index.es23.js.map +0 -1
  1010. package/dist/_virtual/index.es24.js +0 -8
  1011. package/dist/_virtual/index.es24.js.map +0 -1
  1012. package/dist/_virtual/load.cjs.js +0 -2
  1013. package/dist/_virtual/load.cjs.js.map +0 -1
  1014. package/dist/_virtual/load.es.js +0 -5
  1015. package/dist/_virtual/load.es.js.map +0 -1
  1016. package/dist/_virtual/logger.cjs.js +0 -2
  1017. package/dist/_virtual/logger.cjs.js.map +0 -1
  1018. package/dist/_virtual/logger.cjs2.js +0 -2
  1019. package/dist/_virtual/logger.cjs2.js.map +0 -1
  1020. package/dist/_virtual/logger.es.js +0 -5
  1021. package/dist/_virtual/logger.es.js.map +0 -1
  1022. package/dist/_virtual/logger.es2.js +0 -5
  1023. package/dist/_virtual/logger.es2.js.map +0 -1
  1024. package/dist/_virtual/manifest.cjs.js +0 -2
  1025. package/dist/_virtual/manifest.cjs.js.map +0 -1
  1026. package/dist/_virtual/manifest.es.js +0 -5
  1027. package/dist/_virtual/manifest.es.js.map +0 -1
  1028. package/dist/_virtual/node.cjs.js +0 -2
  1029. package/dist/_virtual/node.cjs.js.map +0 -1
  1030. package/dist/_virtual/node.es.js +0 -5
  1031. package/dist/_virtual/node.es.js.map +0 -1
  1032. package/dist/_virtual/normalizeOptions.cjs.js +0 -2
  1033. package/dist/_virtual/normalizeOptions.cjs.js.map +0 -1
  1034. package/dist/_virtual/normalizeOptions.es.js +0 -5
  1035. package/dist/_virtual/normalizeOptions.es.js.map +0 -1
  1036. package/dist/_virtual/parser.cjs.js +0 -2
  1037. package/dist/_virtual/parser.cjs.js.map +0 -1
  1038. package/dist/_virtual/parser.es.js +0 -5
  1039. package/dist/_virtual/parser.es.js.map +0 -1
  1040. package/dist/_virtual/plugin.cjs.js +0 -2
  1041. package/dist/_virtual/plugin.cjs.js.map +0 -1
  1042. package/dist/_virtual/plugin.es.js +0 -5
  1043. package/dist/_virtual/plugin.es.js.map +0 -1
  1044. package/dist/_virtual/pluginSystem.cjs.js +0 -2
  1045. package/dist/_virtual/pluginSystem.cjs.js.map +0 -1
  1046. package/dist/_virtual/pluginSystem.es.js +0 -5
  1047. package/dist/_virtual/pluginSystem.es.js.map +0 -1
  1048. package/dist/_virtual/preload.cjs.js +0 -2
  1049. package/dist/_virtual/preload.cjs.js.map +0 -1
  1050. package/dist/_virtual/preload.es.js +0 -5
  1051. package/dist/_virtual/preload.es.js.map +0 -1
  1052. package/dist/_virtual/runtime.cjs.js +0 -2
  1053. package/dist/_virtual/runtime.cjs.js.map +0 -1
  1054. package/dist/_virtual/runtime.cjs2.js +0 -2
  1055. package/dist/_virtual/runtime.cjs2.js.map +0 -1
  1056. package/dist/_virtual/runtime.cjs3.js +0 -2
  1057. package/dist/_virtual/runtime.cjs3.js.map +0 -1
  1058. package/dist/_virtual/runtime.cjs4.js +0 -2
  1059. package/dist/_virtual/runtime.cjs4.js.map +0 -1
  1060. package/dist/_virtual/runtime.cjs5.js +0 -2
  1061. package/dist/_virtual/runtime.cjs5.js.map +0 -1
  1062. package/dist/_virtual/runtime.es.js +0 -6
  1063. package/dist/_virtual/runtime.es.js.map +0 -1
  1064. package/dist/_virtual/runtime.es2.js +0 -5
  1065. package/dist/_virtual/runtime.es2.js.map +0 -1
  1066. package/dist/_virtual/runtime.es3.js +0 -5
  1067. package/dist/_virtual/runtime.es3.js.map +0 -1
  1068. package/dist/_virtual/runtime.es4.js +0 -5
  1069. package/dist/_virtual/runtime.es4.js.map +0 -1
  1070. package/dist/_virtual/runtime.es5.js +0 -5
  1071. package/dist/_virtual/runtime.es5.js.map +0 -1
  1072. package/dist/_virtual/share.cjs.js +0 -2
  1073. package/dist/_virtual/share.cjs.js.map +0 -1
  1074. package/dist/_virtual/share.es.js +0 -5
  1075. package/dist/_virtual/share.es.js.map +0 -1
  1076. package/dist/_virtual/syncHook.cjs.js +0 -2
  1077. package/dist/_virtual/syncHook.cjs.js.map +0 -1
  1078. package/dist/_virtual/syncHook.es.js +0 -5
  1079. package/dist/_virtual/syncHook.es.js.map +0 -1
  1080. package/dist/_virtual/syncWaterfallHook.cjs.js +0 -2
  1081. package/dist/_virtual/syncWaterfallHook.cjs.js.map +0 -1
  1082. package/dist/_virtual/syncWaterfallHook.es.js +0 -5
  1083. package/dist/_virtual/syncWaterfallHook.es.js.map +0 -1
  1084. package/dist/_virtual/tool.cjs.js +0 -2
  1085. package/dist/_virtual/tool.cjs.js.map +0 -1
  1086. package/dist/_virtual/tool.es.js +0 -5
  1087. package/dist/_virtual/tool.es.js.map +0 -1
  1088. package/dist/_virtual/utils.cjs.js +0 -2
  1089. package/dist/_virtual/utils.cjs.js.map +0 -1
  1090. package/dist/_virtual/utils.cjs2.js +0 -2
  1091. package/dist/_virtual/utils.cjs2.js.map +0 -1
  1092. package/dist/_virtual/utils.cjs3.js +0 -2
  1093. package/dist/_virtual/utils.cjs3.js.map +0 -1
  1094. package/dist/_virtual/utils.es.js +0 -5
  1095. package/dist/_virtual/utils.es.js.map +0 -1
  1096. package/dist/_virtual/utils.es2.js +0 -5
  1097. package/dist/_virtual/utils.es2.js.map +0 -1
  1098. package/dist/_virtual/utils.es3.js +0 -5
  1099. package/dist/_virtual/utils.es3.js.map +0 -1
  1100. package/dist/shared/node_modules/@module-federation/enhanced/dist/src/runtime.cjs.js +0 -2
  1101. package/dist/shared/node_modules/@module-federation/enhanced/dist/src/runtime.cjs.js.map +0 -1
  1102. package/dist/shared/node_modules/@module-federation/enhanced/dist/src/runtime.es.js +0 -21
  1103. package/dist/shared/node_modules/@module-federation/enhanced/dist/src/runtime.es.js.map +0 -1
  1104. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +0 -2
  1105. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js.map +0 -1
  1106. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +0 -16
  1107. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js.map +0 -1
  1108. package/dist/shared/node_modules/@module-federation/runtime/dist/utils.cjs.js +0 -2
  1109. package/dist/shared/node_modules/@module-federation/runtime/dist/utils.cjs.js.map +0 -1
  1110. package/dist/shared/node_modules/@module-federation/runtime/dist/utils.es.js +0 -20
  1111. package/dist/shared/node_modules/@module-federation/runtime/dist/utils.es.js.map +0 -1
  1112. package/dist/shared/node_modules/@module-federation/runtime-core/dist/_virtual/_rolldown/runtime.cjs.js +0 -2
  1113. package/dist/shared/node_modules/@module-federation/runtime-core/dist/_virtual/_rolldown/runtime.cjs.js.map +0 -1
  1114. package/dist/shared/node_modules/@module-federation/runtime-core/dist/_virtual/_rolldown/runtime.es.js +0 -20
  1115. package/dist/shared/node_modules/@module-federation/runtime-core/dist/_virtual/_rolldown/runtime.es.js.map +0 -1
  1116. package/dist/shared/node_modules/@module-federation/runtime-core/dist/helpers.cjs.js +0 -2
  1117. package/dist/shared/node_modules/@module-federation/runtime-core/dist/helpers.cjs.js.map +0 -1
  1118. package/dist/shared/node_modules/@module-federation/runtime-core/dist/helpers.es.js +0 -50
  1119. package/dist/shared/node_modules/@module-federation/runtime-core/dist/helpers.es.js.map +0 -1
  1120. package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.cjs.js +0 -2
  1121. package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.cjs.js.map +0 -1
  1122. package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.es.js +0 -18
  1123. package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.es.js.map +0 -1
  1124. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs.js +0 -2
  1125. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs.js.map +0 -1
  1126. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.es.js +0 -14
  1127. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.es.js.map +0 -1
  1128. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.cjs.js +0 -2
  1129. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.cjs.js.map +0 -1
  1130. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.es.js +0 -16
  1131. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.es.js.map +0 -1
  1132. package/dist/shared/node_modules/@module-federation/runtime-tools/dist/runtime.cjs.js +0 -2
  1133. package/dist/shared/node_modules/@module-federation/runtime-tools/dist/runtime.cjs.js.map +0 -1
  1134. package/dist/shared/node_modules/@module-federation/runtime-tools/dist/runtime.es.js +0 -20
  1135. package/dist/shared/node_modules/@module-federation/runtime-tools/dist/runtime.es.js.map +0 -1
  1136. package/dist/shared/node_modules/@module-federation/sdk/dist/_virtual/_rolldown/runtime.cjs.js +0 -2
  1137. package/dist/shared/node_modules/@module-federation/sdk/dist/_virtual/_rolldown/runtime.cjs.js.map +0 -1
  1138. package/dist/shared/node_modules/@module-federation/sdk/dist/_virtual/_rolldown/runtime.es.js +0 -20
  1139. package/dist/shared/node_modules/@module-federation/sdk/dist/_virtual/_rolldown/runtime.es.js.map +0 -1
  1140. package/dist/shared/node_modules/@module-federation/sdk/dist/createModuleFederationConfig.cjs.js +0 -2
  1141. package/dist/shared/node_modules/@module-federation/sdk/dist/createModuleFederationConfig.cjs.js.map +0 -1
  1142. package/dist/shared/node_modules/@module-federation/sdk/dist/createModuleFederationConfig.es.js +0 -12
  1143. package/dist/shared/node_modules/@module-federation/sdk/dist/createModuleFederationConfig.es.js.map +0 -1
  1144. package/dist/shared/node_modules/@module-federation/sdk/dist/index.cjs.js +0 -2
  1145. package/dist/shared/node_modules/@module-federation/sdk/dist/index.cjs.js.map +0 -1
  1146. package/dist/shared/node_modules/@module-federation/sdk/dist/index.es.js +0 -58
  1147. package/dist/shared/node_modules/@module-federation/sdk/dist/index.es.js.map +0 -1
  1148. package/dist/shared/node_modules/@module-federation/sdk/dist/normalizeOptions.cjs.js +0 -2
  1149. package/dist/shared/node_modules/@module-federation/sdk/dist/normalizeOptions.cjs.js.map +0 -1
  1150. package/dist/shared/node_modules/@module-federation/sdk/dist/normalizeOptions.es.js +0 -23
  1151. package/dist/shared/node_modules/@module-federation/sdk/dist/normalizeOptions.es.js.map +0 -1
  1152. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ConsumeSharedPlugin.cjs.js +0 -2
  1153. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ConsumeSharedPlugin.cjs.js.map +0 -1
  1154. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ConsumeSharedPlugin.es.js +0 -18
  1155. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ConsumeSharedPlugin.es.js.map +0 -1
  1156. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ContainerPlugin.cjs.js +0 -2
  1157. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ContainerPlugin.cjs.js.map +0 -1
  1158. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ContainerPlugin.es.js +0 -18
  1159. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ContainerPlugin.es.js.map +0 -1
  1160. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ContainerReferencePlugin.cjs.js +0 -2
  1161. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ContainerReferencePlugin.cjs.js.map +0 -1
  1162. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ContainerReferencePlugin.es.js +0 -18
  1163. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ContainerReferencePlugin.es.js.map +0 -1
  1164. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ModuleFederationPlugin.cjs.js +0 -2
  1165. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ModuleFederationPlugin.cjs.js.map +0 -1
  1166. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ModuleFederationPlugin.es.js +0 -18
  1167. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ModuleFederationPlugin.es.js.map +0 -1
  1168. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ProvideSharedPlugin.cjs.js +0 -2
  1169. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ProvideSharedPlugin.cjs.js.map +0 -1
  1170. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ProvideSharedPlugin.es.js +0 -18
  1171. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/ProvideSharedPlugin.es.js.map +0 -1
  1172. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/SharePlugin.cjs.js +0 -2
  1173. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/SharePlugin.cjs.js.map +0 -1
  1174. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/SharePlugin.es.js +0 -18
  1175. package/dist/shared/node_modules/@module-federation/sdk/dist/types/plugins/SharePlugin.es.js.map +0 -1
  1176. package/dist/shared/src/containers/ProjectTreeTable/components/DeleteConfirmContent.cjs.js +0 -10
  1177. package/dist/shared/src/containers/ProjectTreeTable/components/DeleteConfirmContent.cjs.js.map +0 -1
  1178. package/dist/shared/src/containers/ProjectTreeTable/components/DeleteConfirmContent.es.js +0 -25
  1179. package/dist/shared/src/containers/ProjectTreeTable/components/DeleteConfirmContent.es.js.map +0 -1
  1180. package/dist/types/containers/ProjectTreeTable/components/DeleteConfirmContent.d.ts +0 -6
@@ -1 +1 @@
1
- {"version":3,"file":"ClipboardContext.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/ClipboardContext.tsx"],"sourcesContent":["import React, { createContext, useCallback, useContext, useEffect, useMemo } from 'react'\n\n// Contexts\nimport { ROW_SELECTION_COLUMN_ID } from '../constants'\nimport { useSelectionCellsContext } from './SelectionCellsContext'\nimport { useCellEditing } from './CellEditingContext'\nimport { useProjectContext } from '@shared/context'\n\n// Utils\nimport {\n getCellValue,\n getEntityDataById,\n getLinkEntityIdsByColumnId,\n parseCellId,\n} from '../utils/cellUtils'\n\n// Types\nimport { TableRow } from '../types/table'\nimport { EntityUpdate } from '../hooks/useUpdateTableData'\nimport usePasteLinks, { LinkUpdate } from '../hooks/usePasteLinks'\nimport { useUpdateSubtasksMutation } from '@shared/api'\n\n// Import from the new modular files\nimport {\n getEntityPath,\n parseClipboardText,\n clipboardError,\n processFieldValue,\n subtasksToTSV,\n isSubtasksTSV,\n tsvToSubtasks,\n sanitizeSubtaskName,\n commentsToText,\n} from './clipboard'\nimport { validateClipboardData } from './clipboard/clipboardValidation'\nimport { ClipboardContextType, ClipboardProviderProps } from './clipboard/clipboardTypes'\nimport { useProjectTableContext } from './ProjectTableContext'\nimport { validateEntityId, getEntityId } from '@shared/util'\n\nconst ClipboardContext = createContext<ClipboardContextType | undefined>(undefined)\n\nconst DISPLAY_PREFERRED_COLS = new Set([\n 'version',\n 'product',\n 'productBaseType',\n 'taskLabel',\n])\n\nexport const ClipboardProvider: React.FC<ClipboardProviderProps> = ({\n children,\n entitiesMap,\n columnEnums,\n columnReadOnly,\n visibleColumns,\n}) => {\n // Get selection information from SelectionContext\n const { selectedCells, gridMap, focusedCellId } = useSelectionCellsContext()\n const { updateEntities, history } = useCellEditing()\n const { pasteTableLinks } = usePasteLinks()\n const { getEntityById, attribFields, tableData } = useProjectTableContext()\n\n const displayRowsById = useMemo(() => {\n const map = new Map<string, TableRow>()\n const walk = (rows: TableRow[]) => {\n for (const row of rows) {\n map.set(row.id, row)\n if (row.subRows?.length) walk(row.subRows as TableRow[])\n }\n }\n walk(tableData || [])\n return map\n }, [tableData])\n const { projectName } = useProjectContext()\n const [updateSubtasks] = useUpdateSubtasksMutation()\n\n const getSelectionData = useCallback(\n async (selected: string[], config?: { headers?: boolean; fullRow?: boolean }) => {\n const { headers, fullRow } = config || {}\n try {\n // Get visible columns in display order, excluding row selection\n const visibleColumnIds = visibleColumns\n .map((col) => col.id)\n .filter((id) => id !== ROW_SELECTION_COLUMN_ID)\n\n // Organize selected cells by row, filtering to only visible columns\n const cellsByRow = new Map<string, Set<string>>()\n\n // Parse all selected cells and organize by rowId and colId\n selected.forEach((cellId) => {\n const position = parseCellId(cellId)\n if (!position) return\n\n const { rowId, colId } = position\n if (colId === ROW_SELECTION_COLUMN_ID || !visibleColumnIds.includes(colId)) return\n\n if (!cellsByRow.has(rowId)) {\n cellsByRow.set(rowId, new Set())\n }\n\n cellsByRow.get(rowId)?.add(colId)\n })\n\n if (fullRow) {\n const selectedRows = selected\n .filter(\n (cellId) =>\n parseCellId(cellId)?.rowId &&\n parseCellId(cellId)?.colId === ROW_SELECTION_COLUMN_ID,\n )\n .map((cellId) => parseCellId(cellId)?.rowId) as string[]\n\n // select the whole row\n // For rows with selection cells, add all available columns\n selectedRows.forEach((rowId) => {\n // add the rowId if it doesn't exist\n if (!cellsByRow.has(rowId)) {\n cellsByRow.set(rowId, new Set())\n }\n const allColumns = Array.from(gridMap.colIdToIndex.keys())\n allColumns.forEach((colId) => {\n cellsByRow.get(rowId)?.add(colId)\n })\n })\n }\n\n // Get sorted row IDs based on their index in the grid\n const sortedRows = Array.from(cellsByRow.keys()).sort((a, b) => {\n const indexA = gridMap.rowIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.rowIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // Build clipboard text\n let clipboardText = ''\n\n // Get the first row to determine columns\n const firstRowId = sortedRows[0]\n if (!firstRowId) return ''\n\n // Get all column IDs for the first row, sorted by their index in the grid\n const colIds = Array.from(cellsByRow.get(firstRowId) || []).sort((a, b) => {\n const indexA = gridMap.colIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.colIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // Include headers if requested\n if (headers && colIds.length > 0) {\n const headerValues: string[] = []\n\n for (const colId of colIds) {\n // Use colId as the column name since we don't have direct access to column names\n const columnName = colId\n headerValues.push(`${columnName.replace(/\"/g, '\"\"')}`)\n }\n\n clipboardText += headerValues.join('\\t') + '\\n'\n }\n\n for (const rowId of sortedRows) {\n // Get the entity for this row\n const entity = getEntityById(rowId)\n\n if (!entity) {\n console.warn(`Entity not found for rowId: ${rowId}`)\n continue\n }\n\n const displayRow = displayRowsById.get(rowId)\n\n // Get all column IDs for this row, sorted by their index in the grid\n const colIds = Array.from(cellsByRow.get(rowId) || []).sort((a, b) => {\n const indexA = gridMap.colIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.colIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // Filter out the row selection column from the copied data\n const filteredColIds = colIds.filter((colId) => colId !== ROW_SELECTION_COLUMN_ID)\n\n const rowValues: string[] = []\n\n // For each column in this row\n for (const colId of filteredColIds) {\n // Determine the value based on the column ID\n let cellValue = ''\n\n // special handling of link cells\n if (colId.startsWith('link_')) {\n // @ts-expect-error - only complaining about missing __typename\n cellValue = getLinkEntityIdsByColumnId(entity.links, colId)\n } else if (colId === 'subtasks') {\n // Special handling for subtasks - convert to TSV format\n // @ts-ignore\n const subtasks = getCellValue(entity, colId) || []\n cellValue = subtasksToTSV(subtasks, entity.id, entity.name)\n } else if (colId === 'comments') {\n // @ts-ignore\n const comments = getCellValue(entity, 'latestComments') || []\n cellValue = commentsToText(comments)\n } else {\n // @ts-ignore\n let foundValue = getCellValue(entity, colId)\n\n // folder is an object on some entities (product/task) or nested under\n // product (version) - copy the display name the cell shows,\n // falling back to the last parent (parent folder name on tasks/folders)\n if (colId === 'folder' && typeof foundValue !== 'string') {\n const folder = foundValue || (entity as any).product?.folder\n const parents = 'parents' in entity ? entity.parents : undefined\n foundValue = folder?.label || folder?.name || parents?.[parents.length - 1] || ''\n }\n\n // Raw entity nodes (flat lists) either lack display-computed columns or hold a\n // non-string value (product/task object, numeric version) — prefer the built\n // display row, which is exactly what the cell shows.\n if (\n displayRow &&\n (DISPLAY_PREFERRED_COLS.has(colId) ||\n foundValue === undefined ||\n foundValue === null ||\n foundValue === '' ||\n typeof foundValue === 'object')\n ) {\n const displayValue = getCellValue(displayRow, colId)\n if (displayValue !== undefined && displayValue !== null && displayValue !== '') {\n foundValue = displayValue\n }\n }\n\n if (!foundValue) {\n // we should look for the default value set out in attribFields\n const field = attribFields.find((f) => f.name === colId.replace('attrib_', ''))\n if (field && field.data.type === 'boolean') {\n foundValue = false // default boolean value\n } else if (field && field.data.type.includes('list_of')) {\n foundValue = [] // default list value\n }\n }\n\n // convert to string if foundValue is not undefined or null use empty string otherwise\n cellValue = foundValue !== undefined && foundValue !== null ? String(foundValue) : ''\n\n // Hierarchical tables resolve a full path; flat lists (raw nodes keyed by row id)\n // can't, so fall back to the built display row label/name the cell shows\n if (colId === 'name') {\n cellValue =\n getEntityPath(entity.entityId || entity.id, entitiesMap) ||\n (displayRow as any)?.label ||\n displayRow?.name ||\n (entity as any).label ||\n entity.name ||\n ''\n }\n\n if (colId === 'subType') {\n // built display rows resolve subType (folder/task/product); raw nodes fall back to type fields\n const resolvedSubType = (displayRow as any)?.subType ?? (entity as any).subType\n if (typeof resolvedSubType === 'string' && resolvedSubType) {\n cellValue = resolvedSubType\n } else {\n if ('folderType' in entity) {\n cellValue = entity.folderType || ''\n }\n if ('taskType' in entity) {\n cellValue = entity.taskType || ''\n }\n }\n }\n }\n\n // Wrap multi-line / tab / quote values in quotes so spreadsheets keep them in one\n // cell. Subtasks embed tabs+newlines as real grid structure for paste round-trips —\n // leave them raw so they stay multi-row/column.\n const escaped = cellValue.replace(/\"/g, '\"\"')\n const needsQuoting =\n colId !== 'subtasks' &&\n (cellValue.includes('\\n') || cellValue.includes('\\t') || cellValue.includes('\"'))\n rowValues.push(needsQuoting ? `\"${escaped}\"` : escaped)\n }\n\n // Add row to clipboard text\n clipboardText += rowValues.join('\\t') + '\\n'\n }\n\n return clipboardText\n } catch (error) {\n console.error('Failed to copy to clipboard:', error)\n }\n },\n [selectedCells, focusedCellId, gridMap, entitiesMap, getEntityById, visibleColumns, displayRowsById],\n )\n\n const doesClipboardContainId = async () => {\n // check if the clipboard contains a valid ID\n const clipboardText = await getClipboardString()\n if (!clipboardText) return false\n const parsedData = parseClipboardText(clipboardText)\n if (parsedData.length === 0) return false\n return parsedData.every((row) => {\n return row.values.every((value) => value.split(',').every((v) => validateEntityId(v)))\n })\n }\n\n const copyToClipboard: ClipboardContextType['copyToClipboard'] = useCallback(\n async (selected, fullRow) => {\n selected = selected || Array.from(selectedCells)\n if (!selected.length) return\n const clipboardText = await getSelectionData(selected, { fullRow })\n if (!clipboardText) {\n return\n }\n if (!navigator.clipboard) {\n clipboardError('Clipboard API not supported in this browser.')\n return\n }\n if (!window.isSecureContext) {\n clipboardError('Clipboard operations require a secure HTTPS context.')\n return\n }\n try {\n await navigator.clipboard.writeText(clipboardText)\n } catch (error: any) {\n clipboardError(`Failed to copy to clipboard: ${error.message}`)\n }\n },\n [selectedCells, entitiesMap, gridMap],\n )\n\n const exportCSV: ClipboardContextType['exportCSV'] = useCallback(\n async (selected, projectName, fullRow) => {\n selected = selected || Array.from(selectedCells)\n if (!selected.length) return\n\n try {\n // Get clipboard text with headers included for CSV export\n const clipboardText = await getSelectionData(selected, { headers: true, fullRow })\n if (!clipboardText) return\n\n // create a csv file and download it\n const blob = new Blob([clipboardText], { type: 'text/csv' })\n const url = URL.createObjectURL(blob)\n const a = document.createElement('a')\n a.href = url\n const selectedCount = selected.length\n a.download = `${projectName}-export-${selectedCount}_cells-${new Date()\n .toISOString()\n .slice(0, 10)}.csv`\n a.click()\n URL.revokeObjectURL(url)\n } catch (error) {\n console.error('Failed to copy to clipboard:', error)\n }\n },\n [selectedCells, entitiesMap, gridMap, getSelectionData],\n )\n\n const getClipboardString = async (): Promise<string | void> => {\n if (!navigator.clipboard) {\n clipboardError('Clipboard API not supported in this browser.')\n return\n }\n if (!window.isSecureContext) {\n clipboardError('Clipboard operations require a secure HTTPS context.')\n return\n }\n let clipboardText: string\n try {\n clipboardText = await navigator.clipboard.readText()\n return clipboardText\n } catch (error: any) {\n clipboardError(`Failed to read from clipboard: ${error.message}`)\n return\n }\n }\n\n const pasteFromClipboard: ClipboardContextType['pasteFromClipboard'] = useCallback(\n async (selected, config) => {\n const { method = 'replace' } = config || {}\n if (!selected.length) return\n\n const clipboardText = await getClipboardString()\n if (!clipboardText) return\n\n // Check if this is subtasks TSV data first, before normal parsing\n let isSubtasksData = false\n let subtasksClipboardText = clipboardText\n if (isSubtasksTSV(clipboardText)) {\n isSubtasksData = true\n }\n\n // Parse the clipboard text\n const parsedData = parseClipboardText(clipboardText)\n if (!parsedData.length) return\n\n // Determine if we have a single value in the clipboard (one row, one column)\n const isSingleCellValue = parsedData.length === 1 && parsedData[0].values.length === 1\n\n // Get visible columns in display order, excluding row selection\n const visibleColumnIds = visibleColumns\n .map((col) => col.id)\n .filter((id) => id !== ROW_SELECTION_COLUMN_ID)\n\n // Helper function to map clipboard values to visible columns\n const mapClipboardToVisibleColumns = (\n clipboardRow: any,\n visibleColumnIds: string[],\n clipboardHeaders?: string[],\n ) => {\n const mappedValues: Record<string, string> = {}\n\n if (clipboardHeaders && clipboardHeaders.length > 0) {\n // Map by header names when available\n clipboardHeaders.forEach((header: string, index: number) => {\n const matchingColId = visibleColumnIds.find(\n (colId) =>\n colId === header ||\n colId.replace('attrib_', '') === header ||\n colId === `attrib_${header}` ||\n colId.toLowerCase() === header.toLowerCase(),\n )\n\n if (matchingColId && index < clipboardRow.values.length) {\n mappedValues[matchingColId] = clipboardRow.values[index]\n }\n })\n } else {\n // Fallback: map by position, but only to visible columns\n visibleColumnIds.forEach((colId, index) => {\n if (index < clipboardRow.values.length) {\n mappedValues[colId] = clipboardRow.values[index]\n }\n })\n }\n\n return mappedValues\n }\n\n // Extract headers if they exist (assuming first row might be headers from external source)\n // You might need to detect this differently based on your clipboard format\n const clipboardHeaders = parsedData[0]?.colIds || undefined\n\n // Organize selected cells by row, filtering to only visible columns\n const cellsByRow = new Map<string, Set<string>>()\n\n Array.from(selected).forEach((cellId) => {\n const position = parseCellId(cellId)\n if (!position) return\n\n const { rowId, colId } = position\n if (colId === ROW_SELECTION_COLUMN_ID || !visibleColumnIds.includes(colId)) return\n\n if (!cellsByRow.has(rowId)) {\n cellsByRow.set(rowId, new Set())\n }\n cellsByRow.get(rowId)?.add(colId)\n })\n\n // Get sorted row IDs and column IDs\n const sortedRows = Array.from(cellsByRow.keys()).sort((a, b) => {\n const indexA = gridMap.rowIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.rowIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n const firstRow = sortedRows[0]\n const selectedColIds = Array.from(cellsByRow.get(firstRow) || []).sort((a, b) => {\n const indexA = gridMap.colIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.colIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // First pass: validate all values\n for (let rowIndex = 0; rowIndex < sortedRows.length; rowIndex++) {\n const rowId = sortedRows[rowIndex]\n const isFolder = getEntityDataById<'folder'>(rowId, entitiesMap)?.entityType === 'folder'\n\n const pasteRowIndex = rowIndex % parsedData.length\n const clipboardRow = parsedData[pasteRowIndex]\n\n // Map clipboard data to visible columns\n const mappedValues = isSingleCellValue\n ? { [selectedColIds[0]]: parsedData[0].values[0] }\n : mapClipboardToVisibleColumns(clipboardRow, selectedColIds, clipboardHeaders)\n\n // Validate each mapped value\n for (const colId of selectedColIds) {\n const pasteValue = mappedValues[colId] || ''\n\n const isValid = validateClipboardData({\n colId,\n isFolder,\n pasteValue,\n parsedData,\n columnEnums,\n columnReadOnly,\n rowIndex,\n colIndex: selectedColIds.indexOf(colId),\n isSingleCellValue,\n attribFields,\n })\n\n if (!isValid) return\n }\n }\n\n // Create a map to consolidate updates for the same entity\n const entitiesToUpdateMap = new Map<\n string,\n {\n rowId: string\n id: string\n type: string\n fields: Record<string, any>\n attrib: Record<string, any>\n links: Record<string, string[]>\n subtasks?: any[]\n previousSubtasks?: any[]\n }\n >()\n\n // For each column, prepare updates\n for (let colIndex = 0; colIndex < selectedColIds.length; colIndex++) {\n const colId = selectedColIds[colIndex]\n\n // Skip special handling for 'name' which we don't want to paste\n if (colId === 'name') continue\n\n // Special handling for subtasks column\n if (colId === 'subtasks') {\n // For subtasks, group them by source task so each group can be applied to different cells\n let subtaskGroups: Array<{ taskId?: string; taskName?: string; subtasks: any[] }> = []\n let isFromSingleSourceTask = false\n\n if (isSubtasksData) {\n // Parse all subtask data to understand the source grouping\n const allLines = subtasksClipboardText.trim().split('\\n')\n\n // Check for header\n const firstLine = allLines[0].toLowerCase()\n const hasHeader =\n firstLine.includes('label') &&\n firstLine.includes('name') &&\n firstLine.includes('start date') &&\n firstLine.includes('end date') &&\n firstLine.includes('assignees') &&\n firstLine.includes('status')\n\n const dataLines = hasHeader ? allLines.slice(1) : allLines\n\n // Parse all lines and group by source taskId\n const groupMap = new Map<string, any[]>()\n const groupOrder: string[] = []\n\n dataLines.forEach((line) => {\n const parsed = tsvToSubtasks(line)\n if (parsed.length === 0) return\n\n const subtask = parsed[0]\n const groupKey = `${subtask.taskId || ''}|${subtask.taskName || ''}`\n\n if (!groupMap.has(groupKey)) {\n groupMap.set(groupKey, [])\n groupOrder.push(groupKey)\n }\n groupMap.get(groupKey)!.push(subtask)\n })\n\n // Create groups in order\n groupOrder.forEach((groupKey) => {\n const [taskId, taskName] = groupKey.split('|')\n subtaskGroups.push({\n taskId: taskId || undefined,\n taskName: taskName || undefined,\n subtasks: groupMap.get(groupKey) || [],\n })\n })\n\n // Check if all subtasks come from the same source task\n isFromSingleSourceTask = subtaskGroups.length <= 1\n }\n\n // Handle subtasks paste for each selected row\n for (let rowIndex = 0; rowIndex < sortedRows.length; rowIndex++) {\n const rowId = sortedRows[rowIndex]\n const entityType = getEntityDataById(rowId, entitiesMap)?.entityType\n\n // Subtasks only apply to tasks\n if (entityType !== 'task') continue\n\n // Get entity to access entityId (important for list items where rowId is list item ID)\n const entity = getEntityById(rowId)\n const actualEntityId = entity?.entityId || rowId\n\n // Get or create entity entry in the map\n const entityKey = `${rowId}-${entityType}`\n if (!entitiesToUpdateMap.has(entityKey)) {\n entitiesToUpdateMap.set(entityKey, {\n rowId,\n id: actualEntityId,\n type: entityType,\n fields: {},\n attrib: {},\n links: {},\n })\n }\n\n const entityData = entitiesToUpdateMap.get(entityKey)!\n // Get existing subtasks from entity\n const existingSubtasks = (entity && 'subtasks' in entity && entity.subtasks) || []\n // store previous subtasks for history/undo\n entityData.previousSubtasks = existingSubtasks\n\n let subtasksToProcess: any[] = []\n\n if (isSubtasksData) {\n if (isFromSingleSourceTask && subtaskGroups.length > 0) {\n // All subtasks from one source - apply to all cells\n subtasksToProcess = subtaskGroups[0].subtasks\n } else if (subtaskGroups.length > 0) {\n // Multiple groups - distribute by row (like regular data does with modulo)\n const groupIndex = rowIndex % subtaskGroups.length\n subtasksToProcess = subtaskGroups[groupIndex].subtasks\n }\n } else {\n // For parsed clipboard data, get the appropriate row\n if (isSingleCellValue) {\n const pasteValue = parsedData[0].values[0]\n subtasksToProcess = tsvToSubtasks(pasteValue)\n } else {\n const pasteRowIndex = rowIndex % parsedData.length\n const clipboardRow = parsedData[pasteRowIndex]\n const pasteColIndex = colIndex % clipboardRow.values.length\n const pasteValue = clipboardRow.values[pasteColIndex]\n subtasksToProcess = tsvToSubtasks(pasteValue)\n }\n }\n\n // Skip if no subtasks to process\n if (!subtasksToProcess || subtasksToProcess.length === 0) continue\n\n // Create normalized subtasks from parsed data\n const newSubtasks = subtasksToProcess.map((st, index) => ({\n id: getEntityId(),\n name: sanitizeSubtaskName(st.name || st.label || `Subtask ${index + 1}`),\n label: st.label || '',\n assignees: st.assignees || [],\n description: st.label || '',\n startDate: st.startDate,\n endDate: st.endDate,\n isDone: st.isDone || false,\n }))\n\n // Handle merge vs replace\n if (method === 'merge') {\n // Merge new subtasks with existing ones, removing duplicates by label and name\n const mergedSubtasks = [...existingSubtasks]\n const existingIdentifiers = new Set(\n existingSubtasks.map((st) => {\n const label = (st.label || '').toLowerCase()\n const name = (st.name || '').toLowerCase()\n return `${label}|${name}`\n }),\n )\n\n // Add new subtasks that don't already exist\n for (const newSubtask of newSubtasks) {\n const label = (newSubtask.label || '').toLowerCase()\n const name = (newSubtask.name || '').toLowerCase()\n const identifier = `${label}|${name}`\n if (!existingIdentifiers.has(identifier)) {\n mergedSubtasks.push(newSubtask)\n }\n }\n entityData.subtasks = mergedSubtasks\n } else {\n // Replace mode: use new subtasks, preserving IDs for any matching label and name\n const replacedSubtasks = newSubtasks.map((newSt) => {\n // Try to find existing subtask with matching label and name to preserve ID\n const existingMatch = existingSubtasks.find(\n (est) =>\n (est.label || '').toLowerCase() === (newSt.label || '').toLowerCase() &&\n (est.name || '').toLowerCase() === (newSt.name || '').toLowerCase(),\n )\n return {\n ...newSt,\n id: existingMatch?.id || newSt.id,\n }\n })\n entityData.subtasks = replacedSubtasks\n }\n }\n continue\n }\n\n // Check if this is an attribute field by examining the first entity\n let isAttrib = false,\n isLink = false\n // Check if the field potentially contains array values\n let fieldValueType: 'string' | 'number' | 'boolean' | 'array' = 'string'\n\n if (sortedRows.length > 0) {\n const firstRowId = sortedRows[0]\n const entity = getEntityById(firstRowId)\n if (entity) {\n isAttrib = colId.startsWith('attrib_')\n isLink = colId.startsWith('link_')\n\n // Determine field type based on type or attrib type\n if (colId === 'status' || colId === 'subType') {\n // status and subType are strings\n fieldValueType = 'string'\n // special case to avoid treating subType as attrib (not sure if this is needed)\n isAttrib = false\n } else if (colId === 'tags' || colId === 'assignees') {\n // tags and assignees are always arrays\n fieldValueType = 'array'\n } else if (isAttrib) {\n // find type based on attribFields\n const fieldName = colId.replace('attrib_', '')\n const attribField = attribFields.find((f) => f.name === fieldName)\n if (attribField) {\n const dataType = attribField.data.type\n switch (dataType) {\n case 'boolean':\n fieldValueType = 'boolean'\n break\n case 'float':\n case 'integer':\n fieldValueType = 'number'\n break\n case 'list_of_strings':\n case 'list_of_any':\n case 'list_of_integers':\n case 'list_of_submodels':\n fieldValueType = 'array'\n break\n default:\n // everything else is string\n fieldValueType = 'string'\n }\n }\n } else if (isLink) {\n // links are always arrays\n fieldValueType = 'array'\n }\n }\n }\n\n // Process each row individually\n for (let rowIndex = 0; rowIndex < sortedRows.length; rowIndex++) {\n const rowId = sortedRows[rowIndex]\n const entityType = getEntityDataById(rowId, entitiesMap)?.entityType\n const isFolder = entityType === 'folder'\n\n // Get the appropriate value from the clipboard data\n let pasteValue\n if (isSingleCellValue) {\n pasteValue = parsedData[0].values[0]\n } else {\n const pasteRowIndex = rowIndex % parsedData.length\n // Map visible column index to clipboard data index\n // When clipboard contains hidden columns, we need to skip over values\n // that correspond to hidden columns when pasting to visible columns\n const clipboardRow = parsedData[pasteRowIndex]\n\n // If clipboard has more values than visible columns being pasted to,\n // it likely contains hidden column data. We need to reconstruct the original\n // column order that was copied by finding which columns would have been included.\n if (clipboardRow.values.length > selectedColIds.length) {\n // The clipboard data was created from consecutive columns in grid order.\n // We need to find which consecutive columns would result in this clipboard data.\n // Start from the first visible column and extend the range to match clipboard length.\n const firstVisibleColIndex = gridMap.colIdToIndex.get(selectedColIds[0]) ?? 0\n\n // Get all columns sorted by grid position\n const allGridColumns = Array.from(gridMap.colIdToIndex.keys())\n .filter((id) => id !== ROW_SELECTION_COLUMN_ID)\n .sort((a, b) => {\n const indexA = gridMap.colIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.colIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // Find the starting position in the grid columns array\n const startGridPos = allGridColumns.findIndex(\n (id) => gridMap.colIdToIndex.get(id) === firstVisibleColIndex,\n )\n\n // The original copied columns are the consecutive ones starting from this position\n const originalCopiedColumns = allGridColumns.slice(\n startGridPos,\n startGridPos + clipboardRow.values.length,\n )\n\n // Find this column's position in the original copied columns\n const clipboardColIndex = originalCopiedColumns.indexOf(colId)\n pasteValue =\n clipboardRow.values[clipboardColIndex] ||\n clipboardRow.values[clipboardColIndex % clipboardRow.values.length]\n // Pasting value from hidden columns detection\n } else {\n // Normal case: map clipboard column index using modulo\n const pasteColIndex = colIndex % clipboardRow.values.length\n pasteValue = clipboardRow.values[pasteColIndex]\n // Pasting value normally\n }\n }\n\n let fieldToUpdate = colId.split('_').pop() || colId\n\n // Special handling for subType (convert to folderType or taskType)\n if (colId === 'subType') {\n fieldToUpdate = isFolder ? 'folderType' : 'taskType'\n isAttrib = false\n\n // Skip empty values for enum fields\n if (!pasteValue) continue\n }\n\n // Process the value based on its type\n const processedValue = processFieldValue(pasteValue, fieldValueType)\n\n // Get entity to access entityId (important for list items where rowId is list item ID)\n const entity = getEntityById(rowId)\n const actualEntityId = entity?.entityId || rowId\n\n // Get or create entity entry in the map\n const entityKey = `${rowId}-${entityType}`\n if (!entitiesToUpdateMap.has(entityKey) && entityType) {\n entitiesToUpdateMap.set(entityKey, {\n rowId,\n id: actualEntityId,\n type: entityType,\n fields: {},\n attrib: {},\n links: {},\n })\n }\n\n const entityData = entitiesToUpdateMap.get(entityKey)!\n\n // Add the field to the appropriate place\n if (isLink) {\n const [_link, linkType, inType, outType, direction] = colId.split('_')\n // final-task|folder|task\n entityData.links[`${linkType}|${inType}|${outType}_${direction}`] = processedValue\n } else if (isAttrib) {\n entityData.attrib[fieldToUpdate] = processedValue\n } else {\n entityData.fields[fieldToUpdate] = processedValue\n }\n }\n }\n\n // Convert the consolidated map to EntityUpdate array and LinkUpdate array\n const allEntityUpdates: EntityUpdate[] = []\n const linkUpdatesMap = new Map<string, LinkUpdate>()\n\n entitiesToUpdateMap.forEach((entity) => {\n // For regular fields, create one update per field\n Object.entries(entity.fields).forEach(([field, value]) => {\n allEntityUpdates.push({\n rowId: entity.rowId,\n id: entity.id,\n type: entity.type,\n field,\n value,\n })\n })\n\n // For attributes, create one update per attribute\n Object.entries(entity.attrib).forEach(([field, value]) => {\n allEntityUpdates.push({\n rowId: entity.rowId,\n id: entity.id,\n type: entity.type,\n field,\n value,\n isAttrib: true,\n })\n })\n\n // For links, create LinkUpdate objects\n Object.entries(entity.links).forEach(([linkKey, targetEntityIds]) => {\n // Parse the linkKey: \"linkType|inType|outType_direction\"\n const [linkTypePart, direction] = linkKey.split('_')\n const linkTypeParts = linkTypePart.split('|')\n\n if (linkTypeParts.length >= 3) {\n const linkTypeName = linkTypeParts[0]\n const inType = linkTypeParts[1]\n const outType = linkTypeParts[2]\n\n // Reconstruct the full linkType in the required format: name|input_type|output_type\n const linkType = `${linkTypeName}|${inType}|${outType}`\n\n // Determine target entity type based on direction\n const targetEntityType = direction === 'out' ? outType : inType\n\n // Create a unique key for this link operation\n const linkUpdateKey = `${entity.id}-${linkType}-${direction}`\n\n linkUpdatesMap.set(linkUpdateKey, {\n rowId: entity.rowId,\n sourceEntityId: entity.id,\n sourceEntityType: entity.type,\n linkType,\n direction: direction as 'in' | 'out',\n targetEntityType,\n operation: method,\n targetEntityIds: Array.isArray(targetEntityIds) ? targetEntityIds : [],\n })\n }\n })\n })\n\n const allLinkUpdates = Array.from(linkUpdatesMap.values())\n\n // Collect subtasks updates\n const subtasksUpdates: Array<{ taskId: string; subtasks: any[]; previousSubtasks?: any[] }> =\n []\n entitiesToUpdateMap.forEach((entity) => {\n if (entity.subtasks) {\n subtasksUpdates.push({\n taskId: entity.id,\n subtasks: entity.subtasks,\n previousSubtasks: entity.previousSubtasks,\n })\n }\n })\n\n // Make separate calls to update entities, links, and subtasks\n const updatePromises: Promise<void>[] = []\n\n if (allEntityUpdates.length > 0) {\n updatePromises.push(updateEntities(allEntityUpdates))\n }\n\n if (allLinkUpdates.length > 0) {\n updatePromises.push(pasteTableLinks(allLinkUpdates))\n }\n\n if (subtasksUpdates.length > 0) {\n // push undo/redo history entries for subtasks updates\n if (history) {\n subtasksUpdates.forEach(({ taskId, subtasks, previousSubtasks }) => {\n const prev = previousSubtasks || []\n const next = subtasks || []\n const undoCallback = () => {\n updateSubtasks({ projectName, taskId, subtasks: prev })\n .unwrap()\n .catch(() => {})\n }\n const redoCallback = () => {\n updateSubtasks({ projectName, taskId, subtasks: next })\n .unwrap()\n .catch(() => {})\n }\n history.pushHistory([undoCallback], [redoCallback])\n })\n }\n // Update subtasks for each task\n const subtasksPromises = subtasksUpdates.map(({ taskId, subtasks }) =>\n updateSubtasks({ projectName, taskId, subtasks }).unwrap(),\n )\n updatePromises.push(...subtasksPromises)\n }\n\n if (updatePromises.length > 0) {\n try {\n await Promise.all(updatePromises)\n } catch (error: any) {\n console.error('Error updating entities:', error)\n clipboardError(`Paste failed: ${error || error?.message || 'Unknown error'}`)\n }\n }\n },\n [\n selectedCells,\n gridMap,\n entitiesMap,\n updateEntities,\n pasteTableLinks,\n columnEnums,\n getEntityById,\n visibleColumns,\n attribFields,\n projectName,\n updateSubtasks,\n history,\n ],\n )\n\n // Set up keyboard event listeners\n useEffect(() => {\n const handleKeyDown = async (e: KeyboardEvent) => {\n // Copy functionality (Ctrl+C or Command+C)\n if ((e.ctrlKey || e.metaKey) && e.key === 'c') {\n const activeEl = document.activeElement as HTMLElement | null\n\n const isTableFocused =\n activeEl?.closest('table') !== null ||\n activeEl?.closest('.table-container') !== null ||\n activeEl?.tagName === 'TD' ||\n activeEl?.tagName === 'TH'\n\n // Check if there's a text selection in an input/textarea/contenteditable\n const isEditableElement =\n activeEl?.tagName === 'INPUT' ||\n activeEl?.tagName === 'TEXTAREA' ||\n activeEl?.isContentEditable\n\n const hasTextSelection = window.getSelection()?.toString().length ?? 0 > 0\n\n // If user has text selected elsewhere, let browser copy that\n if (hasTextSelection && !isTableFocused) {\n return // Let browser handle\n }\n\n // If focus is in an editable element, let browser handle\n if (isEditableElement && !isTableFocused) {\n return // Let browser handle\n }\n // If cells are selected, copy table data (even if focus moved away)\n if (selectedCells.size > 0) {\n await copyToClipboard()\n } else {\n // No cells selected, allowing default browser copy\n }\n }\n // Paste functionality (Ctrl+V or Command+V)\n if ((e.ctrlKey || e.metaKey) && e.key === 'v') {\n // don't execute paste if focus is inside an input, textarea, or content‐editable element\n const activeEl = document.activeElement as HTMLElement | null\n\n if (\n activeEl &&\n (activeEl.tagName === 'INPUT' ||\n activeEl.tagName === 'TEXTAREA' ||\n activeEl.isContentEditable)\n ) {\n // focus is inside an input, textarea, or content-editable element\n const allEntityIds = await doesClipboardContainId()\n // we might still want to paste if the clipboard contains valid entity IDs\n if (allEntityIds) {\n // prevent pasting into input fields and handle as paste on the cell\n e.preventDefault()\n } else {\n // skip pasting\n return\n }\n }\n pasteFromClipboard(Array.from(selectedCells), {\n method: e.shiftKey ? 'merge' : 'replace', // Use shift key to determine paste method\n })\n }\n }\n\n window.addEventListener('keydown', handleKeyDown)\n return () => {\n window.removeEventListener('keydown', handleKeyDown)\n }\n }, [copyToClipboard, pasteFromClipboard])\n\n const value = useMemo(\n () => ({\n copyToClipboard,\n pasteFromClipboard,\n exportCSV,\n }),\n [copyToClipboard, pasteFromClipboard],\n )\n\n return <ClipboardContext.Provider value={value}>{children}</ClipboardContext.Provider>\n}\n\nexport const useClipboard = (): ClipboardContextType => {\n const context = useContext(ClipboardContext)\n if (context === undefined) {\n throw new Error('useClipboard must be used within a ClipboardProvider')\n }\n return context\n}\n"],"names":["ClipboardContext","createContext","DISPLAY_PREFERRED_COLS","ClipboardProvider","children","entitiesMap","columnEnums","columnReadOnly","visibleColumns","selectedCells","gridMap","focusedCellId","useSelectionCellsContext","updateEntities","history","useCellEditing","pasteTableLinks","usePasteLinks","getEntityById","attribFields","tableData","useProjectTableContext","displayRowsById","useMemo","map","walk","rows","row","projectName","useProjectContext","updateSubtasks","useUpdateSubtasksMutation","getSelectionData","useCallback","selected","config","headers","fullRow","visibleColumnIds","col","id","ROW_SELECTION_COLUMN_ID","cellsByRow","cellId","position","parseCellId","rowId","colId","sortedRows","a","b","indexA","indexB","clipboardText","firstRowId","colIds","headerValues","columnName","entity","displayRow","filteredColIds","rowValues","cellValue","getLinkEntityIdsByColumnId","subtasks","getCellValue","subtasksToTSV","comments","commentsToText","foundValue","folder","parents","displayValue","field","f","getEntityPath","resolvedSubType","escaped","needsQuoting","error","doesClipboardContainId","getClipboardString","parsedData","parseClipboardText","value","v","validateEntityId","copyToClipboard","clipboardError","exportCSV","blob","url","selectedCount","pasteFromClipboard","method","isSubtasksData","subtasksClipboardText","isSubtasksTSV","isSingleCellValue","mapClipboardToVisibleColumns","clipboardRow","clipboardHeaders","mappedValues","header","index","matchingColId","firstRow","selectedColIds","rowIndex","isFolder","getEntityDataById","pasteRowIndex","pasteValue","validateClipboardData","entitiesToUpdateMap","colIndex","subtaskGroups","isFromSingleSourceTask","allLines","firstLine","dataLines","groupMap","groupOrder","line","parsed","tsvToSubtasks","subtask","groupKey","taskId","taskName","entityType","actualEntityId","entityKey","entityData","existingSubtasks","subtasksToProcess","groupIndex","pasteColIndex","newSubtasks","st","getEntityId","sanitizeSubtaskName","mergedSubtasks","existingIdentifiers","label","name","newSubtask","identifier","replacedSubtasks","newSt","existingMatch","est","isAttrib","isLink","fieldValueType","fieldName","attribField","firstVisibleColIndex","allGridColumns","startGridPos","clipboardColIndex","fieldToUpdate","processedValue","processFieldValue","_link","linkType","inType","outType","direction","allEntityUpdates","linkUpdatesMap","linkKey","targetEntityIds","linkTypePart","linkTypeParts","linkTypeName","targetEntityType","linkUpdateKey","allLinkUpdates","subtasksUpdates","updatePromises","previousSubtasks","prev","next","undoCallback","redoCallback","subtasksPromises","useEffect","handleKeyDown","e","activeEl","isTableFocused","isEditableElement","jsx","useClipboard","context","useContext"],"mappings":"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"}
1
+ {"version":3,"file":"ClipboardContext.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/ClipboardContext.tsx"],"sourcesContent":["import React, { createContext, useCallback, useContext, useEffect, useMemo } from 'react'\n\n// Contexts\nimport { ROW_SELECTION_COLUMN_ID } from '../constants'\nimport { useSelectionCellsContext } from './SelectionCellsContext'\nimport { useCellEditing } from './CellEditingContext'\nimport { useProjectContext } from '@shared/context'\n\n// Utils\nimport {\n getCellValue,\n getEntityDataById,\n getLinkEntityIdsByColumnId,\n parseCellId,\n} from '../utils/cellUtils'\n\n// Types\nimport { TableRow } from '../types/table'\nimport { EntityUpdate } from '../hooks/useUpdateTableData'\nimport usePasteLinks, { LinkUpdate } from '../hooks/usePasteLinks'\nimport { useUpdateSubtasksMutation } from '@shared/api'\n\n// Import from the new modular files\nimport {\n getEntityPath,\n parseClipboardText,\n clipboardError,\n processFieldValue,\n subtasksToTSV,\n isSubtasksTSV,\n tsvToSubtasks,\n sanitizeSubtaskName,\n commentsToText,\n} from './clipboard'\nimport { validateClipboardData } from './clipboard/clipboardValidation'\nimport { ClipboardContextType, ClipboardProviderProps } from './clipboard/clipboardTypes'\nimport { useProjectTableContext } from './ProjectTableContext'\nimport { validateEntityId, getEntityId } from '@shared/util'\n\nconst ClipboardContext = createContext<ClipboardContextType | undefined>(undefined)\n\nconst DISPLAY_PREFERRED_COLS = new Set([\n 'version',\n 'product',\n 'productBaseType',\n 'taskLabel',\n])\n\nexport const ClipboardProvider: React.FC<ClipboardProviderProps> = ({\n children,\n entitiesMap,\n columnEnums,\n columnReadOnly,\n visibleColumns,\n}) => {\n // Get selection information from SelectionContext\n const { selectedCells, gridMap, focusedCellId } = useSelectionCellsContext()\n const { updateEntities, history } = useCellEditing()\n const { pasteTableLinks } = usePasteLinks()\n const { getEntityById, attribFields, tableData } = useProjectTableContext()\n\n const displayRowsById = useMemo(() => {\n const map = new Map<string, TableRow>()\n const walk = (rows: TableRow[]) => {\n for (const row of rows) {\n map.set(row.id, row)\n if (row.subRows?.length) walk(row.subRows as TableRow[])\n }\n }\n walk(tableData || [])\n return map\n }, [tableData])\n const { projectName } = useProjectContext()\n const [updateSubtasks] = useUpdateSubtasksMutation()\n\n const getSelectionData = useCallback(\n async (selected: string[], config?: { headers?: boolean; fullRow?: boolean }) => {\n const { headers, fullRow } = config || {}\n try {\n // Get visible columns in display order, excluding row selection\n const visibleColumnIds = visibleColumns\n .map((col) => col.id)\n .filter((id) => id !== ROW_SELECTION_COLUMN_ID)\n\n // Organize selected cells by row, filtering to only visible columns\n const cellsByRow = new Map<string, Set<string>>()\n\n // Parse all selected cells and organize by rowId and colId\n selected.forEach((cellId) => {\n const position = parseCellId(cellId)\n if (!position) return\n\n const { rowId, colId } = position\n if (colId === ROW_SELECTION_COLUMN_ID || !visibleColumnIds.includes(colId)) return\n\n if (!cellsByRow.has(rowId)) {\n cellsByRow.set(rowId, new Set())\n }\n\n cellsByRow.get(rowId)?.add(colId)\n })\n\n if (fullRow) {\n const selectedRows = selected\n .filter(\n (cellId) =>\n parseCellId(cellId)?.rowId &&\n parseCellId(cellId)?.colId === ROW_SELECTION_COLUMN_ID,\n )\n .map((cellId) => parseCellId(cellId)?.rowId) as string[]\n\n // select the whole row\n // For rows with selection cells, add all available columns\n selectedRows.forEach((rowId) => {\n // add the rowId if it doesn't exist\n if (!cellsByRow.has(rowId)) {\n cellsByRow.set(rowId, new Set())\n }\n const allColumns = Array.from(gridMap.colIdToIndex.keys())\n allColumns.forEach((colId) => {\n cellsByRow.get(rowId)?.add(colId)\n })\n })\n }\n\n // Get sorted row IDs based on their index in the grid\n const sortedRows = Array.from(cellsByRow.keys()).sort((a, b) => {\n const indexA = gridMap.rowIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.rowIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // Build clipboard text\n let clipboardText = ''\n\n // Get the first row to determine columns\n const firstRowId = sortedRows[0]\n if (!firstRowId) return ''\n\n // Get all column IDs for the first row, sorted by their index in the grid\n const colIds = Array.from(cellsByRow.get(firstRowId) || []).sort((a, b) => {\n const indexA = gridMap.colIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.colIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // Include headers if requested\n if (headers && colIds.length > 0) {\n const headerValues: string[] = []\n\n for (const colId of colIds) {\n // Use colId as the column name since we don't have direct access to column names\n const columnName = colId\n headerValues.push(`${columnName.replace(/\"/g, '\"\"')}`)\n }\n\n clipboardText += headerValues.join('\\t') + '\\n'\n }\n\n for (const rowId of sortedRows) {\n // Get the entity for this row\n const entity = getEntityById(rowId)\n\n if (!entity) {\n console.warn(`Entity not found for rowId: ${rowId}`)\n continue\n }\n\n const displayRow = displayRowsById.get(rowId)\n\n // Get all column IDs for this row, sorted by their index in the grid\n const colIds = Array.from(cellsByRow.get(rowId) || []).sort((a, b) => {\n const indexA = gridMap.colIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.colIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // Filter out the row selection column from the copied data\n const filteredColIds = colIds.filter((colId) => colId !== ROW_SELECTION_COLUMN_ID)\n\n const rowValues: string[] = []\n\n // For each column in this row\n for (const colId of filteredColIds) {\n // Determine the value based on the column ID\n let cellValue = ''\n\n // special handling of link cells\n if (colId.startsWith('link_')) {\n // @ts-expect-error - only complaining about missing __typename\n cellValue = getLinkEntityIdsByColumnId(entity.links, colId)\n } else if (colId === 'subtasks') {\n // Special handling for subtasks - convert to TSV format\n // @ts-ignore\n const subtasks = getCellValue(entity, colId) || []\n cellValue = subtasksToTSV(subtasks, entity.id, entity.name)\n } else if (colId === 'comments') {\n // @ts-ignore\n const comments = getCellValue(entity, 'latestComments') || []\n cellValue = commentsToText(comments)\n } else {\n // @ts-ignore\n let foundValue = getCellValue(entity, colId)\n\n // folder is an object on some entities (product/task) or nested under\n // product (version) - copy the display name the cell shows,\n // falling back to the last parent (parent folder name on tasks/folders)\n if (colId === 'folder' && typeof foundValue !== 'string') {\n const folder = foundValue || (entity as any).product?.folder\n const parents = 'parents' in entity ? entity.parents : undefined\n foundValue = folder?.label || folder?.name || parents?.[parents.length - 1] || ''\n }\n\n // Raw entity nodes (flat lists) either lack display-computed columns or hold a\n // non-string value (product/task object, numeric version) — prefer the built\n // display row, which is exactly what the cell shows.\n if (\n displayRow &&\n (DISPLAY_PREFERRED_COLS.has(colId) ||\n foundValue === undefined ||\n foundValue === null ||\n foundValue === '' ||\n typeof foundValue === 'object')\n ) {\n const displayValue = getCellValue(displayRow, colId)\n if (displayValue !== undefined && displayValue !== null && displayValue !== '') {\n foundValue = displayValue\n }\n }\n\n if (!foundValue) {\n // we should look for the default value set out in attribFields\n const field = attribFields.find((f) => f.name === colId.replace('attrib_', ''))\n if (field && field.data.type === 'boolean') {\n foundValue = false // default boolean value\n } else if (field && field.data.type.includes('list_of')) {\n foundValue = [] // default list value\n }\n }\n\n // convert to string if foundValue is not undefined or null use empty string otherwise\n cellValue = foundValue !== undefined && foundValue !== null ? String(foundValue) : ''\n\n // Hierarchical tables resolve a full path; flat lists (raw nodes keyed by row id)\n // can't, so fall back to the built display row label/name the cell shows\n if (colId === 'name') {\n cellValue =\n getEntityPath(entity.entityId || entity.id, entitiesMap) ||\n (displayRow as any)?.label ||\n displayRow?.name ||\n (entity as any).label ||\n entity.name ||\n ''\n }\n\n if (colId === 'subType') {\n // built display rows resolve subType (folder/task/product); raw nodes fall back to type fields\n const resolvedSubType = (displayRow as any)?.subType ?? (entity as any).subType\n if (typeof resolvedSubType === 'string' && resolvedSubType) {\n cellValue = resolvedSubType\n } else {\n if ('folderType' in entity) {\n cellValue = entity.folderType || ''\n }\n if ('taskType' in entity) {\n cellValue = entity.taskType || ''\n }\n }\n }\n }\n\n // Wrap multi-line / tab / quote values in quotes so spreadsheets keep them in one\n // cell. Subtasks embed tabs+newlines as real grid structure for paste round-trips —\n // leave them raw so they stay multi-row/column.\n const escaped = cellValue.replace(/\"/g, '\"\"')\n const needsQuoting =\n colId !== 'subtasks' &&\n (cellValue.includes('\\n') || cellValue.includes('\\t') || cellValue.includes('\"'))\n rowValues.push(needsQuoting ? `\"${escaped}\"` : escaped)\n }\n\n // Add row to clipboard text\n clipboardText += rowValues.join('\\t') + '\\n'\n }\n\n return clipboardText\n } catch (error) {\n console.error('Failed to copy to clipboard:', error)\n }\n },\n [selectedCells, focusedCellId, gridMap, entitiesMap, getEntityById, visibleColumns, displayRowsById],\n )\n\n const doesClipboardContainId = async () => {\n // check if the clipboard contains a valid ID\n const clipboardText = await getClipboardString()\n if (!clipboardText) return false\n const parsedData = parseClipboardText(clipboardText)\n if (parsedData.length === 0) return false\n return parsedData.every((row) => {\n return row.values.every((value) => value.split(',').every((v) => validateEntityId(v)))\n })\n }\n\n const copyToClipboard: ClipboardContextType['copyToClipboard'] = useCallback(\n async (selected, fullRow) => {\n selected = selected || Array.from(selectedCells)\n if (!selected.length) return\n const clipboardText = await getSelectionData(selected, { fullRow })\n if (!clipboardText) {\n return\n }\n if (!navigator.clipboard) {\n clipboardError('Clipboard API not supported in this browser.')\n return\n }\n if (!window.isSecureContext) {\n clipboardError('Clipboard operations require a secure HTTPS context.')\n return\n }\n try {\n await navigator.clipboard.writeText(clipboardText)\n } catch (error: any) {\n clipboardError(`Failed to copy to clipboard: ${error.message}`)\n }\n },\n [selectedCells, entitiesMap, gridMap],\n )\n\n const exportCSV: ClipboardContextType['exportCSV'] = useCallback(\n async (selected, projectName, fullRow) => {\n selected = selected || Array.from(selectedCells)\n if (!selected.length) return\n\n try {\n // Get clipboard text with headers included for CSV export\n const clipboardText = await getSelectionData(selected, { headers: true, fullRow })\n if (!clipboardText) return\n\n // create a csv file and download it\n const blob = new Blob([clipboardText], { type: 'text/csv' })\n const url = URL.createObjectURL(blob)\n const a = document.createElement('a')\n a.href = url\n const selectedCount = selected.length\n a.download = `${projectName}-export-${selectedCount}_cells-${new Date()\n .toISOString()\n .slice(0, 10)}.csv`\n a.click()\n URL.revokeObjectURL(url)\n } catch (error) {\n console.error('Failed to copy to clipboard:', error)\n }\n },\n [selectedCells, entitiesMap, gridMap, getSelectionData],\n )\n\n const getClipboardString = async (): Promise<string | void> => {\n if (!navigator.clipboard) {\n clipboardError('Clipboard API not supported in this browser.')\n return\n }\n if (!window.isSecureContext) {\n clipboardError('Clipboard operations require a secure HTTPS context.')\n return\n }\n let clipboardText: string\n try {\n clipboardText = await navigator.clipboard.readText()\n return clipboardText\n } catch (error: any) {\n clipboardError(`Failed to read from clipboard: ${error.message}`)\n return\n }\n }\n\n const pasteFromClipboard: ClipboardContextType['pasteFromClipboard'] = useCallback(\n async (selected, config) => {\n const { method = 'replace' } = config || {}\n if (!selected.length) return\n\n const clipboardText = await getClipboardString()\n if (!clipboardText) return\n\n // Check if this is subtasks TSV data first, before normal parsing\n let isSubtasksData = false\n let subtasksClipboardText = clipboardText\n if (isSubtasksTSV(clipboardText)) {\n isSubtasksData = true\n }\n\n // Parse the clipboard text\n const parsedData = parseClipboardText(clipboardText)\n if (!parsedData.length) return\n\n // Determine if we have a single value in the clipboard (one row, one column)\n const isSingleCellValue = parsedData.length === 1 && parsedData[0].values.length === 1\n\n // Get visible columns in display order, excluding row selection\n const visibleColumnIds = visibleColumns\n .map((col) => col.id)\n .filter((id) => id !== ROW_SELECTION_COLUMN_ID)\n\n // Helper function to map clipboard values to visible columns\n const mapClipboardToVisibleColumns = (\n clipboardRow: any,\n visibleColumnIds: string[],\n clipboardHeaders?: string[],\n ) => {\n const mappedValues: Record<string, string> = {}\n\n if (clipboardHeaders && clipboardHeaders.length > 0) {\n // Map by header names when available\n clipboardHeaders.forEach((header: string, index: number) => {\n const matchingColId = visibleColumnIds.find(\n (colId) =>\n colId === header ||\n colId.replace('attrib_', '') === header ||\n colId === `attrib_${header}` ||\n colId.toLowerCase() === header.toLowerCase(),\n )\n\n if (matchingColId && index < clipboardRow.values.length) {\n mappedValues[matchingColId] = clipboardRow.values[index]\n }\n })\n } else {\n // Fallback: map by position, but only to visible columns\n visibleColumnIds.forEach((colId, index) => {\n if (index < clipboardRow.values.length) {\n mappedValues[colId] = clipboardRow.values[index]\n }\n })\n }\n\n return mappedValues\n }\n\n // Extract headers if they exist (assuming first row might be headers from external source)\n // You might need to detect this differently based on your clipboard format\n const clipboardHeaders = parsedData[0]?.colIds || undefined\n\n // Organize selected cells by row, filtering to only visible columns\n const cellsByRow = new Map<string, Set<string>>()\n\n Array.from(selected).forEach((cellId) => {\n const position = parseCellId(cellId)\n if (!position) return\n\n const { rowId, colId } = position\n if (colId === ROW_SELECTION_COLUMN_ID || !visibleColumnIds.includes(colId)) return\n\n if (!cellsByRow.has(rowId)) {\n cellsByRow.set(rowId, new Set())\n }\n cellsByRow.get(rowId)?.add(colId)\n })\n\n // Get sorted row IDs and column IDs\n const sortedRows = Array.from(cellsByRow.keys()).sort((a, b) => {\n const indexA = gridMap.rowIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.rowIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n const firstRow = sortedRows[0]\n const selectedColIds = Array.from(cellsByRow.get(firstRow) || []).sort((a, b) => {\n const indexA = gridMap.colIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.colIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // First pass: validate all values\n for (let rowIndex = 0; rowIndex < sortedRows.length; rowIndex++) {\n const rowId = sortedRows[rowIndex]\n const isFolder = getEntityDataById<'folder'>(rowId, entitiesMap)?.entityType === 'folder'\n\n const pasteRowIndex = rowIndex % parsedData.length\n const clipboardRow = parsedData[pasteRowIndex]\n\n // Map clipboard data to visible columns\n const mappedValues = isSingleCellValue\n ? { [selectedColIds[0]]: parsedData[0].values[0] }\n : mapClipboardToVisibleColumns(clipboardRow, selectedColIds, clipboardHeaders)\n\n // Validate each mapped value\n for (const colId of selectedColIds) {\n const pasteValue = mappedValues[colId] || ''\n\n const isValid = validateClipboardData({\n colId,\n isFolder,\n pasteValue,\n parsedData,\n columnEnums,\n columnReadOnly,\n rowIndex,\n colIndex: selectedColIds.indexOf(colId),\n isSingleCellValue,\n attribFields,\n })\n\n if (!isValid) return\n }\n }\n\n // Create a map to consolidate updates for the same entity\n const entitiesToUpdateMap = new Map<\n string,\n {\n rowId: string\n id: string\n type: string\n fields: Record<string, any>\n attrib: Record<string, any>\n links: Record<string, string[]>\n subtasks?: any[]\n previousSubtasks?: any[]\n }\n >()\n\n // For each column, prepare updates\n for (let colIndex = 0; colIndex < selectedColIds.length; colIndex++) {\n const colId = selectedColIds[colIndex]\n\n // Skip special handling for 'name' which we don't want to paste\n if (colId === 'name') continue\n\n // Special handling for subtasks column\n if (colId === 'subtasks') {\n // For subtasks, group them by source task so each group can be applied to different cells\n let subtaskGroups: Array<{ taskId?: string; taskName?: string; subtasks: any[] }> = []\n let isFromSingleSourceTask = false\n\n if (isSubtasksData) {\n // Parse all subtask data to understand the source grouping\n const allLines = subtasksClipboardText.trim().split('\\n')\n\n // Check for header\n const firstLine = allLines[0].toLowerCase()\n const hasHeader =\n firstLine.includes('label') &&\n firstLine.includes('name') &&\n firstLine.includes('start date') &&\n firstLine.includes('end date') &&\n firstLine.includes('assignees') &&\n firstLine.includes('status')\n\n const dataLines = hasHeader ? allLines.slice(1) : allLines\n\n // Parse all lines and group by source taskId\n const groupMap = new Map<string, any[]>()\n const groupOrder: string[] = []\n\n dataLines.forEach((line) => {\n const parsed = tsvToSubtasks(line)\n if (parsed.length === 0) return\n\n const subtask = parsed[0]\n const groupKey = `${subtask.taskId || ''}|${subtask.taskName || ''}`\n\n if (!groupMap.has(groupKey)) {\n groupMap.set(groupKey, [])\n groupOrder.push(groupKey)\n }\n groupMap.get(groupKey)!.push(subtask)\n })\n\n // Create groups in order\n groupOrder.forEach((groupKey) => {\n const [taskId, taskName] = groupKey.split('|')\n subtaskGroups.push({\n taskId: taskId || undefined,\n taskName: taskName || undefined,\n subtasks: groupMap.get(groupKey) || [],\n })\n })\n\n // Check if all subtasks come from the same source task\n isFromSingleSourceTask = subtaskGroups.length <= 1\n }\n\n // Handle subtasks paste for each selected row\n for (let rowIndex = 0; rowIndex < sortedRows.length; rowIndex++) {\n const rowId = sortedRows[rowIndex]\n const entityType = getEntityDataById(rowId, entitiesMap)?.entityType\n\n // Subtasks only apply to tasks\n if (entityType !== 'task') continue\n\n // Get entity to access entityId (important for list items where rowId is list item ID)\n const entity = getEntityById(rowId)\n const actualEntityId = entity?.entityId || rowId\n\n // Get or create entity entry in the map\n const entityKey = `${rowId}-${entityType}`\n if (!entitiesToUpdateMap.has(entityKey)) {\n entitiesToUpdateMap.set(entityKey, {\n rowId,\n id: actualEntityId,\n type: entityType,\n fields: {},\n attrib: {},\n links: {},\n })\n }\n\n const entityData = entitiesToUpdateMap.get(entityKey)!\n // Get existing subtasks from entity\n const existingSubtasks = (entity && 'subtasks' in entity && entity.subtasks) || []\n // store previous subtasks for history/undo\n entityData.previousSubtasks = existingSubtasks\n\n let subtasksToProcess: any[] = []\n\n if (isSubtasksData) {\n if (isFromSingleSourceTask && subtaskGroups.length > 0) {\n // All subtasks from one source - apply to all cells\n subtasksToProcess = subtaskGroups[0].subtasks\n } else if (subtaskGroups.length > 0) {\n // Multiple groups - distribute by row (like regular data does with modulo)\n const groupIndex = rowIndex % subtaskGroups.length\n subtasksToProcess = subtaskGroups[groupIndex].subtasks\n }\n } else {\n // For parsed clipboard data, get the appropriate row\n if (isSingleCellValue) {\n const pasteValue = parsedData[0].values[0]\n subtasksToProcess = tsvToSubtasks(pasteValue)\n } else {\n const pasteRowIndex = rowIndex % parsedData.length\n const clipboardRow = parsedData[pasteRowIndex]\n const pasteColIndex = colIndex % clipboardRow.values.length\n const pasteValue = clipboardRow.values[pasteColIndex]\n subtasksToProcess = tsvToSubtasks(pasteValue)\n }\n }\n\n // Skip if no subtasks to process\n if (!subtasksToProcess || subtasksToProcess.length === 0) continue\n\n // Create normalized subtasks from parsed data\n const newSubtasks = subtasksToProcess.map((st, index) => ({\n id: getEntityId(),\n name: sanitizeSubtaskName(st.name || st.label || `Subtask ${index + 1}`),\n label: st.label || '',\n assignees: st.assignees || [],\n description: st.label || '',\n startDate: st.startDate,\n endDate: st.endDate,\n isDone: st.isDone || false,\n }))\n\n // Handle merge vs replace\n if (method === 'merge') {\n // Merge new subtasks with existing ones, removing duplicates by label and name\n const mergedSubtasks = [...existingSubtasks]\n const existingIdentifiers = new Set(\n existingSubtasks.map((st) => {\n const label = (st.label || '').toLowerCase()\n const name = (st.name || '').toLowerCase()\n return `${label}|${name}`\n }),\n )\n\n // Add new subtasks that don't already exist\n for (const newSubtask of newSubtasks) {\n const label = (newSubtask.label || '').toLowerCase()\n const name = (newSubtask.name || '').toLowerCase()\n const identifier = `${label}|${name}`\n if (!existingIdentifiers.has(identifier)) {\n mergedSubtasks.push(newSubtask)\n }\n }\n entityData.subtasks = mergedSubtasks\n } else {\n // Replace mode: use new subtasks, preserving IDs for any matching label and name\n const replacedSubtasks = newSubtasks.map((newSt) => {\n // Try to find existing subtask with matching label and name to preserve ID\n const existingMatch = existingSubtasks.find(\n (est) =>\n (est.label || '').toLowerCase() === (newSt.label || '').toLowerCase() &&\n (est.name || '').toLowerCase() === (newSt.name || '').toLowerCase(),\n )\n return {\n ...newSt,\n id: existingMatch?.id || newSt.id,\n }\n })\n entityData.subtasks = replacedSubtasks\n }\n }\n continue\n }\n\n // Check if this is an attribute field by examining the first entity\n let isAttrib = false,\n isLink = false\n // Check if the field potentially contains array values\n let fieldValueType: 'string' | 'number' | 'boolean' | 'array' = 'string'\n\n if (sortedRows.length > 0) {\n const firstRowId = sortedRows[0]\n const entity = getEntityById(firstRowId)\n if (entity) {\n isAttrib = colId.startsWith('attrib_')\n isLink = colId.startsWith('link_')\n\n // Determine field type based on type or attrib type\n if (colId === 'status' || colId === 'subType') {\n // status and subType are strings\n fieldValueType = 'string'\n // special case to avoid treating subType as attrib (not sure if this is needed)\n isAttrib = false\n } else if (colId === 'tags' || colId === 'assignees') {\n // tags and assignees are always arrays\n fieldValueType = 'array'\n } else if (isAttrib) {\n // find type based on attribFields\n const fieldName = colId.replace('attrib_', '')\n const attribField = attribFields.find((f) => f.name === fieldName)\n if (attribField) {\n const dataType = attribField.data.type\n switch (dataType) {\n case 'boolean':\n fieldValueType = 'boolean'\n break\n case 'float':\n case 'integer':\n fieldValueType = 'number'\n break\n case 'list_of_strings':\n case 'list_of_any':\n case 'list_of_integers':\n case 'list_of_submodels':\n fieldValueType = 'array'\n break\n default:\n // everything else is string\n fieldValueType = 'string'\n }\n }\n } else if (isLink) {\n // links are always arrays\n fieldValueType = 'array'\n }\n }\n }\n\n // Process each row individually\n for (let rowIndex = 0; rowIndex < sortedRows.length; rowIndex++) {\n const rowId = sortedRows[rowIndex]\n const entityType = getEntityDataById(rowId, entitiesMap)?.entityType\n const isFolder = entityType === 'folder'\n\n // Get the appropriate value from the clipboard data\n let pasteValue\n if (isSingleCellValue) {\n pasteValue = parsedData[0].values[0]\n } else {\n const pasteRowIndex = rowIndex % parsedData.length\n // Map visible column index to clipboard data index\n // When clipboard contains hidden columns, we need to skip over values\n // that correspond to hidden columns when pasting to visible columns\n const clipboardRow = parsedData[pasteRowIndex]\n\n // If clipboard has more values than visible columns being pasted to,\n // it likely contains hidden column data. We need to reconstruct the original\n // column order that was copied by finding which columns would have been included.\n if (clipboardRow.values.length > selectedColIds.length) {\n // The clipboard data was created from consecutive columns in grid order.\n // We need to find which consecutive columns would result in this clipboard data.\n // Start from the first visible column and extend the range to match clipboard length.\n const firstVisibleColIndex = gridMap.colIdToIndex.get(selectedColIds[0]) ?? 0\n\n // Get all columns sorted by grid position\n const allGridColumns = Array.from(gridMap.colIdToIndex.keys())\n .filter((id) => id !== ROW_SELECTION_COLUMN_ID)\n .sort((a, b) => {\n const indexA = gridMap.colIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.colIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // Find the starting position in the grid columns array\n const startGridPos = allGridColumns.findIndex(\n (id) => gridMap.colIdToIndex.get(id) === firstVisibleColIndex,\n )\n\n // The original copied columns are the consecutive ones starting from this position\n const originalCopiedColumns = allGridColumns.slice(\n startGridPos,\n startGridPos + clipboardRow.values.length,\n )\n\n // Find this column's position in the original copied columns\n const clipboardColIndex = originalCopiedColumns.indexOf(colId)\n pasteValue =\n clipboardRow.values[clipboardColIndex] ||\n clipboardRow.values[clipboardColIndex % clipboardRow.values.length]\n // Pasting value from hidden columns detection\n } else {\n // Normal case: map clipboard column index using modulo\n const pasteColIndex = colIndex % clipboardRow.values.length\n pasteValue = clipboardRow.values[pasteColIndex]\n // Pasting value normally\n }\n }\n\n let fieldToUpdate = colId.split('_').pop() || colId\n\n // Special handling for subType (convert to folderType or taskType)\n if (colId === 'subType') {\n fieldToUpdate = isFolder ? 'folderType' : 'taskType'\n isAttrib = false\n\n // Skip empty values for enum fields\n if (!pasteValue) continue\n }\n\n // Process the value based on its type\n const processedValue = processFieldValue(pasteValue, fieldValueType)\n\n // Get entity to access entityId (important for list items where rowId is list item ID)\n const entity = getEntityById(rowId)\n const actualEntityId = entity?.entityId || rowId\n\n // Get or create entity entry in the map\n const entityKey = `${rowId}-${entityType}`\n if (!entitiesToUpdateMap.has(entityKey) && entityType) {\n entitiesToUpdateMap.set(entityKey, {\n rowId,\n id: actualEntityId,\n type: entityType,\n fields: {},\n attrib: {},\n links: {},\n })\n }\n\n const entityData = entitiesToUpdateMap.get(entityKey)!\n\n // Add the field to the appropriate place\n if (isLink) {\n const [_link, linkType, inType, outType, direction] = colId.split('_')\n // final-task|folder|task\n entityData.links[`${linkType}|${inType}|${outType}_${direction}`] = processedValue\n } else if (isAttrib) {\n entityData.attrib[fieldToUpdate] = processedValue\n } else {\n entityData.fields[fieldToUpdate] = processedValue\n }\n }\n }\n\n // Convert the consolidated map to EntityUpdate array and LinkUpdate array\n const allEntityUpdates: EntityUpdate[] = []\n const linkUpdatesMap = new Map<string, LinkUpdate>()\n\n entitiesToUpdateMap.forEach((entity) => {\n // For regular fields, create one update per field\n Object.entries(entity.fields).forEach(([field, value]) => {\n allEntityUpdates.push({\n rowId: entity.rowId,\n id: entity.id,\n type: entity.type,\n field,\n value,\n })\n })\n\n // For attributes, create one update per attribute\n Object.entries(entity.attrib).forEach(([field, value]) => {\n allEntityUpdates.push({\n rowId: entity.rowId,\n id: entity.id,\n type: entity.type,\n field,\n value,\n isAttrib: true,\n })\n })\n\n // For links, create LinkUpdate objects\n Object.entries(entity.links).forEach(([linkKey, targetEntityIds]) => {\n // Parse the linkKey: \"linkType|inType|outType_direction\"\n const [linkTypePart, direction] = linkKey.split('_')\n const linkTypeParts = linkTypePart.split('|')\n\n if (linkTypeParts.length >= 3) {\n const linkTypeName = linkTypeParts[0]\n const inType = linkTypeParts[1]\n const outType = linkTypeParts[2]\n\n // Reconstruct the full linkType in the required format: name|input_type|output_type\n const linkType = `${linkTypeName}|${inType}|${outType}`\n\n // Determine target entity type based on direction\n const targetEntityType = direction === 'out' ? outType : inType\n\n // Create a unique key for this link operation\n const linkUpdateKey = `${entity.id}-${linkType}-${direction}`\n\n linkUpdatesMap.set(linkUpdateKey, {\n rowId: entity.rowId,\n sourceEntityId: entity.id,\n sourceEntityType: entity.type,\n linkType,\n direction: direction as 'in' | 'out',\n targetEntityType,\n operation: method,\n targetEntityIds: Array.isArray(targetEntityIds) ? targetEntityIds : [],\n })\n }\n })\n })\n\n const allLinkUpdates = Array.from(linkUpdatesMap.values())\n\n // Collect subtasks updates\n const subtasksUpdates: Array<{ taskId: string; subtasks: any[]; previousSubtasks?: any[] }> =\n []\n entitiesToUpdateMap.forEach((entity) => {\n if (entity.subtasks) {\n subtasksUpdates.push({\n taskId: entity.id,\n subtasks: entity.subtasks,\n previousSubtasks: entity.previousSubtasks,\n })\n }\n })\n\n // Make separate calls to update entities, links, and subtasks\n const updatePromises: Promise<void>[] = []\n\n if (allEntityUpdates.length > 0) {\n updatePromises.push(updateEntities(allEntityUpdates))\n }\n\n if (allLinkUpdates.length > 0) {\n updatePromises.push(pasteTableLinks(allLinkUpdates))\n }\n\n if (subtasksUpdates.length > 0) {\n // push undo/redo history entries for subtasks updates\n if (history) {\n subtasksUpdates.forEach(({ taskId, subtasks, previousSubtasks }) => {\n const prev = previousSubtasks || []\n const next = subtasks || []\n const undoCallback = () => {\n updateSubtasks({ projectName, taskId, subtasks: prev })\n .unwrap()\n .catch(() => {})\n }\n const redoCallback = () => {\n updateSubtasks({ projectName, taskId, subtasks: next })\n .unwrap()\n .catch(() => {})\n }\n history.pushHistory([undoCallback], [redoCallback])\n })\n }\n // Update subtasks for each task\n const subtasksPromises = subtasksUpdates.map(({ taskId, subtasks }) =>\n updateSubtasks({ projectName, taskId, subtasks }).unwrap(),\n )\n updatePromises.push(...subtasksPromises)\n }\n\n if (updatePromises.length > 0) {\n try {\n await Promise.all(updatePromises)\n } catch (error: any) {\n console.error('Error updating entities:', error)\n clipboardError(`Paste failed: ${error || error?.message || 'Unknown error'}`)\n }\n }\n },\n [\n selectedCells,\n gridMap,\n entitiesMap,\n updateEntities,\n pasteTableLinks,\n columnEnums,\n getEntityById,\n visibleColumns,\n attribFields,\n projectName,\n updateSubtasks,\n history,\n ],\n )\n\n // Set up keyboard event listeners\n useEffect(() => {\n const handleKeyDown = async (e: KeyboardEvent) => {\n // Copy functionality (Ctrl+C or Command+C)\n if ((e.ctrlKey || e.metaKey) && e.key === 'c') {\n const activeEl = document.activeElement as HTMLElement | null\n\n const isTableFocused =\n activeEl?.closest('table') !== null ||\n activeEl?.closest('.table-container') !== null ||\n activeEl?.tagName === 'TD' ||\n activeEl?.tagName === 'TH'\n\n // Check if there's a text selection in an input/textarea/contenteditable\n const isEditableElement =\n activeEl?.tagName === 'INPUT' ||\n activeEl?.tagName === 'TEXTAREA' ||\n activeEl?.isContentEditable\n\n const hasTextSelection = window.getSelection()?.toString().length ?? 0 > 0\n\n // If user has text selected elsewhere, let browser copy that\n if (hasTextSelection && !isTableFocused) {\n return // Let browser handle\n }\n\n // If focus is in an editable element, let browser handle\n if (isEditableElement && !isTableFocused) {\n return // Let browser handle\n }\n // If cells are selected, copy table data (even if focus moved away)\n if (selectedCells.size > 0) {\n await copyToClipboard()\n } else {\n // No cells selected, allowing default browser copy\n }\n }\n // Paste functionality (Ctrl+V or Command+V)\n if ((e.ctrlKey || e.metaKey) && e.key === 'v') {\n // don't execute paste if focus is inside an input, textarea, or content‐editable element\n const activeEl = document.activeElement as HTMLElement | null\n\n if (\n activeEl &&\n (activeEl.tagName === 'INPUT' ||\n activeEl.tagName === 'TEXTAREA' ||\n activeEl.isContentEditable)\n ) {\n // focus is inside an input, textarea, or content-editable element\n const allEntityIds = await doesClipboardContainId()\n // we might still want to paste if the clipboard contains valid entity IDs\n if (allEntityIds) {\n // prevent pasting into input fields and handle as paste on the cell\n e.preventDefault()\n } else {\n // skip pasting\n return\n }\n }\n pasteFromClipboard(Array.from(selectedCells), {\n method: e.shiftKey ? 'merge' : 'replace', // Use shift key to determine paste method\n })\n }\n }\n\n window.addEventListener('keydown', handleKeyDown)\n return () => {\n window.removeEventListener('keydown', handleKeyDown)\n }\n }, [copyToClipboard, pasteFromClipboard])\n\n const value = useMemo(\n () => ({\n copyToClipboard,\n pasteFromClipboard,\n exportCSV,\n }),\n [copyToClipboard, pasteFromClipboard],\n )\n\n return <ClipboardContext.Provider value={value}>{children}</ClipboardContext.Provider>\n}\n\nexport const useClipboard = (): ClipboardContextType => {\n const context = useContext(ClipboardContext)\n if (context === undefined) {\n throw new Error('useClipboard must be used within a ClipboardProvider')\n }\n return context\n}\n"],"names":["ClipboardContext","createContext","DISPLAY_PREFERRED_COLS","ClipboardProvider","children","entitiesMap","columnEnums","columnReadOnly","visibleColumns","selectedCells","gridMap","focusedCellId","useSelectionCellsContext","updateEntities","history","useCellEditing","pasteTableLinks","usePasteLinks","getEntityById","attribFields","tableData","useProjectTableContext","displayRowsById","useMemo","map","walk","rows","row","projectName","useProjectContext","updateSubtasks","useUpdateSubtasksMutation","getSelectionData","useCallback","selected","config","headers","fullRow","visibleColumnIds","col","id","ROW_SELECTION_COLUMN_ID","cellsByRow","cellId","position","parseCellId","rowId","colId","sortedRows","a","b","indexA","indexB","clipboardText","firstRowId","colIds","headerValues","columnName","entity","displayRow","filteredColIds","rowValues","cellValue","getLinkEntityIdsByColumnId","subtasks","getCellValue","subtasksToTSV","comments","commentsToText","foundValue","folder","parents","displayValue","field","f","getEntityPath","resolvedSubType","escaped","needsQuoting","error","doesClipboardContainId","getClipboardString","parsedData","parseClipboardText","value","v","validateEntityId","copyToClipboard","clipboardError","exportCSV","blob","url","selectedCount","pasteFromClipboard","method","isSubtasksData","subtasksClipboardText","isSubtasksTSV","isSingleCellValue","mapClipboardToVisibleColumns","clipboardRow","clipboardHeaders","mappedValues","header","index","matchingColId","firstRow","selectedColIds","rowIndex","isFolder","getEntityDataById","pasteRowIndex","pasteValue","validateClipboardData","entitiesToUpdateMap","colIndex","subtaskGroups","isFromSingleSourceTask","allLines","firstLine","dataLines","groupMap","groupOrder","line","parsed","tsvToSubtasks","subtask","groupKey","taskId","taskName","entityType","actualEntityId","entityKey","entityData","existingSubtasks","subtasksToProcess","groupIndex","pasteColIndex","newSubtasks","st","getEntityId","sanitizeSubtaskName","mergedSubtasks","existingIdentifiers","label","name","newSubtask","identifier","replacedSubtasks","newSt","existingMatch","est","isAttrib","isLink","fieldValueType","fieldName","attribField","firstVisibleColIndex","allGridColumns","startGridPos","clipboardColIndex","fieldToUpdate","processedValue","processFieldValue","_link","linkType","inType","outType","direction","allEntityUpdates","linkUpdatesMap","linkKey","targetEntityIds","linkTypePart","linkTypeParts","linkTypeName","targetEntityType","linkUpdateKey","allLinkUpdates","subtasksUpdates","updatePromises","previousSubtasks","prev","next","undoCallback","redoCallback","subtasksPromises","useEffect","handleKeyDown","e","activeEl","isTableFocused","isEditableElement","jsx","useClipboard","context","useContext"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const he=require("../../../../../_virtual/jsx-runtime.cjs.js"),l=require("react"),R=require("@tanstack/react-table"),Oe=require("./ColumnSettingsContext.cjs.js"),h=require("lodash"),d=require("../constants.cjs.js");require("@ynput/ayon-react-components");require("../../../components/SearchFilter/filterDates.cjs.js");require("date-fns");require("short-uuid");require("react-toastify");require("uuid");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/dataImport.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/projectFolders.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/bundles/getBundles.cjs.js");require("../../../api/queries/bundles/updateBundles.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/columnStats/metricTargets.cjs.js");require("../../../api/queries/columnStats/groupCounts.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/listItemsColumnStats.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/folders/getFolderDeleteInfo.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("../../../util/pubsub.cjs.js");require("clsx");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../components/AttributeEditor/AttributeEditor.cjs.js");require("../../../components/AttributeEditor/attributeTypeMap.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("react-dom");require("../../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../../../../../_virtual/index.cjs.js");require("../../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../../../components/QuillListStyles/QuillListStyles.cjs.js");require("../../../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("react-markdown");require("remark-gfm");require("rehype-raw");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../Feed/components/CommentInput/modules/index.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("../../../context/SubtasksModulesContextInstance.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContextInstance.cjs.js");require("../../../context/EntityUpdatesContextInstance.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("remark-emoji");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusSecondary.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../Feed/components/FeedSearchFilter.cjs.js");require("@tanstack/react-virtual");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/EnumCellValue.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/MarkdownWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../widgets/LinksWidget.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("./ProjectTableContextInstance.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");require("../components/HeaderActionButton.cjs.js");require("./ProjectTableQueriesContext.cjs.js");require("../components/DeleteConfirmContent.cjs.js");require("./ClipboardContext.cjs.js");require("./SelectionCellsContext.cjs.js");require("./ProjectDataContextInstance.cjs.js");require("./CellEditingContext.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../components/TableFooterRow.cjs.js");require("./SelectedRowsContext.cjs.js");require("./DetailsPanelEntityContext.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../Slicer/components/Slicer.cjs.js");require("../../Slicer/context/SlicerContextInstance.cjs.js");require("../../Slicer/components/SlicerDropdownFallback.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("react-redux");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../Views/context/ViewsContextInstance.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../ListTable/ListTableRow.cjs.js");require("../../ListTable/ListTable.styled.cjs.js");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/InfoMessage/InfoMessage.cjs.js");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Feedback/FeedbackContextInstance.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/FreeTrialLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("react-router-dom");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/CustomDateRangeDialog.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/SyncButton/SyncButton.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContextInstance.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../../components/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../../components/ColumnHeaderMenuUI.cjs.js");const V=require("../utils/checkColumnVisibility.cjs.js"),Se=({children:j,config:k,onChange:H,defaultColumnVisibility:O})=>{const N=l.useRef([]),P=l.useRef(null),f=l.useRef(null),w=l.useRef(null),I=l.useRef(void 0),S=l.useRef(null),[p,g]=l.useState(null),[D,b]=l.useState(null),[G,L]=l.useState(null),K=e=>{N.current=Array.from(new Set(e))},n=e=>{const r=N.current,u=new Set([d.DRAG_HANDLE_COLUMN_ID,d.ROW_SELECTION_COLUMN_ID]);if(r.length>0){const i={...e.columnVisibility};r.forEach(m=>{!u.has(m)&&i[m]===void 0&&(i[m]=V.checkColumnVisibility({},m,O))}),u.forEach(m=>delete i[m]);const c=(e.columnOrder??[]).filter(m=>!u.has(m));H({...e,columnVisibility:i,columnOrder:c},r)}else H(e,r)},q=k,{columnOrder:J=[],columnPinning:Q={},columnVisibility:X={},columnSizing:s={},sorting:Y=[],groupBy:y,groupByConfig:v={},rowHeight:a=34,columnSummaries:x={},columnSummaryScopes:z={},columnSummaryFormats:A={}}=q||{};I.current!==a&&I.current!==void 0&&(D!==null&&b(null),f.current&&(clearTimeout(f.current),f.current=null)),I.current=a;const Z=D??a,T=[...Y],t=[...G??[...J]],o={...Q},E=["thumbnail","name","subType","status","tags"];if(E.forEach((e,r)=>{if(!t.includes(e)){const u=E[r-1],i=E[r+1];if(!u||!t.includes(u))t.unshift(e);else{const c=t.indexOf(u);t.splice(c+1,0,e)}i&&o?.left&&o?.left.includes(i)&&(o.left=[e,...o?.left||[]])}}),y&&y.id!=="folder"){if(!o.left?.includes("name"))o.left=["name",...o?.left||[]];else{const e=o.left.filter(r=>r!=="name");o.left=["name",...e]}if(t.includes("name")){const e=t.indexOf("name");t.splice(e,1)}t.unshift("name")}t.unshift(d.DRAG_HANDLE_COLUMN_ID,d.ROW_SELECTION_COLUMN_ID);const C={...X};y&&!C.name&&(C.name=!0);const U=e=>{n({...q,columnVisibility:e})},W=e=>{n({...q,columnOrder:e})},B=e=>{n({...q,columnPinning:e})},_=p||s,M=e=>{g(e),P.current&&clearTimeout(P.current),P.current=setTimeout(()=>{n({...q,columnSizing:e}),g(null)},500)},$=e=>{const r={...o},i=(r.left||[]).filter(c=>V.checkColumnVisibility(e,c,O));return{...r,left:i}},ee=e=>{const r={...o},u=r.left||[],i=e.filter(c=>u.includes(c));return{...r,left:i}},re=e=>[...t].sort((r,u)=>{const i=e.left?.includes(r)?1:0;return(e.left?.includes(u)?1:0)-i}),ie=e=>{const r=$(e);n({...q,columnVisibility:e,columnPinning:r})},ue=e=>{const r=e.filter(i=>i!==d.DRAG_HANDLE_COLUMN_ID&&i!==d.ROW_SELECTION_COLUMN_ID),u=ee(r);L(r),w.current&&clearTimeout(w.current),w.current=setTimeout(()=>{n({...q,columnOrder:r,columnPinning:u}),L(null)},300)},ne=e=>{const r=re(e);n({...q,columnOrder:r,columnPinning:e})},F=e=>{n({...q,sorting:e})},qe=(e,r)=>{n({...q,columnSummaries:{...x,[e]:r}})},te=(e,r)=>{n({...q,columnSummaryScopes:{...z,[e]:r}})},oe=(e,r)=>{n({...q,columnSummaryFormats:{...A,[e]:r}})},ce=e=>{n({...q,groupBy:e})},le=e=>{n({...q,groupByConfig:{...v,...e}})},se=l.useCallback(e=>{if(S.current===null){const u=s.thumbnail||63,i=a||34;S.current=u/i}const r=S.current*e;b(e),g({...p||s,thumbnail:r})},[s,a]),me=l.useCallback(e=>{const c=(s.thumbnail||63)/(a||34)*e;b(e),g({...p||s,thumbnail:c}),f.current&&clearTimeout(f.current),f.current=setTimeout(()=>{n({...q,rowHeight:e,columnSizing:{...s,thumbnail:c}}),b(null),g(null),S.current=null},300)},[q,n,s,a,p]),ae=e=>{const r=typeof e=="function"?e(C):e,u={};Object.keys(r).forEach(i=>{const c=V.checkColumnVisibility({},i,O);r[i]!==c&&(u[i]=r[i])}),!h.isEqual(u,C)&&U(u)},fe=e=>{const r=R.functionalUpdate(e,o);h.isEqual(r,o)||B(r)},de=e=>{const r=R.functionalUpdate(e,t);h.isEqual(r,t)||W(r)},ge=e=>{const r=R.functionalUpdate(e,_);h.isEqual(r,_)||M(r)},Ce=e=>{const r=R.functionalUpdate(e,T);h.isEqual(r,T)||F(r)};return he.jsxRuntimeExports.jsx(Oe.ColumnSettingsContext.Provider,{value:{setAllColumns:K,columnVisibility:C,defaultColumnVisibility:O,setColumnVisibility:U,updateColumnVisibility:ie,columnVisibilityOnChange:ae,columnPinning:o,setColumnPinning:B,updateColumnPinning:ne,columnPinningOnChange:fe,columnOrder:t,setColumnOrder:W,updateColumnOrder:ue,columnOrderOnChange:de,columnSizing:_,setColumnSizing:M,columnSizingOnChange:ge,columnSummaries:x,updateColumnSummary:qe,columnSummaryScopes:z,updateColumnSummaryScope:te,columnSummaryFormats:A,updateColumnSummaryFormat:oe,sorting:T,updateSorting:F,sortingOnChange:Ce,groupBy:y,updateGroupBy:ce,groupByConfig:v,updateGroupByConfig:le,rowHeight:Z,updateRowHeight:se,updateRowHeightWithPersistence:me,setColumnsConfig:e=>n(e)},children:j})};exports.ColumnSettingsProvider=Se;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const he=require("../../../../../_virtual/jsx-runtime.cjs.js"),l=require("react"),R=require("@tanstack/react-table"),Oe=require("./ColumnSettingsContext.cjs.js"),h=require("lodash"),d=require("../constants.cjs.js");require("@ynput/ayon-react-components");require("../../../components/SearchFilter/filterDates.cjs.js");require("date-fns");require("short-uuid");require("react-toastify");require("uuid");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/dataImport.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/projectFolders.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/bundles/getBundles.cjs.js");require("../../../api/queries/bundles/updateBundles.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/columnStats/metricTargets.cjs.js");require("../../../api/queries/columnStats/groupCounts.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/listItemsColumnStats.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/folders/getFolderDeleteInfo.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("../../../util/pubsub.cjs.js");require("clsx");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../components/AttributeEditor/AttributeEditor.cjs.js");require("../../../components/AttributeEditor/attributeTypeMap.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("react-dom");require("../../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../../../components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js");require("../../../../../_virtual/index.cjs.js");require("../../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../../../components/QuillListStyles/QuillListStyles.cjs.js");require("../../../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("react-markdown");require("remark-gfm");require("rehype-raw");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../Feed/components/CommentInput/modules/index.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../node_modules/@module-federation/runtime/dist/index.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("../../../context/SubtasksModulesContextInstance.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContextInstance.cjs.js");require("../../../context/EntityUpdatesContextInstance.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("remark-emoji");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusSecondary.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../Feed/components/FeedSearchFilter.cjs.js");require("@tanstack/react-virtual");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/EnumCellValue.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/MarkdownWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../widgets/LinksWidget.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("./ProjectTableContextInstance.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");require("../components/HeaderActionButton.cjs.js");require("./ProjectTableQueriesContext.cjs.js");require("./ClipboardContext.cjs.js");require("./SelectionCellsContext.cjs.js");require("./ProjectDataContextInstance.cjs.js");require("./CellEditingContext.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../components/TableFooterRow.cjs.js");require("./SelectedRowsContext.cjs.js");require("./DetailsPanelEntityContext.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../Slicer/components/Slicer.cjs.js");require("../../Slicer/context/SlicerContextInstance.cjs.js");require("../../Slicer/components/SlicerDropdownFallback.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("react-redux");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../Views/context/ViewsContextInstance.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../ListTable/ListTableRow.cjs.js");require("../../ListTable/ListTable.styled.cjs.js");require("../../../context/DeleteEntitiesContext.cjs.js");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/InfoMessage/InfoMessage.cjs.js");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Feedback/FeedbackContextInstance.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/FreeTrialLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("react-router-dom");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/CustomDateRangeDialog.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/SyncButton/SyncButton.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContextInstance.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../../components/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../../components/ColumnHeaderMenuUI.cjs.js");const V=require("../utils/checkColumnVisibility.cjs.js"),Se=({children:j,config:k,onChange:H,defaultColumnVisibility:O})=>{const N=l.useRef([]),P=l.useRef(null),f=l.useRef(null),w=l.useRef(null),I=l.useRef(void 0),S=l.useRef(null),[p,g]=l.useState(null),[D,b]=l.useState(null),[G,L]=l.useState(null),K=e=>{N.current=Array.from(new Set(e))},n=e=>{const r=N.current,u=new Set([d.DRAG_HANDLE_COLUMN_ID,d.ROW_SELECTION_COLUMN_ID]);if(r.length>0){const i={...e.columnVisibility};r.forEach(m=>{!u.has(m)&&i[m]===void 0&&(i[m]=V.checkColumnVisibility({},m,O))}),u.forEach(m=>delete i[m]);const c=(e.columnOrder??[]).filter(m=>!u.has(m));H({...e,columnVisibility:i,columnOrder:c},r)}else H(e,r)},q=k,{columnOrder:J=[],columnPinning:Q={},columnVisibility:X={},columnSizing:s={},sorting:Y=[],groupBy:y,groupByConfig:v={},rowHeight:a=34,columnSummaries:x={},columnSummaryScopes:z={},columnSummaryFormats:A={}}=q||{};I.current!==a&&I.current!==void 0&&(D!==null&&b(null),f.current&&(clearTimeout(f.current),f.current=null)),I.current=a;const Z=D??a,T=[...Y],t=[...G??[...J]],o={...Q},E=["thumbnail","name","subType","status","tags"];if(E.forEach((e,r)=>{if(!t.includes(e)){const u=E[r-1],i=E[r+1];if(!u||!t.includes(u))t.unshift(e);else{const c=t.indexOf(u);t.splice(c+1,0,e)}i&&o?.left&&o?.left.includes(i)&&(o.left=[e,...o?.left||[]])}}),y&&y.id!=="folder"){if(!o.left?.includes("name"))o.left=["name",...o?.left||[]];else{const e=o.left.filter(r=>r!=="name");o.left=["name",...e]}if(t.includes("name")){const e=t.indexOf("name");t.splice(e,1)}t.unshift("name")}t.unshift(d.DRAG_HANDLE_COLUMN_ID,d.ROW_SELECTION_COLUMN_ID);const C={...X};y&&!C.name&&(C.name=!0);const U=e=>{n({...q,columnVisibility:e})},W=e=>{n({...q,columnOrder:e})},B=e=>{n({...q,columnPinning:e})},_=p||s,M=e=>{g(e),P.current&&clearTimeout(P.current),P.current=setTimeout(()=>{n({...q,columnSizing:e}),g(null)},500)},$=e=>{const r={...o},i=(r.left||[]).filter(c=>V.checkColumnVisibility(e,c,O));return{...r,left:i}},ee=e=>{const r={...o},u=r.left||[],i=e.filter(c=>u.includes(c));return{...r,left:i}},re=e=>[...t].sort((r,u)=>{const i=e.left?.includes(r)?1:0;return(e.left?.includes(u)?1:0)-i}),ie=e=>{const r=$(e);n({...q,columnVisibility:e,columnPinning:r})},ue=e=>{const r=e.filter(i=>i!==d.DRAG_HANDLE_COLUMN_ID&&i!==d.ROW_SELECTION_COLUMN_ID),u=ee(r);L(r),w.current&&clearTimeout(w.current),w.current=setTimeout(()=>{n({...q,columnOrder:r,columnPinning:u}),L(null)},300)},ne=e=>{const r=re(e);n({...q,columnOrder:r,columnPinning:e})},F=e=>{n({...q,sorting:e})},qe=(e,r)=>{n({...q,columnSummaries:{...x,[e]:r}})},te=(e,r)=>{n({...q,columnSummaryScopes:{...z,[e]:r}})},oe=(e,r)=>{n({...q,columnSummaryFormats:{...A,[e]:r}})},ce=e=>{n({...q,groupBy:e})},le=e=>{n({...q,groupByConfig:{...v,...e}})},se=l.useCallback(e=>{if(S.current===null){const u=s.thumbnail||63,i=a||34;S.current=u/i}const r=S.current*e;b(e),g({...p||s,thumbnail:r})},[s,a]),me=l.useCallback(e=>{const c=(s.thumbnail||63)/(a||34)*e;b(e),g({...p||s,thumbnail:c}),f.current&&clearTimeout(f.current),f.current=setTimeout(()=>{n({...q,rowHeight:e,columnSizing:{...s,thumbnail:c}}),b(null),g(null),S.current=null},300)},[q,n,s,a,p]),ae=e=>{const r=typeof e=="function"?e(C):e,u={};Object.keys(r).forEach(i=>{const c=V.checkColumnVisibility({},i,O);r[i]!==c&&(u[i]=r[i])}),!h.isEqual(u,C)&&U(u)},fe=e=>{const r=R.functionalUpdate(e,o);h.isEqual(r,o)||B(r)},de=e=>{const r=R.functionalUpdate(e,t);h.isEqual(r,t)||W(r)},ge=e=>{const r=R.functionalUpdate(e,_);h.isEqual(r,_)||M(r)},Ce=e=>{const r=R.functionalUpdate(e,T);h.isEqual(r,T)||F(r)};return he.jsxRuntimeExports.jsx(Oe.ColumnSettingsContext.Provider,{value:{setAllColumns:K,columnVisibility:C,defaultColumnVisibility:O,setColumnVisibility:U,updateColumnVisibility:ie,columnVisibilityOnChange:ae,columnPinning:o,setColumnPinning:B,updateColumnPinning:ne,columnPinningOnChange:fe,columnOrder:t,setColumnOrder:W,updateColumnOrder:ue,columnOrderOnChange:de,columnSizing:_,setColumnSizing:M,columnSizingOnChange:ge,columnSummaries:x,updateColumnSummary:qe,columnSummaryScopes:z,updateColumnSummaryScope:te,columnSummaryFormats:A,updateColumnSummaryFormat:oe,sorting:T,updateSorting:F,sortingOnChange:Ce,groupBy:y,updateGroupBy:ce,groupByConfig:v,updateGroupByConfig:le,rowHeight:Z,updateRowHeight:se,updateRowHeightWithPersistence:me,setColumnsConfig:e=>n(e)},children:j})};exports.ColumnSettingsProvider=Se;
2
2
  //# sourceMappingURL=ColumnSettingsProvider.cjs.js.map