@ynput/ayon-frontend-shared 0.2.2 → 0.2.4

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 (896) hide show
  1. package/dist/ContextMenu.cjs.js +1 -0
  2. package/dist/ContextMenu.cjs.js.map +1 -1
  3. package/dist/ContextMenu.es.js +1 -0
  4. package/dist/ContextMenu.es.js.map +1 -1
  5. package/dist/DetailsPanel.cjs.js +23 -1
  6. package/dist/DetailsPanel.cjs.js.map +1 -1
  7. package/dist/DetailsPanel.es.js +23 -1
  8. package/dist/DetailsPanel.es.js.map +1 -1
  9. package/dist/ProjectTreeTable.cjs.js +12 -1
  10. package/dist/ProjectTreeTable.cjs.js.map +1 -1
  11. package/dist/ProjectTreeTable.es.js +14 -3
  12. package/dist/ProjectTreeTable.es.js.map +1 -1
  13. package/dist/_virtual/_commonjsHelpers.cjs.js +0 -2
  14. package/dist/_virtual/_commonjsHelpers.cjs.js.map +1 -1
  15. package/dist/_virtual/_commonjsHelpers.es.js +0 -2
  16. package/dist/_virtual/_commonjsHelpers.es.js.map +1 -1
  17. package/dist/_virtual/index.cjs10.js +3 -5
  18. package/dist/_virtual/index.cjs10.js.map +1 -1
  19. package/dist/_virtual/index.cjs4.js +4 -4
  20. package/dist/_virtual/index.cjs5.js +2 -2
  21. package/dist/_virtual/index.cjs6.js +4 -4
  22. package/dist/_virtual/index.cjs7.js +5 -3
  23. package/dist/_virtual/index.cjs7.js.map +1 -1
  24. package/dist/_virtual/index.cjs8.js +4 -4
  25. package/dist/_virtual/index.cjs9.js +4 -4
  26. package/dist/_virtual/index.es10.js +2 -5
  27. package/dist/_virtual/index.es10.js.map +1 -1
  28. package/dist/_virtual/index.es4.js +4 -4
  29. package/dist/_virtual/index.es5.js +2 -2
  30. package/dist/_virtual/index.es6.js +4 -4
  31. package/dist/_virtual/index.es7.js +5 -2
  32. package/dist/_virtual/index.es7.js.map +1 -1
  33. package/dist/_virtual/index.es8.js +4 -4
  34. package/dist/_virtual/index.es9.js +4 -4
  35. package/dist/api.cjs.js +24 -1
  36. package/dist/api.cjs.js.map +1 -1
  37. package/dist/api.es.js +26 -3
  38. package/dist/api.es.js.map +1 -1
  39. package/dist/components.cjs.js +12 -0
  40. package/dist/components.cjs.js.map +1 -1
  41. package/dist/components.es.js +12 -0
  42. package/dist/components.es.js.map +1 -1
  43. package/dist/context.cjs.js +3 -0
  44. package/dist/context.cjs.js.map +1 -1
  45. package/dist/context.es.js +3 -0
  46. package/dist/context.es.js.map +1 -1
  47. package/dist/index.cjs.js +24 -2
  48. package/dist/index.cjs.js.map +1 -1
  49. package/dist/index.es.js +24 -2
  50. package/dist/index.es.js.map +1 -1
  51. package/dist/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.modern.cjs.js +19 -10
  52. package/dist/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.modern.cjs.js.map +1 -1
  53. package/dist/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.modern.es.js +21 -12
  54. package/dist/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.modern.es.js.map +1 -1
  55. package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.cjs.js +174 -68
  56. package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.cjs.js.map +1 -1
  57. package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.es.js +174 -68
  58. package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.es.js.map +1 -1
  59. package/dist/node_modules/@standard-schema/utils/dist/index.cjs.js +23 -0
  60. package/dist/node_modules/@standard-schema/utils/dist/index.cjs.js.map +1 -0
  61. package/dist/node_modules/@standard-schema/utils/dist/index.es.js +23 -0
  62. package/dist/node_modules/@standard-schema/utils/dist/index.es.js.map +1 -0
  63. package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
  64. package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
  65. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  66. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  67. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +2 -2
  68. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  69. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  70. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  71. package/dist/node_modules/rehype-prism-plus/dist/index.es.cjs.js +1 -1
  72. package/dist/node_modules/rehype-prism-plus/dist/index.es.es.js +1 -1
  73. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  74. package/dist/node_modules/remove-accents/index.es.js +1 -1
  75. package/dist/node_modules/vfile/lib/index.cjs.js +1 -1
  76. package/dist/node_modules/vfile/lib/index.es.js +1 -1
  77. package/dist/shared/src/api/base/client.cjs.js +3 -0
  78. package/dist/shared/src/api/base/client.cjs.js.map +1 -1
  79. package/dist/shared/src/api/base/client.es.js +3 -0
  80. package/dist/shared/src/api/base/client.es.js.map +1 -1
  81. package/dist/shared/src/api/generated/anatomy.cjs.js +13 -0
  82. package/dist/shared/src/api/generated/anatomy.cjs.js.map +1 -1
  83. package/dist/shared/src/api/generated/anatomy.es.js +13 -0
  84. package/dist/shared/src/api/generated/anatomy.es.js.map +1 -1
  85. package/dist/shared/src/api/generated/graphql.cjs.js +130 -0
  86. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  87. package/dist/shared/src/api/generated/graphql.es.js +130 -0
  88. package/dist/shared/src/api/generated/graphql.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.es.js +1 -1
  91. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +12 -4
  92. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  93. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +13 -5
  94. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  95. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +4 -0
  96. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  97. package/dist/shared/src/api/queries/entities/updateEntity.es.js +4 -0
  98. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  99. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +267 -0
  100. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -0
  101. package/dist/shared/src/api/queries/entityLists/getLists.es.js +267 -0
  102. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -0
  103. package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js +51 -0
  104. package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js.map +1 -0
  105. package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js +51 -0
  106. package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js.map +1 -0
  107. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +169 -0
  108. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -0
  109. package/dist/shared/src/api/queries/entityLists/updateLists.es.js +169 -0
  110. package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -0
  111. package/dist/shared/src/api/queries/entityLists/updateListsAttributes.cjs.js +29 -0
  112. package/dist/shared/src/api/queries/entityLists/updateListsAttributes.cjs.js.map +1 -0
  113. package/dist/shared/src/api/queries/entityLists/updateListsAttributes.es.js +29 -0
  114. package/dist/shared/src/api/queries/entityLists/updateListsAttributes.es.js.map +1 -0
  115. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +3 -4
  116. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  117. package/dist/shared/src/api/queries/overview/getOverview.es.js +3 -4
  118. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  119. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +40 -5
  120. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  121. package/dist/shared/src/api/queries/overview/updateOverview.es.js +40 -5
  122. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  123. package/dist/shared/src/api/queries/review/getReview.cjs.js +1 -1
  124. package/dist/shared/src/api/queries/review/getReview.es.js +1 -1
  125. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
  126. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +1 -1
  127. package/dist/shared/src/api/queries/users/getUsers.cjs.js +6 -2
  128. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  129. package/dist/shared/src/api/queries/users/getUsers.es.js +7 -3
  130. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  131. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +355 -0
  132. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -0
  133. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +355 -0
  134. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -0
  135. package/dist/shared/src/components/AttributeEditor/components/MinMaxField.cjs.js +93 -0
  136. package/dist/shared/src/components/AttributeEditor/components/MinMaxField.cjs.js.map +1 -0
  137. package/dist/shared/src/components/AttributeEditor/components/MinMaxField.es.js +93 -0
  138. package/dist/shared/src/components/AttributeEditor/components/MinMaxField.es.js.map +1 -0
  139. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +4 -0
  140. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  141. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +4 -0
  142. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  143. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js +6 -2
  144. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js.map +1 -1
  145. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js +6 -2
  146. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js.map +1 -1
  147. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +1 -1
  148. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +1 -1
  149. package/dist/shared/src/components/EmptyPlaceholder/EmptyPlaceholder.cjs.js +4 -2
  150. package/dist/shared/src/components/EmptyPlaceholder/EmptyPlaceholder.cjs.js.map +1 -1
  151. package/dist/shared/src/components/EmptyPlaceholder/EmptyPlaceholder.es.js +4 -2
  152. package/dist/shared/src/components/EmptyPlaceholder/EmptyPlaceholder.es.js.map +1 -1
  153. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +3 -1
  154. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  155. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +3 -1
  156. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  157. package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.cjs.js +23 -1
  158. package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.cjs.js.map +1 -1
  159. package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.es.js +23 -1
  160. package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.es.js.map +1 -1
  161. package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.cjs.js +194 -0
  162. package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.cjs.js.map +1 -0
  163. package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.es.js +195 -0
  164. package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.es.js.map +1 -0
  165. package/dist/shared/src/components/EnumEditor/EnumEditor.cjs.js +128 -0
  166. package/dist/shared/src/components/EnumEditor/EnumEditor.cjs.js.map +1 -0
  167. package/dist/shared/src/components/EnumEditor/EnumEditor.es.js +128 -0
  168. package/dist/shared/src/components/EnumEditor/EnumEditor.es.js.map +1 -0
  169. package/dist/shared/src/components/EnumEditor/EnumEditor.styled.cjs.js +185 -0
  170. package/dist/shared/src/components/EnumEditor/EnumEditor.styled.cjs.js.map +1 -0
  171. package/dist/shared/src/components/EnumEditor/EnumEditor.styled.es.js +185 -0
  172. package/dist/shared/src/components/EnumEditor/EnumEditor.styled.es.js.map +1 -0
  173. package/dist/shared/src/components/EnumEditor/hooks/useDraggable.cjs.js +67 -0
  174. package/dist/shared/src/components/EnumEditor/hooks/useDraggable.cjs.js.map +1 -0
  175. package/dist/shared/src/components/EnumEditor/hooks/useDraggable.es.js +68 -0
  176. package/dist/shared/src/components/EnumEditor/hooks/useDraggable.es.js.map +1 -0
  177. package/dist/shared/src/components/EnumEditor/util/index.cjs.js +19 -0
  178. package/dist/shared/src/components/EnumEditor/util/index.cjs.js.map +1 -0
  179. package/dist/shared/src/components/EnumEditor/util/index.es.js +19 -0
  180. package/dist/shared/src/components/EnumEditor/util/index.es.js.map +1 -0
  181. package/dist/shared/src/components/ProjectTableSettings/ColumnItem.cjs.js +78 -0
  182. package/dist/shared/src/components/ProjectTableSettings/ColumnItem.cjs.js.map +1 -0
  183. package/dist/shared/src/components/ProjectTableSettings/ColumnItem.es.js +79 -0
  184. package/dist/shared/src/components/ProjectTableSettings/ColumnItem.es.js.map +1 -0
  185. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +352 -0
  186. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -0
  187. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +353 -0
  188. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -0
  189. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +113 -0
  190. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -0
  191. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +113 -0
  192. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -0
  193. package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.cjs.js +52 -0
  194. package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.cjs.js.map +1 -0
  195. package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.es.js +53 -0
  196. package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.es.js.map +1 -0
  197. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +4 -0
  198. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  199. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +4 -0
  200. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  201. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +23 -1
  202. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  203. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +23 -1
  204. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  205. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +23 -1
  206. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  207. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +23 -1
  208. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  209. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +23 -1
  210. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  211. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +23 -1
  212. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  213. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +103 -0
  214. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -0
  215. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +103 -0
  216. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -0
  217. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js +83 -0
  218. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js.map +1 -0
  219. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js +83 -0
  220. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js.map +1 -0
  221. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -0
  222. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  223. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +1 -0
  224. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  225. package/dist/shared/src/components/Watchers/Watchers.cjs.js +4 -0
  226. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  227. package/dist/shared/src/components/Watchers/Watchers.es.js +4 -0
  228. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  229. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +23 -1
  230. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  231. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +23 -1
  232. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  233. package/dist/shared/src/containers/Actions/Actions.cjs.js +16 -7
  234. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  235. package/dist/shared/src/containers/Actions/Actions.es.js +16 -7
  236. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  237. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js +2 -2
  238. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js.map +1 -1
  239. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js +2 -2
  240. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js.map +1 -1
  241. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +23 -1
  242. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  243. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +23 -1
  244. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  245. package/dist/shared/src/containers/ContextMenu/ContextMenu.css +54 -19
  246. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.cjs.js +11 -1
  247. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.cjs.js.map +1 -1
  248. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.es.js +11 -1
  249. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.es.js.map +1 -1
  250. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +23 -1
  251. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  252. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +23 -1
  253. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  254. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +25 -1
  255. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  256. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +25 -1
  257. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  258. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +24 -2
  259. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  260. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +24 -2
  261. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  262. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +26 -4
  263. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  264. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +26 -4
  265. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  266. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +5 -0
  267. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  268. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +5 -0
  269. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  270. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js +1 -0
  271. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js.map +1 -1
  272. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js +1 -0
  273. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js.map +1 -1
  274. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js +1 -1
  275. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js +1 -1
  276. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +6 -2
  277. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  278. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +6 -2
  279. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  280. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -0
  281. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  282. package/dist/shared/src/containers/Feed/Feed.es.js +1 -0
  283. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  284. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.cjs.js +2 -2
  285. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.cjs.js.map +1 -1
  286. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.es.js +2 -2
  287. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.es.js.map +1 -1
  288. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js +1 -1
  289. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js +1 -1
  290. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -0
  291. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  292. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +1 -0
  293. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  294. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +5 -3
  295. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  296. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +5 -3
  297. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  298. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -0
  299. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  300. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +1 -0
  301. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  302. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -0
  303. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  304. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +1 -0
  305. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  306. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +2 -1
  307. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  308. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +2 -1
  309. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  310. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +5 -0
  311. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  312. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +5 -0
  313. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  314. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +7 -3
  315. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  316. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +7 -3
  317. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  318. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js +1 -1
  319. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js +1 -1
  320. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js +1 -1
  321. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js +1 -1
  322. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +198 -222
  323. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  324. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +201 -225
  325. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  326. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +1 -3
  327. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
  328. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +1 -3
  329. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
  330. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +361 -0
  331. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -0
  332. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +361 -0
  333. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -0
  334. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.cjs.js +41 -20
  335. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.cjs.js.map +1 -1
  336. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.es.js +41 -20
  337. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.es.js.map +1 -1
  338. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +29 -36
  339. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  340. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +31 -38
  341. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  342. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js +33 -4
  343. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js.map +1 -1
  344. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js +34 -5
  345. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js.map +1 -1
  346. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +17 -11
  347. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  348. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +17 -11
  349. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  350. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js.map +1 -1
  351. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableQueriesContext.es.js.map +1 -1
  352. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.cjs.js.map +1 -1
  353. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.es.js.map +1 -1
  354. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardUtils.cjs.js +6 -3
  355. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardUtils.cjs.js.map +1 -1
  356. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardUtils.es.js +6 -3
  357. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardUtils.es.js.map +1 -1
  358. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +190 -146
  359. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  360. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +190 -146
  361. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  362. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +10 -3
  363. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  364. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +10 -3
  365. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  366. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.cjs.js +15 -12
  367. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.cjs.js.map +1 -1
  368. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.es.js +15 -12
  369. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.es.js.map +1 -1
  370. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js +44 -0
  371. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js.map +1 -0
  372. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js +45 -0
  373. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js.map +1 -0
  374. package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.cjs.js +15 -7
  375. package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.cjs.js.map +1 -1
  376. package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.es.js +15 -7
  377. package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.es.js.map +1 -1
  378. package/dist/shared/src/containers/ProjectTreeTable/hooks/useOverviewTable.cjs.js +27 -31
  379. package/dist/shared/src/containers/ProjectTreeTable/hooks/useOverviewTable.cjs.js.map +1 -1
  380. package/dist/shared/src/containers/ProjectTreeTable/hooks/useOverviewTable.es.js +27 -31
  381. package/dist/shared/src/containers/ProjectTreeTable/hooks/useOverviewTable.es.js.map +1 -1
  382. package/dist/shared/src/containers/ProjectTreeTable/hooks/{useUpdateOverview.cjs.js → useUpdateTableData.cjs.js} +48 -20
  383. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -0
  384. package/dist/shared/src/containers/ProjectTreeTable/hooks/{useUpdateOverview.es.js → useUpdateTableData.es.js} +48 -20
  385. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -0
  386. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +2 -0
  387. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  388. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +2 -0
  389. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  390. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js +25 -20
  391. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js.map +1 -1
  392. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js +25 -20
  393. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js.map +1 -1
  394. package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.cjs.js +36 -0
  395. package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.cjs.js.map +1 -0
  396. package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.es.js +36 -0
  397. package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.es.js.map +1 -0
  398. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js +39 -0
  399. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js.map +1 -0
  400. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js +39 -0
  401. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js.map +1 -0
  402. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.cjs.js +1 -0
  403. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.cjs.js.map +1 -1
  404. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.es.js +1 -0
  405. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.es.js.map +1 -1
  406. package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.cjs.js +57 -0
  407. package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.cjs.js.map +1 -0
  408. package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.es.js +58 -0
  409. package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.es.js.map +1 -0
  410. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  412. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +34 -6
  413. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  414. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +34 -6
  415. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  416. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.cjs.js +7 -5
  417. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.cjs.js.map +1 -1
  418. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.es.js +7 -5
  419. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.es.js.map +1 -1
  420. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js.map +1 -1
  421. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js.map +1 -1
  422. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +9 -0
  423. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
  424. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +9 -0
  425. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
  426. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +17 -2
  427. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
  428. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +17 -2
  429. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
  430. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +53 -0
  431. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -0
  432. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +53 -0
  433. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js.map +1 -0
  434. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +24 -2
  435. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  436. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +24 -2
  437. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  438. package/dist/shared/src/context/DetailsPanelContext.cjs.js +6 -1
  439. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  440. package/dist/shared/src/context/DetailsPanelContext.es.js +6 -1
  441. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  442. package/dist/shared/src/context/RemoteModulesContext.cjs.js +4 -0
  443. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  444. package/dist/shared/src/context/RemoteModulesContext.es.js +4 -0
  445. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  446. package/dist/shared/src/context/SettingsPanelContext.cjs.js +63 -0
  447. package/dist/shared/src/context/SettingsPanelContext.cjs.js.map +1 -0
  448. package/dist/shared/src/context/SettingsPanelContext.es.js +63 -0
  449. package/dist/shared/src/context/SettingsPanelContext.es.js.map +1 -0
  450. package/dist/shared/src/context/ThumbnailUploaderContext.cjs.js +1 -0
  451. package/dist/shared/src/context/ThumbnailUploaderContext.cjs.js.map +1 -1
  452. package/dist/shared/src/context/ThumbnailUploaderContext.es.js +1 -0
  453. package/dist/shared/src/context/ThumbnailUploaderContext.es.js.map +1 -1
  454. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +5 -0
  455. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  456. package/dist/shared/src/hooks/useEntityUpdate.es.js +5 -0
  457. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  458. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +6 -2
  459. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  460. package/dist/shared/src/hooks/useScopedStatuses.es.js +6 -2
  461. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  462. package/dist/shared/src/util/confirmDelete.cjs.js +3 -3
  463. package/dist/shared/src/util/confirmDelete.cjs.js.map +1 -1
  464. package/dist/shared/src/util/confirmDelete.es.js +3 -3
  465. package/dist/shared/src/util/confirmDelete.es.js.map +1 -1
  466. package/dist/shared/src/util/getAttributeIcon.cjs.js +48 -0
  467. package/dist/shared/src/util/getAttributeIcon.cjs.js.map +1 -0
  468. package/dist/shared/src/util/getAttributeIcon.es.js +48 -0
  469. package/dist/shared/src/util/getAttributeIcon.es.js.map +1 -0
  470. package/dist/shared/src/util/platform.cjs.js +7 -6
  471. package/dist/shared/src/util/platform.cjs.js.map +1 -1
  472. package/dist/shared/src/util/platform.es.js +7 -6
  473. package/dist/shared/src/util/platform.es.js.map +1 -1
  474. package/dist/types/Actions.d.ts +1 -1
  475. package/dist/types/ContextMenu.d.ts +1 -1
  476. package/dist/types/DetailsPanel.d.ts +1 -1
  477. package/dist/types/Feed.d.ts +1 -1
  478. package/dist/types/ProjectTreeTable.d.ts +1 -1
  479. package/dist/types/RepresentationsList.d.ts +1 -1
  480. package/dist/types/Slicer.d.ts +1 -1
  481. package/dist/types/api.d.ts +3 -3
  482. package/dist/types/components.d.ts +1 -1
  483. package/dist/types/context.d.ts +1 -1
  484. package/dist/types/hooks.d.ts +1 -1
  485. package/dist/types/index.d.ts +2 -2
  486. package/dist/types/shared/src/SimpleTable/SimpleTable.d.ts +43 -0
  487. package/dist/types/shared/src/SimpleTable/SimpleTable.styled.d.ts +10 -0
  488. package/dist/types/shared/src/SimpleTable/SimpleTableRowTemplate.d.ts +13 -0
  489. package/dist/types/shared/src/SimpleTable/context/SimpleTableContext.d.ts +23 -0
  490. package/dist/types/shared/src/SimpleTable/index.d.ts +5 -0
  491. package/dist/types/{api → shared/src/api}/generated/access.d.ts +6 -6
  492. package/dist/types/{api → shared/src/api}/generated/actions.d.ts +6 -6
  493. package/dist/types/{api → shared/src/api}/generated/activityFeed.d.ts +8 -8
  494. package/dist/types/{api → shared/src/api}/generated/addons.d.ts +28 -28
  495. package/dist/types/{api → shared/src/api}/generated/anatomy.d.ts +36 -6
  496. package/dist/types/{api → shared/src/api}/generated/attributes.d.ts +5 -5
  497. package/dist/types/{api → shared/src/api}/generated/authentication.d.ts +5 -5
  498. package/dist/types/{api → shared/src/api}/generated/bundles.d.ts +7 -7
  499. package/dist/types/{api → shared/src/api}/generated/configuration.d.ts +7 -7
  500. package/dist/types/{api → shared/src/api}/generated/desktop.d.ts +12 -12
  501. package/dist/types/{api → shared/src/api}/generated/entityLists.d.ts +12 -12
  502. package/dist/types/{api → shared/src/api}/generated/events.d.ts +8 -8
  503. package/dist/types/{api → shared/src/api}/generated/files.d.ts +7 -7
  504. package/dist/types/{api → shared/src/api}/generated/folders.d.ts +8 -8
  505. package/dist/types/{api → shared/src/api}/generated/graphql.d.ts +280 -64
  506. package/dist/types/{api → shared/src/api}/generated/inbox.d.ts +1 -1
  507. package/dist/types/{api → shared/src/api}/generated/links.d.ts +5 -5
  508. package/dist/types/{api → shared/src/api}/generated/market.d.ts +6 -6
  509. package/dist/types/{api → shared/src/api}/generated/onboarding.d.ts +3 -3
  510. package/dist/types/{api → shared/src/api}/generated/operations.d.ts +3 -3
  511. package/dist/types/{api → shared/src/api}/generated/products.d.ts +5 -5
  512. package/dist/types/{api → shared/src/api}/generated/projectDashboard.d.ts +4 -4
  513. package/dist/types/{api → shared/src/api}/generated/projects.d.ts +27 -27
  514. package/dist/types/{api → shared/src/api}/generated/representations.d.ts +5 -5
  515. package/dist/types/{api → shared/src/api}/generated/reviewables.d.ts +7 -7
  516. package/dist/types/{api → shared/src/api}/generated/services.d.ts +6 -6
  517. package/dist/types/{api → shared/src/api}/generated/system.d.ts +12 -12
  518. package/dist/types/{api → shared/src/api}/generated/tasks.d.ts +8 -8
  519. package/dist/types/{api → shared/src/api}/generated/teams.d.ts +6 -6
  520. package/dist/types/{api → shared/src/api}/generated/thumbnails.d.ts +11 -11
  521. package/dist/types/{api → shared/src/api}/generated/uRIs.d.ts +2 -2
  522. package/dist/types/{api → shared/src/api}/generated/users.d.ts +26 -26
  523. package/dist/types/{api → shared/src/api}/generated/versions.d.ts +6 -6
  524. package/dist/types/{api → shared/src/api}/generated/workfiles.d.ts +6 -6
  525. package/dist/types/{api → shared/src/api}/generated/ynputCloud.d.ts +5 -5
  526. package/dist/types/{api → shared/src/api}/queries/actions/getActions.d.ts +29 -29
  527. package/dist/types/{api → shared/src/api}/queries/activities/getActivities.d.ts +88 -71
  528. package/dist/types/{api → shared/src/api}/queries/activities/getMentions.d.ts +18 -18
  529. package/dist/types/{api → shared/src/api}/queries/activities/updateActivities.d.ts +94 -62
  530. package/dist/types/{api → shared/src/api}/queries/activities/updateReaction.d.ts +10 -10
  531. package/dist/types/{api → shared/src/api}/queries/addons/getAddons.d.ts +67 -67
  532. package/dist/types/{api → shared/src/api}/queries/addons/updateAddons.d.ts +35 -35
  533. package/dist/types/{api → shared/src/api}/queries/attributes/getAttributes.d.ts +23 -23
  534. package/dist/types/{api → shared/src/api}/queries/attributes/updateAttributes.d.ts +12 -12
  535. package/dist/types/{api → shared/src/api}/queries/authentication/getAuthentication.d.ts +15 -15
  536. package/dist/types/{api → shared/src/api}/queries/entities/getEntity.d.ts +89 -73
  537. package/dist/types/{api → shared/src/api}/queries/entities/getEntityPanel.d.ts +60 -44
  538. package/dist/types/{api → shared/src/api}/queries/entities/transformDetailsPanelData.d.ts +1 -0
  539. package/dist/types/{api → shared/src/api}/queries/entities/updateEntity.d.ts +48 -32
  540. package/dist/types/shared/src/api/queries/entityLists/getLists.d.ts +3009 -0
  541. package/dist/types/shared/src/api/queries/entityLists/getListsAttributes.d.ts +148 -0
  542. package/dist/types/shared/src/api/queries/entityLists/index.d.ts +5 -0
  543. package/dist/types/shared/src/api/queries/entityLists/types.d.ts +71 -0
  544. package/dist/types/shared/src/api/queries/entityLists/updateLists.d.ts +1137 -0
  545. package/dist/types/shared/src/api/queries/entityLists/updateListsAttributes.d.ts +176 -0
  546. package/dist/types/{api → shared/src/api}/queries/folders/getFolders.d.ts +26 -26
  547. package/dist/types/{api → shared/src/api}/queries/index.d.ts +1 -0
  548. package/dist/types/{api → shared/src/api}/queries/overview/getOverview.d.ts +89 -73
  549. package/dist/types/{api → shared/src/api}/queries/overview/updateOverview.d.ts +6 -6
  550. package/dist/types/{api → shared/src/api}/queries/project/getProject.d.ts +103 -103
  551. package/dist/types/{api → shared/src/api}/queries/review/getReview.d.ts +36 -36
  552. package/dist/types/{api → shared/src/api}/queries/review/updateReview.d.ts +13 -13
  553. package/dist/types/{api → shared/src/api}/queries/system/getSystem.d.ts +39 -39
  554. package/dist/types/{api → shared/src/api}/queries/userDashboard/getUserDashboard.d.ts +69 -53
  555. package/dist/types/{api → shared/src/api}/queries/users/getUsers.d.ts +126 -110
  556. package/dist/types/{api → shared/src/api}/queries/watchers/getWatchers.d.ts +20 -20
  557. package/dist/types/shared/src/components/AttributeEditor/AttributeEditor.d.ts +18 -0
  558. package/dist/types/shared/src/components/AttributeEditor/components/MinMaxField.d.ts +14 -0
  559. package/dist/types/shared/src/components/AttributeEditor/components/index.d.ts +1 -0
  560. package/dist/types/shared/src/components/AttributeEditor/index.d.ts +1 -0
  561. package/dist/types/shared/src/components/EnumEditor/DraggableEnumEditorItem.d.ts +10 -0
  562. package/dist/types/shared/src/components/EnumEditor/EnumEditor.d.ts +22 -0
  563. package/dist/types/shared/src/components/EnumEditor/EnumEditor.styled.d.ts +23 -0
  564. package/dist/types/shared/src/components/EnumEditor/hooks/useDraggable.d.ts +17 -0
  565. package/dist/types/shared/src/components/EnumEditor/index.d.ts +1 -0
  566. package/dist/types/shared/src/components/EnumEditor/util/index.d.ts +1 -0
  567. package/dist/types/shared/src/components/ProjectTableSettings/ColumnItem.d.ts +14 -0
  568. package/dist/types/shared/src/components/ProjectTableSettings/ColumnsSettings.d.ts +9 -0
  569. package/dist/types/shared/src/components/ProjectTableSettings/ProjectTableSettings.d.ts +18 -0
  570. package/dist/types/shared/src/components/ProjectTableSettings/SortableColumnItem.d.ts +13 -0
  571. package/dist/types/shared/src/components/ProjectTableSettings/index.d.ts +1 -0
  572. package/dist/types/shared/src/components/SettingsPanel/SettingsPanel.d.ts +16 -0
  573. package/dist/types/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.d.ts +20 -0
  574. package/dist/types/shared/src/components/SettingsPanel/index.d.ts +2 -0
  575. package/dist/types/{components → shared/src/components}/index.d.ts +4 -0
  576. package/dist/types/{containers → shared/src/containers}/Actions/Actions.d.ts +5 -1
  577. package/dist/types/{containers → shared/src/containers}/ContextMenu/ContextMenuItem.d.ts +3 -1
  578. package/dist/types/shared/src/containers/ProjectTreeTable/ProjectTreeTable.d.ts +39 -0
  579. package/dist/types/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +23 -0
  580. package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/CellEditingContext.d.ts +3 -3
  581. package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/ColumnSettingsContext.d.ts +6 -2
  582. package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/ProjectTableContext.d.ts +41 -34
  583. package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/ProjectTableQueriesContext.d.ts +3 -2
  584. package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/clipboard/clipboardTypes.d.ts +4 -1
  585. package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/clipboard/clipboardUtils.d.ts +2 -2
  586. package/dist/types/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +29 -0
  587. package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/hooks/useFolderRelationships.d.ts +7 -7
  588. package/dist/types/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.d.ts +6 -0
  589. package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/hooks/useHistory.d.ts +5 -3
  590. package/dist/types/shared/src/containers/ProjectTreeTable/hooks/useOverviewTable.d.ts +17 -0
  591. package/dist/types/{containers/ProjectTreeTable/hooks/useUpdateOverview.d.ts → shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.d.ts} +12 -3
  592. package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/index.d.ts +5 -1
  593. package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/types/index.d.ts +4 -6
  594. package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/types/table.d.ts +51 -12
  595. package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/utils/cellUtils.d.ts +2 -3
  596. package/dist/types/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.d.ts +16 -0
  597. package/dist/types/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.d.ts +5 -0
  598. package/dist/types/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.d.ts +14 -0
  599. package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/utils/index.d.ts +2 -0
  600. package/dist/types/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.d.ts +4 -0
  601. package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/widgets/BooleanWidget.d.ts +1 -2
  602. package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/widgets/CellWidget.d.ts +10 -0
  603. package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/widgets/DateWidget.d.ts +2 -3
  604. package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/widgets/EntityNameWidget.d.ts +1 -1
  605. package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/widgets/EnumWidget.d.ts +2 -2
  606. package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/widgets/TextWidget.d.ts +3 -1
  607. package/dist/types/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.d.ts +9 -0
  608. package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/widgets/index.d.ts +1 -0
  609. package/dist/types/shared/src/context/SettingsPanelContext.d.ts +20 -0
  610. package/dist/types/{context → shared/src/context}/index.d.ts +1 -0
  611. package/dist/types/shared/src/index.d.ts +2 -0
  612. package/dist/types/shared/src/util/getAttributeIcon.d.ts +4 -0
  613. package/dist/types/{util → shared/src/util}/index.d.ts +1 -0
  614. package/dist/types/util.d.ts +1 -1
  615. package/dist/util.cjs.js +2 -0
  616. package/dist/util.cjs.js.map +1 -1
  617. package/dist/util.es.js +2 -0
  618. package/dist/util.es.js.map +1 -1
  619. package/package.json +2 -1
  620. package/dist/_virtual/lodash.cjs.js +0 -6
  621. package/dist/_virtual/lodash.cjs.js.map +0 -1
  622. package/dist/_virtual/lodash.cjs2.js +0 -5
  623. package/dist/_virtual/lodash.cjs2.js.map +0 -1
  624. package/dist/_virtual/lodash.es.js +0 -6
  625. package/dist/_virtual/lodash.es.js.map +0 -1
  626. package/dist/_virtual/lodash.es2.js +0 -5
  627. package/dist/_virtual/lodash.es2.js.map +0 -1
  628. package/dist/shared/node_modules/lodash/lodash.cjs.js +0 -5492
  629. package/dist/shared/node_modules/lodash/lodash.cjs.js.map +0 -1
  630. package/dist/shared/node_modules/lodash/lodash.es.js +0 -5492
  631. package/dist/shared/node_modules/lodash/lodash.es.js.map +0 -1
  632. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTableColumns.cjs.js +0 -257
  633. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTableColumns.cjs.js.map +0 -1
  634. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTableColumns.es.js +0 -258
  635. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTableColumns.es.js.map +0 -1
  636. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateOverview.cjs.js.map +0 -1
  637. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateOverview.es.js.map +0 -1
  638. package/dist/shared/src/containers/ProjectTreeTable/hooks/useValidateUpdates.cjs.js +0 -69
  639. package/dist/shared/src/containers/ProjectTreeTable/hooks/useValidateUpdates.cjs.js.map +0 -1
  640. package/dist/shared/src/containers/ProjectTreeTable/hooks/useValidateUpdates.es.js +0 -70
  641. package/dist/shared/src/containers/ProjectTreeTable/hooks/useValidateUpdates.es.js.map +0 -1
  642. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +0 -26
  643. package/dist/types/containers/ProjectTreeTable/ProjectTreeTableColumns.d.ts +0 -16
  644. package/dist/types/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +0 -10
  645. package/dist/types/containers/ProjectTreeTable/hooks/useOverviewTable.d.ts +0 -32
  646. package/dist/types/containers/ProjectTreeTable/hooks/useValidateUpdates.d.ts +0 -3
  647. package/dist/types/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.d.ts +0 -4
  648. /package/dist/types/{api → shared/src/api}/base/baseQueryTypes.d.ts +0 -0
  649. /package/dist/types/{api → shared/src/api}/base/client.d.ts +0 -0
  650. /package/dist/types/{api → shared/src/api}/base/index.d.ts +0 -0
  651. /package/dist/types/{api → shared/src/api}/generated/index.d.ts +0 -0
  652. /package/dist/types/{api → shared/src/api}/index.d.ts +0 -0
  653. /package/dist/types/{api → shared/src/api}/queries/actions/index.d.ts +0 -0
  654. /package/dist/types/{api → shared/src/api}/queries/activities/activityQueries.d.ts +0 -0
  655. /package/dist/types/{api → shared/src/api}/queries/activities/index.d.ts +0 -0
  656. /package/dist/types/{api → shared/src/api}/queries/activities/types.d.ts +0 -0
  657. /package/dist/types/{api → shared/src/api}/queries/activities/util/activitiesHelpers.d.ts +0 -0
  658. /package/dist/types/{api → shared/src/api}/queries/addons/index.d.ts +0 -0
  659. /package/dist/types/{api → shared/src/api}/queries/attributes/index.d.ts +0 -0
  660. /package/dist/types/{api → shared/src/api}/queries/authentication/index.d.ts +0 -0
  661. /package/dist/types/{api → shared/src/api}/queries/entities/entityQueries.d.ts +0 -0
  662. /package/dist/types/{api → shared/src/api}/queries/entities/index.d.ts +0 -0
  663. /package/dist/types/{api → shared/src/api}/queries/folders/index.d.ts +0 -0
  664. /package/dist/types/{api → shared/src/api}/queries/overview/index.d.ts +0 -0
  665. /package/dist/types/{api → shared/src/api}/queries/project/ProjectTypes.d.ts +0 -0
  666. /package/dist/types/{api → shared/src/api}/queries/project/index.d.ts +0 -0
  667. /package/dist/types/{api → shared/src/api}/queries/review/index.d.ts +0 -0
  668. /package/dist/types/{api → shared/src/api}/queries/review/types.d.ts +0 -0
  669. /package/dist/types/{api → shared/src/api}/queries/system/index.d.ts +0 -0
  670. /package/dist/types/{api → shared/src/api}/queries/userDashboard/convertAccessGroupsData.d.ts +0 -0
  671. /package/dist/types/{api → shared/src/api}/queries/userDashboard/getUserProjectsAccess.d.ts +0 -0
  672. /package/dist/types/{api → shared/src/api}/queries/userDashboard/index.d.ts +0 -0
  673. /package/dist/types/{api → shared/src/api}/queries/users/index.d.ts +0 -0
  674. /package/dist/types/{api → shared/src/api}/queries/watchers/index.d.ts +0 -0
  675. /package/dist/types/{components → shared/src/components}/DetailsDialog/DetailsDialog.d.ts +0 -0
  676. /package/dist/types/{components → shared/src/components}/DetailsDialog/index.d.ts +0 -0
  677. /package/dist/types/{components → shared/src/components}/DetailsPanelAttributes/DetailsPanelAttributes.d.ts +0 -0
  678. /package/dist/types/{components → shared/src/components}/DetailsPanelAttributes/DetailsPanelAttributesEditor.d.ts +0 -0
  679. /package/dist/types/{components → shared/src/components}/DetailsPanelAttributes/components/RenderFieldWidget.d.ts +0 -0
  680. /package/dist/types/{components → shared/src/components}/DetailsPanelAttributes/formatAttributesData.d.ts +0 -0
  681. /package/dist/types/{components → shared/src/components}/DetailsPanelAttributes/index.d.ts +0 -0
  682. /package/dist/types/{components → shared/src/components}/EmptyPlaceholder/EmptyPlaceholder.d.ts +0 -0
  683. /package/dist/types/{components → shared/src/components}/EmptyPlaceholder/EmptyPlaceholderFlex.styled.d.ts +0 -0
  684. /package/dist/types/{components → shared/src/components}/EmptyPlaceholder/index.d.ts +0 -0
  685. /package/dist/types/{components → shared/src/components}/EntityPath/EntityPath.d.ts +0 -0
  686. /package/dist/types/{components → shared/src/components}/EntityPath/EntityPath.styled.d.ts +0 -0
  687. /package/dist/types/{components → shared/src/components}/EntityPath/SegmentProvider.d.ts +0 -0
  688. /package/dist/types/{components → shared/src/components}/EntityPath/index.d.ts +0 -0
  689. /package/dist/types/{components → shared/src/components}/EntityThumbnailUploader/EntityThumbnailUploader.d.ts +0 -0
  690. /package/dist/types/{components → shared/src/components}/EntityThumbnailUploader/EntityThumbnailUploader.styled.d.ts +0 -0
  691. /package/dist/types/{components → shared/src/components}/EntityThumbnailUploader/index.d.ts +0 -0
  692. /package/dist/types/{components → shared/src/components}/FileThumbnail/FileThumbnail.d.ts +0 -0
  693. /package/dist/types/{components → shared/src/components}/FileThumbnail/index.d.ts +0 -0
  694. /package/dist/types/{components → shared/src/components}/ReviewableCard/ReviewableCard.d.ts +0 -0
  695. /package/dist/types/{components → shared/src/components}/ReviewableCard/ReviewableCard.styled.d.ts +0 -0
  696. /package/dist/types/{components → shared/src/components}/ReviewableCard/index.d.ts +0 -0
  697. /package/dist/types/{components → shared/src/components}/ReviewableProgressCard/ReviewableProgressCard.d.ts +0 -0
  698. /package/dist/types/{components → shared/src/components}/ReviewableProgressCard/ReviewableProgressCard.styled.d.ts +0 -0
  699. /package/dist/types/{components → shared/src/components}/ReviewableProgressCard/index.d.ts +0 -0
  700. /package/dist/types/{components → shared/src/components}/ReviewablesList/EditReviewableDialog.d.ts +0 -0
  701. /package/dist/types/{components → shared/src/components}/ReviewablesList/ReviewablesList.d.ts +0 -0
  702. /package/dist/types/{components → shared/src/components}/ReviewablesList/ReviewablesList.styled.d.ts +0 -0
  703. /package/dist/types/{components → shared/src/components}/ReviewablesList/ReviewablesUpload.d.ts +0 -0
  704. /package/dist/types/{components → shared/src/components}/ReviewablesList/ReviewablesUpload.styled.d.ts +0 -0
  705. /package/dist/types/{components → shared/src/components}/ReviewablesList/SortableReviewableCard.d.ts +0 -0
  706. /package/dist/types/{components → shared/src/components}/ReviewablesList/getGroupedReviewables.d.ts +0 -0
  707. /package/dist/types/{components → shared/src/components}/ReviewablesList/index.d.ts +0 -0
  708. /package/dist/types/{components → shared/src/components}/SimpleFormDialog/SimpleFormDialog.d.ts +0 -0
  709. /package/dist/types/{components → shared/src/components}/SimpleFormDialog/index.d.ts +0 -0
  710. /package/dist/types/{components → shared/src/components}/Thumbnail/StackedThumbnails.d.ts +0 -0
  711. /package/dist/types/{components → shared/src/components}/Thumbnail/Thumbnail.d.ts +0 -0
  712. /package/dist/types/{components → shared/src/components}/Thumbnail/Thumbnail.styled.d.ts +0 -0
  713. /package/dist/types/{components → shared/src/components}/Thumbnail/index.d.ts +0 -0
  714. /package/dist/types/{components → shared/src/components}/ThumbnailSimple/ThumbnailSimple.d.ts +0 -0
  715. /package/dist/types/{components → shared/src/components}/ThumbnailSimple/index.d.ts +0 -0
  716. /package/dist/types/{components → shared/src/components}/ThumbnailUploader/ThumbnailUploader.d.ts +0 -0
  717. /package/dist/types/{components → shared/src/components}/ThumbnailUploader/ThumbnailUploader.styled.d.ts +0 -0
  718. /package/dist/types/{components → shared/src/components}/ThumbnailUploader/index.d.ts +0 -0
  719. /package/dist/types/{components → shared/src/components}/UserImage/UserImage.d.ts +0 -0
  720. /package/dist/types/{components → shared/src/components}/UserImage/index.d.ts +0 -0
  721. /package/dist/types/{components → shared/src/components}/Watchers/Watchers.d.ts +0 -0
  722. /package/dist/types/{components → shared/src/components}/Watchers/index.d.ts +0 -0
  723. /package/dist/types/{containers → shared/src/containers}/Actions/ActionConfigDialog.d.ts +0 -0
  724. /package/dist/types/{containers → shared/src/containers}/Actions/ActionIcon.d.ts +0 -0
  725. /package/dist/types/{containers → shared/src/containers}/Actions/Actions.styled.d.ts +0 -0
  726. /package/dist/types/{containers → shared/src/containers}/Actions/ActionsDropdown/ActionsDropdown.d.ts +0 -0
  727. /package/dist/types/{containers → shared/src/containers}/Actions/ActionsDropdown/ActionsDropdown.styled.d.ts +0 -0
  728. /package/dist/types/{containers → shared/src/containers}/Actions/ActionsDropdown/index.d.ts +0 -0
  729. /package/dist/types/{containers → shared/src/containers}/Actions/InteractiveActionDialog.d.ts +0 -0
  730. /package/dist/types/{containers → shared/src/containers}/Actions/index.d.ts +0 -0
  731. /package/dist/types/{containers → shared/src/containers}/ContextMenu/ContextMenuContext.d.ts +0 -0
  732. /package/dist/types/{containers → shared/src/containers}/ContextMenu/GlobalContextMenu.d.ts +0 -0
  733. /package/dist/types/{containers → shared/src/containers}/ContextMenu/index.d.ts +0 -0
  734. /package/dist/types/{containers → shared/src/containers}/ContextMenu/useCreateContextMenu.d.ts +0 -0
  735. /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanel.d.ts +0 -0
  736. /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanel.styled.d.ts +0 -0
  737. /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.d.ts +0 -0
  738. /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanelFiles/index.d.ts +0 -0
  739. /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.d.ts +0 -0
  740. /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.d.ts +0 -0
  741. /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanelFloating/index.d.ts +0 -0
  742. /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.d.ts +0 -0
  743. /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.d.ts +0 -0
  744. /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanelHeader/index.d.ts +0 -0
  745. /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.d.ts +0 -0
  746. /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.d.ts +0 -0
  747. /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanelSlideOut/index.d.ts +0 -0
  748. /package/dist/types/{containers → shared/src/containers}/DetailsPanel/FeedFilters/FeedFilters.d.ts +0 -0
  749. /package/dist/types/{containers → shared/src/containers}/DetailsPanel/FeedFilters/FeedFilters.styled.d.ts +0 -0
  750. /package/dist/types/{containers → shared/src/containers}/DetailsPanel/FeedWrapper.d.ts +0 -0
  751. /package/dist/types/{containers → shared/src/containers}/DetailsPanel/helpers/buildDetailsPanelTitles.d.ts +0 -0
  752. /package/dist/types/{containers → shared/src/containers}/DetailsPanel/helpers/getAllProjectsStatuses.d.ts +0 -0
  753. /package/dist/types/{containers → shared/src/containers}/DetailsPanel/helpers/getEntityPathData.d.ts +0 -0
  754. /package/dist/types/{containers → shared/src/containers}/DetailsPanel/helpers/getThumbnails.d.ts +0 -0
  755. /package/dist/types/{containers → shared/src/containers}/DetailsPanel/helpers/mergeProjectInfo.d.ts +0 -0
  756. /package/dist/types/{containers → shared/src/containers}/DetailsPanel/hooks/useGetEntityPath.d.ts +0 -0
  757. /package/dist/types/{containers → shared/src/containers}/DetailsPanel/index.d.ts +0 -0
  758. /package/dist/types/{containers → shared/src/containers}/Feed/Feed.d.ts +0 -0
  759. /package/dist/types/{containers → shared/src/containers}/Feed/Feed.styled.d.ts +0 -0
  760. /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.d.ts +0 -0
  761. /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.d.ts +0 -0
  762. /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityAssigneeChange/index.d.ts +0 -0
  763. /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityCheckbox/ActivityCheckbox.d.ts +0 -0
  764. /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityCheckbox/ActivityCheckbox.styled.d.ts +0 -0
  765. /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityCheckbox/index.d.ts +0 -0
  766. /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityComment/ActivityComment.d.ts +0 -0
  767. /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityComment/ActivityComment.styled.d.ts +0 -0
  768. /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityComment/ActivityMarkdownComponents.d.ts +0 -0
  769. /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityComment/CommentWrapper.d.ts +0 -0
  770. /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityComment/mappers.d.ts +0 -0
  771. /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityDate.d.ts +0 -0
  772. /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityGroup/ActivityGroup.d.ts +0 -0
  773. /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityGroup/ActivityGroup.styled.d.ts +0 -0
  774. /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityHeader/ActivityHeader.d.ts +0 -0
  775. /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityHeader/ActivityHeader.styled.d.ts +0 -0
  776. /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityItem.d.ts +0 -0
  777. /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityReference/ActivityReference.d.ts +0 -0
  778. /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityReference/ActivityReference.styled.d.ts +0 -0
  779. /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityReferenceTooltip/ActivityReferenceTooltip.d.ts +0 -0
  780. /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityReferenceTooltip/index.d.ts +0 -0
  781. /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityStatus/ActivityStatus.d.ts +0 -0
  782. /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityStatusChange/ActivityStatusChange.d.ts +0 -0
  783. /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityStatusChange/ActivityStatusChange.styled.d.ts +0 -0
  784. /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityStatusChange/hooks/getContextParents.d.ts +0 -0
  785. /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityVersions/ActivityVersions.d.ts +0 -0
  786. /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityVersions/ActivityVersions.styled.d.ts +0 -0
  787. /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/CommentInput.d.ts +0 -0
  788. /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/CommentInput.styled.d.ts +0 -0
  789. /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/InputMarkdownConvert.d.ts +0 -0
  790. /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/helpers.d.ts +0 -0
  791. /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/hooks/useAnnotationsSync.d.ts +0 -0
  792. /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/hooks/useAnnotationsUpload.d.ts +0 -0
  793. /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/hooks/useInitialValue.d.ts +0 -0
  794. /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/hooks/useMentionLink.d.ts +0 -0
  795. /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/hooks/useSetCursorEnd.d.ts +0 -0
  796. /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/index.d.ts +0 -0
  797. /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/modules/ImageUploader.d.ts +0 -0
  798. /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/modules/index.d.ts +0 -0
  799. /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/quillToMarkdown.d.ts +0 -0
  800. /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentMentionSelect/CommentMentionSelect.d.ts +0 -0
  801. /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentMentionSelect/CommentMentionSelect.styled.d.ts +0 -0
  802. /package/dist/types/{containers → shared/src/containers}/Feed/components/FileUploadCard/FileUploadCard.d.ts +0 -0
  803. /package/dist/types/{containers → shared/src/containers}/Feed/components/FileUploadCard/FileUploadCard.styled.d.ts +0 -0
  804. /package/dist/types/{containers → shared/src/containers}/Feed/components/FileUploadCard/index.d.ts +0 -0
  805. /package/dist/types/{containers → shared/src/containers}/Feed/components/FileUploadPreview/FileUploadPreview.d.ts +0 -0
  806. /package/dist/types/{containers → shared/src/containers}/Feed/components/FileUploadPreview/FileUploadPreview.styled.d.ts +0 -0
  807. /package/dist/types/{containers → shared/src/containers}/Feed/components/FileUploadPreview/Mimes/ImageMime.d.ts +0 -0
  808. /package/dist/types/{containers → shared/src/containers}/Feed/components/FileUploadPreview/Mimes/TextMime.d.ts +0 -0
  809. /package/dist/types/{containers → shared/src/containers}/Feed/components/FileUploadPreview/fileUtils.d.ts +0 -0
  810. /package/dist/types/{containers → shared/src/containers}/Feed/components/FileUploadPreview/hooks/useAttachmentNavigation.d.ts +0 -0
  811. /package/dist/types/{containers → shared/src/containers}/Feed/components/FileUploadPreview/index.d.ts +0 -0
  812. /package/dist/types/{containers → shared/src/containers}/Feed/components/FilesGrid/FilesGrid.d.ts +0 -0
  813. /package/dist/types/{containers → shared/src/containers}/Feed/components/FilesGrid/FilesGrid.styled.d.ts +0 -0
  814. /package/dist/types/{containers → shared/src/containers}/Feed/components/FilesGrid/index.d.ts +0 -0
  815. /package/dist/types/{containers → shared/src/containers}/Feed/components/ReactionContainer/ExistingReactions.d.ts +0 -0
  816. /package/dist/types/{containers → shared/src/containers}/Feed/components/ReactionContainer/Reaction.d.ts +0 -0
  817. /package/dist/types/{containers → shared/src/containers}/Feed/components/ReactionContainer/ReactionPanelOpener.d.ts +0 -0
  818. /package/dist/types/{containers → shared/src/containers}/Feed/components/ReactionContainer/Reactions.d.ts +0 -0
  819. /package/dist/types/{containers → shared/src/containers}/Feed/components/ReactionContainer/Reactions.styled.d.ts +0 -0
  820. /package/dist/types/{containers → shared/src/containers}/Feed/components/ReactionContainer/helpers.d.ts +0 -0
  821. /package/dist/types/{containers → shared/src/containers}/Feed/components/ReactionContainer/types.d.ts +0 -0
  822. /package/dist/types/{containers → shared/src/containers}/Feed/components/Tooltips/EntityTooltip/EntityTooltip.d.ts +0 -0
  823. /package/dist/types/{containers → shared/src/containers}/Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.d.ts +0 -0
  824. /package/dist/types/{containers → shared/src/containers}/Feed/components/Tooltips/UserTooltip/UserTooltip.d.ts +0 -0
  825. /package/dist/types/{containers → shared/src/containers}/Feed/components/Tooltips/UserTooltip/UserTooltip.styled.d.ts +0 -0
  826. /package/dist/types/{containers → shared/src/containers}/Feed/context/FeedContext.d.ts +0 -0
  827. /package/dist/types/{containers → shared/src/containers}/Feed/feedHelpers.d.ts +0 -0
  828. /package/dist/types/{containers → shared/src/containers}/Feed/helpers/groupActivityVersions.d.ts +0 -0
  829. /package/dist/types/{containers → shared/src/containers}/Feed/helpers/groupMinorActivities.d.ts +0 -0
  830. /package/dist/types/{containers → shared/src/containers}/Feed/helpers/mergeSimilarActivities.d.ts +0 -0
  831. /package/dist/types/{containers → shared/src/containers}/Feed/hooks/useCommentMutations.d.ts +0 -0
  832. /package/dist/types/{containers → shared/src/containers}/Feed/hooks/useGetFeedActivitiesData.d.ts +0 -0
  833. /package/dist/types/{containers → shared/src/containers}/Feed/hooks/useReferenceTooltip.d.ts +0 -0
  834. /package/dist/types/{containers → shared/src/containers}/Feed/hooks/useSaveScrollPos.d.ts +0 -0
  835. /package/dist/types/{containers → shared/src/containers}/Feed/hooks/useScrollOnInputOpen.d.ts +0 -0
  836. /package/dist/types/{containers → shared/src/containers}/Feed/hooks/useScrollToHighlighted.d.ts +0 -0
  837. /package/dist/types/{containers → shared/src/containers}/Feed/hooks/useTableKeyboardNavigation.d.ts +0 -0
  838. /package/dist/types/{containers → shared/src/containers}/Feed/hooks/useTransformActivities.d.ts +0 -0
  839. /package/dist/types/{containers → shared/src/containers}/Feed/index.d.ts +0 -0
  840. /package/dist/types/{containers → shared/src/containers}/Feed/mentionHelpers/getMentionOptions.d.ts +0 -0
  841. /package/dist/types/{containers → shared/src/containers}/Feed/mentionHelpers/getMentionTasks.d.ts +0 -0
  842. /package/dist/types/{containers → shared/src/containers}/Feed/mentionHelpers/getMentionUsers.d.ts +0 -0
  843. /package/dist/types/{containers → shared/src/containers}/Feed/mentionHelpers/getMentionVersions.d.ts +0 -0
  844. /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/ProjectTreeTable.styled.d.ts +0 -0
  845. /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/components/HeaderActionButton.d.ts +0 -0
  846. /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/components/RowSelectionHeader.d.ts +0 -0
  847. /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/components/SelectionCell.d.ts +0 -0
  848. /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/ClipboardContext.d.ts +0 -0
  849. /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/ProjectTableSelectionContext.d.ts +0 -0
  850. /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/SelectedRowsContext.d.ts +0 -0
  851. /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/SelectionCellsContext.d.ts +0 -0
  852. /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/clipboard/clipboardValidation.d.ts +0 -0
  853. /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/clipboard/index.d.ts +0 -0
  854. /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/index.d.ts +0 -0
  855. /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/hooks/useColumnVirtualization.d.ts +0 -0
  856. /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/hooks/useCustomColumnWidthVars.d.ts +0 -0
  857. /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/hooks/useDeleteEntities.d.ts +0 -0
  858. /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/hooks/useKeyboardNavigation.d.ts +0 -0
  859. /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/hooks/usePrefetchFolderTasks.d.ts +0 -0
  860. /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/types/folders.d.ts +0 -0
  861. /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/types/operations.d.ts +0 -0
  862. /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/types/project.d.ts +0 -0
  863. /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/utils/loadingUtils.d.ts +0 -0
  864. /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/widgets/CollapsedWidget.d.ts +0 -0
  865. /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/widgets/DateWidgetInput.d.ts +0 -0
  866. /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/widgets/TextWidgetInput.d.ts +0 -0
  867. /package/dist/types/{containers → shared/src/containers}/RepresentationsList/RepresentationsList.d.ts +0 -0
  868. /package/dist/types/{containers → shared/src/containers}/RepresentationsList/index.d.ts +0 -0
  869. /package/dist/types/{containers → shared/src/containers}/RepresentationsList/versionsToRepresentations.d.ts +0 -0
  870. /package/dist/types/{containers → shared/src/containers}/Slicer/createFilterFromSlicer.d.ts +0 -0
  871. /package/dist/types/{containers → shared/src/containers}/Slicer/index.d.ts +0 -0
  872. /package/dist/types/{containers → shared/src/containers}/Slicer/types.d.ts +0 -0
  873. /package/dist/types/{containers → shared/src/containers}/index.d.ts +0 -0
  874. /package/dist/types/{context → shared/src/context}/DetailsPanelContext.d.ts +0 -0
  875. /package/dist/types/{context → shared/src/context}/RemoteModulesContext.d.ts +0 -0
  876. /package/dist/types/{context → shared/src/context}/ThumbnailUploaderContext.d.ts +0 -0
  877. /package/dist/types/{context → shared/src/context}/pip/PiPProvider.d.ts +0 -0
  878. /package/dist/types/{context → shared/src/context}/pip/PiPWindow.d.ts +0 -0
  879. /package/dist/types/{context → shared/src/context}/pip/PiPWrapper.d.ts +0 -0
  880. /package/dist/types/{context → shared/src/context}/pip/index.d.ts +0 -0
  881. /package/dist/types/{hooks → shared/src/hooks}/index.d.ts +0 -0
  882. /package/dist/types/{hooks → shared/src/hooks}/useActionTriggers.d.ts +0 -0
  883. /package/dist/types/{hooks → shared/src/hooks}/useEntityUpdate.d.ts +0 -0
  884. /package/dist/types/{hooks → shared/src/hooks}/useLoadModule.d.ts +0 -0
  885. /package/dist/types/{hooks → shared/src/hooks}/useLoadModules.d.ts +0 -0
  886. /package/dist/types/{hooks → shared/src/hooks}/useLocalStorage.d.ts +0 -0
  887. /package/dist/types/{hooks → shared/src/hooks}/useScopedStatuses.d.ts +0 -0
  888. /package/dist/types/{util → shared/src/util}/confirmDelete.d.ts +0 -0
  889. /package/dist/types/{util → shared/src/util}/copyToClipboard.d.ts +0 -0
  890. /package/dist/types/{util → shared/src/util}/getEntityTypeIcon.d.ts +0 -0
  891. /package/dist/types/{util → shared/src/util}/getMixedState.d.ts +0 -0
  892. /package/dist/types/{util → shared/src/util}/getPriorityOptions.d.ts +0 -0
  893. /package/dist/types/{util → shared/src/util}/groupResult.d.ts +0 -0
  894. /package/dist/types/{util → shared/src/util}/platform.d.ts +0 -0
  895. /package/dist/types/{util → shared/src/util}/productTypes.d.ts +0 -0
  896. /package/dist/types/{util → shared/src/util}/pubsub.d.ts +0 -0
