@ynput/ayon-frontend-shared 0.3.9 → 0.3.11

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 (817) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +24 -22
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +182 -171
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Slicer.cjs.js +1 -1
  8. package/dist/Slicer.es.js +13 -11
  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.es10.js +3 -3
  14. package/dist/_virtual/index.es11.js +5 -5
  15. package/dist/_virtual/index.es12.js +5 -5
  16. package/dist/api.cjs.js +1 -1
  17. package/dist/api.es.js +352 -342
  18. package/dist/api.es.js.map +1 -1
  19. package/dist/context.cjs.js +1 -1
  20. package/dist/context.es.js +39 -36
  21. package/dist/context.es.js.map +1 -1
  22. package/dist/index.cjs.js +1 -1
  23. package/dist/index.es.js +11 -9
  24. package/dist/index.es.js.map +1 -1
  25. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  26. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  27. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  28. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  29. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  30. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  31. package/dist/shared/src/api/generated/actions.cjs.js.map +1 -1
  32. package/dist/shared/src/api/generated/actions.es.js.map +1 -1
  33. package/dist/shared/src/api/generated/folders.cjs.js.map +1 -1
  34. package/dist/shared/src/api/generated/folders.es.js.map +1 -1
  35. package/dist/shared/src/api/generated/projectFolders.cjs.js +2 -0
  36. package/dist/shared/src/api/generated/projectFolders.cjs.js.map +1 -0
  37. package/dist/shared/src/api/generated/projectFolders.es.js +44 -0
  38. package/dist/shared/src/api/generated/projectFolders.es.js.map +1 -0
  39. package/dist/shared/src/api/generated/projects.cjs.js +1 -1
  40. package/dist/shared/src/api/generated/projects.cjs.js.map +1 -1
  41. package/dist/shared/src/api/generated/projects.es.js +20 -0
  42. package/dist/shared/src/api/generated/projects.es.js.map +1 -1
  43. package/dist/shared/src/api/generated/system.cjs.js.map +1 -1
  44. package/dist/shared/src/api/generated/system.es.js.map +1 -1
  45. package/dist/shared/src/api/queries/actions/getActions.cjs.js +1 -1
  46. package/dist/shared/src/api/queries/actions/getActions.cjs.js.map +1 -1
  47. package/dist/shared/src/api/queries/actions/getActions.es.js +11 -10
  48. package/dist/shared/src/api/queries/actions/getActions.es.js.map +1 -1
  49. package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -1
  50. package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
  51. package/dist/shared/src/api/queries/activities/getActivities.es.js +11 -10
  52. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  53. package/dist/shared/src/api/queries/activities/getCategories.cjs.js +1 -1
  54. package/dist/shared/src/api/queries/activities/getCategories.cjs.js.map +1 -1
  55. package/dist/shared/src/api/queries/activities/getCategories.es.js +3 -2
  56. package/dist/shared/src/api/queries/activities/getCategories.es.js.map +1 -1
  57. package/dist/shared/src/api/queries/activities/getMentions.cjs.js +1 -1
  58. package/dist/shared/src/api/queries/activities/getMentions.cjs.js.map +1 -1
  59. package/dist/shared/src/api/queries/activities/getMentions.es.js +3 -2
  60. package/dist/shared/src/api/queries/activities/getMentions.es.js.map +1 -1
  61. package/dist/shared/src/api/queries/activities/updateReaction.cjs.js +1 -1
  62. package/dist/shared/src/api/queries/activities/updateReaction.cjs.js.map +1 -1
  63. package/dist/shared/src/api/queries/activities/updateReaction.es.js +4 -3
  64. package/dist/shared/src/api/queries/activities/updateReaction.es.js.map +1 -1
  65. package/dist/shared/src/api/queries/addons/getAddons.cjs.js +1 -1
  66. package/dist/shared/src/api/queries/addons/getAddons.cjs.js.map +1 -1
  67. package/dist/shared/src/api/queries/addons/getAddons.es.js +7 -6
  68. package/dist/shared/src/api/queries/addons/getAddons.es.js.map +1 -1
  69. package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js +1 -1
  70. package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js.map +1 -1
  71. package/dist/shared/src/api/queries/attributes/getAttributes.es.js +4 -3
  72. package/dist/shared/src/api/queries/attributes/getAttributes.es.js.map +1 -1
  73. package/dist/shared/src/api/queries/authentication/getAuthentication.cjs.js +1 -1
  74. package/dist/shared/src/api/queries/authentication/getAuthentication.cjs.js.map +1 -1
  75. package/dist/shared/src/api/queries/authentication/getAuthentication.es.js +4 -3
  76. package/dist/shared/src/api/queries/authentication/getAuthentication.es.js.map +1 -1
  77. package/dist/shared/src/api/queries/cloud/cloud.cjs.js +1 -1
  78. package/dist/shared/src/api/queries/cloud/cloud.cjs.js.map +1 -1
  79. package/dist/shared/src/api/queries/cloud/cloud.es.js +9 -8
  80. package/dist/shared/src/api/queries/cloud/cloud.es.js.map +1 -1
  81. package/dist/shared/src/api/queries/config/getConfig.cjs.js +1 -1
  82. package/dist/shared/src/api/queries/config/getConfig.cjs.js.map +1 -1
  83. package/dist/shared/src/api/queries/config/getConfig.es.js +9 -8
  84. package/dist/shared/src/api/queries/config/getConfig.es.js.map +1 -1
  85. package/dist/shared/src/api/queries/entities/getEntity.cjs.js +1 -1
  86. package/dist/shared/src/api/queries/entities/getEntity.cjs.js.map +1 -1
  87. package/dist/shared/src/api/queries/entities/getEntity.es.js +13 -12
  88. package/dist/shared/src/api/queries/entities/getEntity.es.js.map +1 -1
  89. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
  90. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
  91. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +4 -3
  92. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  93. package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js +1 -1
  94. package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js.map +1 -1
  95. package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js +4 -2
  96. package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js.map +1 -1
  97. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  98. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  99. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +5 -3
  100. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  101. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  102. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  103. package/dist/shared/src/api/queries/entityLists/getLists.es.js +15 -14
  104. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  105. package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js +1 -1
  106. package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js.map +1 -1
  107. package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js +3 -2
  108. package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js.map +1 -1
  109. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js +1 -1
  110. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js.map +1 -1
  111. package/dist/shared/src/api/queries/entityLists/listFolders.es.js +22 -20
  112. package/dist/shared/src/api/queries/entityLists/listFolders.es.js.map +1 -1
  113. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -1
  114. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
  115. package/dist/shared/src/api/queries/entityLists/updateLists.es.js +17 -16
  116. package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
  117. package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -1
  118. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  119. package/dist/shared/src/api/queries/folders/getFolders.es.js +4 -3
  120. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  121. package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js +1 -1
  122. package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js.map +1 -1
  123. package/dist/shared/src/api/queries/grouping/getGrouping.es.js +22 -6
  124. package/dist/shared/src/api/queries/grouping/getGrouping.es.js.map +1 -1
  125. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
  126. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
  127. package/dist/shared/src/api/queries/links/getEntityLinks.es.js +3 -2
  128. package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
  129. package/dist/shared/src/api/queries/links/getLinks.cjs.js +1 -1
  130. package/dist/shared/src/api/queries/links/getLinks.cjs.js.map +1 -1
  131. package/dist/shared/src/api/queries/links/getLinks.es.js +14 -13
  132. package/dist/shared/src/api/queries/links/getLinks.es.js.map +1 -1
  133. package/dist/shared/src/api/queries/links/updateLinks.cjs.js +1 -1
  134. package/dist/shared/src/api/queries/links/updateLinks.cjs.js.map +1 -1
  135. package/dist/shared/src/api/queries/links/updateLinks.es.js +17 -16
  136. package/dist/shared/src/api/queries/links/updateLinks.es.js.map +1 -1
  137. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  138. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  139. package/dist/shared/src/api/queries/overview/getOverview.es.js +37 -36
  140. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  141. package/dist/shared/src/api/queries/overview/patchVersions.cjs.js +1 -1
  142. package/dist/shared/src/api/queries/overview/patchVersions.cjs.js.map +1 -1
  143. package/dist/shared/src/api/queries/overview/patchVersions.es.js +88 -53
  144. package/dist/shared/src/api/queries/overview/patchVersions.es.js.map +1 -1
  145. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  146. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  147. package/dist/shared/src/api/queries/overview/updateOverview.es.js +8 -6
  148. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  149. package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js +1 -1
  150. package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js.map +1 -1
  151. package/dist/shared/src/api/queries/permissions/getPermissions.es.js +4 -3
  152. package/dist/shared/src/api/queries/permissions/getPermissions.es.js.map +1 -1
  153. package/dist/shared/src/api/queries/products/createProduct.cjs.js +1 -1
  154. package/dist/shared/src/api/queries/products/createProduct.cjs.js.map +1 -1
  155. package/dist/shared/src/api/queries/products/createProduct.es.js +3 -2
  156. package/dist/shared/src/api/queries/products/createProduct.es.js.map +1 -1
  157. package/dist/shared/src/api/queries/project/getProject.cjs.js +1 -1
  158. package/dist/shared/src/api/queries/project/getProject.cjs.js.map +1 -1
  159. package/dist/shared/src/api/queries/project/getProject.es.js +9 -8
  160. package/dist/shared/src/api/queries/project/getProject.es.js.map +1 -1
  161. package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js +2 -0
  162. package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js.map +1 -0
  163. package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js +178 -0
  164. package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js.map +1 -0
  165. package/dist/shared/src/api/queries/review/getReview.cjs.js +1 -1
  166. package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
  167. package/dist/shared/src/api/queries/review/getReview.es.js +15 -14
  168. package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
  169. package/dist/shared/src/api/queries/review/updateReview.cjs.js +1 -1
  170. package/dist/shared/src/api/queries/review/updateReview.cjs.js.map +1 -1
  171. package/dist/shared/src/api/queries/review/updateReview.es.js +7 -6
  172. package/dist/shared/src/api/queries/review/updateReview.es.js.map +1 -1
  173. package/dist/shared/src/api/queries/share/share.cjs.js +1 -1
  174. package/dist/shared/src/api/queries/share/share.cjs.js.map +1 -1
  175. package/dist/shared/src/api/queries/share/share.es.js +3 -2
  176. package/dist/shared/src/api/queries/share/share.es.js.map +1 -1
  177. package/dist/shared/src/api/queries/system/getSystem.cjs.js +1 -1
  178. package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
  179. package/dist/shared/src/api/queries/system/getSystem.es.js +5 -4
  180. package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
  181. package/dist/shared/src/api/queries/tasks/updateTasks.cjs.js +1 -1
  182. package/dist/shared/src/api/queries/tasks/updateTasks.cjs.js.map +1 -1
  183. package/dist/shared/src/api/queries/tasks/updateTasks.es.js +40 -22
  184. package/dist/shared/src/api/queries/tasks/updateTasks.es.js.map +1 -1
  185. package/dist/shared/src/api/queries/uris/getUris.cjs.js +1 -1
  186. package/dist/shared/src/api/queries/uris/getUris.cjs.js.map +1 -1
  187. package/dist/shared/src/api/queries/uris/getUris.es.js +3 -2
  188. package/dist/shared/src/api/queries/uris/getUris.es.js.map +1 -1
  189. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
  190. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  191. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +6 -5
  192. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  193. package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -1
  194. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  195. package/dist/shared/src/api/queries/users/getUsers.es.js +20 -18
  196. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  197. package/dist/shared/src/api/queries/users/guests.cjs.js +1 -1
  198. package/dist/shared/src/api/queries/users/guests.cjs.js.map +1 -1
  199. package/dist/shared/src/api/queries/users/guests.es.js +5 -4
  200. package/dist/shared/src/api/queries/users/guests.es.js.map +1 -1
  201. package/dist/shared/src/api/queries/users/updateUsers.cjs.js +1 -1
  202. package/dist/shared/src/api/queries/users/updateUsers.cjs.js.map +1 -1
  203. package/dist/shared/src/api/queries/users/updateUsers.es.js +21 -20
  204. package/dist/shared/src/api/queries/users/updateUsers.es.js.map +1 -1
  205. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
  206. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
  207. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +348 -136
  208. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
  209. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.cjs.js +1 -1
  210. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.cjs.js.map +1 -1
  211. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.es.js +57 -59
  212. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.es.js.map +1 -1
  213. package/dist/shared/src/api/queries/versions/updateVersions.cjs.js +1 -1
  214. package/dist/shared/src/api/queries/versions/updateVersions.cjs.js.map +1 -1
  215. package/dist/shared/src/api/queries/versions/updateVersions.es.js +6 -5
  216. package/dist/shared/src/api/queries/versions/updateVersions.es.js.map +1 -1
  217. package/dist/shared/src/api/queries/views/getViews.cjs.js +1 -1
  218. package/dist/shared/src/api/queries/views/getViews.cjs.js.map +1 -1
  219. package/dist/shared/src/api/queries/views/getViews.es.js +11 -10
  220. package/dist/shared/src/api/queries/views/getViews.es.js.map +1 -1
  221. package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js +1 -1
  222. package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js.map +1 -1
  223. package/dist/shared/src/api/queries/watchers/getWatchers.es.js +4 -3
  224. package/dist/shared/src/api/queries/watchers/getWatchers.es.js.map +1 -1
  225. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  226. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  227. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +4 -2
  228. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  229. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +3 -3
  230. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
  231. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +13 -13
  232. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
  233. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +3 -3
  234. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  235. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +24 -22
  236. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  237. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  238. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  239. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +4 -2
  240. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  241. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  242. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  243. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +4 -2
  244. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  245. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  246. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  247. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +4 -2
  248. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  249. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  250. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  251. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +4 -2
  252. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  253. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  254. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  255. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +16 -14
  256. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  257. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  258. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  259. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +4 -2
  260. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  261. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  262. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  263. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +4 -2
  264. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  265. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  266. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  267. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +4 -2
  268. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  269. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  270. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  271. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +4 -2
  272. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  273. package/dist/shared/src/components/Menu/Menu.styled.cjs.js +0 -1
  274. package/dist/shared/src/components/Menu/Menu.styled.cjs.js.map +1 -1
  275. package/dist/shared/src/components/Menu/Menu.styled.es.js +0 -1
  276. package/dist/shared/src/components/Menu/Menu.styled.es.js.map +1 -1
  277. package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
  278. package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
  279. package/dist/shared/src/components/Menu/MenuList.es.js +21 -21
  280. package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
  281. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  282. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  283. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +58 -38
  284. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  285. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
  286. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  287. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +113 -107
  288. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  289. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  290. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  291. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +4 -2
  292. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  293. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  294. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  295. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +4 -2
  296. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  297. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  298. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  299. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +4 -2
  300. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  301. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  302. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  303. package/dist/shared/src/components/RenameForm/RenameForm.es.js +4 -2
  304. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  305. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  306. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  307. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +4 -2
  308. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  309. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  310. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  311. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +32 -30
  312. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  313. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  314. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  315. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +5 -3
  316. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  317. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  318. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  319. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +4 -2
  320. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  321. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  322. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  323. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +4 -2
  324. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  325. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  326. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  327. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +8 -6
  328. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  329. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +31 -0
  330. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -0
  331. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +107 -0
  332. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -0
  333. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +2 -2
  334. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  335. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +33 -28
  336. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  337. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js +1 -1
  338. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js.map +1 -1
  339. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js +17 -7
  340. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js.map +1 -1
  341. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  342. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  343. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +4 -2
  344. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  345. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  346. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  347. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +6 -4
  348. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  349. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  350. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  351. package/dist/shared/src/components/Watchers/Watchers.es.js +4 -2
  352. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  353. package/dist/shared/src/config/plannerFeatures.cjs.js +2 -0
  354. package/dist/shared/src/config/plannerFeatures.cjs.js.map +1 -0
  355. package/dist/shared/src/config/plannerFeatures.es.js +50 -0
  356. package/dist/shared/src/config/plannerFeatures.es.js.map +1 -0
  357. package/dist/shared/src/config/powerpackFeatures.cjs.js +2 -0
  358. package/dist/shared/src/config/powerpackFeatures.cjs.js.map +1 -0
  359. package/dist/shared/src/config/powerpackFeatures.es.js +74 -0
  360. package/dist/shared/src/config/powerpackFeatures.es.js.map +1 -0
  361. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  362. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  363. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +4 -2
  364. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  365. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  366. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  367. package/dist/shared/src/containers/Actions/Actions.es.js +18 -15
  368. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  369. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js +2 -2
  370. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js.map +1 -1
  371. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js +33 -32
  372. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js.map +1 -1
  373. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  374. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  375. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +4 -2
  376. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  377. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  378. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  379. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +14 -11
  380. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  381. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  382. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  383. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +4 -2
  384. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  385. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  386. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  387. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +5 -3
  388. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  389. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  390. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  391. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +4 -2
  392. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  393. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  394. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  395. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +4 -2
  396. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  397. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  398. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  399. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +18 -16
  400. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  401. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  402. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  403. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +4 -2
  404. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  405. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  406. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  407. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +4 -2
  408. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  409. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  410. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +4 -2
  412. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  413. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  414. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +4 -2
  416. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  417. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  418. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +4 -2
  420. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  421. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  422. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +4 -2
  424. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  425. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  426. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +4 -2
  428. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  429. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  430. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  431. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +4 -2
  432. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  433. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  434. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +4 -2
  436. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  437. package/dist/shared/src/containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.cjs.js +1 -1
  438. package/dist/shared/src/containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.es.js +8 -8
  440. package/dist/shared/src/containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.es.js.map +1 -1
  441. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  442. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  443. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +4 -2
  444. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  445. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  446. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  447. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +4 -2
  448. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  449. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  450. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  451. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +4 -2
  452. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  453. package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js.map +1 -1
  454. package/dist/shared/src/containers/Feed/components/ActivityItem.es.js.map +1 -1
  455. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.cjs.js +1 -1
  456. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.cjs.js.map +1 -1
  457. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.es.js +18 -18
  458. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.es.js.map +1 -1
  459. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  460. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  461. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +4 -2
  462. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  463. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  464. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  465. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +4 -2
  466. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  467. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  468. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  469. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +7 -5
  470. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  471. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  472. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  473. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +4 -2
  474. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  475. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  476. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  477. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +686 -616
  478. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  479. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +26 -11
  480. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
  481. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +40 -25
  482. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
  483. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  484. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  485. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +95 -93
  486. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  487. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +2 -0
  488. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -0
  489. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +381 -0
  490. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -0
  491. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  492. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  493. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +4 -2
  494. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  495. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  496. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  497. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +4 -2
  498. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  499. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js +6 -2
  500. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js.map +1 -1
  501. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js +13 -9
  502. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js.map +1 -1
  503. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  504. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  505. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +147 -119
  506. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  507. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +4 -3
  508. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  509. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +487 -262
  510. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  511. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  512. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  513. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +149 -145
  514. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  515. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  516. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  517. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +6 -4
  518. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  519. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js +1 -1
  520. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js.map +1 -1
  521. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js +30 -30
  522. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js.map +1 -1
  523. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  524. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  525. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +94 -91
  526. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  527. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.cjs.js +5 -0
  528. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.cjs.js.map +1 -0
  529. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.es.js +67 -0
  530. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.es.js.map +1 -0
  531. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  532. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  533. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +57 -54
  534. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  535. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  536. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  537. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +30 -28
  538. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  539. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  540. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  541. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +4 -2
  542. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  543. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  544. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  545. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +4 -2
  546. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  547. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnDragRestriction.cjs.js +2 -0
  548. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnDragRestriction.cjs.js.map +1 -0
  549. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnDragRestriction.es.js +56 -0
  550. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnDragRestriction.es.js.map +1 -0
  551. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  552. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  553. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +4 -2
  554. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  555. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.cjs.js +1 -1
  556. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.cjs.js.map +1 -1
  557. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.es.js +57 -40
  558. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.es.js.map +1 -1
  559. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  560. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  561. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +4 -2
  562. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  563. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  564. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  565. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +4 -2
  566. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  567. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  568. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  569. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +4 -2
  570. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  571. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  572. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  573. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +4 -2
  574. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  575. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  576. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  577. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +4 -2
  578. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  579. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  580. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  581. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +4 -2
  582. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  583. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  584. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  585. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +30 -28
  586. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  587. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +2 -0
  588. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -0
  589. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +303 -0
  590. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -0
  591. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  592. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  593. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +175 -156
  594. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  595. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  596. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  597. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +15 -13
  598. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  599. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  600. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  601. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +21 -19
  602. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  603. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  604. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  605. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +6 -4
  606. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  607. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  608. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  609. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +4 -2
  610. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  611. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  612. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  613. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +9 -7
  614. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  615. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +1 -1
  616. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
  617. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +1 -1
  618. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
  619. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js +1 -1
  620. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js.map +1 -1
  621. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js +29 -29
  622. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js.map +1 -1
  623. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  624. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  625. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +7 -5
  626. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  627. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  628. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  629. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +90 -85
  630. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  631. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js +9 -5
  632. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js.map +1 -1
  633. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js +11 -7
  634. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js.map +1 -1
  635. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  636. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  637. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +4 -2
  638. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  639. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  640. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  641. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +6 -4
  642. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  643. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  644. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  645. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +14 -12
  646. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  647. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js +1 -1
  648. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -1
  649. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js +4 -2
  650. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -1
  651. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  652. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  653. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +4 -2
  654. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  655. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  656. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  657. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +4 -2
  658. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  659. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  660. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  661. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +40 -38
  662. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  663. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js +1 -1
  664. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js.map +1 -1
  665. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js +10 -8
  666. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js.map +1 -1
  667. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  668. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  669. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +5 -3
  670. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  671. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
  672. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  673. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +4 -2
  674. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  675. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  676. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  677. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +4 -2
  678. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  679. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  680. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  681. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +12 -10
  682. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  683. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  684. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  685. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +4 -2
  686. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  687. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  688. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  689. package/dist/shared/src/context/AddonProjectContext.es.js +6 -4
  690. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  691. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  692. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  693. package/dist/shared/src/context/DetailsPanelContext.es.js +6 -4
  694. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  695. package/dist/shared/src/context/GlobalContext.cjs.js +1 -1
  696. package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -1
  697. package/dist/shared/src/context/GlobalContext.es.js +6 -4
  698. package/dist/shared/src/context/GlobalContext.es.js.map +1 -1
  699. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  700. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  701. package/dist/shared/src/context/PowerpackContext.es.js +46 -94
  702. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  703. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  704. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  705. package/dist/shared/src/context/ProjectContext.es.js +6 -4
  706. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  707. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  708. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  709. package/dist/shared/src/context/ProjectFoldersContext.es.js +6 -4
  710. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  711. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  712. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  713. package/dist/shared/src/context/RemoteModulesContext.es.js +6 -4
  714. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  715. package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
  716. package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
  717. package/dist/shared/src/context/SubtasksModulesContext.es.js +21 -14
  718. package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
  719. package/dist/shared/src/context/UriContext.cjs.js +1 -1
  720. package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
  721. package/dist/shared/src/context/UriContext.es.js +7 -5
  722. package/dist/shared/src/context/UriContext.es.js.map +1 -1
  723. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  724. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  725. package/dist/shared/src/context/WebsocketContext.es.js +6 -4
  726. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  727. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  728. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  729. package/dist/shared/src/hooks/useActionTriggers.es.js +4 -2
  730. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  731. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  732. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  733. package/dist/shared/src/hooks/useEntityUpdate.es.js +4 -2
  734. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  735. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
  736. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
  737. package/dist/shared/src/hooks/useGetEntityGroups.es.js +4 -2
  738. package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
  739. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  740. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  741. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +4 -2
  742. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  743. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  744. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  745. package/dist/shared/src/hooks/useScopedStatuses.es.js +6 -4
  746. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  747. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  748. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  749. package/dist/shared/src/hooks/useUserProjectConfig.es.js +4 -2
  750. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  751. package/dist/shared/src/util/buildHierarchicalTableRows.cjs.js +2 -0
  752. package/dist/shared/src/util/buildHierarchicalTableRows.cjs.js.map +1 -0
  753. package/dist/shared/src/util/buildHierarchicalTableRows.es.js +69 -0
  754. package/dist/shared/src/util/buildHierarchicalTableRows.es.js.map +1 -0
  755. package/dist/shared/src/util/errorHandling.cjs.js +2 -0
  756. package/dist/shared/src/util/errorHandling.cjs.js.map +1 -0
  757. package/dist/shared/src/util/errorHandling.es.js +9 -0
  758. package/dist/shared/src/util/errorHandling.es.js.map +1 -0
  759. package/dist/shared/src/util/folderHierarchy.cjs.js +2 -0
  760. package/dist/shared/src/util/folderHierarchy.cjs.js.map +1 -0
  761. package/dist/shared/src/util/folderHierarchy.es.js +14 -0
  762. package/dist/shared/src/util/folderHierarchy.es.js.map +1 -0
  763. package/dist/shared/src/util/folderOperations.cjs.js +2 -0
  764. package/dist/shared/src/util/folderOperations.cjs.js.map +1 -0
  765. package/dist/shared/src/util/folderOperations.es.js +27 -0
  766. package/dist/shared/src/util/folderOperations.es.js.map +1 -0
  767. package/dist/shared/src/util/keyboardShortcuts.cjs.js +2 -0
  768. package/dist/shared/src/util/keyboardShortcuts.cjs.js.map +1 -0
  769. package/dist/shared/src/util/keyboardShortcuts.es.js +8 -0
  770. package/dist/shared/src/util/keyboardShortcuts.es.js.map +1 -0
  771. package/dist/types/api/generated/actions.d.ts +2 -1
  772. package/dist/types/api/generated/folders.d.ts +3 -3
  773. package/dist/types/api/generated/index.d.ts +2 -0
  774. package/dist/types/api/generated/projectFolders.d.ts +79 -0
  775. package/dist/types/api/generated/projects.d.ts +55 -1
  776. package/dist/types/api/generated/system.d.ts +2 -1
  777. package/dist/types/api/queries/entityLists/types.d.ts +1 -0
  778. package/dist/types/api/queries/index.d.ts +1 -0
  779. package/dist/types/api/queries/project/getProject.d.ts +4 -0
  780. package/dist/types/api/queries/projectFolders/index.d.ts +1 -0
  781. package/dist/types/api/queries/projectFolders/projectFolders.d.ts +985 -0
  782. package/dist/types/api/queries/tasks/updateTasks.d.ts +7 -0
  783. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +1 -1
  784. package/dist/types/components/FolderForm/FolderForm.d.ts +24 -0
  785. package/dist/types/components/FolderForm/index.d.ts +3 -0
  786. package/dist/types/components/ProjectTableSettings/ProjectTableSettings.d.ts +1 -1
  787. package/dist/types/components/SimpleFormDialog/FormFile.d.ts +16 -0
  788. package/dist/types/components/SimpleFormDialog/SimpleFormDialog.d.ts +2 -1
  789. package/dist/types/components/SubtasksManager/SubtasksManagerWrapper.d.ts +1 -0
  790. package/dist/types/config/index.d.ts +2 -0
  791. package/dist/types/config/plannerFeatures.d.ts +13 -0
  792. package/dist/types/config/powerpackFeatures.d.ts +6 -0
  793. package/dist/types/containers/Actions/ActionsDropdown/ActionsDropdown.d.ts +2 -1
  794. package/dist/types/containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.d.ts +1 -0
  795. package/dist/types/containers/Feed/components/ActivityItem.d.ts +1 -0
  796. package/dist/types/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.d.ts +1 -0
  797. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +1 -0
  798. package/dist/types/containers/ProjectTreeTable/components/ColumnDndProvider.d.ts +6 -0
  799. package/dist/types/containers/ProjectTreeTable/components/index.d.ts +1 -0
  800. package/dist/types/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.d.ts +26 -0
  801. package/dist/types/containers/ProjectTreeTable/context/clipboard/index.d.ts +1 -0
  802. package/dist/types/containers/ProjectTreeTable/hooks/index.d.ts +1 -0
  803. package/dist/types/containers/ProjectTreeTable/hooks/useColumnDragRestriction.d.ts +19 -0
  804. package/dist/types/containers/ProjectTreeTable/hooks/useSortBySettings.d.ts +4 -0
  805. package/dist/types/containers/SimpleTable/SimpleTable.d.ts +2 -1
  806. package/dist/types/containers/Views/hooks/useBaseViewMutations.d.ts +2 -2
  807. package/dist/types/context/PowerpackContext.d.ts +17 -6
  808. package/dist/types/util/buildHierarchicalTableRows.d.ts +43 -0
  809. package/dist/types/util/errorHandling.d.ts +7 -0
  810. package/dist/types/util/folderHierarchy.d.ts +37 -0
  811. package/dist/types/util/folderOperations.d.ts +34 -0
  812. package/dist/types/util/index.d.ts +5 -0
  813. package/dist/types/util/keyboardShortcuts.d.ts +6 -0
  814. package/dist/util.cjs.js +1 -1
  815. package/dist/util.es.js +51 -41
  816. package/dist/util.es.js.map +1 -1
  817. package/package.json +1 -1
@@ -1,8 +1,8 @@
1
- import { j as Z } from "../../../../../_virtual/jsx-runtime.es.js";
2
- import { useState as g, useMemo as _, useRef as $, useCallback as s } from "react";
3
- import { parseCellId as a, getCellId as T, BorderPosition as h, getBorderClasses as oo } from "../utils/cellUtils.es.js";
4
- import { DRAG_HANDLE_COLUMN_ID as to } from "../ProjectTreeTable.es.js";
5
- import { ROW_SELECTION_COLUMN_ID as y, SelectionCellsContext as ro } from "./SelectionCellsContext.es.js";
1
+ import { j as oo } from "../../../../../_virtual/jsx-runtime.es.js";
2
+ import { useState as g, useMemo as b, useRef as K, useCallback as s } from "react";
3
+ import { parseCellId as a, getCellId as T, BorderPosition as h, getBorderClasses as to } from "../utils/cellUtils.es.js";
4
+ import { DRAG_HANDLE_COLUMN_ID as ro } from "../ProjectTreeTable.es.js";
5
+ import { ROW_SELECTION_COLUMN_ID as y, SelectionCellsContext as io } from "./SelectionCellsContext.es.js";
6
6
  import "react-toastify";
7
7
  import "./ProjectTableQueriesContext.es.js";