@@ -1,27 +1,19 @@
1
1
  import { j as jsxRuntimeExports } from "../../../../../_virtual/jsx-runtime.es.js";
2
- import { createContext, useMemo, useCallback, useEffect, useContext } from "react";
2
+ import { createContext, useCallback, useEffect, useMemo, useContext } from "react";
3
3
  import { useSelectionCellsContext, ROW_SELECTION_COLUMN_ID } from "./SelectionCellsContext.es.js";
4
4
  import { useCellEditing } from "./CellEditingContext.es.js";
5
- import { parseCellId, getCellValue } from "../utils/cellUtils.es.js";
5
+ import { parseCellId, getCellValue, getEntityDataById } from "../utils/cellUtils.es.js";
6
6
  import { getEntityPath, clipboardError, parseClipboardText, processFieldValue } from "./clipboard/clipboardUtils.es.js";
7
7
  import { validateClipboardData } from "./clipboard/clipboardValidation.es.js";
8
- import { useProjectTableContext } from "./ProjectTableContext.es.js";
9
8
  const ClipboardContext = createContext(void 0);
10
- const ClipboardProvider = ({ children, options }) => {
11
- const { foldersMap, tasksMap, attribFields } = useProjectTableContext();
9
+ const ClipboardProvider = ({
10
+ children,
11
+ entitiesMap,
12
+ columnEnums,
13
+ columnReadOnly
14
+ }) => {
12
15
  const { selectedCells, gridMap, focusedCellId } = useSelectionCellsContext();
13
16
  const { updateEntities } = useCellEditing();
14
- const attribByField = useMemo(() => {
15
- return attribFields.reduce((acc, attrib) => {
16
- var _a, _b, _c;
17
- if ((_b = (_a = attrib.data) == null ? void 0 : _a.enum) == null ? void 0 : _b.length) {
18
- acc[attrib.name] = (_c = attrib.data) == null ? void 0 : _c.enum;
19
- }
20
- return acc;
21
- }, {});
22
- }, [attribFields]);
23
- const columnEnums = useMemo(() => ({ ...options, ...attribByField }), [attribByField]);
24
- const columnReadOnly = attribFields.filter((attrib) => attrib.readOnly).map((attrib) => attrib.name);
25
17
  const getSelectionData = useCallback(
26
18
  async (selected, config) => {
27
19
  const { headers, fullRow } = config || {};
@@ -81,8 +73,7 @@ const ClipboardProvider = ({ children, options }) => {
81
73
  clipboardText += headerValues.join(" ") + "\n";
82
74
  }
83
75
  for (const rowId of sortedRows) {
84
- const isFolder = foldersMap.has(rowId);
85
- const entity = isFolder ? foldersMap.get(rowId) : tasksMap.get(rowId);
76
+ const entity = entitiesMap.get(rowId);
86
77
  if (!entity) continue;
87
78
  const colIds2 = Array.from(cellsByRow.get(rowId) || []).sort((a, b) => {
88
79
  const indexA = gridMap.colIdToIndex.get(a) ?? Infinity;
@@ -96,7 +87,7 @@ const ClipboardProvider = ({ children, options }) => {
96
87
  const foundValue = getCellValue(entity, colId);
97
88
  cellValue = foundValue !== void 0 && foundValue !== null ? String(foundValue) : "";
98
89
  if (colId === "name") {
99
- cellValue = getEntityPath(rowId, isFolder, foldersMap, tasksMap);
90
+ cellValue = getEntityPath(rowId, entitiesMap);
100
91
  }
101
92
  if (colId === "subType") {
102
93
  cellValue = entity[isFolder ? "folderType" : "taskType"] || "";
@@ -110,7 +101,7 @@ const ClipboardProvider = ({ children, options }) => {
110
101
  console.error("Failed to copy to clipboard:", error);
111
102
  }
112
103
  },
113
- [selectedCells, focusedCellId, gridMap, foldersMap, tasksMap]
104
+ [selectedCells, focusedCellId, gridMap, entitiesMap]
114
105
  );
115
106
  const copyToClipboard = useCallback(
116
107
  async (selected, fullRow) => {
@@ -133,7 +124,7 @@ const ClipboardProvider = ({ children, options }) => {
133
124
  clipboardError(`Failed to copy to clipboard: ${error.message}`);
134
125
  }
135
126
  },
136
- [selectedCells, foldersMap, tasksMap, gridMap]
127
+ [selectedCells, entitiesMap, gridMap]
137
128
  );
138
129
  const exportCSV = useCallback(
139
130
  async (selected, projectName, fullRow) => {
@@ -154,10 +145,11 @@ const ClipboardProvider = ({ children, options }) => {
154
145
  console.error("Failed to copy to clipboard:", error);
155
146
  }
156
147
  },
157
- [selectedCells, foldersMap, tasksMap, gridMap, getSelectionData]
148
+ [selectedCells, entitiesMap, gridMap, getSelectionData]
158
149
  );
159
150
  const pasteFromClipboard = useCallback(
160
151
  async (selected) => {
152
+ var _a, _b;
161
153
  selected = selected || Array.from(selectedCells);
162
154
  if (!selected.length) return;
163
155
  if (!navigator.clipboard) {
@@ -175,20 +167,19 @@ const ClipboardProvider = ({ children, options }) => {
175
167
  clipboardError(`Failed to read from clipboard: ${error.message}`);
176
168
  return;
177
169
  }
178
- if (!clipboardText.trim()) return;
179
170
  const parsedData = parseClipboardText(clipboardText);
180
171
  if (!parsedData.length) return;
181
172
  const isSingleCellValue = parsedData.length === 1 && parsedData[0].values.length === 1;
182
173
  const cellsByRow = /* @__PURE__ */ new Map();
183
174
  Array.from(selected).forEach((cellId) => {
184
- var _a;
175
+ var _a2;
185
176
  const position = parseCellId(cellId);
186
177
  if (!position) return;
187
178
  const { rowId, colId } = position;
188
179
  if (!cellsByRow.has(rowId)) {
189
180
  cellsByRow.set(rowId, /* @__PURE__ */ new Set());
190
181
  }
191
- (_a = cellsByRow.get(rowId)) == null ? void 0 : _a.add(colId);
182
+ (_a2 = cellsByRow.get(rowId)) == null ? void 0 : _a2.add(colId);
192
183
  });
193
184
  const sortedRows = Array.from(cellsByRow.keys()).sort((a, b) => {
194
185
  const indexA = gridMap.rowIdToIndex.get(a) ?? Infinity;
@@ -205,7 +196,7 @@ const ClipboardProvider = ({ children, options }) => {
205
196
  const colId = selectedColIds[colIndex];
206
197
  for (let rowIndex = 0; rowIndex < sortedRows.length; rowIndex++) {
207
198
  const rowId = sortedRows[rowIndex];
208
- const isFolder = foldersMap.has(rowId);
199
+ const isFolder2 = ((_a = getEntityDataById(rowId, entitiesMap)) == null ? void 0 : _a.entityType) === "folder";
209
200
  let pasteValue;
210
201
  if (isSingleCellValue) {
211
202
  pasteValue = parsedData[0].values[0];
@@ -216,7 +207,7 @@ const ClipboardProvider = ({ children, options }) => {
216
207
  }
217
208
  const isValid = validateClipboardData({
218
209
  colId,
219
- isFolder,
210
+ isFolder: isFolder2,
220
211
  pasteValue,
221
212
  parsedData,
222
213
  columnEnums,
@@ -228,7 +219,7 @@ const ClipboardProvider = ({ children, options }) => {
228
219
  if (!isValid) return;
229
220
  }
230
221
  }
231
- const entitiesMap = /* @__PURE__ */ new Map();
222
+ const entitiesToUpdateMap = /* @__PURE__ */ new Map();
232
223
  for (let colIndex = 0; colIndex < selectedColIds.length; colIndex++) {
233
224
  const colId = selectedColIds[colIndex];
234
225
  if (colId === "name") continue;
@@ -236,8 +227,7 @@ const ClipboardProvider = ({ children, options }) => {
236
227
  let fieldValueType = "string";
237
228
  if (sortedRows.length > 0) {
238
229
  const firstRowId = sortedRows[0];
239
- const isFolder = foldersMap.has(firstRowId);
240
- const entity = isFolder ? foldersMap.get(firstRowId) : tasksMap.get(firstRowId);
230
+ const entity = entitiesMap.get(firstRowId);
241
231
  if (entity) {
242
232
  isAttrib = colId.startsWith("attrib_");
243
233
  const fieldValue = getCellValue(entity, colId);
@@ -255,8 +245,8 @@ const ClipboardProvider = ({ children, options }) => {
255
245
  }
256
246
  for (let rowIndex = 0; rowIndex < sortedRows.length; rowIndex++) {
257
247
  const rowId = sortedRows[rowIndex];
258
- const isFolder = foldersMap.has(rowId);
259
- const entityType = isFolder ? "folder" : "task";
248
+ const entityType = (_b = getEntityDataById(rowId, entitiesMap)) == null ? void 0 : _b.entityType;
249
+ const isFolder2 = entityType === "folder";
260
250
  let pasteValue;
261
251
  if (isSingleCellValue) {
262
252
  pasteValue = parsedData[0].values[0];
@@ -267,21 +257,22 @@ const ClipboardProvider = ({ children, options }) => {
267
257
  }
268
258
  let fieldToUpdate = colId.split("_").pop() || colId;
269
259
  if (colId === "subType") {
270
- fieldToUpdate = isFolder ? "folderType" : "taskType";
260
+ fieldToUpdate = isFolder2 ? "folderType" : "taskType";
271
261
  isAttrib = false;
272
262
  if (!pasteValue) continue;
273
263
  }
274
264
  const processedValue = processFieldValue(pasteValue, fieldValueType);
275
265
  const entityKey = `${rowId}-${entityType}`;
276
- if (!entitiesMap.has(entityKey)) {
277
- entitiesMap.set(entityKey, {
266
+ if (!entitiesToUpdateMap.has(entityKey) && entityType) {
267
+ entitiesToUpdateMap.set(entityKey, {
268
+ rowId,
278
269
  id: rowId,
279
270
  type: entityType,
280
271
  fields: {},
281
272
  attrib: {}
282
273
  });
283
274
  }
284
- const entityData = entitiesMap.get(entityKey);
275
+ const entityData = entitiesToUpdateMap.get(entityKey);
285
276
  if (isAttrib) {
286
277
  entityData.attrib[fieldToUpdate] = processedValue;
287
278
  } else {
@@ -290,9 +281,10 @@ const ClipboardProvider = ({ children, options }) => {
290
281
  }
291
282
  }
292
283
  const allEntityUpdates = [];
293
- entitiesMap.forEach((entity) => {
284
+ entitiesToUpdateMap.forEach((entity) => {
294
285
  Object.entries(entity.fields).forEach(([field, value2]) => {
295
286
  allEntityUpdates.push({
287
+ rowId: entity.rowId,
296
288
  id: entity.id,
297
289
  type: entity.type,
298
290
  field,
@@ -301,6 +293,7 @@ const ClipboardProvider = ({ children, options }) => {
301
293
  });
302
294
  Object.entries(entity.attrib).forEach(([field, value2]) => {
303
295
  allEntityUpdates.push({
296
+ rowId: entity.rowId,
304
297
  id: entity.id,
305
298
  type: entity.type,
306
299
  field,
@@ -320,7 +313,7 @@ const ClipboardProvider = ({ children, options }) => {
320
313
  }
321
314
  }
322
315
  },
323
- [selectedCells, gridMap, foldersMap, tasksMap, updateEntities, columnEnums]
316
+ [selectedCells, gridMap, entitiesMap, updateEntities, columnEnums]
324
317
  );
325
318
  useEffect(() => {
326
319
  const handleKeyDown = (e) => {
@@ -1 +1 @@
1
- {"version":3,"file":"ClipboardContext.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/ClipboardContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useCallback, useMemo, useEffect } from 'react'\n\n// Contexts\nimport { ROW_SELECTION_COLUMN_ID, useSelectionCellsContext } from './SelectionCellsContext'\nimport { useCellEditing } from './CellEditingContext'\n\n// Utils\nimport { getCellValue, parseCellId } from '../utils/cellUtils'\n\n// Types\nimport { EntityUpdate } from '../hooks/useUpdateOverview'\n\n// Import from the new modular files\nimport {\n getEntityPath,\n parseClipboardText,\n clipboardError,\n processFieldValue,\n} from './clipboard/clipboardUtils'\nimport { validateClipboardData } from './clipboard/clipboardValidation'\nimport { ClipboardContextType, ClipboardProviderProps } from './clipboard/clipboardTypes'\nimport { useProjectTableContext } from './ProjectTableContext'\nimport { AttributeEnumItem } from '@shared/api'\n\nconst ClipboardContext = createContext<ClipboardContextType | undefined>(undefined)\n\nexport const ClipboardProvider: React.FC<ClipboardProviderProps> = ({ children, options }) => {\n const { foldersMap, tasksMap, attribFields } = useProjectTableContext()\n // Get selection information from SelectionCellsContext\n const { selectedCells, gridMap, focusedCellId } = useSelectionCellsContext()\n const { updateEntities } = useCellEditing()\n\n // convert attribs to object\n const attribByField = useMemo(() => {\n return attribFields.reduce((acc: Record<string, AttributeEnumItem[]>, attrib) => {\n if (attrib.data?.enum?.length) {\n acc[attrib.name] = attrib.data?.enum\n }\n return acc\n }, {})\n }, [attribFields])\n\n const columnEnums = useMemo(() => ({ ...options, ...attribByField }), [attribByField])\n\n const columnReadOnly = attribFields\n .filter((attrib) => attrib.readOnly)\n .map((attrib) => attrib.name)\n\n const getSelectionData = useCallback(\n async (selected: string[], config?: { headers?: boolean; fullRow?: boolean }) => {\n const { headers, fullRow } = config || {}\n try {\n // First, organize selected cells by row\n const cellsByRow = new Map<string, Set<string>>()\n\n // Parse all selected cells and organize by rowId and colId\n selected.forEach((cellId) => {\n const position = parseCellId(cellId)\n if (!position) return\n\n const { rowId, colId } = position\n\n // do not include row selection column\n if (colId === ROW_SELECTION_COLUMN_ID) return\n\n if (!cellsByRow.has(rowId)) {\n cellsByRow.set(rowId, new Set())\n }\n\n cellsByRow.get(rowId)?.add(colId)\n })\n\n if (fullRow) {\n const selectedRows = selected\n .filter(\n (cellId) =>\n parseCellId(cellId)?.rowId &&\n parseCellId(cellId)?.colId === ROW_SELECTION_COLUMN_ID,\n )\n .map((cellId) => parseCellId(cellId)?.rowId) as string[]\n\n // select the whole row\n // For rows with selection cells, add all available columns\n selectedRows.forEach((rowId) => {\n // add the rowId if it doesn't exist\n if (!cellsByRow.has(rowId)) {\n cellsByRow.set(rowId, new Set())\n }\n const allColumns = Array.from(gridMap.colIdToIndex.keys())\n allColumns.forEach((colId) => {\n cellsByRow.get(rowId)?.add(colId)\n })\n })\n }\n\n // Get sorted row IDs based on their index in the grid\n const sortedRows = Array.from(cellsByRow.keys()).sort((a, b) => {\n const indexA = gridMap.rowIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.rowIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // Build clipboard text\n let clipboardText = ''\n\n // Get the first row to determine columns\n const firstRowId = sortedRows[0]\n if (!firstRowId) return ''\n\n // Get all column IDs for the first row, sorted by their index in the grid\n const colIds = Array.from(cellsByRow.get(firstRowId) || []).sort((a, b) => {\n const indexA = gridMap.colIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.colIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // Include headers if requested\n if (headers && colIds.length > 0) {\n const headerValues: string[] = []\n\n for (const colId of colIds) {\n // Use colId as the column name since we don't have direct access to column names\n const columnName = colId\n headerValues.push(`${columnName.replace(/\"/g, '\"\"')}`)\n }\n\n clipboardText += headerValues.join('\\t') + '\\n'\n }\n\n for (const rowId of sortedRows) {\n // Determine if this is a folder or task by checking which map contains the ID\n const isFolder = foldersMap.has(rowId)\n const entity = isFolder ? foldersMap.get(rowId) : tasksMap.get(rowId)\n\n if (!entity) continue\n\n // Get all column IDs for this row, sorted by their index in the grid\n const colIds = Array.from(cellsByRow.get(rowId) || []).sort((a, b) => {\n const indexA = gridMap.colIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.colIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // Filter out the row selection column from the copied data\n const filteredColIds = colIds.filter((colId) => colId !== ROW_SELECTION_COLUMN_ID)\n\n const rowValues: string[] = []\n\n // For each column in this row\n for (const colId of filteredColIds) {\n // Determine the value based on the column ID\n let cellValue = ''\n // @ts-ignore\n const foundValue = getCellValue(entity, colId)\n cellValue = foundValue !== undefined && foundValue !== null ? String(foundValue) : ''\n\n // Special handling for name field - include full path\n if (colId === 'name') {\n cellValue = getEntityPath(rowId, isFolder, foldersMap, tasksMap)\n }\n\n if (colId === 'subType') {\n // get folderType or taskType\n // @ts-ignore\n cellValue = entity[isFolder ? 'folderType' : 'taskType'] || ''\n }\n\n // Escape double quotes in the cell value and wrap in quotes\n rowValues.push(`${cellValue.replace(/\"/g, '\"\"')}`)\n }\n\n // Add row to clipboard text\n clipboardText += rowValues.join('\\t') + '\\n'\n }\n\n return clipboardText\n } catch (error) {\n console.error('Failed to copy to clipboard:', error)\n }\n },\n [selectedCells, focusedCellId, gridMap, foldersMap, tasksMap],\n )\n\n const copyToClipboard: ClipboardContextType['copyToClipboard'] = useCallback(\n async (selected, fullRow) => {\n selected = selected || Array.from(selectedCells)\n if (!selected.length) return\n const clipboardText = await getSelectionData(selected, { fullRow })\n if (!clipboardText) return\n if (!navigator.clipboard) {\n clipboardError('Clipboard API not supported in this browser.')\n return\n }\n if (!window.isSecureContext) {\n clipboardError('Clipboard operations require a secure HTTPS context.')\n return\n }\n try {\n await navigator.clipboard.writeText(clipboardText)\n console.log('Copied to clipboard successfully', clipboardText)\n } catch (error: any) {\n clipboardError(`Failed to copy to clipboard: ${error.message}`)\n }\n },\n [selectedCells, foldersMap, tasksMap, gridMap],\n )\n\n const exportCSV: ClipboardContextType['exportCSV'] = useCallback(\n async (selected, projectName, fullRow) => {\n selected = selected || Array.from(selectedCells)\n if (!selected.length) return\n\n try {\n // Get clipboard text with headers included for CSV export\n const clipboardText = await getSelectionData(selected, { headers: true, fullRow })\n if (!clipboardText) return\n\n // create a csv file and download it\n const blob = new Blob([clipboardText], { type: 'text/csv' })\n const url = URL.createObjectURL(blob)\n const a = document.createElement('a')\n a.href = url\n const selectedCount = selected.length\n a.download = `${projectName}-export-${selectedCount}_cells-${new Date()\n .toISOString()\n .slice(0, 10)}.csv`\n a.click()\n URL.revokeObjectURL(url)\n } catch (error) {\n console.error('Failed to copy to clipboard:', error)\n }\n },\n [selectedCells, foldersMap, tasksMap, gridMap, getSelectionData],\n )\n\n const pasteFromClipboard: ClipboardContextType['pasteFromClipboard'] = useCallback(\n async (selected) => {\n selected = selected || Array.from(selectedCells)\n if (!selected.length) return\n if (!navigator.clipboard) {\n clipboardError('Clipboard API not supported in this browser.')\n return\n }\n if (!window.isSecureContext) {\n clipboardError('Clipboard operations require a secure HTTPS context.')\n return\n }\n let clipboardText: string\n try {\n clipboardText = await navigator.clipboard.readText()\n } catch (error: any) {\n clipboardError(`Failed to read from clipboard: ${error.message}`)\n return\n }\n if (!clipboardText.trim()) return\n\n // Parse the clipboard text\n const parsedData = parseClipboardText(clipboardText)\n if (!parsedData.length) return\n\n // Determine if we have a single value in the clipboard (one row, one column)\n const isSingleCellValue = parsedData.length === 1 && parsedData[0].values.length === 1\n\n // Organize selected cells by row\n const cellsByRow = new Map<string, Set<string>>()\n\n // Parse all selected cells and organize by rowId and colId\n Array.from(selected).forEach((cellId) => {\n const position = parseCellId(cellId)\n if (!position) return\n\n const { rowId, colId } = position\n\n if (!cellsByRow.has(rowId)) {\n cellsByRow.set(rowId, new Set())\n }\n cellsByRow.get(rowId)?.add(colId)\n })\n\n // Get sorted row IDs based on their index in the grid\n const sortedRows = Array.from(cellsByRow.keys()).sort((a, b) => {\n const indexA = gridMap.rowIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.rowIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // For each row, get the sorted column IDs\n const firstRow = sortedRows[0]\n const selectedColIds = Array.from(cellsByRow.get(firstRow) || []).sort((a, b) => {\n const indexA = gridMap.colIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.colIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // First pass: validate all values for status and subType\n for (let colIndex = 0; colIndex < selectedColIds.length; colIndex++) {\n const colId = selectedColIds[colIndex]\n\n for (let rowIndex = 0; rowIndex < sortedRows.length; rowIndex++) {\n const rowId = sortedRows[rowIndex]\n const isFolder = foldersMap.has(rowId)\n\n // Get the appropriate value from the clipboard data\n // If it's a single cell value, use it for all cells\n // Otherwise use the modulo approach to repeat values\n let pasteValue\n if (isSingleCellValue) {\n pasteValue = parsedData[0].values[0]\n } else {\n const pasteRowIndex = rowIndex % parsedData.length\n const pasteColIndex = colIndex % parsedData[pasteRowIndex].values.length\n pasteValue = parsedData[pasteRowIndex].values[pasteColIndex]\n }\n\n // Validate clipboard data for this cell\n const isValid = validateClipboardData({\n colId,\n isFolder,\n pasteValue,\n parsedData,\n columnEnums,\n columnReadOnly,\n rowIndex,\n colIndex,\n isSingleCellValue,\n })\n\n if (!isValid) return\n }\n }\n\n // Create a map to consolidate updates for the same entity\n const entitiesMap = new Map<\n string,\n {\n id: string\n type: string\n fields: Record<string, any>\n attrib: Record<string, any>\n }\n >()\n\n // For each column, prepare updates\n for (let colIndex = 0; colIndex < selectedColIds.length; colIndex++) {\n const colId = selectedColIds[colIndex]\n\n // Skip special handling for 'name' which we don't want to paste\n if (colId === 'name') continue\n\n // Check if this is an attribute field by examining the first entity\n let isAttrib = false\n // Check if the field potentially contains array values\n let fieldValueType: 'string' | 'number' | 'boolean' | 'array' = 'string'\n\n if (sortedRows.length > 0) {\n const firstRowId = sortedRows[0]\n const isFolder = foldersMap.has(firstRowId)\n const entity = isFolder ? foldersMap.get(firstRowId) : tasksMap.get(firstRowId)\n\n if (entity) {\n isAttrib = colId.startsWith('attrib_')\n\n // Determine if field is an array and its value type\n // @ts-ignore - Check entity property or attribute\n const fieldValue = getCellValue(entity, colId)\n if (Array.isArray(fieldValue)) {\n fieldValueType = 'array'\n } else if (typeof fieldValue === 'number') {\n fieldValueType = 'number'\n } else if (typeof fieldValue === 'boolean') {\n fieldValueType = 'boolean'\n }\n\n // Special case for subType\n if (colId === 'subType') {\n isAttrib = false\n }\n }\n }\n\n // Process each row individually\n for (let rowIndex = 0; rowIndex < sortedRows.length; rowIndex++) {\n const rowId = sortedRows[rowIndex]\n const isFolder = foldersMap.has(rowId)\n const entityType = isFolder ? 'folder' : 'task'\n\n // Get the appropriate value from the clipboard data\n let pasteValue\n if (isSingleCellValue) {\n pasteValue = parsedData[0].values[0]\n } else {\n const pasteRowIndex = rowIndex % parsedData.length\n const pasteColIndex = colIndex % parsedData[pasteRowIndex].values.length\n pasteValue = parsedData[pasteRowIndex].values[pasteColIndex]\n }\n\n let fieldToUpdate = colId.split('_').pop() || colId\n\n // Special handling for subType (convert to folderType or taskType)\n if (colId === 'subType') {\n fieldToUpdate = isFolder ? 'folderType' : 'taskType'\n isAttrib = false\n\n // Skip empty values for enum fields\n if (!pasteValue) continue\n }\n\n // Process the value based on its type\n const processedValue = processFieldValue(pasteValue, fieldValueType)\n\n // Get or create entity entry in the map\n const entityKey = `${rowId}-${entityType}`\n if (!entitiesMap.has(entityKey)) {\n entitiesMap.set(entityKey, {\n id: rowId,\n type: entityType,\n fields: {},\n attrib: {},\n })\n }\n\n const entityData = entitiesMap.get(entityKey)!\n\n // Add the field to the appropriate place\n if (isAttrib) {\n entityData.attrib[fieldToUpdate] = processedValue\n } else {\n entityData.fields[fieldToUpdate] = processedValue\n }\n }\n }\n\n // Convert the consolidated map to EntityUpdate array\n const allEntityUpdates: EntityUpdate[] = []\n\n entitiesMap.forEach((entity) => {\n // For regular fields, create one update per field\n Object.entries(entity.fields).forEach(([field, value]) => {\n allEntityUpdates.push({\n id: entity.id,\n type: entity.type,\n field,\n value,\n })\n })\n\n // For attributes, create one update per attribute\n Object.entries(entity.attrib).forEach(([field, value]) => {\n allEntityUpdates.push({\n id: entity.id,\n type: entity.type,\n field,\n value,\n isAttrib: true,\n })\n })\n })\n\n // Make a single call to update all entities\n if (allEntityUpdates.length > 0) {\n try {\n await updateEntities(allEntityUpdates)\n } catch (error) {\n console.error('Error updating entities:', error)\n clipboardError(\n `Failed to update: ${error instanceof Error ? error.message : 'Unknown error'}`,\n )\n }\n }\n },\n [selectedCells, gridMap, foldersMap, tasksMap, updateEntities, columnEnums],\n )\n\n // Set up keyboard event listeners\n useEffect(() => {\n const handleKeyDown = (e: KeyboardEvent) => {\n // Copy functionality (Ctrl+C or Command+C)\n if ((e.ctrlKey || e.metaKey) && e.key === 'c') {\n copyToClipboard()\n }\n\n // Paste functionality (Ctrl+V or Command+V)\n if ((e.ctrlKey || e.metaKey) && e.key === 'v') {\n pasteFromClipboard()\n }\n }\n\n window.addEventListener('keydown', handleKeyDown)\n return () => {\n window.removeEventListener('keydown', handleKeyDown)\n }\n }, [copyToClipboard, pasteFromClipboard])\n\n const value = useMemo(\n () => ({\n copyToClipboard,\n pasteFromClipboard,\n exportCSV,\n }),\n [copyToClipboard, pasteFromClipboard],\n )\n\n return <ClipboardContext.Provider value={value}>{children}</ClipboardContext.Provider>\n}\n\nexport const useClipboard = (): ClipboardContextType => {\n const context = useContext(ClipboardContext)\n if (context === undefined) {\n throw new Error('useClipboard must be used within a ClipboardProvider')\n }\n return context\n}\n"],"names":["colIds","value","jsx"],"mappings":"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"}
1
+ {"version":3,"file":"ClipboardContext.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/ClipboardContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useCallback, useMemo, useEffect } from 'react'\n\n// Contexts\nimport { ROW_SELECTION_COLUMN_ID, useSelectionCellsContext } from './SelectionCellsContext'\nimport { useCellEditing } from './CellEditingContext'\n\n// Utils\nimport { getCellValue, getEntityDataById, parseCellId } from '../utils/cellUtils'\n\n// Types\nimport { EntityUpdate } from '../hooks/useUpdateTableData'\n\n// Import from the new modular files\nimport {\n getEntityPath,\n parseClipboardText,\n clipboardError,\n processFieldValue,\n} from './clipboard/clipboardUtils'\nimport { validateClipboardData } from './clipboard/clipboardValidation'\nimport { ClipboardContextType, ClipboardProviderProps } from './clipboard/clipboardTypes'\n\nconst ClipboardContext = createContext<ClipboardContextType | undefined>(undefined)\n\nexport const ClipboardProvider: React.FC<ClipboardProviderProps> = ({\n children,\n entitiesMap,\n columnEnums,\n columnReadOnly,\n}) => {\n // Get selection information from SelectionContext\n const { selectedCells, gridMap, focusedCellId } = useSelectionCellsContext()\n const { updateEntities } = useCellEditing()\n\n const getSelectionData = useCallback(\n async (selected: string[], config?: { headers?: boolean; fullRow?: boolean }) => {\n const { headers, fullRow } = config || {}\n try {\n // First, organize selected cells by row\n const cellsByRow = new Map<string, Set<string>>()\n\n // Parse all selected cells and organize by rowId and colId\n selected.forEach((cellId) => {\n const position = parseCellId(cellId)\n if (!position) return\n\n const { rowId, colId } = position\n\n // do not include row selection column\n if (colId === ROW_SELECTION_COLUMN_ID) return\n\n if (!cellsByRow.has(rowId)) {\n cellsByRow.set(rowId, new Set())\n }\n\n cellsByRow.get(rowId)?.add(colId)\n })\n\n if (fullRow) {\n const selectedRows = selected\n .filter(\n (cellId) =>\n parseCellId(cellId)?.rowId &&\n parseCellId(cellId)?.colId === ROW_SELECTION_COLUMN_ID,\n )\n .map((cellId) => parseCellId(cellId)?.rowId) as string[]\n\n // select the whole row\n // For rows with selection cells, add all available columns\n selectedRows.forEach((rowId) => {\n // add the rowId if it doesn't exist\n if (!cellsByRow.has(rowId)) {\n cellsByRow.set(rowId, new Set())\n }\n const allColumns = Array.from(gridMap.colIdToIndex.keys())\n allColumns.forEach((colId) => {\n cellsByRow.get(rowId)?.add(colId)\n })\n })\n }\n\n // Get sorted row IDs based on their index in the grid\n const sortedRows = Array.from(cellsByRow.keys()).sort((a, b) => {\n const indexA = gridMap.rowIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.rowIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // Build clipboard text\n let clipboardText = ''\n\n // Get the first row to determine columns\n const firstRowId = sortedRows[0]\n if (!firstRowId) return ''\n\n // Get all column IDs for the first row, sorted by their index in the grid\n const colIds = Array.from(cellsByRow.get(firstRowId) || []).sort((a, b) => {\n const indexA = gridMap.colIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.colIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // Include headers if requested\n if (headers && colIds.length > 0) {\n const headerValues: string[] = []\n\n for (const colId of colIds) {\n // Use colId as the column name since we don't have direct access to column names\n const columnName = colId\n headerValues.push(`${columnName.replace(/\"/g, '\"\"')}`)\n }\n\n clipboardText += headerValues.join('\\t') + '\\n'\n }\n\n for (const rowId of sortedRows) {\n // Determine if this is a folder or task by checking which map contains the ID\n const entity = entitiesMap.get(rowId)\n\n if (!entity) continue\n\n // Get all column IDs for this row, sorted by their index in the grid\n const colIds = Array.from(cellsByRow.get(rowId) || []).sort((a, b) => {\n const indexA = gridMap.colIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.colIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // Filter out the row selection column from the copied data\n const filteredColIds = colIds.filter((colId) => colId !== ROW_SELECTION_COLUMN_ID)\n\n const rowValues: string[] = []\n\n // For each column in this row\n for (const colId of filteredColIds) {\n // Determine the value based on the column ID\n let cellValue = ''\n // @ts-ignore\n const foundValue = getCellValue(entity, colId)\n cellValue = foundValue !== undefined && foundValue !== null ? String(foundValue) : ''\n\n // Special handling for name field - include full path\n if (colId === 'name') {\n cellValue = getEntityPath(rowId, entitiesMap)\n }\n\n if (colId === 'subType') {\n // get folderType or taskType\n // @ts-ignore\n cellValue = entity[isFolder ? 'folderType' : 'taskType'] || ''\n }\n\n // Escape double quotes in the cell value and wrap in quotes\n rowValues.push(`${cellValue.replace(/\"/g, '\"\"')}`)\n }\n\n // Add row to clipboard text\n clipboardText += rowValues.join('\\t') + '\\n'\n }\n\n return clipboardText\n } catch (error) {\n console.error('Failed to copy to clipboard:', error)\n }\n },\n [selectedCells, focusedCellId, gridMap, entitiesMap],\n )\n\n const copyToClipboard: ClipboardContextType['copyToClipboard'] = useCallback(\n async (selected, fullRow) => {\n selected = selected || Array.from(selectedCells)\n if (!selected.length) return\n const clipboardText = await getSelectionData(selected, { fullRow })\n if (!clipboardText) return\n if (!navigator.clipboard) {\n clipboardError('Clipboard API not supported in this browser.')\n return\n }\n if (!window.isSecureContext) {\n clipboardError('Clipboard operations require a secure HTTPS context.')\n return\n }\n try {\n await navigator.clipboard.writeText(clipboardText)\n console.log('Copied to clipboard successfully', clipboardText)\n } catch (error: any) {\n clipboardError(`Failed to copy to clipboard: ${error.message}`)\n }\n },\n [selectedCells, entitiesMap, gridMap],\n )\n\n const exportCSV: ClipboardContextType['exportCSV'] = useCallback(\n async (selected, projectName, fullRow) => {\n selected = selected || Array.from(selectedCells)\n if (!selected.length) return\n\n try {\n // Get clipboard text with headers included for CSV export\n const clipboardText = await getSelectionData(selected, { headers: true, fullRow })\n if (!clipboardText) return\n\n // create a csv file and download it\n const blob = new Blob([clipboardText], { type: 'text/csv' })\n const url = URL.createObjectURL(blob)\n const a = document.createElement('a')\n a.href = url\n const selectedCount = selected.length\n a.download = `${projectName}-export-${selectedCount}_cells-${new Date()\n .toISOString()\n .slice(0, 10)}.csv`\n a.click()\n URL.revokeObjectURL(url)\n } catch (error) {\n console.error('Failed to copy to clipboard:', error)\n }\n },\n [selectedCells, entitiesMap, gridMap, getSelectionData],\n )\n\n const pasteFromClipboard: ClipboardContextType['pasteFromClipboard'] = useCallback(\n async (selected) => {\n selected = selected || Array.from(selectedCells)\n if (!selected.length) return\n if (!navigator.clipboard) {\n clipboardError('Clipboard API not supported in this browser.')\n return\n }\n if (!window.isSecureContext) {\n clipboardError('Clipboard operations require a secure HTTPS context.')\n return\n }\n let clipboardText: string\n try {\n clipboardText = await navigator.clipboard.readText()\n } catch (error: any) {\n clipboardError(`Failed to read from clipboard: ${error.message}`)\n return\n }\n\n // we can have empty text in the clipboard\n //if (!clipboardText.trim()) return\n\n // Parse the clipboard text\n const parsedData = parseClipboardText(clipboardText)\n if (!parsedData.length) return\n\n // Determine if we have a single value in the clipboard (one row, one column)\n const isSingleCellValue = parsedData.length === 1 && parsedData[0].values.length === 1\n\n // Organize selected cells by row\n const cellsByRow = new Map<string, Set<string>>()\n\n // Parse all selected cells and organize by rowId and colId\n Array.from(selected).forEach((cellId) => {\n const position = parseCellId(cellId)\n if (!position) return\n\n const { rowId, colId } = position\n\n if (!cellsByRow.has(rowId)) {\n cellsByRow.set(rowId, new Set())\n }\n cellsByRow.get(rowId)?.add(colId)\n })\n\n // Get sorted row IDs based on their index in the grid\n const sortedRows = Array.from(cellsByRow.keys()).sort((a, b) => {\n const indexA = gridMap.rowIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.rowIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // For each row, get the sorted column IDs\n const firstRow = sortedRows[0]\n const selectedColIds = Array.from(cellsByRow.get(firstRow) || []).sort((a, b) => {\n const indexA = gridMap.colIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.colIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // First pass: validate all values for status and subType\n for (let colIndex = 0; colIndex < selectedColIds.length; colIndex++) {\n const colId = selectedColIds[colIndex]\n\n for (let rowIndex = 0; rowIndex < sortedRows.length; rowIndex++) {\n const rowId = sortedRows[rowIndex]\n const isFolder = getEntityDataById<'folder'>(rowId, entitiesMap)?.entityType === 'folder'\n\n // Get the appropriate value from the clipboard data\n // If it's a single cell value, use it for all cells\n // Otherwise use the modulo approach to repeat values\n let pasteValue\n if (isSingleCellValue) {\n pasteValue = parsedData[0].values[0]\n } else {\n const pasteRowIndex = rowIndex % parsedData.length\n const pasteColIndex = colIndex % parsedData[pasteRowIndex].values.length\n pasteValue = parsedData[pasteRowIndex].values[pasteColIndex]\n }\n\n // Validate clipboard data for this cell\n const isValid = validateClipboardData({\n colId,\n isFolder,\n pasteValue,\n parsedData,\n columnEnums,\n columnReadOnly,\n rowIndex,\n colIndex,\n isSingleCellValue,\n })\n\n if (!isValid) return\n }\n }\n\n // Create a map to consolidate updates for the same entity\n const entitiesToUpdateMap = new Map<\n string,\n {\n rowId: string\n id: string\n type: string\n fields: Record<string, any>\n attrib: Record<string, any>\n }\n >()\n\n // For each column, prepare updates\n for (let colIndex = 0; colIndex < selectedColIds.length; colIndex++) {\n const colId = selectedColIds[colIndex]\n\n // Skip special handling for 'name' which we don't want to paste\n if (colId === 'name') continue\n\n // Check if this is an attribute field by examining the first entity\n let isAttrib = false\n // Check if the field potentially contains array values\n let fieldValueType: 'string' | 'number' | 'boolean' | 'array' = 'string'\n\n if (sortedRows.length > 0) {\n const firstRowId = sortedRows[0]\n const entity = entitiesMap.get(firstRowId)\n if (entity) {\n isAttrib = colId.startsWith('attrib_')\n\n // Determine if field is an array and its value type\n // @ts-ignore - Check entity property or attribute\n const fieldValue = getCellValue(entity, colId)\n if (Array.isArray(fieldValue)) {\n fieldValueType = 'array'\n } else if (typeof fieldValue === 'number') {\n fieldValueType = 'number'\n } else if (typeof fieldValue === 'boolean') {\n fieldValueType = 'boolean'\n }\n\n // Special case for subType\n if (colId === 'subType') {\n isAttrib = false\n }\n }\n }\n\n // Process each row individually\n for (let rowIndex = 0; rowIndex < sortedRows.length; rowIndex++) {\n const rowId = sortedRows[rowIndex]\n const entityType = getEntityDataById(rowId, entitiesMap)?.entityType\n const isFolder = entityType === 'folder'\n\n // Get the appropriate value from the clipboard data\n let pasteValue\n if (isSingleCellValue) {\n pasteValue = parsedData[0].values[0]\n } else {\n const pasteRowIndex = rowIndex % parsedData.length\n const pasteColIndex = colIndex % parsedData[pasteRowIndex].values.length\n pasteValue = parsedData[pasteRowIndex].values[pasteColIndex]\n }\n\n let fieldToUpdate = colId.split('_').pop() || colId\n\n // Special handling for subType (convert to folderType or taskType)\n if (colId === 'subType') {\n fieldToUpdate = isFolder ? 'folderType' : 'taskType'\n isAttrib = false\n\n // Skip empty values for enum fields\n if (!pasteValue) continue\n }\n\n // Process the value based on its type\n const processedValue = processFieldValue(pasteValue, fieldValueType)\n\n // Get or create entity entry in the map\n const entityKey = `${rowId}-${entityType}`\n if (!entitiesToUpdateMap.has(entityKey) && entityType) {\n entitiesToUpdateMap.set(entityKey, {\n rowId,\n id: rowId,\n type: entityType,\n fields: {},\n attrib: {},\n })\n }\n\n const entityData = entitiesToUpdateMap.get(entityKey)!\n\n // Add the field to the appropriate place\n if (isAttrib) {\n entityData.attrib[fieldToUpdate] = processedValue\n } else {\n entityData.fields[fieldToUpdate] = processedValue\n }\n }\n }\n\n // Convert the consolidated map to EntityUpdate array\n const allEntityUpdates: EntityUpdate[] = []\n\n entitiesToUpdateMap.forEach((entity) => {\n // For regular fields, create one update per field\n Object.entries(entity.fields).forEach(([field, value]) => {\n allEntityUpdates.push({\n rowId: entity.rowId,\n id: entity.id,\n type: entity.type,\n field,\n value,\n })\n })\n\n // For attributes, create one update per attribute\n Object.entries(entity.attrib).forEach(([field, value]) => {\n allEntityUpdates.push({\n rowId: entity.rowId,\n id: entity.id,\n type: entity.type,\n field,\n value,\n isAttrib: true,\n })\n })\n })\n\n // Make a single call to update all entities\n if (allEntityUpdates.length > 0) {\n try {\n await updateEntities(allEntityUpdates)\n } catch (error) {\n console.error('Error updating entities:', error)\n clipboardError(\n `Failed to update: ${error instanceof Error ? error.message : 'Unknown error'}`,\n )\n }\n }\n },\n [selectedCells, gridMap, entitiesMap, updateEntities, columnEnums],\n )\n\n // Set up keyboard event listeners\n useEffect(() => {\n const handleKeyDown = (e: KeyboardEvent) => {\n // Copy functionality (Ctrl+C or Command+C)\n if ((e.ctrlKey || e.metaKey) && e.key === 'c') {\n copyToClipboard()\n }\n\n // Paste functionality (Ctrl+V or Command+V)\n if ((e.ctrlKey || e.metaKey) && e.key === 'v') {\n pasteFromClipboard()\n }\n }\n\n window.addEventListener('keydown', handleKeyDown)\n return () => {\n window.removeEventListener('keydown', handleKeyDown)\n }\n }, [copyToClipboard, pasteFromClipboard])\n\n const value = useMemo(\n () => ({\n copyToClipboard,\n pasteFromClipboard,\n exportCSV,\n }),\n [copyToClipboard, pasteFromClipboard],\n )\n\n return <ClipboardContext.Provider value={value}>{children}</ClipboardContext.Provider>\n}\n\nexport const useClipboard = (): ClipboardContextType => {\n const context = useContext(ClipboardContext)\n if (context === undefined) {\n throw new Error('useClipboard must be used within a ClipboardProvider')\n }\n return context\n}\n"],"names":["colIds","_a","isFolder","value","jsx"],"mappings":"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"}
@@ -10,7 +10,12 @@ const ColumnSettingsProvider = ({
10
10
  onChange
11
11
  }) => {
12
12
  const columnsConfig = config;
13
- const { columnOrder = [], columnPinning = {}, columnVisibility = {} } = columnsConfig;
13
+ const {
14
+ columnOrder = [],
15
+ columnPinning = {},
16
+ columnVisibility = {},
17
+ columnSizing: columnsSizingExternal = {}
18
+ } = columnsConfig;
14
19
  const setColumnVisibility = (visibility) => {
15
20
  onChange({
16
21
  ...columnsConfig,
@@ -29,6 +34,22 @@ const ColumnSettingsProvider = ({
29
34
  columnPinning: pinning
30
35
  });
31
36
  };
37
+ const [internalColumnSizing, setInternalColumnSizing] = React.useState(null);
38
+ const columnSizing = internalColumnSizing || columnsSizingExternal;
39
+ const resizingTimeoutRef = React.useRef(null);
40
+ const setColumnSizing = (sizing) => {
41
+ setInternalColumnSizing(sizing);
42
+ if (resizingTimeoutRef.current) {
43
+ clearTimeout(resizingTimeoutRef.current);
44
+ }
45
+ resizingTimeoutRef.current = setTimeout(() => {
46
+ onChange({
47
+ ...columnsConfig,
48
+ columnSizing: sizing
49
+ });
50
+ setInternalColumnSizing(null);
51
+ }, 500);
52
+ };
32
53
  const togglePinningOnVisibilityChange = (visibility) => {
33
54
  const newPinning = { ...columnPinning };
34
55
  const pinnedColumns = newPinning.left || [];
@@ -92,6 +113,10 @@ const ColumnSettingsProvider = ({
92
113
  const newPinning = reactTable.functionalUpdate(columnPinningUpdater2, columnPinning);
93
114
  updateColumnPinning(newPinning);
94
115
  };
116
+ const columnSizingUpdater = (sizingUpdater) => {
117
+ const newSizing = reactTable.functionalUpdate(sizingUpdater, columnSizing);
118
+ setColumnSizing(newSizing);
119
+ };
95
120
  return /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
96
121
  ColumnSettingsContext.Provider,
97
122
  {
@@ -111,6 +136,10 @@ const ColumnSettingsProvider = ({
111
136
  setColumnOrder,
112
137
  updateColumnOrder,
113
138
  columnOrderUpdater,
139
+ // column sizing
140
+ columnSizing,
141
+ setColumnSizing,
142
+ columnSizingUpdater,
114
143
  // global change
115
144
  setColumnsConfig: onChange
116
145
  },
@@ -118,13 +147,13 @@ const ColumnSettingsProvider = ({
118
147
  }
119
148
  );
120
149
  };
121
- const useColumnSettings = () => {
150
+ const useColumnSettingsContext = () => {
122
151
  const context = React.useContext(ColumnSettingsContext);
123
152
  if (!context) {
124
- throw new Error("useColumnSettings must be used within a ColumnSettingsProvider");
153
+ throw new Error("useColumnSettingsContext must be used within a ColumnSettingsProvider");
125
154
  }
126
155
  return context;
127
156
  };
128
157
  exports.ColumnSettingsProvider = ColumnSettingsProvider;
129
- exports.useColumnSettings = useColumnSettings;
158
+ exports.useColumnSettingsContext = useColumnSettingsContext;
130
159
  //# sourceMappingURL=ColumnSettingsContext.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnSettingsContext.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/ColumnSettingsContext.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode, useMemo } from 'react'\nimport {\n ColumnOrderState,\n ColumnPinningState,\n functionalUpdate,\n OnChangeFn,\n VisibilityState,\n} from '@tanstack/react-table'\n\nexport interface ColumnSettingsContextType {\n // Column Visibility\n columnVisibility: VisibilityState\n setColumnVisibility: (columnVisibility: VisibilityState) => void\n updateColumnVisibility: (columnVisibility: VisibilityState) => void\n columnVisibilityUpdater: OnChangeFn<VisibilityState>\n\n // Column Pinning\n columnPinning: ColumnPinningState\n setColumnPinning: (columnPinning: ColumnPinningState) => void\n updateColumnPinning: (columnPinning: ColumnPinningState) => void\n columnPinningUpdater: OnChangeFn<ColumnPinningState>\n\n // Column Order\n columnOrder: ColumnOrderState\n setColumnOrder: (columnOrder: ColumnOrderState) => void\n updateColumnOrder: (columnOrder: ColumnOrderState) => void\n columnOrderUpdater: OnChangeFn<ColumnOrderState>\n\n // Global change\n setColumnsConfig: (config: ColumnsConfig) => void\n}\n\nconst ColumnSettingsContext = createContext<ColumnSettingsContextType | undefined>(undefined)\n\nexport type ColumnsConfig = {\n columnVisibility: VisibilityState\n columnOrder: ColumnOrderState\n columnPinning: ColumnPinningState\n}\n\ninterface ColumnSettingsProviderProps {\n children: ReactNode\n config: Record<string, any>\n onChange: (config: ColumnsConfig) => void\n}\n\nexport const ColumnSettingsProvider: React.FC<ColumnSettingsProviderProps> = ({\n children,\n config,\n onChange,\n}) => {\n const columnsConfig = config as ColumnsConfig\n const { columnOrder = [], columnPinning = {}, columnVisibility = {} } = columnsConfig\n\n // DIRECT STATE UPDATES - no side effects\n const setColumnVisibility = (visibility: VisibilityState) => {\n onChange({\n ...columnsConfig,\n columnVisibility: visibility,\n })\n }\n\n const setColumnOrder = (order: ColumnOrderState) => {\n onChange({\n ...columnsConfig,\n columnOrder: order,\n })\n }\n\n const setColumnPinning = (pinning: ColumnPinningState) => {\n onChange({\n ...columnsConfig,\n columnPinning: pinning,\n })\n }\n\n // SIDE EFFECT UTILITIES\n const togglePinningOnVisibilityChange = (visibility: VisibilityState) => {\n // ensure that any columns that are now hidden are removed from the pinning\n const newPinning = { ...columnPinning }\n const pinnedColumns = newPinning.left || []\n const hiddenColumns = Object.keys(visibility).filter((col) => visibility[col] === false)\n const newPinnedColumns = pinnedColumns.filter((col) => !hiddenColumns.includes(col))\n\n return {\n ...newPinning,\n left: newPinnedColumns,\n }\n }\n\n const updatePinningOrderOnOrderChange = (order: ColumnOrderState) => {\n // ensure that the column pinning is in the order of the column order\n const newPinning = { ...columnPinning }\n const pinnedColumns = newPinning.left || []\n const pinnedColumnsOrder = order.filter((col) => pinnedColumns.includes(col))\n\n return {\n ...newPinning,\n left: pinnedColumnsOrder,\n }\n }\n\n const updateOrderOnPinningChange = (pinning: ColumnPinningState) => {\n // we resort the column order based on the pinning\n return [...columnOrder].sort((a, b) => {\n const aPinned = pinning.left?.includes(a) ? 1 : 0\n const bPinned = pinning.left?.includes(b) ? 1 : 0\n return bPinned - aPinned\n })\n }\n\n // UPDATE METHODS WITH SIDE EFFECTS\n const updateColumnVisibility = (visibility: VisibilityState) => {\n const newPinning = togglePinningOnVisibilityChange(visibility)\n onChange({\n ...columnsConfig,\n columnVisibility: visibility,\n columnPinning: newPinning,\n })\n }\n\n const updateColumnOrder = (order: ColumnOrderState) => {\n const newPinning = updatePinningOrderOnOrderChange(order)\n onChange({\n ...columnsConfig,\n columnOrder: order,\n columnPinning: newPinning,\n })\n }\n\n const updateColumnPinning = (pinning: ColumnPinningState) => {\n const newOrder = updateOrderOnPinningChange(pinning)\n onChange({\n ...columnsConfig,\n columnOrder: newOrder,\n columnPinning: pinning,\n })\n }\n\n // UPDATER FUNCTIONS\n const columnVisibilityUpdater: OnChangeFn<VisibilityState> = (columnVisibilityUpdater) => {\n const newVisibility = functionalUpdate(columnVisibilityUpdater, columnVisibility)\n updateColumnVisibility(newVisibility)\n }\n\n const columnOrderUpdater: OnChangeFn<ColumnOrderState> = (columnOrderUpdater) => {\n const newOrder = functionalUpdate(columnOrderUpdater, columnOrder)\n updateColumnOrder(newOrder)\n }\n\n const columnPinningUpdater: OnChangeFn<ColumnPinningState> = (columnPinningUpdater) => {\n const newPinning = functionalUpdate(columnPinningUpdater, columnPinning)\n updateColumnPinning(newPinning)\n }\n\n return (\n <ColumnSettingsContext.Provider\n value={{\n // column visibility\n columnVisibility,\n setColumnVisibility,\n updateColumnVisibility,\n columnVisibilityUpdater,\n // column pinning\n columnPinning,\n setColumnPinning,\n updateColumnPinning,\n columnPinningUpdater,\n // column order\n columnOrder,\n setColumnOrder,\n updateColumnOrder,\n columnOrderUpdater,\n // global change\n setColumnsConfig: onChange,\n }}\n >\n {children}\n </ColumnSettingsContext.Provider>\n )\n}\n\nexport const useColumnSettings = (): ColumnSettingsContextType => {\n const context = useContext(ColumnSettingsContext)\n if (!context) {\n throw new Error('useColumnSettings must be used within a ColumnSettingsProvider')\n }\n return context\n}\n"],"names":["createContext","columnVisibilityUpdater","functionalUpdate","columnOrderUpdater","columnPinningUpdater","jsx","useContext"],"mappings":";;;;;AAgCA,MAAM,wBAAwBA,oBAAqD,MAAS;AAcrF,MAAM,yBAAgE,CAAC;AAAA,EAC5E;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,gBAAgB;AAChB,QAAA,EAAE,cAAc,IAAI,gBAAgB,CAAA,GAAI,mBAAmB,CAAC,EAAA,IAAM;AAGlE,QAAA,sBAAsB,CAAC,eAAgC;AAClD,aAAA;AAAA,MACP,GAAG;AAAA,MACH,kBAAkB;AAAA,IAAA,CACnB;AAAA,EACH;AAEM,QAAA,iBAAiB,CAAC,UAA4B;AACzC,aAAA;AAAA,MACP,GAAG;AAAA,MACH,aAAa;AAAA,IAAA,CACd;AAAA,EACH;AAEM,QAAA,mBAAmB,CAAC,YAAgC;AAC/C,aAAA;AAAA,MACP,GAAG;AAAA,MACH,eAAe;AAAA,IAAA,CAChB;AAAA,EACH;AAGM,QAAA,kCAAkC,CAAC,eAAgC;AAEjE,UAAA,aAAa,EAAE,GAAG,cAAc;AAChC,UAAA,gBAAgB,WAAW,QAAQ,CAAC;AACpC,UAAA,gBAAgB,OAAO,KAAK,UAAU,EAAE,OAAO,CAAC,QAAQ,WAAW,GAAG,MAAM,KAAK;AACjF,UAAA,mBAAmB,cAAc,OAAO,CAAC,QAAQ,CAAC,cAAc,SAAS,GAAG,CAAC;AAE5E,WAAA;AAAA,MACL,GAAG;AAAA,MACH,MAAM;AAAA,IACR;AAAA,EACF;AAEM,QAAA,kCAAkC,CAAC,UAA4B;AAE7D,UAAA,aAAa,EAAE,GAAG,cAAc;AAChC,UAAA,gBAAgB,WAAW,QAAQ,CAAC;AACpC,UAAA,qBAAqB,MAAM,OAAO,CAAC,QAAQ,cAAc,SAAS,GAAG,CAAC;AAErE,WAAA;AAAA,MACL,GAAG;AAAA,MACH,MAAM;AAAA,IACR;AAAA,EACF;AAEM,QAAA,6BAA6B,CAAC,YAAgC;AAElE,WAAO,CAAC,GAAG,WAAW,EAAE,KAAK,CAAC,GAAG,MAAM;;AACrC,YAAM,YAAU,aAAQ,SAAR,mBAAc,SAAS,MAAK,IAAI;AAChD,YAAM,YAAU,aAAQ,SAAR,mBAAc,SAAS,MAAK,IAAI;AAChD,aAAO,UAAU;AAAA,IAAA,CAClB;AAAA,EACH;AAGM,QAAA,yBAAyB,CAAC,eAAgC;AACxD,UAAA,aAAa,gCAAgC,UAAU;AACpD,aAAA;AAAA,MACP,GAAG;AAAA,MACH,kBAAkB;AAAA,MAClB,eAAe;AAAA,IAAA,CAChB;AAAA,EACH;AAEM,QAAA,oBAAoB,CAAC,UAA4B;AAC/C,UAAA,aAAa,gCAAgC,KAAK;AAC/C,aAAA;AAAA,MACP,GAAG;AAAA,MACH,aAAa;AAAA,MACb,eAAe;AAAA,IAAA,CAChB;AAAA,EACH;AAEM,QAAA,sBAAsB,CAAC,YAAgC;AACrD,UAAA,WAAW,2BAA2B,OAAO;AAC1C,aAAA;AAAA,MACP,GAAG;AAAA,MACH,aAAa;AAAA,MACb,eAAe;AAAA,IAAA,CAChB;AAAA,EACH;AAGM,QAAA,0BAAuD,CAACC,6BAA4B;AAClF,UAAA,gBAAgBC,WAAAA,iBAAiBD,0BAAyB,gBAAgB;AAChF,2BAAuB,aAAa;AAAA,EACtC;AAEM,QAAA,qBAAmD,CAACE,wBAAuB;AACzE,UAAA,WAAWD,WAAAA,iBAAiBC,qBAAoB,WAAW;AACjE,sBAAkB,QAAQ;AAAA,EAC5B;AAEM,QAAA,uBAAuD,CAACC,0BAAyB;AAC/E,UAAA,aAAaF,WAAAA,iBAAiBE,uBAAsB,aAAa;AACvE,wBAAoB,UAAU;AAAA,EAChC;AAGE,SAAAC,2BAAA,kBAAA;AAAA,IAAC,sBAAsB;AAAA,IAAtB;AAAA,MACC,OAAO;AAAA;AAAA,QAEL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,QAEA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,QAEA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,QAEA,kBAAkB;AAAA,MACpB;AAAA,MAEC;AAAA,IAAA;AAAA,EACH;AAEJ;AAEO,MAAM,oBAAoB,MAAiC;AAC1D,QAAA,UAAUC,iBAAW,qBAAqB;AAChD,MAAI,CAAC,SAAS;AACN,UAAA,IAAI,MAAM,gEAAgE;AAAA,EAAA;AAE3E,SAAA;AACT;;;"}
1
+ {"version":3,"file":"ColumnSettingsContext.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/ColumnSettingsContext.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode, useState } from 'react'\nimport {\n ColumnOrderState,\n ColumnPinningState,\n functionalUpdate,\n OnChangeFn,\n VisibilityState,\n ColumnSizingState,\n} from '@tanstack/react-table'\n\nexport interface ColumnSettingsContextType {\n // Column Visibility\n columnVisibility: VisibilityState\n setColumnVisibility: (columnVisibility: VisibilityState) => void\n updateColumnVisibility: (columnVisibility: VisibilityState) => void\n columnVisibilityUpdater: OnChangeFn<VisibilityState>\n\n // Column Pinning\n columnPinning: ColumnPinningState\n setColumnPinning: (columnPinning: ColumnPinningState) => void\n updateColumnPinning: (columnPinning: ColumnPinningState) => void\n columnPinningUpdater: OnChangeFn<ColumnPinningState>\n\n // Column Order\n columnOrder: ColumnOrderState\n setColumnOrder: (columnOrder: ColumnOrderState) => void\n updateColumnOrder: (columnOrder: ColumnOrderState) => void\n columnOrderUpdater: OnChangeFn<ColumnOrderState>\n\n // Column Sizing\n columnSizing: ColumnSizingState\n setColumnSizing: (columnSizing: ColumnSizingState) => void\n columnSizingUpdater: OnChangeFn<ColumnSizingState>\n\n // Global change\n setColumnsConfig: (config: ColumnsConfig) => void\n}\n\nconst ColumnSettingsContext = createContext<ColumnSettingsContextType | undefined>(undefined)\n\nexport type ColumnsConfig = {\n columnVisibility: VisibilityState\n columnOrder: ColumnOrderState\n columnPinning: ColumnPinningState\n columnSizing: ColumnSizingState // Add this\n}\n\ninterface ColumnSettingsProviderProps {\n children: ReactNode\n config: Record<string, any>\n onChange: (config: ColumnsConfig) => void\n}\n\nexport const ColumnSettingsProvider: React.FC<ColumnSettingsProviderProps> = ({\n children,\n config,\n onChange,\n}) => {\n const columnsConfig = config as ColumnsConfig\n const {\n columnOrder = [],\n columnPinning = {},\n columnVisibility = {},\n columnSizing: columnsSizingExternal = {},\n } = columnsConfig\n\n // DIRECT STATE UPDATES - no side effects\n const setColumnVisibility = (visibility: VisibilityState) => {\n onChange({\n ...columnsConfig,\n columnVisibility: visibility,\n })\n }\n\n const setColumnOrder = (order: ColumnOrderState) => {\n onChange({\n ...columnsConfig,\n columnOrder: order,\n })\n }\n\n const setColumnPinning = (pinning: ColumnPinningState) => {\n onChange({\n ...columnsConfig,\n columnPinning: pinning,\n })\n }\n\n const [internalColumnSizing, setInternalColumnSizing] = useState<ColumnSizingState | null>(null)\n\n // use internalColumnSizing if it exists, otherwise use the external column sizing\n const columnSizing = internalColumnSizing || columnsSizingExternal\n\n const resizingTimeoutRef = React.useRef<NodeJS.Timeout | null>(null)\n\n const setColumnSizing = (sizing: ColumnSizingState) => {\n setInternalColumnSizing(sizing)\n\n // if there is a timeout already set, clear it\n if (resizingTimeoutRef.current) {\n clearTimeout(resizingTimeoutRef.current)\n }\n // set a timeout that tracks if the column sizing has finished\n resizingTimeoutRef.current = setTimeout(() => {\n // we have finished resizing now!\n // update the external column sizing\n onChange({\n ...columnsConfig,\n columnSizing: sizing,\n })\n // reset the internal column sizing to not be used anymore\n setInternalColumnSizing(null)\n }, 500)\n }\n\n // SIDE EFFECT UTILITIES\n const togglePinningOnVisibilityChange = (visibility: VisibilityState) => {\n // ensure that any columns that are now hidden are removed from the pinning\n const newPinning = { ...columnPinning }\n const pinnedColumns = newPinning.left || []\n const hiddenColumns = Object.keys(visibility).filter((col) => visibility[col] === false)\n const newPinnedColumns = pinnedColumns.filter((col) => !hiddenColumns.includes(col))\n\n return {\n ...newPinning,\n left: newPinnedColumns,\n }\n }\n\n const updatePinningOrderOnOrderChange = (order: ColumnOrderState) => {\n // ensure that the column pinning is in the order of the column order\n const newPinning = { ...columnPinning }\n const pinnedColumns = newPinning.left || []\n const pinnedColumnsOrder = order.filter((col) => pinnedColumns.includes(col))\n\n return {\n ...newPinning,\n left: pinnedColumnsOrder,\n }\n }\n\n const updateOrderOnPinningChange = (pinning: ColumnPinningState) => {\n // we resort the column order based on the pinning\n return [...columnOrder].sort((a, b) => {\n const aPinned = pinning.left?.includes(a) ? 1 : 0\n const bPinned = pinning.left?.includes(b) ? 1 : 0\n return bPinned - aPinned\n })\n }\n\n // UPDATE METHODS WITH SIDE EFFECTS\n const updateColumnVisibility = (visibility: VisibilityState) => {\n const newPinning = togglePinningOnVisibilityChange(visibility)\n onChange({\n ...columnsConfig,\n columnVisibility: visibility,\n columnPinning: newPinning,\n })\n }\n\n const updateColumnOrder = (order: ColumnOrderState) => {\n const newPinning = updatePinningOrderOnOrderChange(order)\n onChange({\n ...columnsConfig,\n columnOrder: order,\n columnPinning: newPinning,\n })\n }\n\n const updateColumnPinning = (pinning: ColumnPinningState) => {\n const newOrder = updateOrderOnPinningChange(pinning)\n onChange({\n ...columnsConfig,\n columnOrder: newOrder,\n columnPinning: pinning,\n })\n }\n\n // UPDATER FUNCTIONS\n const columnVisibilityUpdater: OnChangeFn<VisibilityState> = (columnVisibilityUpdater) => {\n const newVisibility = functionalUpdate(columnVisibilityUpdater, columnVisibility)\n updateColumnVisibility(newVisibility)\n }\n\n const columnOrderUpdater: OnChangeFn<ColumnOrderState> = (columnOrderUpdater) => {\n const newOrder = functionalUpdate(columnOrderUpdater, columnOrder)\n updateColumnOrder(newOrder)\n }\n\n const columnPinningUpdater: OnChangeFn<ColumnPinningState> = (columnPinningUpdater) => {\n const newPinning = functionalUpdate(columnPinningUpdater, columnPinning)\n updateColumnPinning(newPinning)\n }\n\n const columnSizingUpdater: OnChangeFn<ColumnSizingState> = (sizingUpdater) => {\n const newSizing = functionalUpdate(sizingUpdater, columnSizing)\n setColumnSizing(newSizing)\n }\n\n return (\n <ColumnSettingsContext.Provider\n value={{\n // column visibility\n columnVisibility,\n setColumnVisibility,\n updateColumnVisibility,\n columnVisibilityUpdater,\n // column pinning\n columnPinning,\n setColumnPinning,\n updateColumnPinning,\n columnPinningUpdater,\n // column order\n columnOrder,\n setColumnOrder,\n updateColumnOrder,\n columnOrderUpdater,\n // column sizing\n columnSizing,\n setColumnSizing,\n columnSizingUpdater,\n // global change\n setColumnsConfig: onChange,\n }}\n >\n {children}\n </ColumnSettingsContext.Provider>\n )\n}\n\nexport const useColumnSettingsContext = (): ColumnSettingsContextType => {\n const context = useContext(ColumnSettingsContext)\n if (!context) {\n throw new Error('useColumnSettingsContext must be used within a ColumnSettingsProvider')\n }\n return context\n}\n"],"names":["createContext","useState","columnVisibilityUpdater","functionalUpdate","columnOrderUpdater","columnPinningUpdater","jsx","useContext"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { j as jsxRuntimeExports } from "../../../../../_virtual/jsx-runtime.es.js";
2
- import { createContext, useContext } from "react";
2
+ import React__default, { createContext, useState, useContext } from "react";
3
3
  import { functionalUpdate } from "@tanstack/react-table";
4
4
  const ColumnSettingsContext = createContext(void 0);
5
5
  const ColumnSettingsProvider = ({
@@ -8,7 +8,12 @@ const ColumnSettingsProvider = ({
8
8
  onChange
9
9
  }) => {
10
10
  const columnsConfig = config;
11
- const { columnOrder = [], columnPinning = {}, columnVisibility = {} } = columnsConfig;
11
+ const {
12
+ columnOrder = [],
13
+ columnPinning = {},
14
+ columnVisibility = {},
15
+ columnSizing: columnsSizingExternal = {}
16
+ } = columnsConfig;
12
17
  const setColumnVisibility = (visibility) => {
13
18
  onChange({
14
19
  ...columnsConfig,
@@ -27,6 +32,22 @@ const ColumnSettingsProvider = ({
27
32
  columnPinning: pinning
28
33
  });
29
34
  };
35
+ const [internalColumnSizing, setInternalColumnSizing] = useState(null);
36
+ const columnSizing = internalColumnSizing || columnsSizingExternal;
37
+ const resizingTimeoutRef = React__default.useRef(null);
38
+ const setColumnSizing = (sizing) => {
39
+ setInternalColumnSizing(sizing);
40
+ if (resizingTimeoutRef.current) {
41
+ clearTimeout(resizingTimeoutRef.current);
42
+ }
43
+ resizingTimeoutRef.current = setTimeout(() => {
44
+ onChange({
45
+ ...columnsConfig,
46
+ columnSizing: sizing
47
+ });
48
+ setInternalColumnSizing(null);
49
+ }, 500);
50
+ };
30
51
  const togglePinningOnVisibilityChange = (visibility) => {
31
52
  const newPinning = { ...columnPinning };
32
53
  const pinnedColumns = newPinning.left || [];
@@ -90,6 +111,10 @@ const ColumnSettingsProvider = ({
90
111
  const newPinning = functionalUpdate(columnPinningUpdater2, columnPinning);
91
112
  updateColumnPinning(newPinning);
92
113
  };
114
+ const columnSizingUpdater = (sizingUpdater) => {
115
+ const newSizing = functionalUpdate(sizingUpdater, columnSizing);
116
+ setColumnSizing(newSizing);
117
+ };
93
118
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
94
119
  ColumnSettingsContext.Provider,
95
120
  {
@@ -109,6 +134,10 @@ const ColumnSettingsProvider = ({
109
134
  setColumnOrder,
110
135
  updateColumnOrder,
111
136
  columnOrderUpdater,
137
+ // column sizing
138
+ columnSizing,
139
+ setColumnSizing,
140
+ columnSizingUpdater,
112
141
  // global change
113
142
  setColumnsConfig: onChange
114
143
  },
@@ -116,15 +145,15 @@ const ColumnSettingsProvider = ({
116
145
  }
117
146
  );
118
147
  };
119
- const useColumnSettings = () => {
148
+ const useColumnSettingsContext = () => {
120
149
  const context = useContext(ColumnSettingsContext);
121
150
  if (!context) {
122
- throw new Error("useColumnSettings must be used within a ColumnSettingsProvider");
151
+ throw new Error("useColumnSettingsContext must be used within a ColumnSettingsProvider");
123
152
  }
124
153
  return context;
125
154
  };
126
155
  export {
127
156
  ColumnSettingsProvider,
128
- useColumnSettings
157
+ useColumnSettingsContext
129
158
  };
130
159
  //# sourceMappingURL=ColumnSettingsContext.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnSettingsContext.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/ColumnSettingsContext.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode, useMemo } from 'react'\nimport {\n ColumnOrderState,\n ColumnPinningState,\n functionalUpdate,\n OnChangeFn,\n VisibilityState,\n} from '@tanstack/react-table'\n\nexport interface ColumnSettingsContextType {\n // Column Visibility\n columnVisibility: VisibilityState\n setColumnVisibility: (columnVisibility: VisibilityState) => void\n updateColumnVisibility: (columnVisibility: VisibilityState) => void\n columnVisibilityUpdater: OnChangeFn<VisibilityState>\n\n // Column Pinning\n columnPinning: ColumnPinningState\n setColumnPinning: (columnPinning: ColumnPinningState) => void\n updateColumnPinning: (columnPinning: ColumnPinningState) => void\n columnPinningUpdater: OnChangeFn<ColumnPinningState>\n\n // Column Order\n columnOrder: ColumnOrderState\n setColumnOrder: (columnOrder: ColumnOrderState) => void\n updateColumnOrder: (columnOrder: ColumnOrderState) => void\n columnOrderUpdater: OnChangeFn<ColumnOrderState>\n\n // Global change\n setColumnsConfig: (config: ColumnsConfig) => void\n}\n\nconst ColumnSettingsContext = createContext<ColumnSettingsContextType | undefined>(undefined)\n\nexport type ColumnsConfig = {\n columnVisibility: VisibilityState\n columnOrder: ColumnOrderState\n columnPinning: ColumnPinningState\n}\n\ninterface ColumnSettingsProviderProps {\n children: ReactNode\n config: Record<string, any>\n onChange: (config: ColumnsConfig) => void\n}\n\nexport const ColumnSettingsProvider: React.FC<ColumnSettingsProviderProps> = ({\n children,\n config,\n onChange,\n}) => {\n const columnsConfig = config as ColumnsConfig\n const { columnOrder = [], columnPinning = {}, columnVisibility = {} } = columnsConfig\n\n // DIRECT STATE UPDATES - no side effects\n const setColumnVisibility = (visibility: VisibilityState) => {\n onChange({\n ...columnsConfig,\n columnVisibility: visibility,\n })\n }\n\n const setColumnOrder = (order: ColumnOrderState) => {\n onChange({\n ...columnsConfig,\n columnOrder: order,\n })\n }\n\n const setColumnPinning = (pinning: ColumnPinningState) => {\n onChange({\n ...columnsConfig,\n columnPinning: pinning,\n })\n }\n\n // SIDE EFFECT UTILITIES\n const togglePinningOnVisibilityChange = (visibility: VisibilityState) => {\n // ensure that any columns that are now hidden are removed from the pinning\n const newPinning = { ...columnPinning }\n const pinnedColumns = newPinning.left || []\n const hiddenColumns = Object.keys(visibility).filter((col) => visibility[col] === false)\n const newPinnedColumns = pinnedColumns.filter((col) => !hiddenColumns.includes(col))\n\n return {\n ...newPinning,\n left: newPinnedColumns,\n }\n }\n\n const updatePinningOrderOnOrderChange = (order: ColumnOrderState) => {\n // ensure that the column pinning is in the order of the column order\n const newPinning = { ...columnPinning }\n const pinnedColumns = newPinning.left || []\n const pinnedColumnsOrder = order.filter((col) => pinnedColumns.includes(col))\n\n return {\n ...newPinning,\n left: pinnedColumnsOrder,\n }\n }\n\n const updateOrderOnPinningChange = (pinning: ColumnPinningState) => {\n // we resort the column order based on the pinning\n return [...columnOrder].sort((a, b) => {\n const aPinned = pinning.left?.includes(a) ? 1 : 0\n const bPinned = pinning.left?.includes(b) ? 1 : 0\n return bPinned - aPinned\n })\n }\n\n // UPDATE METHODS WITH SIDE EFFECTS\n const updateColumnVisibility = (visibility: VisibilityState) => {\n const newPinning = togglePinningOnVisibilityChange(visibility)\n onChange({\n ...columnsConfig,\n columnVisibility: visibility,\n columnPinning: newPinning,\n })\n }\n\n const updateColumnOrder = (order: ColumnOrderState) => {\n const newPinning = updatePinningOrderOnOrderChange(order)\n onChange({\n ...columnsConfig,\n columnOrder: order,\n columnPinning: newPinning,\n })\n }\n\n const updateColumnPinning = (pinning: ColumnPinningState) => {\n const newOrder = updateOrderOnPinningChange(pinning)\n onChange({\n ...columnsConfig,\n columnOrder: newOrder,\n columnPinning: pinning,\n })\n }\n\n // UPDATER FUNCTIONS\n const columnVisibilityUpdater: OnChangeFn<VisibilityState> = (columnVisibilityUpdater) => {\n const newVisibility = functionalUpdate(columnVisibilityUpdater, columnVisibility)\n updateColumnVisibility(newVisibility)\n }\n\n const columnOrderUpdater: OnChangeFn<ColumnOrderState> = (columnOrderUpdater) => {\n const newOrder = functionalUpdate(columnOrderUpdater, columnOrder)\n updateColumnOrder(newOrder)\n }\n\n const columnPinningUpdater: OnChangeFn<ColumnPinningState> = (columnPinningUpdater) => {\n const newPinning = functionalUpdate(columnPinningUpdater, columnPinning)\n updateColumnPinning(newPinning)\n }\n\n return (\n <ColumnSettingsContext.Provider\n value={{\n // column visibility\n columnVisibility,\n setColumnVisibility,\n updateColumnVisibility,\n columnVisibilityUpdater,\n // column pinning\n columnPinning,\n setColumnPinning,\n updateColumnPinning,\n columnPinningUpdater,\n // column order\n columnOrder,\n setColumnOrder,\n updateColumnOrder,\n columnOrderUpdater,\n // global change\n setColumnsConfig: onChange,\n }}\n >\n {children}\n </ColumnSettingsContext.Provider>\n )\n}\n\nexport const useColumnSettings = (): ColumnSettingsContextType => {\n const context = useContext(ColumnSettingsContext)\n if (!context) {\n throw new Error('useColumnSettings must be used within a ColumnSettingsProvider')\n }\n return context\n}\n"],"names":["columnVisibilityUpdater","columnOrderUpdater","columnPinningUpdater","jsx"],"mappings":"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"}
1
+ {"version":3,"file":"ColumnSettingsContext.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/ColumnSettingsContext.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode, useState } from 'react'\nimport {\n ColumnOrderState,\n ColumnPinningState,\n functionalUpdate,\n OnChangeFn,\n VisibilityState,\n ColumnSizingState,\n} from '@tanstack/react-table'\n\nexport interface ColumnSettingsContextType {\n // Column Visibility\n columnVisibility: VisibilityState\n setColumnVisibility: (columnVisibility: VisibilityState) => void\n updateColumnVisibility: (columnVisibility: VisibilityState) => void\n columnVisibilityUpdater: OnChangeFn<VisibilityState>\n\n // Column Pinning\n columnPinning: ColumnPinningState\n setColumnPinning: (columnPinning: ColumnPinningState) => void\n updateColumnPinning: (columnPinning: ColumnPinningState) => void\n columnPinningUpdater: OnChangeFn<ColumnPinningState>\n\n // Column Order\n columnOrder: ColumnOrderState\n setColumnOrder: (columnOrder: ColumnOrderState) => void\n updateColumnOrder: (columnOrder: ColumnOrderState) => void\n columnOrderUpdater: OnChangeFn<ColumnOrderState>\n\n // Column Sizing\n columnSizing: ColumnSizingState\n setColumnSizing: (columnSizing: ColumnSizingState) => void\n columnSizingUpdater: OnChangeFn<ColumnSizingState>\n\n // Global change\n setColumnsConfig: (config: ColumnsConfig) => void\n}\n\nconst ColumnSettingsContext = createContext<ColumnSettingsContextType | undefined>(undefined)\n\nexport type ColumnsConfig = {\n columnVisibility: VisibilityState\n columnOrder: ColumnOrderState\n columnPinning: ColumnPinningState\n columnSizing: ColumnSizingState // Add this\n}\n\ninterface ColumnSettingsProviderProps {\n children: ReactNode\n config: Record<string, any>\n onChange: (config: ColumnsConfig) => void\n}\n\nexport const ColumnSettingsProvider: React.FC<ColumnSettingsProviderProps> = ({\n children,\n config,\n onChange,\n}) => {\n const columnsConfig = config as ColumnsConfig\n const {\n columnOrder = [],\n columnPinning = {},\n columnVisibility = {},\n columnSizing: columnsSizingExternal = {},\n } = columnsConfig\n\n // DIRECT STATE UPDATES - no side effects\n const setColumnVisibility = (visibility: VisibilityState) => {\n onChange({\n ...columnsConfig,\n columnVisibility: visibility,\n })\n }\n\n const setColumnOrder = (order: ColumnOrderState) => {\n onChange({\n ...columnsConfig,\n columnOrder: order,\n })\n }\n\n const setColumnPinning = (pinning: ColumnPinningState) => {\n onChange({\n ...columnsConfig,\n columnPinning: pinning,\n })\n }\n\n const [internalColumnSizing, setInternalColumnSizing] = useState<ColumnSizingState | null>(null)\n\n // use internalColumnSizing if it exists, otherwise use the external column sizing\n const columnSizing = internalColumnSizing || columnsSizingExternal\n\n const resizingTimeoutRef = React.useRef<NodeJS.Timeout | null>(null)\n\n const setColumnSizing = (sizing: ColumnSizingState) => {\n setInternalColumnSizing(sizing)\n\n // if there is a timeout already set, clear it\n if (resizingTimeoutRef.current) {\n clearTimeout(resizingTimeoutRef.current)\n }\n // set a timeout that tracks if the column sizing has finished\n resizingTimeoutRef.current = setTimeout(() => {\n // we have finished resizing now!\n // update the external column sizing\n onChange({\n ...columnsConfig,\n columnSizing: sizing,\n })\n // reset the internal column sizing to not be used anymore\n setInternalColumnSizing(null)\n }, 500)\n }\n\n // SIDE EFFECT UTILITIES\n const togglePinningOnVisibilityChange = (visibility: VisibilityState) => {\n // ensure that any columns that are now hidden are removed from the pinning\n const newPinning = { ...columnPinning }\n const pinnedColumns = newPinning.left || []\n const hiddenColumns = Object.keys(visibility).filter((col) => visibility[col] === false)\n const newPinnedColumns = pinnedColumns.filter((col) => !hiddenColumns.includes(col))\n\n return {\n ...newPinning,\n left: newPinnedColumns,\n }\n }\n\n const updatePinningOrderOnOrderChange = (order: ColumnOrderState) => {\n // ensure that the column pinning is in the order of the column order\n const newPinning = { ...columnPinning }\n const pinnedColumns = newPinning.left || []\n const pinnedColumnsOrder = order.filter((col) => pinnedColumns.includes(col))\n\n return {\n ...newPinning,\n left: pinnedColumnsOrder,\n }\n }\n\n const updateOrderOnPinningChange = (pinning: ColumnPinningState) => {\n // we resort the column order based on the pinning\n return [...columnOrder].sort((a, b) => {\n const aPinned = pinning.left?.includes(a) ? 1 : 0\n const bPinned = pinning.left?.includes(b) ? 1 : 0\n return bPinned - aPinned\n })\n }\n\n // UPDATE METHODS WITH SIDE EFFECTS\n const updateColumnVisibility = (visibility: VisibilityState) => {\n const newPinning = togglePinningOnVisibilityChange(visibility)\n onChange({\n ...columnsConfig,\n columnVisibility: visibility,\n columnPinning: newPinning,\n })\n }\n\n const updateColumnOrder = (order: ColumnOrderState) => {\n const newPinning = updatePinningOrderOnOrderChange(order)\n onChange({\n ...columnsConfig,\n columnOrder: order,\n columnPinning: newPinning,\n })\n }\n\n const updateColumnPinning = (pinning: ColumnPinningState) => {\n const newOrder = updateOrderOnPinningChange(pinning)\n onChange({\n ...columnsConfig,\n columnOrder: newOrder,\n columnPinning: pinning,\n })\n }\n\n // UPDATER FUNCTIONS\n const columnVisibilityUpdater: OnChangeFn<VisibilityState> = (columnVisibilityUpdater) => {\n const newVisibility = functionalUpdate(columnVisibilityUpdater, columnVisibility)\n updateColumnVisibility(newVisibility)\n }\n\n const columnOrderUpdater: OnChangeFn<ColumnOrderState> = (columnOrderUpdater) => {\n const newOrder = functionalUpdate(columnOrderUpdater, columnOrder)\n updateColumnOrder(newOrder)\n }\n\n const columnPinningUpdater: OnChangeFn<ColumnPinningState> = (columnPinningUpdater) => {\n const newPinning = functionalUpdate(columnPinningUpdater, columnPinning)\n updateColumnPinning(newPinning)\n }\n\n const columnSizingUpdater: OnChangeFn<ColumnSizingState> = (sizingUpdater) => {\n const newSizing = functionalUpdate(sizingUpdater, columnSizing)\n setColumnSizing(newSizing)\n }\n\n return (\n <ColumnSettingsContext.Provider\n value={{\n // column visibility\n columnVisibility,\n setColumnVisibility,\n updateColumnVisibility,\n columnVisibilityUpdater,\n // column pinning\n columnPinning,\n setColumnPinning,\n updateColumnPinning,\n columnPinningUpdater,\n // column order\n columnOrder,\n setColumnOrder,\n updateColumnOrder,\n columnOrderUpdater,\n // column sizing\n columnSizing,\n setColumnSizing,\n columnSizingUpdater,\n // global change\n setColumnsConfig: onChange,\n }}\n >\n {children}\n </ColumnSettingsContext.Provider>\n )\n}\n\nexport const useColumnSettingsContext = (): ColumnSettingsContextType => {\n const context = useContext(ColumnSettingsContext)\n if (!context) {\n throw new Error('useColumnSettingsContext must be used within a ColumnSettingsProvider')\n }\n return context\n}\n"],"names":["React","columnVisibilityUpdater","columnOrderUpdater","columnPinningUpdater","jsx"],"mappings":"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"}