8
8
  import "./ProjectTableContext.es.js";
@@ -83,6 +83,7 @@ import "../../../api/generated/operations.es.js";
83
83
  import "../../../api/generated/products.es.js";
84
84
  import "../../../api/generated/projectDashboard.es.js";
85
85
  import "../../../api/generated/projects.es.js";
86
+ import "../../../api/generated/projectFolders.es.js";
86
87
  import "../../../api/generated/reviewables.es.js";
87
88
  import "../../../api/generated/services.es.js";
88
89
  import "../../../api/generated/system.es.js";
@@ -130,6 +131,7 @@ import "../../../api/queries/permissions/getPermissions.es.js";
130
131
  import "../../../api/queries/products/createProduct.es.js";
131
132
  import "../../../api/queries/project/getProject.es.js";
132
133
  import "../../../api/queries/project/updateProject.es.js";
134
+ import "../../../api/queries/projectFolders/projectFolders.es.js";
133
135
  import "../../../api/queries/review/getReview.es.js";
134
136
  import "../../../api/queries/review/updateReview.es.js";
135
137
  import "../../../api/queries/share/share.es.js";
@@ -259,14 +261,14 @@ import "../widgets/EmptyWidget.es.js";
259
261
  import "../widgets/ErrorWidget.es.js";
260
262
  import "../ProjectTreeTable.styled.es.js";
261
263
  import "../widgets/LoadMoreWidget.es.js";
262
- import { useCheckSelectedCellsVisible as io } from "../hooks/useCheckSelectedCellsVisible.es.js";
263
- const Ym = ({ children: q }) => {
264
- const [p, I] = g(/* @__PURE__ */ new Set()), [u, c] = g(null), [M, b] = g(!1), [w, x] = g(null), [S, K] = g({
264
+ import { useCheckSelectedCellsVisible as mo } from "../hooks/useCheckSelectedCellsVisible.es.js";
265
+ const op = ({ children: Q }) => {
266
+ const [p, f] = g(/* @__PURE__ */ new Set()), [u, c] = g(null), [M, L] = g(!1), [w, x] = g(null), [S, X] = g({
265
267
  rowIdToIndex: /* @__PURE__ */ new Map(),
266
268
  colIdToIndex: /* @__PURE__ */ new Map(),
267
269
  indexToRowId: /* @__PURE__ */ new Map(),
268
270
  indexToColId: /* @__PURE__ */ new Map()
269
- }), R = (o) => JSON.stringify(Array.from(o.entries())), e = _(
271
+ }), R = (o) => JSON.stringify(Array.from(o.entries())), e = b(
270
272
  () => S,
271
273
  [
272
274
  R(S.rowIdToIndex),
@@ -274,30 +276,30 @@ const Ym = ({ children: q }) => {
274
276
  R(S.indexToRowId),
275
277
  R(S.indexToColId)
276
278
  ]
277
- ), L = $(!1), O = _(
279
+ ), O = K(!1), B = b(
278
280
  () => Array.from(p).filter(
279
281
  (o) => a(o)?.colId === y && a(o)?.rowId
280
282
  ).map((o) => a(o)?.rowId),
281
283
  [p]
282
284
  );
283
- io({
285
+ mo({
284
286
  selectedCells: p,
285
- setSelectedCells: I,
287
+ setSelectedCells: f,
286
288
  focusedCellId: u,
287
289
  setFocusedCellId: c
288
290
  });
289
- const B = s((o, m) => {
290
- const i = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map(), t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
291
+ const E = K(!1), D = s((o, i) => {
292
+ const m = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map(), t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
291
293
  o.forEach((l, d) => {
292
- i.set(l, d), t.set(d, l);
293
- }), m.forEach((l, d) => {
294
+ m.set(l, d), t.set(d, l);
295
+ }), i.forEach((l, d) => {
294
296
  r.set(l, d), n.set(d, l);
295
- }), K({ rowIdToIndex: i, colIdToIndex: r, indexToRowId: t, indexToColId: n });
296
- }, []), f = s((o, m) => {
297
- I((i) => {
297
+ }), X({ rowIdToIndex: m, colIdToIndex: r, indexToRowId: t, indexToColId: n });
298
+ }, []), I = s((o, i) => {
299
+ f((m) => {
298
300
  let r = new Set(o);
299
- if (m.colId !== y && m.colId !== to) {
300
- const t = Array.from(i).filter(
301
+ if (i.colId !== y && i.colId !== ro) {
302
+ const t = Array.from(m).filter(
301
303
  (n) => a(n)?.colId === y
302
304
  );
303
305
  t.length && (r = /* @__PURE__ */ new Set([...r, ...t]));
@@ -305,125 +307,126 @@ const Ym = ({ children: q }) => {
305
307
  return r;
306
308
  });
307
309
  }, []), A = s(
308
- (o, m, i) => {
309
- i || f(/* @__PURE__ */ new Set(), o);
310
- const r = e.rowIdToIndex.get(o.rowId) ?? 0, t = e.colIdToIndex.get(o.colId) ?? 0, n = e.rowIdToIndex.get(m.rowId) ?? 0, l = e.colIdToIndex.get(m.colId) ?? 0, d = Math.min(r, n), C = Math.max(r, n), X = Math.min(t, l), Y = Math.max(t, l), J = new Set(i ? p : []);
311
- for (let E = d; E <= C; E++) {
312
- const V = e.indexToRowId.get(E);
313
- if (V)
314
- for (let N = X; N <= Y; N++) {
315
- const W = e.indexToColId.get(N);
316
- W && J.add(T(V, W));
310
+ (o, i, m) => {
311
+ m || I(/* @__PURE__ */ new Set(), o);
312
+ const r = e.rowIdToIndex.get(o.rowId) ?? 0, t = e.colIdToIndex.get(o.colId) ?? 0, n = e.rowIdToIndex.get(i.rowId) ?? 0, l = e.colIdToIndex.get(i.colId) ?? 0, d = Math.min(r, n), C = Math.max(r, n), Z = Math.min(t, l), $ = Math.max(t, l), V = new Set(m ? p : []);
313
+ for (let N = d; N <= C; N++) {
314
+ const W = e.indexToRowId.get(N);
315
+ if (W)
316
+ for (let _ = Z; _ <= $; _++) {
317
+ const q = e.indexToColId.get(_);
318
+ q && V.add(T(W, q));
317
319
  }
318
320
  }
319
- return J;
321
+ return V;
320
322
  },
321
- [e, p, f]
322
- ), D = s(
323
- (o, m) => {
324
- const i = a(o);
325
- i && (b(!0), L.current = p.has(o), m ? I((r) => {
323
+ [e, p, I]
324
+ ), G = s(
325
+ (o, i) => {
326
+ const m = a(o);
327
+ m && (L(!0), E.current = i, O.current = p.has(o), i ? f((r) => {
326
328
  const t = new Set(r);
327
- return t.has(o) ? (t.delete(o), u === o && (t.size > 0 ? c(Array.from(t)[Array.from(t).length - 1]) : c(null))) : (t.add(o), c(o), x(i)), t;
328
- }) : p.size === 1 && p.has(o) && [y, "name"].includes(i.colId) ? (I(/* @__PURE__ */ new Set()), x(null), c(null)) : (f(/* @__PURE__ */ new Set([o]), i), x(i), c(o)));
329
+ return t.has(o) ? (t.delete(o), u === o && (t.size > 0 ? c(Array.from(t)[Array.from(t).length - 1]) : c(null))) : (t.add(o), c(o), x(m)), t;
330
+ }) : p.size === 1 && p.has(o) && [y, "name"].includes(m.colId) ? (f(/* @__PURE__ */ new Set()), x(null), c(null)) : (I(/* @__PURE__ */ new Set([o]), m), x(m), c(o)));
329
331
  },
330
- [p, u, f]
331
- ), G = s(
332
- (o, m) => {
332
+ [p, u, I]
333
+ ), j = s(
334
+ (o, i) => {
333
335
  if (!M || !w) return;
334
- const i = a(o);
335
- if (i)
336
- if (m)
337
- I((r) => {
336
+ const m = a(o);
337
+ if (m)
338
+ if (i)
339
+ f((r) => {
338
340
  const t = new Set(r);
339
- return a(o) && (L.current ? t.delete(o) : t.add(o)), t;
341
+ return a(o) && (O.current ? t.delete(o) : t.add(o)), t;
340
342
  });
341
343
  else {
342
- const r = A(w, i, !1);
343
- f(r, i);
344
+ if (E.current) return;
345
+ const r = A(w, m, E.current);
346
+ I(r, m);
344
347
  }
345
348
  },
346
- [M, w, A, f]
347
- ), j = s(() => {
348
- b(!1);
349
- }, []), v = s(
350
- (o, m, i) => {
349
+ [M, w, A, I]
350
+ ), v = s(() => {
351
+ L(!1);
352
+ }, []), F = s(
353
+ (o, i, m) => {
351
354
  const r = a(o);
352
355
  if (r)
353
- if (i && w) {
354
- const t = A(w, r, m);
355
- f(t, r);
356
- } else m ? I((t) => {
356
+ if (m && w) {
357
+ const t = A(w, r, i);
358
+ I(t, r);
359
+ } else i ? f((t) => {
357
360
  const n = new Set(t);
358
361
  return n.has(o) ? n.delete(o) : n.add(o), n;
359
- }) : (f(/* @__PURE__ */ new Set([o]), r), x(r));
362
+ }) : (I(/* @__PURE__ */ new Set([o]), r), x(r));
360
363
  },
361
- [w, A, f]
362
- ), F = s((o) => {
364
+ [w, A, I]
365
+ ), k = s((o) => {
363
366
  c(o);
364
- }, []), k = s(() => {
365
- I(/* @__PURE__ */ new Set()), x(null), c(null);
366
- }, []), P = s((o) => p.has(o), [p]), z = s((o) => o === u, [u]), U = s((o) => a(o), []), H = s(
367
+ }, []), z = s(() => {
368
+ f(/* @__PURE__ */ new Set()), x(null), c(null);
369
+ }, []), P = s((o) => p.has(o), [p]), U = s((o) => o === u, [u]), H = s((o) => a(o), []), J = s(
367
370
  (o) => {
368
371
  if (!P(o)) return [];
369
- const m = a(o);
370
- if (!m) return [];
371
- const i = e.rowIdToIndex.get(m.rowId), r = e.colIdToIndex.get(m.colId);
372
- if (i === void 0 || r === void 0) return [];
373
- const t = e.indexToRowId.get(i - 1), n = e.indexToColId.get(r + 1), l = e.indexToRowId.get(i + 1), d = e.indexToColId.get(r - 1);
372
+ const i = a(o);
373
+ if (!i) return [];
374
+ const m = e.rowIdToIndex.get(i.rowId), r = e.colIdToIndex.get(i.colId);
375
+ if (m === void 0 || r === void 0) return [];
376
+ const t = e.indexToRowId.get(m - 1), n = e.indexToColId.get(r + 1), l = e.indexToRowId.get(m + 1), d = e.indexToColId.get(r - 1);
374
377
  let C = h.None;
375
- return (!t || !p.has(T(t, m.colId))) && (C |= h.Top), (!n || !p.has(T(m.rowId, n))) && (C |= h.Right), (!l || !p.has(T(l, m.colId))) && (C |= h.Bottom), (!d || !p.has(T(m.rowId, d))) && (C |= h.Left), oo(C);
378
+ return (!t || !p.has(T(t, i.colId))) && (C |= h.Top), (!n || !p.has(T(i.rowId, n))) && (C |= h.Right), (!l || !p.has(T(l, i.colId))) && (C |= h.Bottom), (!d || !p.has(T(i.rowId, d))) && (C |= h.Left), to(C);
376
379
  },
377
380
  [p, e, P]
378
- ), Q = _(
381
+ ), Y = b(
379
382
  () => ({
380
383
  selectedCells: p,
381
- selectedRows: O,
384
+ selectedRows: B,
382
385
  focusedCellId: u,
383
386
  selectionInProgress: M,
384
387
  anchorCell: w,
385
388
  gridMap: e,
386
- setSelectedCells: I,
389
+ setSelectedCells: f,
387
390
  setFocusedCellId: c,
388
391
  setAnchorCell: x,
389
- registerGrid: B,
390
- selectCell: v,
391
- startSelection: D,
392
- extendSelection: G,
393
- endSelection: j,
394
- focusCell: F,
395
- clearSelection: k,
392
+ registerGrid: D,
393
+ selectCell: F,
394
+ startSelection: G,
395
+ extendSelection: j,
396
+ endSelection: v,
397
+ focusCell: k,
398
+ clearSelection: z,
396
399
  isCellSelected: P,
397
- isCellFocused: z,
398
- getCellPositionFromId: U,
399
- getCellBorderClasses: H
400
+ isCellFocused: U,
401
+ getCellPositionFromId: H,
402
+ getCellBorderClasses: J
400
403
  }),
401
404
  [
402
405
  p,
403
- O,
406
+ B,
404
407
  u,
405
408
  M,
406
409
  w,
407
410
  e,
408
- I,
411
+ f,
409
412
  c,
410
413
  x,
411
- B,
412
- v,
413
414
  D,
415
+ F,
414
416
  G,
415
417
  j,
416
- F,
418
+ v,
417
419
  k,
418
- P,
419
420
  z,
421
+ P,
420
422
  U,
421
- H
423
+ H,
424
+ J
422
425
  ]
423
426
  );
424
- return /* @__PURE__ */ Z.jsx(ro.Provider, { value: Q, children: q });
427
+ return /* @__PURE__ */ oo.jsx(io.Provider, { value: Y, children: Q });
425
428
  };
426
429
  export {
427
- Ym as SelectionCellsProvider
430
+ op as SelectionCellsProvider
428
431
  };
429
432
  //# sourceMappingURL=SelectionCellsProvider.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionCellsProvider.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/SelectionCellsProvider.tsx"],"sourcesContent":["import React, { useState, useCallback, useMemo, ReactNode, useRef } from 'react'\nimport {\n CellId,\n RowId,\n ColId,\n CellPosition,\n getCellId,\n parseCellId,\n BorderPosition,\n getBorderClasses,\n} from '../utils/cellUtils'\nimport { DRAG_HANDLE_COLUMN_ID } from '../ProjectTreeTable'\nimport { SelectionCellsContext, GridMap, ROW_SELECTION_COLUMN_ID } from './SelectionCellsContext'\nimport { useCheckSelectedCellsVisible } from '../hooks'\n\nexport const SelectionCellsProvider: React.FC<{ children: ReactNode }> = ({ children }) => {\n const [selectedCells, setSelectedCells] = useState<Set<CellId>>(new Set())\n const [focusedCellId, setFocusedCellId] = useState<CellId | null>(null)\n const [selectionInProgress, setSelectionInProgress] = useState<boolean>(false)\n const [anchorCell, setAnchorCell] = useState<CellPosition | null>(null)\n const [gridMap, setGridMap] = useState<GridMap>({\n rowIdToIndex: new Map(),\n colIdToIndex: new Map(),\n indexToRowId: new Map(),\n indexToColId: new Map(),\n })\n const mapToString = (map: Map<any, any>) => {\n return JSON.stringify(Array.from(map.entries()))\n }\n\n const stableGridMap = useMemo(\n () => gridMap,\n [\n mapToString(gridMap.rowIdToIndex),\n mapToString(gridMap.colIdToIndex),\n mapToString(gridMap.indexToRowId),\n mapToString(gridMap.indexToColId),\n ],\n )\n // Track whether we're selecting or unselecting during drag\n const initialCellSelected = useRef<boolean>(false)\n\n const selectedRows = useMemo(\n () =>\n Array.from(selectedCells)\n .filter(\n (cellId) =>\n parseCellId(cellId)?.colId === ROW_SELECTION_COLUMN_ID && parseCellId(cellId)?.rowId,\n )\n .map((cellId) => parseCellId(cellId)?.rowId) as string[],\n [selectedCells],\n )\n\n useCheckSelectedCellsVisible({\n selectedCells,\n setSelectedCells,\n focusedCellId,\n setFocusedCellId,\n })\n\n // Register grid structure for range selections\n const registerGrid = useCallback((rows: RowId[], columns: ColId[]) => {\n const rowIdToIndex = new Map<RowId, number>()\n const colIdToIndex = new Map<ColId, number>()\n const indexToRowId = new Map<number, RowId>()\n const indexToColId = new Map<number, ColId>()\n\n rows.forEach((rowId, index) => {\n rowIdToIndex.set(rowId, index)\n indexToRowId.set(index, rowId)\n })\n\n columns.forEach((colId, index) => {\n colIdToIndex.set(colId, index)\n indexToColId.set(index, colId)\n })\n\n setGridMap({ rowIdToIndex, colIdToIndex, indexToRowId, indexToColId })\n }, [])\n\n // update the selection whilst properly handling the row-selection column\n const updateSelection = useCallback((selection: Set<CellId>, position: CellPosition) => {\n setSelectedCells((prevSelectedCells) => {\n let newSelection = new Set(selection)\n if (position.colId !== ROW_SELECTION_COLUMN_ID && position.colId !== DRAG_HANDLE_COLUMN_ID) {\n const rowSelection = Array.from(prevSelectedCells).filter(\n (id) => parseCellId(id)?.colId === ROW_SELECTION_COLUMN_ID,\n )\n if (rowSelection.length) {\n newSelection = new Set([...newSelection, ...rowSelection])\n }\n }\n return newSelection\n })\n }, [])\n\n // Select cells between two points in the grid\n const selectCellRange = useCallback(\n (start: CellPosition, end: CellPosition, additive: boolean): Set<CellId> => {\n if (!additive) {\n // Clear existing selection if not additive\n updateSelection(new Set(), start)\n }\n\n const startRowIdx = stableGridMap.rowIdToIndex.get(start.rowId) ?? 0\n const startColIdx = stableGridMap.colIdToIndex.get(start.colId) ?? 0\n const endRowIdx = stableGridMap.rowIdToIndex.get(end.rowId) ?? 0\n const endColIdx = stableGridMap.colIdToIndex.get(end.colId) ?? 0\n\n const minRowIdx = Math.min(startRowIdx, endRowIdx)\n const maxRowIdx = Math.max(startRowIdx, endRowIdx)\n const minColIdx = Math.min(startColIdx, endColIdx)\n const maxColIdx = Math.max(startColIdx, endColIdx)\n\n const newSelection = new Set(additive ? selectedCells : [])\n\n for (let r = minRowIdx; r <= maxRowIdx; r++) {\n const rowId = stableGridMap.indexToRowId.get(r)\n if (!rowId) continue\n\n for (let c = minColIdx; c <= maxColIdx; c++) {\n const colId = stableGridMap.indexToColId.get(c)\n if (!colId) continue\n\n newSelection.add(getCellId(rowId, colId))\n }\n }\n\n return newSelection\n },\n [stableGridMap, selectedCells, updateSelection],\n )\n\n // Start a selection operation\n const startSelection = useCallback(\n (cellId: CellId, additive: boolean) => {\n const position = parseCellId(cellId)\n if (!position) return\n\n setSelectionInProgress(true)\n // Store whether the initial cell was selected to determine drag behavior\n initialCellSelected.current = selectedCells.has(cellId)\n\n if (additive) {\n // Toggle this cell in multi-select mode\n setSelectedCells((prev) => {\n const newSelection = new Set(prev)\n if (newSelection.has(cellId)) {\n newSelection.delete(cellId)\n // If this was the focused cell, set focus to another cell in the selection or null\n if (focusedCellId === cellId) {\n if (newSelection.size > 0) {\n setFocusedCellId(Array.from(newSelection)[Array.from(newSelection).length - 1])\n } else {\n setFocusedCellId(null)\n }\n }\n } else {\n newSelection.add(cellId)\n setFocusedCellId(cellId)\n setAnchorCell(position)\n }\n return newSelection\n })\n } else {\n // Single cell selection\n // If this cell is already the only selected cell, deselect it\n // and it is from name column\n if (\n selectedCells.size === 1 &&\n selectedCells.has(cellId) &&\n [ROW_SELECTION_COLUMN_ID, 'name'].includes(position.colId)\n ) {\n setSelectedCells(new Set())\n setAnchorCell(null)\n setFocusedCellId(null)\n } else {\n updateSelection(new Set([cellId]), position)\n setAnchorCell(position)\n setFocusedCellId(cellId)\n }\n }\n },\n [selectedCells, focusedCellId, updateSelection],\n )\n\n // Extend the current selection during drag\n const extendSelection = useCallback(\n (cellId: CellId, isRowSelectionColumn?: boolean) => {\n if (!selectionInProgress || !anchorCell) return\n\n const currentPosition = parseCellId(cellId)\n if (!currentPosition) return\n\n if (isRowSelectionColumn) {\n // Handle row selection column differently during drag\n setSelectedCells((prev) => {\n const newSelection = new Set(prev)\n const position = parseCellId(cellId)\n\n if (!position) return newSelection\n\n // We're either selecting or unselecting based on the initial cell's state\n if (initialCellSelected.current) {\n // If we started on a selected cell, we're removing cells during drag\n newSelection.delete(cellId)\n } else {\n // If we started on an unselected cell, we're adding cells during drag\n newSelection.add(cellId)\n }\n\n return newSelection\n })\n } else {\n // For normal cells, use the range selection behavior\n const newSelection = selectCellRange(anchorCell, currentPosition, false)\n updateSelection(newSelection, currentPosition)\n }\n },\n [selectionInProgress, anchorCell, selectCellRange, updateSelection],\n )\n\n // End a selection operation\n const endSelection = useCallback(() => {\n setSelectionInProgress(false)\n }, [])\n\n // Select a cell (click or programmatically)\n const selectCell = useCallback(\n (cellId: CellId, additive: boolean, range: boolean) => {\n const position = parseCellId(cellId)\n if (!position) return\n\n if (range && anchorCell) {\n // Shift+click for range selection - select cells between anchor and current\n const newSelection = selectCellRange(anchorCell, position, additive)\n updateSelection(newSelection, position)\n } else if (additive) {\n // Ctrl/Cmd+click for toggling selection\n setSelectedCells((prev) => {\n const newSelection = new Set(prev)\n if (newSelection.has(cellId)) {\n newSelection.delete(cellId)\n } else {\n newSelection.add(cellId)\n }\n return newSelection\n })\n } else {\n // Normal click - select just this cell and set as new anchor\n updateSelection(new Set([cellId]), position)\n setAnchorCell(position)\n }\n },\n [anchorCell, selectCellRange, updateSelection],\n )\n\n // Focus a cell without changing selection\n const focusCell = useCallback((cellId: CellId | null) => {\n setFocusedCellId(cellId)\n }, [])\n\n // Clear all selections\n const clearSelection = useCallback(() => {\n setSelectedCells(new Set())\n setAnchorCell(null)\n setFocusedCellId(null)\n }, [])\n\n // Check if a cell is selected\n const isCellSelected = useCallback((cellId: CellId) => selectedCells.has(cellId), [selectedCells])\n\n // Check if a cell is focused\n const isCellFocused = useCallback((cellId: CellId) => cellId === focusedCellId, [focusedCellId])\n\n // Get position from cell ID - using shared utility\n const getCellPositionFromId = useCallback((cellId: CellId) => parseCellId(cellId), [])\n\n // Get border classes for a cell based on its selection state and neighbors\n const getCellBorderClasses = useCallback(\n (cellId: CellId): string[] => {\n if (!isCellSelected(cellId)) return []\n\n const position = parseCellId(cellId)\n if (!position) return []\n\n const rowIndex = stableGridMap.rowIdToIndex.get(position.rowId)\n const colIndex = stableGridMap.colIdToIndex.get(position.colId)\n\n if (rowIndex === undefined || colIndex === undefined) return []\n\n // Check if the cell's neighbors in all four directions are selected\n const top = stableGridMap.indexToRowId.get(rowIndex - 1)\n const right = stableGridMap.indexToColId.get(colIndex + 1)\n const bottom = stableGridMap.indexToRowId.get(rowIndex + 1)\n const left = stableGridMap.indexToColId.get(colIndex - 1)\n\n // Default to no borders\n let borderPos = BorderPosition.None\n\n // Top edge check: show border if we're at the top of the grid or the cell above is not selected\n if (!top || !selectedCells.has(getCellId(top, position.colId))) {\n borderPos |= BorderPosition.Top\n }\n\n // Right edge check: show border if we're at the right edge of the grid or the cell to the right is not selected\n if (!right || !selectedCells.has(getCellId(position.rowId, right))) {\n borderPos |= BorderPosition.Right\n }\n\n // Bottom edge check: show border if we're at the bottom of the grid or the cell below is not selected\n if (!bottom || !selectedCells.has(getCellId(bottom, position.colId))) {\n borderPos |= BorderPosition.Bottom\n }\n\n // Left edge check: show border if we're at the left edge of the grid or the cell to the left is not selected\n if (!left || !selectedCells.has(getCellId(position.rowId, left))) {\n borderPos |= BorderPosition.Left\n }\n\n return getBorderClasses(borderPos)\n },\n [selectedCells, stableGridMap, isCellSelected],\n )\n\n // Memoize context value to prevent unnecessary re-renders\n const value = useMemo(\n () => ({\n selectedCells,\n selectedRows,\n focusedCellId,\n selectionInProgress,\n anchorCell,\n gridMap: stableGridMap,\n setSelectedCells,\n setFocusedCellId,\n setAnchorCell,\n registerGrid,\n selectCell,\n startSelection,\n extendSelection,\n endSelection,\n focusCell,\n clearSelection,\n isCellSelected,\n isCellFocused,\n getCellPositionFromId,\n getCellBorderClasses,\n }),\n [\n selectedCells,\n selectedRows,\n focusedCellId,\n selectionInProgress,\n anchorCell,\n stableGridMap,\n setSelectedCells,\n setFocusedCellId,\n setAnchorCell,\n registerGrid,\n selectCell,\n startSelection,\n extendSelection,\n endSelection,\n focusCell,\n clearSelection,\n isCellSelected,\n isCellFocused,\n getCellPositionFromId,\n getCellBorderClasses,\n ],\n )\n\n return <SelectionCellsContext.Provider value={value}>{children}</SelectionCellsContext.Provider>\n}\n"],"names":["SelectionCellsProvider","children","selectedCells","setSelectedCells","useState","focusedCellId","setFocusedCellId","selectionInProgress","setSelectionInProgress","anchorCell","setAnchorCell","gridMap","setGridMap","mapToString","map","stableGridMap","useMemo","initialCellSelected","useRef","selectedRows","cellId","parseCellId","ROW_SELECTION_COLUMN_ID","useCheckSelectedCellsVisible","registerGrid","useCallback","rows","columns","rowIdToIndex","colIdToIndex","indexToRowId","indexToColId","rowId","index","colId","updateSelection","selection","position","prevSelectedCells","newSelection","DRAG_HANDLE_COLUMN_ID","rowSelection","id","selectCellRange","start","end","additive","startRowIdx","startColIdx","endRowIdx","endColIdx","minRowIdx","maxRowIdx","minColIdx","maxColIdx","r","c","getCellId","startSelection","prev","extendSelection","isRowSelectionColumn","currentPosition","endSelection","selectCell","range","focusCell","clearSelection","isCellSelected","isCellFocused","getCellPositionFromId","getCellBorderClasses","rowIndex","colIndex","top","right","bottom","left","borderPos","BorderPosition","getBorderClasses","value","jsx","SelectionCellsContext"],"mappings":"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"}
1
+ {"version":3,"file":"SelectionCellsProvider.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/SelectionCellsProvider.tsx"],"sourcesContent":["import React, { ReactNode, useCallback, useMemo, useRef, useState } from 'react'\nimport {\n BorderPosition,\n CellId,\n CellPosition,\n ColId,\n getBorderClasses,\n getCellId,\n parseCellId,\n RowId,\n} from '../utils/cellUtils'\nimport { DRAG_HANDLE_COLUMN_ID } from '../ProjectTreeTable'\nimport { GridMap, ROW_SELECTION_COLUMN_ID, SelectionCellsContext } from './SelectionCellsContext'\nimport { useCheckSelectedCellsVisible } from '../hooks'\n\nexport const SelectionCellsProvider: React.FC<{ children: ReactNode }> = ({ children }) => {\n const [selectedCells, setSelectedCells] = useState<Set<CellId>>(new Set())\n const [focusedCellId, setFocusedCellId] = useState<CellId | null>(null)\n const [selectionInProgress, setSelectionInProgress] = useState<boolean>(false)\n const [anchorCell, setAnchorCell] = useState<CellPosition | null>(null)\n const [gridMap, setGridMap] = useState<GridMap>({\n rowIdToIndex: new Map(),\n colIdToIndex: new Map(),\n indexToRowId: new Map(),\n indexToColId: new Map(),\n })\n const mapToString = (map: Map<any, any>) => {\n return JSON.stringify(Array.from(map.entries()))\n }\n\n const stableGridMap = useMemo(\n () => gridMap,\n [\n mapToString(gridMap.rowIdToIndex),\n mapToString(gridMap.colIdToIndex),\n mapToString(gridMap.indexToRowId),\n mapToString(gridMap.indexToColId),\n ],\n )\n // Track whether we're selecting or unselecting during drag\n const initialCellSelected = useRef<boolean>(false)\n\n const selectedRows = useMemo(\n () =>\n Array.from(selectedCells)\n .filter(\n (cellId) =>\n parseCellId(cellId)?.colId === ROW_SELECTION_COLUMN_ID && parseCellId(cellId)?.rowId,\n )\n .map((cellId) => parseCellId(cellId)?.rowId) as string[],\n [selectedCells],\n )\n\n useCheckSelectedCellsVisible({\n selectedCells,\n setSelectedCells,\n focusedCellId,\n setFocusedCellId,\n })\n const isAdditiveSelectionRef = useRef<boolean>(false)\n // Register grid structure for range selections\n const registerGrid = useCallback((rows: RowId[], columns: ColId[]) => {\n const rowIdToIndex = new Map<RowId, number>()\n const colIdToIndex = new Map<ColId, number>()\n const indexToRowId = new Map<number, RowId>()\n const indexToColId = new Map<number, ColId>()\n\n rows.forEach((rowId, index) => {\n rowIdToIndex.set(rowId, index)\n indexToRowId.set(index, rowId)\n })\n\n columns.forEach((colId, index) => {\n colIdToIndex.set(colId, index)\n indexToColId.set(index, colId)\n })\n\n setGridMap({ rowIdToIndex, colIdToIndex, indexToRowId, indexToColId })\n }, [])\n\n // update the selection whilst properly handling the row-selection column\n const updateSelection = useCallback((selection: Set<CellId>, position: CellPosition) => {\n setSelectedCells((prevSelectedCells) => {\n let newSelection = new Set(selection)\n if (position.colId !== ROW_SELECTION_COLUMN_ID && position.colId !== DRAG_HANDLE_COLUMN_ID) {\n const rowSelection = Array.from(prevSelectedCells).filter(\n (id) => parseCellId(id)?.colId === ROW_SELECTION_COLUMN_ID,\n )\n if (rowSelection.length) {\n newSelection = new Set([...newSelection, ...rowSelection])\n }\n }\n return newSelection\n })\n }, [])\n\n // Select cells between two points in the grid\n const selectCellRange = useCallback(\n (start: CellPosition, end: CellPosition, additive: boolean): Set<CellId> => {\n if (!additive) {\n // Clear existing selection if not additive\n updateSelection(new Set(), start)\n }\n\n const startRowIdx = stableGridMap.rowIdToIndex.get(start.rowId) ?? 0\n const startColIdx = stableGridMap.colIdToIndex.get(start.colId) ?? 0\n const endRowIdx = stableGridMap.rowIdToIndex.get(end.rowId) ?? 0\n const endColIdx = stableGridMap.colIdToIndex.get(end.colId) ?? 0\n\n const minRowIdx = Math.min(startRowIdx, endRowIdx)\n const maxRowIdx = Math.max(startRowIdx, endRowIdx)\n const minColIdx = Math.min(startColIdx, endColIdx)\n const maxColIdx = Math.max(startColIdx, endColIdx)\n\n const newSelection = new Set(additive ? selectedCells : [])\n\n for (let r = minRowIdx; r <= maxRowIdx; r++) {\n const rowId = stableGridMap.indexToRowId.get(r)\n if (!rowId) continue\n\n for (let c = minColIdx; c <= maxColIdx; c++) {\n const colId = stableGridMap.indexToColId.get(c)\n if (!colId) continue\n\n newSelection.add(getCellId(rowId, colId))\n }\n }\n\n return newSelection\n },\n [stableGridMap, selectedCells, updateSelection],\n )\n\n // Start a selection operation\n const startSelection = useCallback(\n (cellId: CellId, additive: boolean) => {\n const position = parseCellId(cellId)\n if (!position) return\n\n setSelectionInProgress(true)\n isAdditiveSelectionRef.current = additive\n // Store whether the initial cell was selected to determine drag behavior\n initialCellSelected.current = selectedCells.has(cellId)\n\n if (additive) {\n // Toggle this cell in multi-select mode\n setSelectedCells((prev) => {\n const newSelection = new Set(prev)\n if (newSelection.has(cellId)) {\n newSelection.delete(cellId)\n // If this was the focused cell, set focus to another cell in the selection or null\n if (focusedCellId === cellId) {\n if (newSelection.size > 0) {\n setFocusedCellId(Array.from(newSelection)[Array.from(newSelection).length - 1])\n } else {\n setFocusedCellId(null)\n }\n }\n } else {\n newSelection.add(cellId)\n setFocusedCellId(cellId)\n setAnchorCell(position)\n }\n return newSelection\n })\n } else {\n // Single cell selection\n // If this cell is already the only selected cell, deselect it\n // and it is from name column\n if (\n selectedCells.size === 1 &&\n selectedCells.has(cellId) &&\n [ROW_SELECTION_COLUMN_ID, 'name'].includes(position.colId)\n ) {\n setSelectedCells(new Set())\n setAnchorCell(null)\n setFocusedCellId(null)\n } else {\n updateSelection(new Set([cellId]), position)\n setAnchorCell(position)\n setFocusedCellId(cellId)\n }\n }\n },\n [selectedCells, focusedCellId, updateSelection],\n )\n\n // Extend the current selection during drag\n const extendSelection = useCallback(\n (cellId: CellId, isRowSelectionColumn?: boolean) => {\n if (!selectionInProgress || !anchorCell) return\n\n const currentPosition = parseCellId(cellId)\n if (!currentPosition) return\n\n if (isRowSelectionColumn) {\n // Handle row selection column differently during drag\n setSelectedCells((prev) => {\n const newSelection = new Set(prev)\n const position = parseCellId(cellId)\n\n if (!position) return newSelection\n\n // We're either selecting or unselecting based on the initial cell's state\n if (initialCellSelected.current) {\n // If we started on a selected cell, we're removing cells during drag\n newSelection.delete(cellId)\n } else {\n // If we started on an unselected cell, we're adding cells during drag\n newSelection.add(cellId)\n }\n\n return newSelection\n })\n } else {\n if (isAdditiveSelectionRef.current) return\n // For normal cells - ALWAYS does range selection\n const newSelection = selectCellRange(anchorCell, currentPosition, isAdditiveSelectionRef.current,)\n updateSelection(newSelection, currentPosition)\n }\n },\n [selectionInProgress, anchorCell, selectCellRange, updateSelection],\n )\n\n // End a selection operation\n const endSelection = useCallback(() => {\n setSelectionInProgress(false)\n }, [])\n\n // Select a cell (click or programmatically)\n const selectCell = useCallback(\n (cellId: CellId, additive: boolean, range: boolean) => {\n const position = parseCellId(cellId)\n if (!position) return\n\n if (range && anchorCell) {\n // Shift+click for range selection - select cells between anchor and current\n const newSelection = selectCellRange(anchorCell, position, additive)\n updateSelection(newSelection, position)\n } else if (additive) {\n // Ctrl/Cmd+click for toggling selection\n setSelectedCells((prev) => {\n const newSelection = new Set(prev)\n if (newSelection.has(cellId)) {\n newSelection.delete(cellId)\n } else {\n newSelection.add(cellId)\n }\n return newSelection\n })\n } else {\n // Normal click - select just this cell and set as new anchor\n updateSelection(new Set([cellId]), position)\n setAnchorCell(position)\n }\n },\n [anchorCell, selectCellRange, updateSelection],\n )\n\n // Focus a cell without changing selection\n const focusCell = useCallback((cellId: CellId | null) => {\n setFocusedCellId(cellId)\n }, [])\n\n // Clear all selections\n const clearSelection = useCallback(() => {\n setSelectedCells(new Set())\n setAnchorCell(null)\n setFocusedCellId(null)\n }, [])\n\n // Check if a cell is selected\n const isCellSelected = useCallback((cellId: CellId) => selectedCells.has(cellId), [selectedCells])\n\n // Check if a cell is focused\n const isCellFocused = useCallback((cellId: CellId) => cellId === focusedCellId, [focusedCellId])\n\n // Get position from cell ID - using shared utility\n const getCellPositionFromId = useCallback((cellId: CellId) => parseCellId(cellId), [])\n\n // Get border classes for a cell based on its selection state and neighbors\n const getCellBorderClasses = useCallback(\n (cellId: CellId): string[] => {\n if (!isCellSelected(cellId)) return []\n\n const position = parseCellId(cellId)\n if (!position) return []\n\n const rowIndex = stableGridMap.rowIdToIndex.get(position.rowId)\n const colIndex = stableGridMap.colIdToIndex.get(position.colId)\n\n if (rowIndex === undefined || colIndex === undefined) return []\n\n // Check if the cell's neighbors in all four directions are selected\n const top = stableGridMap.indexToRowId.get(rowIndex - 1)\n const right = stableGridMap.indexToColId.get(colIndex + 1)\n const bottom = stableGridMap.indexToRowId.get(rowIndex + 1)\n const left = stableGridMap.indexToColId.get(colIndex - 1)\n\n // Default to no borders\n let borderPos = BorderPosition.None\n\n // Top edge check: show border if we're at the top of the grid or the cell above is not selected\n if (!top || !selectedCells.has(getCellId(top, position.colId))) {\n borderPos |= BorderPosition.Top\n }\n\n // Right edge check: show border if we're at the right edge of the grid or the cell to the right is not selected\n if (!right || !selectedCells.has(getCellId(position.rowId, right))) {\n borderPos |= BorderPosition.Right\n }\n\n // Bottom edge check: show border if we're at the bottom of the grid or the cell below is not selected\n if (!bottom || !selectedCells.has(getCellId(bottom, position.colId))) {\n borderPos |= BorderPosition.Bottom\n }\n\n // Left edge check: show border if we're at the left edge of the grid or the cell to the left is not selected\n if (!left || !selectedCells.has(getCellId(position.rowId, left))) {\n borderPos |= BorderPosition.Left\n }\n\n return getBorderClasses(borderPos)\n },\n [selectedCells, stableGridMap, isCellSelected],\n )\n\n // Memoize context value to prevent unnecessary re-renders\n const value = useMemo(\n () => ({\n selectedCells,\n selectedRows,\n focusedCellId,\n selectionInProgress,\n anchorCell,\n gridMap: stableGridMap,\n setSelectedCells,\n setFocusedCellId,\n setAnchorCell,\n registerGrid,\n selectCell,\n startSelection,\n extendSelection,\n endSelection,\n focusCell,\n clearSelection,\n isCellSelected,\n isCellFocused,\n getCellPositionFromId,\n getCellBorderClasses,\n }),\n [\n selectedCells,\n selectedRows,\n focusedCellId,\n selectionInProgress,\n anchorCell,\n stableGridMap,\n setSelectedCells,\n setFocusedCellId,\n setAnchorCell,\n registerGrid,\n selectCell,\n startSelection,\n extendSelection,\n endSelection,\n focusCell,\n clearSelection,\n isCellSelected,\n isCellFocused,\n getCellPositionFromId,\n getCellBorderClasses,\n ],\n )\n\n return <SelectionCellsContext.Provider value={value}>{children}</SelectionCellsContext.Provider>\n}\n"],"names":["SelectionCellsProvider","children","selectedCells","setSelectedCells","useState","focusedCellId","setFocusedCellId","selectionInProgress","setSelectionInProgress","anchorCell","setAnchorCell","gridMap","setGridMap","mapToString","map","stableGridMap","useMemo","initialCellSelected","useRef","selectedRows","cellId","parseCellId","ROW_SELECTION_COLUMN_ID","useCheckSelectedCellsVisible","isAdditiveSelectionRef","registerGrid","useCallback","rows","columns","rowIdToIndex","colIdToIndex","indexToRowId","indexToColId","rowId","index","colId","updateSelection","selection","position","prevSelectedCells","newSelection","DRAG_HANDLE_COLUMN_ID","rowSelection","id","selectCellRange","start","end","additive","startRowIdx","startColIdx","endRowIdx","endColIdx","minRowIdx","maxRowIdx","minColIdx","maxColIdx","r","c","getCellId","startSelection","prev","extendSelection","isRowSelectionColumn","currentPosition","endSelection","selectCell","range","focusCell","clearSelection","isCellSelected","isCellFocused","getCellPositionFromId","getCellBorderClasses","rowIndex","colIndex","top","right","bottom","left","borderPos","BorderPosition","getBorderClasses","value","jsx","SelectionCellsContext"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const D=(n,e,t)=>n.map(s=>[e||"",t||"",s.label||"",s.name||"",s.startDate||"",s.endDate||"",(s.assignees||[]).join(", "),s.isDone?"Done":"Todo"]).map(s=>s.join(" ")).join(`
2
+ `),h=(n,e,t)=>[e||"",t||"",n.label||"",n.name||"",n.startDate||"",n.endDate||"",(n.assignees||[]).join(", "),n.isDone?"Done":"Todo"].join(" "),w=n=>{const e=n.trim().split(`
3
+ `);if(e.length===0)return[];const t=e[0].toLowerCase();return(t.includes("taskid")&&t.includes("taskname")&&t.includes("label")&&t.includes("name")&&t.includes("start date")&&t.includes("end date")&&t.includes("assignees")&&t.includes("status")?e.slice(1):e).map(m=>{const r=m.split(" ");if(r.length<6)return null;let i,l,g,b,u,d,c,S;r.length>=8?([i,l,g,b,u,d,c,S]=r,i=i||void 0,l=l||void 0):[g,b,u,d,c,S]=r.slice(0,6);const k=c?c.split(",").map(p=>p.trim()).filter(Boolean):[],T=S?.toLowerCase().trim()==="done",o={label:g||"",name:b||"",assignees:k,isDone:T};return i&&(o.taskId=i),l&&(o.taskName=l),u&&(o.startDate=u),d&&(o.endDate=d),o}).filter(m=>m!==null)},L=n=>{const e=n.trim().split(`
4
+ `);if(e.length===0)return!1;const t=e[0];if(!t.includes(" "))return!1;const a=t.split(" ");if(a.length<6)return!1;const s=t.toLowerCase();if(s.includes("taskid")&&s.includes("taskname")&&s.includes("label")&&s.includes("name")&&s.includes("start date")&&s.includes("end date")&&s.includes("assignees")&&s.includes("status")||s.includes("label")&&s.includes("name")&&s.includes("start date")&&s.includes("end date")&&s.includes("assignees")&&s.includes("status"))return!0;if(e.length>0){const f=a[a.length-1]?.toLowerCase().trim();return f==="done"||f==="todo"}return!1},j=n=>{let e=n.replace(/[^a-zA-Z0-9_\.\-]/g,"_");return e.length>0&&!/^[a-zA-Z0-9_]/.test(e)&&(e="s_"+e),e.length>0&&!/[a-zA-Z0-9_]$/.test(e)&&(e=e+"_"),e||(e="subtask"),e};exports.isSubtasksTSV=L;exports.sanitizeSubtaskName=j;exports.subtaskToTSV=h;exports.subtasksToTSV=D;exports.tsvToSubtasks=w;
5
+ //# sourceMappingURL=clipboardSubtasks.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clipboardSubtasks.cjs.js","sources":["../../../../../../../src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.ts"],"sourcesContent":["import { SubTaskNode } from '@shared/api'\n\n/**\n * Convert subtasks to TSV format for clipboard\n * Format: TaskId\\tTaskName\\tLabel\\tName\\tStart Date\\tEnd Date\\tAssignees\\tStatus (no header row)\n * Includes taskId and taskName so pasted subtasks can be grouped by their parent task\n */\nexport const subtasksToTSV = (\n subtasks: SubTaskNode[],\n taskId?: string,\n taskName?: string,\n): string => {\n const rows = subtasks.map((s) => [\n taskId || '',\n taskName || '',\n s.label || '',\n s.name || '',\n s.startDate || '',\n s.endDate || '',\n (s.assignees || []).join(', '),\n s.isDone ? 'Done' : 'Todo',\n ])\n return rows.map((row) => row.join('\\t')).join('\\n')\n}\n\n/**\n * Convert a single subtask to TSV format (without headers)\n */\nexport const subtaskToTSV = (subtask: SubTaskNode, taskId?: string, taskName?: string): string => {\n const row = [\n taskId || '',\n taskName || '',\n subtask.label || '',\n subtask.name || '',\n subtask.startDate || '',\n subtask.endDate || '',\n (subtask.assignees || []).join(', '),\n subtask.isDone ? 'Done' : 'Todo',\n ]\n return row.join('\\t')\n}\n\n/**\n * Parse TSV clipboard data back to subtask format\n * Returns array of partial SubTaskNode objects with taskId and taskName (for updating)\n */\nexport const tsvToSubtasks = (\n tsvData: string,\n): Array<\n Partial<SubTaskNode> & { label: string; name: string; taskId?: string; taskName?: string }\n> => {\n const lines = tsvData.trim().split('\\n')\n if (lines.length === 0) return []\n\n // Check if first line is a header (contains expected column names)\n const firstLine = lines[0].toLowerCase()\n const hasHeader =\n firstLine.includes('taskid') &&\n firstLine.includes('taskname') &&\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 ? lines.slice(1) : lines\n\n const parsedSubtasks = dataLines\n .map((line) => {\n const values = line.split('\\t')\n if (values.length < 6) return null // Need at least 6 columns (6-8 depending on whether taskId/taskName are present)\n\n // Try to parse with taskId and taskName (8 columns)\n let taskId: string | undefined\n let taskName: string | undefined\n let label: string\n let name: string\n let startDate: string | undefined\n let endDate: string | undefined\n let assigneesStr: string\n let statusStr: string\n\n if (values.length >= 8) {\n // New format with taskId and taskName\n ;[taskId, taskName, label, name, startDate, endDate, assigneesStr, statusStr] = values\n taskId = taskId || undefined\n taskName = taskName || undefined\n } else {\n // Old format without taskId and taskName\n ;[label, name, startDate, endDate, assigneesStr, statusStr] = values.slice(0, 6)\n }\n\n // Parse assignees (comma-separated list)\n const assignees = assigneesStr\n ? assigneesStr\n .split(',')\n .map((a) => a.trim())\n .filter(Boolean)\n : []\n\n // Parse status\n const isDone = statusStr?.toLowerCase().trim() === 'done'\n\n const subtask: Partial<SubTaskNode> & {\n label: string\n name: string\n taskId?: string\n taskName?: string\n } = {\n label: label || '',\n name: name || '',\n assignees,\n isDone,\n }\n\n // Add task context if present\n if (taskId) subtask.taskId = taskId\n if (taskName) subtask.taskName = taskName\n\n // Only add dates if they're not empty\n if (startDate) subtask.startDate = startDate\n if (endDate) subtask.endDate = endDate\n\n return subtask\n })\n .filter(\n (\n subtask,\n ): subtask is Partial<SubTaskNode> & {\n label: string\n name: string\n taskId?: string\n taskName?: string\n } => subtask !== null,\n )\n\n return parsedSubtasks\n}\n\n/**\n * Check if clipboard text looks like subtasks TSV data\n */\nexport const isSubtasksTSV = (text: string): boolean => {\n const lines = text.trim().split('\\n')\n if (lines.length === 0) return false\n\n // Check if it has tab-separated values\n const firstLine = lines[0]\n if (!firstLine.includes('\\t')) return false\n\n // Check if it has the expected columns (8 columns for new format with taskId/taskName, or 6+ for old format)\n const columns = firstLine.split('\\t')\n if (columns.length < 6) return false\n\n // Check if header matches our format (case-insensitive)\n const lowerFirstLine = firstLine.toLowerCase()\n if (\n lowerFirstLine.includes('taskid') &&\n lowerFirstLine.includes('taskname') &&\n lowerFirstLine.includes('label') &&\n lowerFirstLine.includes('name') &&\n lowerFirstLine.includes('start date') &&\n lowerFirstLine.includes('end date') &&\n lowerFirstLine.includes('assignees') &&\n lowerFirstLine.includes('status')\n ) {\n return true\n }\n\n // Support old format without taskId/taskName\n if (\n lowerFirstLine.includes('label') &&\n lowerFirstLine.includes('name') &&\n lowerFirstLine.includes('start date') &&\n lowerFirstLine.includes('end date') &&\n lowerFirstLine.includes('assignees') &&\n lowerFirstLine.includes('status')\n ) {\n return true\n }\n\n // If no header, check if last column is likely a status (Done/Todo)\n if (lines.length > 0) {\n const lastCol = columns[columns.length - 1]?.toLowerCase().trim()\n return lastCol === 'done' || lastCol === 'todo'\n }\n\n return false\n}\n\n// Sanitize name to match regex: ^[a-zA-Z0-9_]([a-zA-Z0-9_\\.\\-]*[a-zA-Z0-9_])?$\nexport const sanitizeSubtaskName = (name: string): string => {\n // Replace invalid characters with underscore\n let sanitized = name.replace(/[^a-zA-Z0-9_\\.\\-]/g, '_')\n\n // Ensure it starts with a valid character\n if (sanitized.length > 0 && !/^[a-zA-Z0-9_]/.test(sanitized)) {\n sanitized = 's_' + sanitized\n }\n\n // Ensure it ends with a valid character\n if (sanitized.length > 0 && !/[a-zA-Z0-9_]$/.test(sanitized)) {\n sanitized = sanitized + '_'\n }\n\n // If empty, provide a default\n if (!sanitized) sanitized = 'subtask'\n\n return sanitized\n}\n"],"names":["subtasksToTSV","subtasks","taskId","taskName","row","subtaskToTSV","subtask","tsvToSubtasks","tsvData","lines","firstLine","line","values","label","name","startDate","endDate","assigneesStr","statusStr","assignees","a","isDone","isSubtasksTSV","text","columns","lowerFirstLine","lastCol","sanitizeSubtaskName","sanitized"],"mappings":"gFAOO,MAAMA,EAAgB,CAC3BC,EACAC,EACAC,IAEaF,EAAS,IAAK,GAAM,CAC/BC,GAAU,GACVC,GAAY,GACZ,EAAE,OAAS,GACX,EAAE,MAAQ,GACV,EAAE,WAAa,GACf,EAAE,SAAW,IACZ,EAAE,WAAa,IAAI,KAAK,IAAI,EAC7B,EAAE,OAAS,OAAS,MAAA,CACrB,EACW,IAAKC,GAAQA,EAAI,KAAK,GAAI,CAAC,EAAE,KAAK;AAAA,CAAI,EAMvCC,EAAe,CAACC,EAAsBJ,EAAiBC,IACtD,CACVD,GAAU,GACVC,GAAY,GACZG,EAAQ,OAAS,GACjBA,EAAQ,MAAQ,GAChBA,EAAQ,WAAa,GACrBA,EAAQ,SAAW,IAClBA,EAAQ,WAAa,IAAI,KAAK,IAAI,EACnCA,EAAQ,OAAS,OAAS,MAAA,EAEjB,KAAK,GAAI,EAOTC,EACXC,GAGG,CACH,MAAMC,EAAQD,EAAQ,KAAA,EAAO,MAAM;AAAA,CAAI,EACvC,GAAIC,EAAM,SAAW,EAAG,MAAO,CAAA,EAG/B,MAAMC,EAAYD,EAAM,CAAC,EAAE,YAAA,EAkF3B,OAhFEC,EAAU,SAAS,QAAQ,GAC3BA,EAAU,SAAS,UAAU,GAC7BA,EAAU,SAAS,OAAO,GAC1BA,EAAU,SAAS,MAAM,GACzBA,EAAU,SAAS,YAAY,GAC/BA,EAAU,SAAS,UAAU,GAC7BA,EAAU,SAAS,WAAW,GAC9BA,EAAU,SAAS,QAAQ,EAECD,EAAM,MAAM,CAAC,EAAIA,GAG5C,IAAKE,GAAS,CACb,MAAMC,EAASD,EAAK,MAAM,GAAI,EAC9B,GAAIC,EAAO,OAAS,EAAG,OAAO,KAG9B,IAAIV,EACAC,EACAU,EACAC,EACAC,EACAC,EACAC,EACAC,EAEAN,EAAO,QAAU,GAElB,CAACV,EAAQC,EAAUU,EAAOC,EAAMC,EAAWC,EAASC,EAAcC,CAAS,EAAIN,EAChFV,EAASA,GAAU,OACnBC,EAAWA,GAAY,QAGtB,CAACU,EAAOC,EAAMC,EAAWC,EAASC,EAAcC,CAAS,EAAIN,EAAO,MAAM,EAAG,CAAC,EAIjF,MAAMO,EAAYF,EACdA,EACG,MAAM,GAAG,EACT,IAAKG,GAAMA,EAAE,MAAM,EACnB,OAAO,OAAO,EACjB,CAAA,EAGEC,EAASH,GAAW,YAAA,EAAc,SAAW,OAE7CZ,EAKF,CACF,MAAOO,GAAS,GAChB,KAAMC,GAAQ,GACd,UAAAK,EACA,OAAAE,CAAA,EAIF,OAAInB,MAAgB,OAASA,GACzBC,MAAkB,SAAWA,GAG7BY,MAAmB,UAAYA,GAC/BC,MAAiB,QAAUA,GAExBV,CACT,CAAC,EACA,OAEGA,GAMGA,IAAY,IAAA,CAIvB,EAKagB,EAAiBC,GAA0B,CACtD,MAAMd,EAAQc,EAAK,KAAA,EAAO,MAAM;AAAA,CAAI,EACpC,GAAId,EAAM,SAAW,EAAG,MAAO,GAG/B,MAAMC,EAAYD,EAAM,CAAC,EACzB,GAAI,CAACC,EAAU,SAAS,GAAI,EAAG,MAAO,GAGtC,MAAMc,EAAUd,EAAU,MAAM,GAAI,EACpC,GAAIc,EAAQ,OAAS,EAAG,MAAO,GAG/B,MAAMC,EAAiBf,EAAU,YAAA,EAejC,GAbEe,EAAe,SAAS,QAAQ,GAChCA,EAAe,SAAS,UAAU,GAClCA,EAAe,SAAS,OAAO,GAC/BA,EAAe,SAAS,MAAM,GAC9BA,EAAe,SAAS,YAAY,GACpCA,EAAe,SAAS,UAAU,GAClCA,EAAe,SAAS,WAAW,GACnCA,EAAe,SAAS,QAAQ,GAOhCA,EAAe,SAAS,OAAO,GAC/BA,EAAe,SAAS,MAAM,GAC9BA,EAAe,SAAS,YAAY,GACpCA,EAAe,SAAS,UAAU,GAClCA,EAAe,SAAS,WAAW,GACnCA,EAAe,SAAS,QAAQ,EAEhC,MAAO,GAIT,GAAIhB,EAAM,OAAS,EAAG,CACpB,MAAMiB,EAAUF,EAAQA,EAAQ,OAAS,CAAC,GAAG,YAAA,EAAc,KAAA,EAC3D,OAAOE,IAAY,QAAUA,IAAY,MAC3C,CAEA,MAAO,EACT,EAGaC,EAAuBb,GAAyB,CAE3D,IAAIc,EAAYd,EAAK,QAAQ,qBAAsB,GAAG,EAGtD,OAAIc,EAAU,OAAS,GAAK,CAAC,gBAAgB,KAAKA,CAAS,IACzDA,EAAY,KAAOA,GAIjBA,EAAU,OAAS,GAAK,CAAC,gBAAgB,KAAKA,CAAS,IACzDA,EAAYA,EAAY,KAIrBA,IAAWA,EAAY,WAErBA,CACT"}
@@ -0,0 +1,67 @@
1
+ const S = (n, e, s) => n.map((t) => [
2
+ e || "",
3
+ s || "",
4
+ t.label || "",
5
+ t.name || "",
6
+ t.startDate || "",
7
+ t.endDate || "",
8
+ (t.assignees || []).join(", "),
9
+ t.isDone ? "Done" : "Todo"
10
+ ]).map((t) => t.join(" ")).join(`
11
+ `), w = (n, e, s) => [
12
+ e || "",
13
+ s || "",
14
+ n.label || "",
15
+ n.name || "",
16
+ n.startDate || "",
17
+ n.endDate || "",
18
+ (n.assignees || []).join(", "),
19
+ n.isDone ? "Done" : "Todo"
20
+ ].join(" "), L = (n) => {
21
+ const e = n.trim().split(`
22
+ `);
23
+ if (e.length === 0) return [];
24
+ const s = e[0].toLowerCase();
25
+ return (s.includes("taskid") && s.includes("taskname") && s.includes("label") && s.includes("name") && s.includes("start date") && s.includes("end date") && s.includes("assignees") && s.includes("status") ? e.slice(1) : e).map((m) => {
26
+ const o = m.split(" ");
27
+ if (o.length < 6) return null;
28
+ let i, l, g, p, d, u, c, D;
29
+ o.length >= 8 ? ([i, l, g, p, d, u, c, D] = o, i = i || void 0, l = l || void 0) : [g, p, d, u, c, D] = o.slice(0, 6);
30
+ const k = c ? c.split(",").map((h) => h.trim()).filter(Boolean) : [], b = D?.toLowerCase().trim() === "done", r = {
31
+ label: g || "",
32
+ name: p || "",
33
+ assignees: k,
34
+ isDone: b
35
+ };
36
+ return i && (r.taskId = i), l && (r.taskName = l), d && (r.startDate = d), u && (r.endDate = u), r;
37
+ }).filter(
38
+ (m) => m !== null
39
+ );
40
+ }, T = (n) => {
41
+ const e = n.trim().split(`
42
+ `);
43
+ if (e.length === 0) return !1;
44
+ const s = e[0];
45
+ if (!s.includes(" ")) return !1;
46
+ const a = s.split(" ");
47
+ if (a.length < 6) return !1;
48
+ const t = s.toLowerCase();
49
+ if (t.includes("taskid") && t.includes("taskname") && t.includes("label") && t.includes("name") && t.includes("start date") && t.includes("end date") && t.includes("assignees") && t.includes("status") || t.includes("label") && t.includes("name") && t.includes("start date") && t.includes("end date") && t.includes("assignees") && t.includes("status"))
50
+ return !0;
51
+ if (e.length > 0) {
52
+ const f = a[a.length - 1]?.toLowerCase().trim();
53
+ return f === "done" || f === "todo";
54
+ }
55
+ return !1;
56
+ }, _ = (n) => {
57
+ let e = n.replace(/[^a-zA-Z0-9_\.\-]/g, "_");
58
+ return e.length > 0 && !/^[a-zA-Z0-9_]/.test(e) && (e = "s_" + e), e.length > 0 && !/[a-zA-Z0-9_]$/.test(e) && (e = e + "_"), e || (e = "subtask"), e;
59
+ };
60
+ export {
61
+ T as isSubtasksTSV,
62
+ _ as sanitizeSubtaskName,
63
+ w as subtaskToTSV,
64
+ S as subtasksToTSV,
65
+ L as tsvToSubtasks
66
+ };
67
+ //# sourceMappingURL=clipboardSubtasks.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clipboardSubtasks.es.js","sources":["../../../../../../../src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.ts"],"sourcesContent":["import { SubTaskNode } from '@shared/api'\n\n/**\n * Convert subtasks to TSV format for clipboard\n * Format: TaskId\\tTaskName\\tLabel\\tName\\tStart Date\\tEnd Date\\tAssignees\\tStatus (no header row)\n * Includes taskId and taskName so pasted subtasks can be grouped by their parent task\n */\nexport const subtasksToTSV = (\n subtasks: SubTaskNode[],\n taskId?: string,\n taskName?: string,\n): string => {\n const rows = subtasks.map((s) => [\n taskId || '',\n taskName || '',\n s.label || '',\n s.name || '',\n s.startDate || '',\n s.endDate || '',\n (s.assignees || []).join(', '),\n s.isDone ? 'Done' : 'Todo',\n ])\n return rows.map((row) => row.join('\\t')).join('\\n')\n}\n\n/**\n * Convert a single subtask to TSV format (without headers)\n */\nexport const subtaskToTSV = (subtask: SubTaskNode, taskId?: string, taskName?: string): string => {\n const row = [\n taskId || '',\n taskName || '',\n subtask.label || '',\n subtask.name || '',\n subtask.startDate || '',\n subtask.endDate || '',\n (subtask.assignees || []).join(', '),\n subtask.isDone ? 'Done' : 'Todo',\n ]\n return row.join('\\t')\n}\n\n/**\n * Parse TSV clipboard data back to subtask format\n * Returns array of partial SubTaskNode objects with taskId and taskName (for updating)\n */\nexport const tsvToSubtasks = (\n tsvData: string,\n): Array<\n Partial<SubTaskNode> & { label: string; name: string; taskId?: string; taskName?: string }\n> => {\n const lines = tsvData.trim().split('\\n')\n if (lines.length === 0) return []\n\n // Check if first line is a header (contains expected column names)\n const firstLine = lines[0].toLowerCase()\n const hasHeader =\n firstLine.includes('taskid') &&\n firstLine.includes('taskname') &&\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 ? lines.slice(1) : lines\n\n const parsedSubtasks = dataLines\n .map((line) => {\n const values = line.split('\\t')\n if (values.length < 6) return null // Need at least 6 columns (6-8 depending on whether taskId/taskName are present)\n\n // Try to parse with taskId and taskName (8 columns)\n let taskId: string | undefined\n let taskName: string | undefined\n let label: string\n let name: string\n let startDate: string | undefined\n let endDate: string | undefined\n let assigneesStr: string\n let statusStr: string\n\n if (values.length >= 8) {\n // New format with taskId and taskName\n ;[taskId, taskName, label, name, startDate, endDate, assigneesStr, statusStr] = values\n taskId = taskId || undefined\n taskName = taskName || undefined\n } else {\n // Old format without taskId and taskName\n ;[label, name, startDate, endDate, assigneesStr, statusStr] = values.slice(0, 6)\n }\n\n // Parse assignees (comma-separated list)\n const assignees = assigneesStr\n ? assigneesStr\n .split(',')\n .map((a) => a.trim())\n .filter(Boolean)\n : []\n\n // Parse status\n const isDone = statusStr?.toLowerCase().trim() === 'done'\n\n const subtask: Partial<SubTaskNode> & {\n label: string\n name: string\n taskId?: string\n taskName?: string\n } = {\n label: label || '',\n name: name || '',\n assignees,\n isDone,\n }\n\n // Add task context if present\n if (taskId) subtask.taskId = taskId\n if (taskName) subtask.taskName = taskName\n\n // Only add dates if they're not empty\n if (startDate) subtask.startDate = startDate\n if (endDate) subtask.endDate = endDate\n\n return subtask\n })\n .filter(\n (\n subtask,\n ): subtask is Partial<SubTaskNode> & {\n label: string\n name: string\n taskId?: string\n taskName?: string\n } => subtask !== null,\n )\n\n return parsedSubtasks\n}\n\n/**\n * Check if clipboard text looks like subtasks TSV data\n */\nexport const isSubtasksTSV = (text: string): boolean => {\n const lines = text.trim().split('\\n')\n if (lines.length === 0) return false\n\n // Check if it has tab-separated values\n const firstLine = lines[0]\n if (!firstLine.includes('\\t')) return false\n\n // Check if it has the expected columns (8 columns for new format with taskId/taskName, or 6+ for old format)\n const columns = firstLine.split('\\t')\n if (columns.length < 6) return false\n\n // Check if header matches our format (case-insensitive)\n const lowerFirstLine = firstLine.toLowerCase()\n if (\n lowerFirstLine.includes('taskid') &&\n lowerFirstLine.includes('taskname') &&\n lowerFirstLine.includes('label') &&\n lowerFirstLine.includes('name') &&\n lowerFirstLine.includes('start date') &&\n lowerFirstLine.includes('end date') &&\n lowerFirstLine.includes('assignees') &&\n lowerFirstLine.includes('status')\n ) {\n return true\n }\n\n // Support old format without taskId/taskName\n if (\n lowerFirstLine.includes('label') &&\n lowerFirstLine.includes('name') &&\n lowerFirstLine.includes('start date') &&\n lowerFirstLine.includes('end date') &&\n lowerFirstLine.includes('assignees') &&\n lowerFirstLine.includes('status')\n ) {\n return true\n }\n\n // If no header, check if last column is likely a status (Done/Todo)\n if (lines.length > 0) {\n const lastCol = columns[columns.length - 1]?.toLowerCase().trim()\n return lastCol === 'done' || lastCol === 'todo'\n }\n\n return false\n}\n\n// Sanitize name to match regex: ^[a-zA-Z0-9_]([a-zA-Z0-9_\\.\\-]*[a-zA-Z0-9_])?$\nexport const sanitizeSubtaskName = (name: string): string => {\n // Replace invalid characters with underscore\n let sanitized = name.replace(/[^a-zA-Z0-9_\\.\\-]/g, '_')\n\n // Ensure it starts with a valid character\n if (sanitized.length > 0 && !/^[a-zA-Z0-9_]/.test(sanitized)) {\n sanitized = 's_' + sanitized\n }\n\n // Ensure it ends with a valid character\n if (sanitized.length > 0 && !/[a-zA-Z0-9_]$/.test(sanitized)) {\n sanitized = sanitized + '_'\n }\n\n // If empty, provide a default\n if (!sanitized) sanitized = 'subtask'\n\n return sanitized\n}\n"],"names":["subtasksToTSV","subtasks","taskId","taskName","s","row","subtaskToTSV","subtask","tsvToSubtasks","tsvData","lines","firstLine","line","values","label","name","startDate","endDate","assigneesStr","statusStr","assignees","a","isDone","isSubtasksTSV","text","columns","lowerFirstLine","lastCol","sanitizeSubtaskName","sanitized"],"mappings":"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"}