@ynput/ayon-frontend-shared 0.2.18 → 0.2.20

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 (695) hide show
  1. package/dist/DetailsPanel.cjs.js +16 -6
  2. package/dist/DetailsPanel.cjs.js.map +1 -1
  3. package/dist/DetailsPanel.es.js +17 -7
  4. package/dist/DetailsPanel.es.js.map +1 -1
  5. package/dist/ProjectTreeTable.cjs.js +6 -0
  6. package/dist/ProjectTreeTable.cjs.js.map +1 -1
  7. package/dist/ProjectTreeTable.es.js +6 -0
  8. package/dist/ProjectTreeTable.es.js.map +1 -1
  9. package/dist/api.cjs.js +22 -0
  10. package/dist/api.cjs.js.map +1 -1
  11. package/dist/api.es.js +27 -5
  12. package/dist/api.es.js.map +1 -1
  13. package/dist/components.cjs.js +22 -0
  14. package/dist/components.cjs.js.map +1 -1
  15. package/dist/components.es.js +23 -1
  16. package/dist/components.es.js.map +1 -1
  17. package/dist/index.cjs.js +16 -5
  18. package/dist/index.cjs.js.map +1 -1
  19. package/dist/index.es.js +16 -5
  20. package/dist/index.es.js.map +1 -1
  21. package/dist/shared/node_modules/uuid/dist/esm-browser/native.cjs.js +5 -0
  22. package/dist/shared/node_modules/uuid/dist/esm-browser/native.cjs.js.map +1 -0
  23. package/dist/shared/node_modules/uuid/dist/esm-browser/native.es.js +6 -0
  24. package/dist/shared/node_modules/uuid/dist/esm-browser/native.es.js.map +1 -0
  25. package/dist/shared/node_modules/uuid/dist/esm-browser/rng.cjs.js +2 -2
  26. package/dist/shared/node_modules/uuid/dist/esm-browser/rng.cjs.js.map +1 -1
  27. package/dist/shared/node_modules/uuid/dist/esm-browser/rng.es.js +2 -2
  28. package/dist/shared/node_modules/uuid/dist/esm-browser/rng.es.js.map +1 -1
  29. package/dist/shared/node_modules/uuid/dist/esm-browser/stringify.cjs.js +1 -1
  30. package/dist/shared/node_modules/uuid/dist/esm-browser/stringify.cjs.js.map +1 -1
  31. package/dist/shared/node_modules/uuid/dist/esm-browser/stringify.es.js +1 -1
  32. package/dist/shared/node_modules/uuid/dist/esm-browser/stringify.es.js.map +1 -1
  33. package/dist/shared/node_modules/uuid/dist/esm-browser/v1.cjs.js +58 -41
  34. package/dist/shared/node_modules/uuid/dist/esm-browser/v1.cjs.js.map +1 -1
  35. package/dist/shared/node_modules/uuid/dist/esm-browser/v1.es.js +57 -41
  36. package/dist/shared/node_modules/uuid/dist/esm-browser/v1.es.js.map +1 -1
  37. package/dist/shared/node_modules/uuid/dist/esm-browser/v4.cjs.js +20 -0
  38. package/dist/shared/node_modules/uuid/dist/esm-browser/v4.cjs.js.map +1 -0
  39. package/dist/shared/node_modules/uuid/dist/esm-browser/v4.es.js +21 -0
  40. package/dist/shared/node_modules/uuid/dist/esm-browser/v4.es.js.map +1 -0
  41. package/dist/shared/src/api/base/client.cjs.js +2 -1
  42. package/dist/shared/src/api/base/client.cjs.js.map +1 -1
  43. package/dist/shared/src/api/base/client.es.js +2 -1
  44. package/dist/shared/src/api/base/client.es.js.map +1 -1
  45. package/dist/shared/src/api/generated/actions.cjs.js +6 -1
  46. package/dist/shared/src/api/generated/actions.cjs.js.map +1 -1
  47. package/dist/shared/src/api/generated/actions.es.js +6 -1
  48. package/dist/shared/src/api/generated/actions.es.js.map +1 -1
  49. package/dist/shared/src/api/generated/activityFeed.cjs.js.map +1 -1
  50. package/dist/shared/src/api/generated/activityFeed.es.js.map +1 -1
  51. package/dist/shared/src/api/generated/addons.cjs.js +2 -1
  52. package/dist/shared/src/api/generated/addons.cjs.js.map +1 -1
  53. package/dist/shared/src/api/generated/addons.es.js +2 -1
  54. package/dist/shared/src/api/generated/addons.es.js.map +1 -1
  55. package/dist/shared/src/api/generated/anatomy.cjs.js.map +1 -1
  56. package/dist/shared/src/api/generated/anatomy.es.js.map +1 -1
  57. package/dist/shared/src/api/generated/authentication.cjs.js.map +1 -1
  58. package/dist/shared/src/api/generated/authentication.es.js.map +1 -1
  59. package/dist/shared/src/api/generated/configuration.cjs.js.map +1 -1
  60. package/dist/shared/src/api/generated/configuration.es.js.map +1 -1
  61. package/dist/shared/src/api/generated/folders.cjs.js.map +1 -1
  62. package/dist/shared/src/api/generated/folders.es.js.map +1 -1
  63. package/dist/shared/src/api/generated/graphql.cjs.js +38 -0
  64. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  65. package/dist/shared/src/api/generated/graphql.es.js +38 -0
  66. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  67. package/dist/shared/src/api/generated/links.cjs.js.map +1 -1
  68. package/dist/shared/src/api/generated/links.es.js.map +1 -1
  69. package/dist/shared/src/api/generated/onboarding.cjs.js.map +1 -1
  70. package/dist/shared/src/api/generated/onboarding.es.js.map +1 -1
  71. package/dist/shared/src/api/generated/operations.cjs.js.map +1 -1
  72. package/dist/shared/src/api/generated/operations.es.js.map +1 -1
  73. package/dist/shared/src/api/generated/projects.cjs.js +0 -8
  74. package/dist/shared/src/api/generated/projects.cjs.js.map +1 -1
  75. package/dist/shared/src/api/generated/projects.es.js +0 -8
  76. package/dist/shared/src/api/generated/projects.es.js.map +1 -1
  77. package/dist/shared/src/api/generated/system.cjs.js.map +1 -1
  78. package/dist/shared/src/api/generated/system.es.js.map +1 -1
  79. package/dist/shared/src/api/generated/tasks.cjs.js.map +1 -1
  80. package/dist/shared/src/api/generated/tasks.es.js.map +1 -1
  81. package/dist/shared/src/api/generated/views.cjs.js +53 -0
  82. package/dist/shared/src/api/generated/views.cjs.js.map +1 -0
  83. package/dist/shared/src/api/generated/views.es.js +53 -0
  84. package/dist/shared/src/api/generated/views.es.js.map +1 -0
  85. package/dist/shared/src/api/queries/actions/getActions.cjs.js +10 -1
  86. package/dist/shared/src/api/queries/actions/getActions.cjs.js.map +1 -1
  87. package/dist/shared/src/api/queries/actions/getActions.es.js +10 -1
  88. package/dist/shared/src/api/queries/actions/getActions.es.js.map +1 -1
  89. package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -0
  90. package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
  91. package/dist/shared/src/api/queries/activities/getActivities.es.js +1 -0
  92. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  93. package/dist/shared/src/api/queries/activities/getMentions.cjs.js +1 -0
  94. package/dist/shared/src/api/queries/activities/getMentions.cjs.js.map +1 -1
  95. package/dist/shared/src/api/queries/activities/getMentions.es.js +1 -0
  96. package/dist/shared/src/api/queries/activities/getMentions.es.js.map +1 -1
  97. package/dist/shared/src/api/queries/activities/updateReaction.cjs.js +1 -0
  98. package/dist/shared/src/api/queries/activities/updateReaction.cjs.js.map +1 -1
  99. package/dist/shared/src/api/queries/activities/updateReaction.es.js +1 -0
  100. package/dist/shared/src/api/queries/activities/updateReaction.es.js.map +1 -1
  101. package/dist/shared/src/api/queries/addons/getAddons.cjs.js +1 -0
  102. package/dist/shared/src/api/queries/addons/getAddons.cjs.js.map +1 -1
  103. package/dist/shared/src/api/queries/addons/getAddons.es.js +1 -0
  104. package/dist/shared/src/api/queries/addons/getAddons.es.js.map +1 -1
  105. package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js +1 -0
  106. package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js.map +1 -1
  107. package/dist/shared/src/api/queries/attributes/getAttributes.es.js +1 -0
  108. package/dist/shared/src/api/queries/attributes/getAttributes.es.js.map +1 -1
  109. package/dist/shared/src/api/queries/authentication/getAuthentication.cjs.js +1 -0
  110. package/dist/shared/src/api/queries/authentication/getAuthentication.cjs.js.map +1 -1
  111. package/dist/shared/src/api/queries/authentication/getAuthentication.es.js +1 -0
  112. package/dist/shared/src/api/queries/authentication/getAuthentication.es.js.map +1 -1
  113. package/dist/shared/src/api/queries/cloud/cloud.cjs.js +67 -0
  114. package/dist/shared/src/api/queries/cloud/cloud.cjs.js.map +1 -0
  115. package/dist/shared/src/api/queries/cloud/cloud.es.js +67 -0
  116. package/dist/shared/src/api/queries/cloud/cloud.es.js.map +1 -0
  117. package/dist/shared/src/api/queries/entities/getEntity.cjs.js +1 -0
  118. package/dist/shared/src/api/queries/entities/getEntity.cjs.js.map +1 -1
  119. package/dist/shared/src/api/queries/entities/getEntity.es.js +1 -0
  120. package/dist/shared/src/api/queries/entities/getEntity.es.js.map +1 -1
  121. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +3 -1
  122. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
  123. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +3 -1
  124. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  125. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +16 -8
  126. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  127. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +16 -8
  128. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  129. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +11 -1
  130. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  131. package/dist/shared/src/api/queries/entities/updateEntity.es.js +11 -1
  132. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  133. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +68 -0
  134. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  135. package/dist/shared/src/api/queries/entityLists/getLists.es.js +69 -1
  136. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  137. package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js +1 -0
  138. package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js.map +1 -1
  139. package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js +1 -0
  140. package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js.map +1 -1
  141. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +20 -3
  142. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
  143. package/dist/shared/src/api/queries/entityLists/updateLists.es.js +20 -3
  144. package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
  145. package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -0
  146. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  147. package/dist/shared/src/api/queries/folders/getFolders.es.js +1 -0
  148. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  149. package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js +1 -0
  150. package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js.map +1 -1
  151. package/dist/shared/src/api/queries/grouping/getGrouping.es.js +1 -0
  152. package/dist/shared/src/api/queries/grouping/getGrouping.es.js.map +1 -1
  153. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -0
  154. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  155. package/dist/shared/src/api/queries/overview/getOverview.es.js +1 -0
  156. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  157. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +30 -2
  158. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  159. package/dist/shared/src/api/queries/overview/updateOverview.es.js +30 -2
  160. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  161. package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js +1 -0
  162. package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js.map +1 -1
  163. package/dist/shared/src/api/queries/permissions/getPermissions.es.js +1 -0
  164. package/dist/shared/src/api/queries/permissions/getPermissions.es.js.map +1 -1
  165. package/dist/shared/src/api/queries/products/createProduct.cjs.js +1 -0
  166. package/dist/shared/src/api/queries/products/createProduct.cjs.js.map +1 -1
  167. package/dist/shared/src/api/queries/products/createProduct.es.js +1 -0
  168. package/dist/shared/src/api/queries/products/createProduct.es.js.map +1 -1
  169. package/dist/shared/src/api/queries/project/getProject.cjs.js +1 -0
  170. package/dist/shared/src/api/queries/project/getProject.cjs.js.map +1 -1
  171. package/dist/shared/src/api/queries/project/getProject.es.js +1 -0
  172. package/dist/shared/src/api/queries/project/getProject.es.js.map +1 -1
  173. package/dist/shared/src/api/queries/review/getReview.cjs.js +1 -0
  174. package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
  175. package/dist/shared/src/api/queries/review/getReview.es.js +1 -0
  176. package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
  177. package/dist/shared/src/api/queries/review/updateReview.cjs.js +1 -0
  178. package/dist/shared/src/api/queries/review/updateReview.cjs.js.map +1 -1
  179. package/dist/shared/src/api/queries/review/updateReview.es.js +1 -0
  180. package/dist/shared/src/api/queries/review/updateReview.es.js.map +1 -1
  181. package/dist/shared/src/api/queries/system/getSystem.cjs.js +1 -0
  182. package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
  183. package/dist/shared/src/api/queries/system/getSystem.es.js +1 -0
  184. package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
  185. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -0
  186. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  187. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +1 -0
  188. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  189. package/dist/shared/src/api/queries/users/getUsers.cjs.js +6 -0
  190. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  191. package/dist/shared/src/api/queries/users/getUsers.es.js +6 -0
  192. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  193. package/dist/shared/src/api/queries/users/updateUsers.cjs.js +1 -0
  194. package/dist/shared/src/api/queries/users/updateUsers.cjs.js.map +1 -1
  195. package/dist/shared/src/api/queries/users/updateUsers.es.js +1 -0
  196. package/dist/shared/src/api/queries/users/updateUsers.es.js.map +1 -1
  197. package/dist/shared/src/api/queries/versions/updateVersions.cjs.js +4 -1
  198. package/dist/shared/src/api/queries/versions/updateVersions.cjs.js.map +1 -1
  199. package/dist/shared/src/api/queries/versions/updateVersions.es.js +4 -1
  200. package/dist/shared/src/api/queries/versions/updateVersions.es.js.map +1 -1
  201. package/dist/shared/src/api/queries/views/getViews.cjs.js +72 -0
  202. package/dist/shared/src/api/queries/views/getViews.cjs.js.map +1 -0
  203. package/dist/shared/src/api/queries/views/getViews.es.js +72 -0
  204. package/dist/shared/src/api/queries/views/getViews.es.js.map +1 -0
  205. package/dist/shared/src/api/queries/views/updateViews.cjs.js +33 -0
  206. package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -0
  207. package/dist/shared/src/api/queries/views/updateViews.es.js +33 -0
  208. package/dist/shared/src/api/queries/views/updateViews.es.js.map +1 -0
  209. package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js +1 -0
  210. package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js.map +1 -1
  211. package/dist/shared/src/api/queries/watchers/getWatchers.es.js +1 -0
  212. package/dist/shared/src/api/queries/watchers/getWatchers.es.js.map +1 -1
  213. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +4 -0
  214. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  215. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +4 -0
  216. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  217. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js +17 -6
  218. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js.map +1 -1
  219. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js +17 -6
  220. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js.map +1 -1
  221. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +1 -1
  222. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
  223. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +1 -1
  224. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
  225. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +2 -2
  226. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  227. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +2 -2
  228. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  229. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +25 -14
  230. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  231. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +25 -14
  232. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  233. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +369 -0
  234. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -0
  235. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +369 -0
  236. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -0
  237. package/dist/shared/src/components/Feedback/SupportBubble.cjs.js +48 -0
  238. package/dist/shared/src/components/Feedback/SupportBubble.cjs.js.map +1 -0
  239. package/dist/shared/src/components/Feedback/SupportBubble.es.js +48 -0
  240. package/dist/shared/src/components/Feedback/SupportBubble.es.js.map +1 -0
  241. package/dist/shared/src/components/PlayableIcon/PlayableIcon.cjs.js +43 -0
  242. package/dist/shared/src/components/PlayableIcon/PlayableIcon.cjs.js.map +1 -0
  243. package/dist/shared/src/components/PlayableIcon/PlayableIcon.es.js +43 -0
  244. package/dist/shared/src/components/PlayableIcon/PlayableIcon.es.js.map +1 -0
  245. package/dist/shared/src/components/Powerpack/CTAButton.cjs.js +10 -0
  246. package/dist/shared/src/components/Powerpack/CTAButton.cjs.js.map +1 -0
  247. package/dist/shared/src/components/Powerpack/CTAButton.es.js +10 -0
  248. package/dist/shared/src/components/Powerpack/CTAButton.es.js.map +1 -0
  249. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +229 -28
  250. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  251. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +230 -29
  252. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  253. package/dist/shared/src/components/Powerpack/PowerpackDialog.styled.cjs.js +4 -1
  254. package/dist/shared/src/components/Powerpack/PowerpackDialog.styled.cjs.js.map +1 -1
  255. package/dist/shared/src/components/Powerpack/PowerpackDialog.styled.es.js +4 -1
  256. package/dist/shared/src/components/Powerpack/PowerpackDialog.styled.es.js.map +1 -1
  257. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +19 -15
  258. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  259. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +19 -15
  260. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  261. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +179 -0
  262. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  263. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +179 -0
  264. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  265. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +4 -0
  266. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  267. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +4 -0
  268. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  269. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +16 -5
  270. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  271. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +16 -5
  272. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  273. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +16 -5
  274. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  275. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +16 -5
  276. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  277. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +16 -5
  278. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  279. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +16 -5
  280. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  281. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +4 -0
  282. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  283. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +4 -0
  284. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  285. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +4 -0
  286. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  287. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +4 -0
  288. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  289. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js +2 -2
  290. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js.map +1 -1
  291. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js +2 -2
  292. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js.map +1 -1
  293. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +16 -5
  294. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  295. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +16 -5
  296. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  297. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +16 -5
  298. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  299. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +16 -5
  300. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  301. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +4 -0
  302. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  303. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +4 -0
  304. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  305. package/dist/shared/src/components/Views/ViewForm/ViewForm.cjs.js +164 -0
  306. package/dist/shared/src/components/Views/ViewForm/ViewForm.cjs.js.map +1 -0
  307. package/dist/shared/src/components/Views/ViewForm/ViewForm.es.js +164 -0
  308. package/dist/shared/src/components/Views/ViewForm/ViewForm.es.js.map +1 -0
  309. package/dist/shared/src/components/Views/ViewForm/ViewForm.styled.cjs.js +71 -0
  310. package/dist/shared/src/components/Views/ViewForm/ViewForm.styled.cjs.js.map +1 -0
  311. package/dist/shared/src/components/Views/ViewForm/ViewForm.styled.es.js +71 -0
  312. package/dist/shared/src/components/Views/ViewForm/ViewForm.styled.es.js.map +1 -0
  313. package/dist/shared/src/components/Views/ViewForm/ViewFormContainer.cjs.js +189 -0
  314. package/dist/shared/src/components/Views/ViewForm/ViewFormContainer.cjs.js.map +1 -0
  315. package/dist/shared/src/components/Views/ViewForm/ViewFormContainer.es.js +189 -0
  316. package/dist/shared/src/components/Views/ViewForm/ViewFormContainer.es.js.map +1 -0
  317. package/dist/shared/src/components/Views/ViewItem/ViewItem.cjs.js +36 -0
  318. package/dist/shared/src/components/Views/ViewItem/ViewItem.cjs.js.map +1 -0
  319. package/dist/shared/src/components/Views/ViewItem/ViewItem.es.js +36 -0
  320. package/dist/shared/src/components/Views/ViewItem/ViewItem.es.js.map +1 -0
  321. package/dist/shared/src/components/Views/ViewItem/ViewItem.styled.cjs.js +63 -0
  322. package/dist/shared/src/components/Views/ViewItem/ViewItem.styled.cjs.js.map +1 -0
  323. package/dist/shared/src/components/Views/ViewItem/ViewItem.styled.es.js +63 -0
  324. package/dist/shared/src/components/Views/ViewItem/ViewItem.styled.es.js.map +1 -0
  325. package/dist/shared/src/components/Views/Views.cjs.js +21 -0
  326. package/dist/shared/src/components/Views/Views.cjs.js.map +1 -0
  327. package/dist/shared/src/components/Views/Views.es.js +21 -0
  328. package/dist/shared/src/components/Views/Views.es.js.map +1 -0
  329. package/dist/shared/src/components/Views/Views.styled.cjs.js +44 -0
  330. package/dist/shared/src/components/Views/Views.styled.cjs.js.map +1 -0
  331. package/dist/shared/src/components/Views/Views.styled.es.js +44 -0
  332. package/dist/shared/src/components/Views/Views.styled.es.js.map +1 -0
  333. package/dist/shared/src/components/Views/ViewsButton/ViewsButton.cjs.js +32 -0
  334. package/dist/shared/src/components/Views/ViewsButton/ViewsButton.cjs.js.map +1 -0
  335. package/dist/shared/src/components/Views/ViewsButton/ViewsButton.es.js +32 -0
  336. package/dist/shared/src/components/Views/ViewsButton/ViewsButton.es.js.map +1 -0
  337. package/dist/shared/src/components/Views/ViewsMenu/ViewsMenu.cjs.js +31 -0
  338. package/dist/shared/src/components/Views/ViewsMenu/ViewsMenu.cjs.js.map +1 -0
  339. package/dist/shared/src/components/Views/ViewsMenu/ViewsMenu.es.js +31 -0
  340. package/dist/shared/src/components/Views/ViewsMenu/ViewsMenu.es.js.map +1 -0
  341. package/dist/shared/src/components/Views/ViewsMenu/ViewsMenu.styled.cjs.js +33 -0
  342. package/dist/shared/src/components/Views/ViewsMenu/ViewsMenu.styled.cjs.js.map +1 -0
  343. package/dist/shared/src/components/Views/ViewsMenu/ViewsMenu.styled.es.js +33 -0
  344. package/dist/shared/src/components/Views/ViewsMenu/ViewsMenu.styled.es.js.map +1 -0
  345. package/dist/shared/src/components/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +132 -0
  346. package/dist/shared/src/components/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -0
  347. package/dist/shared/src/components/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +132 -0
  348. package/dist/shared/src/components/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -0
  349. package/dist/shared/src/components/Views/context/ViewsContext.cjs.js +145 -0
  350. package/dist/shared/src/components/Views/context/ViewsContext.cjs.js.map +1 -0
  351. package/dist/shared/src/components/Views/context/ViewsContext.es.js +145 -0
  352. package/dist/shared/src/components/Views/context/ViewsContext.es.js.map +1 -0
  353. package/dist/shared/src/components/Views/hooks/useBuildViewMenuItems.cjs.js +160 -0
  354. package/dist/shared/src/components/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -0
  355. package/dist/shared/src/components/Views/hooks/useBuildViewMenuItems.es.js +160 -0
  356. package/dist/shared/src/components/Views/hooks/useBuildViewMenuItems.es.js.map +1 -0
  357. package/dist/shared/src/components/Views/utils/generatePersonalView.cjs.js +13 -0
  358. package/dist/shared/src/components/Views/utils/generatePersonalView.cjs.js.map +1 -0
  359. package/dist/shared/src/components/Views/utils/generatePersonalView.es.js +13 -0
  360. package/dist/shared/src/components/Views/utils/generatePersonalView.es.js.map +1 -0
  361. package/dist/shared/src/components/Views/utils/getCustomViewsFallback.cjs.js +8 -0
  362. package/dist/shared/src/components/Views/utils/getCustomViewsFallback.cjs.js.map +1 -0
  363. package/dist/shared/src/components/Views/utils/getCustomViewsFallback.es.js +8 -0
  364. package/dist/shared/src/components/Views/utils/getCustomViewsFallback.es.js.map +1 -0
  365. package/dist/shared/src/components/Views/utils/portalUtils.cjs.js +11 -0
  366. package/dist/shared/src/components/Views/utils/portalUtils.cjs.js.map +1 -0
  367. package/dist/shared/src/components/Views/utils/portalUtils.es.js +11 -0
  368. package/dist/shared/src/components/Views/utils/portalUtils.es.js.map +1 -0
  369. package/dist/shared/src/components/Watchers/Watchers.cjs.js +4 -0
  370. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  371. package/dist/shared/src/components/Watchers/Watchers.es.js +4 -0
  372. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  373. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +16 -5
  374. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  375. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +16 -5
  376. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  377. package/dist/shared/src/containers/Actions/Actions.cjs.js +12 -2
  378. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  379. package/dist/shared/src/containers/Actions/Actions.es.js +12 -2
  380. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  381. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js +10 -3
  382. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js.map +1 -1
  383. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js +10 -3
  384. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js.map +1 -1
  385. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.cjs.js +14 -0
  386. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.cjs.js.map +1 -1
  387. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.es.js +14 -0
  388. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.es.js.map +1 -1
  389. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +16 -5
  390. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  391. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +16 -5
  392. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  393. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +15 -5
  394. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  395. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +15 -5
  396. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  397. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +16 -5
  398. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  399. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +16 -5
  400. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  401. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +16 -5
  402. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  403. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +16 -5
  404. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  405. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +16 -4
  406. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  407. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +17 -5
  408. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  409. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js +1 -31
  410. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.es.js +1 -31
  412. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.es.js.map +1 -1
  413. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +4 -0
  414. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +4 -0
  416. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  417. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +4 -0
  418. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +4 -0
  420. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  421. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.styled.cjs.js +2 -2
  422. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.styled.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.styled.es.js +2 -2
  424. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.styled.es.js.map +1 -1
  425. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js +1 -1
  426. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.es.js +1 -1
  428. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.es.js.map +1 -1
  429. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +4 -0
  430. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  431. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +4 -0
  432. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  433. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js +1 -1
  434. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +4 -0
  436. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  437. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +4 -0
  438. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  439. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +57 -5
  440. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  441. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +59 -7
  442. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  443. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +47 -11
  444. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  445. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +47 -11
  446. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  447. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +15 -4
  448. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  449. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +15 -4
  450. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  451. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js +5 -3
  452. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js.map +1 -1
  453. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js +5 -3
  454. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js.map +1 -1
  455. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.cjs.js +106 -2
  456. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.cjs.js.map +1 -1
  457. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.es.js +106 -2
  458. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.es.js.map +1 -1
  459. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +14 -2
  460. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  461. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +14 -2
  462. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  463. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +4 -0
  464. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  465. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +4 -0
  466. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  467. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  468. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  469. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +15 -3
  470. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
  471. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +15 -3
  472. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
  473. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +110 -0
  474. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  475. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +110 -0
  476. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  477. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +4 -0
  478. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  479. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +4 -0
  480. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  481. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +4 -2
  482. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  483. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +4 -2
  484. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  485. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +26 -4
  486. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  487. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +26 -4
  488. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  489. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +139 -0
  490. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -0
  491. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +139 -0
  492. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -0
  493. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +8 -6
  494. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  495. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +8 -6
  496. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  497. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +4 -0
  498. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  499. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +4 -0
  500. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  501. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.cjs.js +1 -2
  502. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.cjs.js.map +1 -1
  503. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.es.js +1 -2
  504. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.es.js.map +1 -1
  505. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +92 -0
  506. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  507. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +92 -0
  508. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  509. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js +4 -0
  510. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js.map +1 -1
  511. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js +4 -0
  512. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js.map +1 -1
  513. package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.cjs.js +1 -1
  514. package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.cjs.js.map +1 -1
  515. package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.es.js +1 -1
  516. package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.es.js.map +1 -1
  517. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +35 -4
  518. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  519. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +35 -4
  520. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  521. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js +4 -0
  522. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js.map +1 -1
  523. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js +4 -0
  524. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js.map +1 -1
  525. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +92 -0
  526. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  527. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +92 -0
  528. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  529. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  530. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  531. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +1 -1
  532. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  533. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +94 -0
  534. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  535. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +94 -0
  536. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  537. package/dist/shared/src/containers/ProjectTreeTable/utils/getEntityViewerIds.cjs.js +19 -0
  538. package/dist/shared/src/containers/ProjectTreeTable/utils/getEntityViewerIds.cjs.js.map +1 -0
  539. package/dist/shared/src/containers/ProjectTreeTable/utils/getEntityViewerIds.es.js +19 -0
  540. package/dist/shared/src/containers/ProjectTreeTable/utils/getEntityViewerIds.es.js.map +1 -0
  541. package/dist/shared/src/containers/ProjectTreeTable/utils/getTypeDefaultValue.cjs.js +26 -0
  542. package/dist/shared/src/containers/ProjectTreeTable/utils/getTypeDefaultValue.cjs.js.map +1 -0
  543. package/dist/shared/src/containers/ProjectTreeTable/utils/getTypeDefaultValue.es.js +26 -0
  544. package/dist/shared/src/containers/ProjectTreeTable/utils/getTypeDefaultValue.es.js.map +1 -0
  545. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +9 -8
  546. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  547. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +10 -9
  548. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  549. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js +8 -2
  550. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js.map +1 -1
  551. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js +8 -2
  552. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js.map +1 -1
  553. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js +190 -0
  554. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js.map +1 -0
  555. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js +190 -0
  556. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js.map +1 -0
  557. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +4 -147
  558. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
  559. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +2 -145
  560. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
  561. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +12 -2
  562. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -1
  563. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +12 -2
  564. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js.map +1 -1
  565. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +16 -5
  566. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  567. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +16 -5
  568. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  569. package/dist/shared/src/context/AddonProjectContext.cjs.js +4 -0
  570. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  571. package/dist/shared/src/context/AddonProjectContext.es.js +4 -0
  572. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  573. package/dist/shared/src/context/DetailsPanelContext.cjs.js +9 -1
  574. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  575. package/dist/shared/src/context/DetailsPanelContext.es.js +9 -1
  576. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  577. package/dist/shared/src/context/PowerpackContext.cjs.js +9 -0
  578. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  579. package/dist/shared/src/context/PowerpackContext.es.js +9 -0
  580. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  581. package/dist/shared/src/context/RemoteModulesContext.cjs.js +4 -0
  582. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  583. package/dist/shared/src/context/RemoteModulesContext.es.js +4 -0
  584. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  585. package/dist/shared/src/hooks/useActionTriggers.cjs.js +4 -0
  586. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  587. package/dist/shared/src/hooks/useActionTriggers.es.js +4 -0
  588. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  589. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +4 -0
  590. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  591. package/dist/shared/src/hooks/useEntityUpdate.es.js +4 -0
  592. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  593. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +4 -0
  594. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  595. package/dist/shared/src/hooks/useScopedStatuses.es.js +4 -0
  596. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  597. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +4 -0
  598. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  599. package/dist/shared/src/hooks/useUserProjectConfig.es.js +4 -0
  600. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  601. package/dist/shared/src/util/confirmDelete.cjs.js +1 -0
  602. package/dist/shared/src/util/confirmDelete.cjs.js.map +1 -1
  603. package/dist/shared/src/util/confirmDelete.es.js +2 -0
  604. package/dist/shared/src/util/confirmDelete.es.js.map +1 -1
  605. package/dist/types/SimpleTable/SimpleTable.d.ts +1 -0
  606. package/dist/types/SimpleTable/SimpleTableRowTemplate.d.ts +1 -1
  607. package/dist/types/SimpleTable/context/SimpleTableContext.d.ts +5 -1
  608. package/dist/types/api/generated/actions.d.ts +11 -4
  609. package/dist/types/api/generated/activityFeed.d.ts +3 -0
  610. package/dist/types/api/generated/addons.d.ts +1 -0
  611. package/dist/types/api/generated/anatomy.d.ts +0 -2
  612. package/dist/types/api/generated/authentication.d.ts +0 -1
  613. package/dist/types/api/generated/configuration.d.ts +6 -0
  614. package/dist/types/api/generated/folders.d.ts +1 -0
  615. package/dist/types/api/generated/graphql.d.ts +66 -5
  616. package/dist/types/api/generated/index.d.ts +2 -0
  617. package/dist/types/api/generated/links.d.ts +7 -5
  618. package/dist/types/api/generated/onboarding.d.ts +0 -1
  619. package/dist/types/api/generated/operations.d.ts +2 -0
  620. package/dist/types/api/generated/projects.d.ts +0 -35
  621. package/dist/types/api/generated/system.d.ts +2 -0
  622. package/dist/types/api/generated/tasks.d.ts +0 -14
  623. package/dist/types/api/generated/views.d.ts +122 -0
  624. package/dist/types/api/queries/actions/getActions.d.ts +132 -1
  625. package/dist/types/api/queries/activities/getActivities.d.ts +6 -0
  626. package/dist/types/api/queries/activities/updateActivities.d.ts +12 -0
  627. package/dist/types/api/queries/cloud/cloud.d.ts +593 -0
  628. package/dist/types/api/queries/cloud/index.d.ts +1 -0
  629. package/dist/types/api/queries/entities/getEntity.d.ts +6 -0
  630. package/dist/types/api/queries/entities/getEntityPanel.d.ts +6 -0
  631. package/dist/types/api/queries/entities/transformDetailsPanelData.d.ts +1 -0
  632. package/dist/types/api/queries/entities/updateEntity.d.ts +6 -0
  633. package/dist/types/api/queries/entityLists/getLists.d.ts +1517 -2
  634. package/dist/types/api/queries/entityLists/types.d.ts +30 -1
  635. package/dist/types/api/queries/entityLists/updateLists.d.ts +166 -3
  636. package/dist/types/api/queries/index.d.ts +2 -0
  637. package/dist/types/api/queries/overview/getOverview.d.ts +6 -0
  638. package/dist/types/api/queries/project/getProject.d.ts +0 -2
  639. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +6 -0
  640. package/dist/types/api/queries/users/getUsers.d.ts +6 -0
  641. package/dist/types/api/queries/views/getViews.d.ts +412 -0
  642. package/dist/types/api/queries/views/index.d.ts +2 -0
  643. package/dist/types/api/queries/views/updateViews.d.ts +177 -0
  644. package/dist/types/components/Feedback/FeedbackContext.d.ts +17 -0
  645. package/dist/types/components/Feedback/SupportBubble.d.ts +4 -0
  646. package/dist/types/components/Feedback/index.d.ts +2 -0
  647. package/dist/types/components/PlayableIcon/PlayableIcon.d.ts +4 -0
  648. package/dist/types/components/Powerpack/CTAButton.d.ts +4 -0
  649. package/dist/types/components/Powerpack/PowerpackDialog.d.ts +8 -0
  650. package/dist/types/components/Views/ViewForm/ViewForm.d.ts +14 -0
  651. package/dist/types/components/Views/ViewForm/ViewForm.styled.d.ts +9 -0
  652. package/dist/types/components/Views/ViewForm/ViewFormContainer.d.ts +15 -0
  653. package/dist/types/components/Views/ViewItem/ViewItem.d.ts +15 -0
  654. package/dist/types/components/Views/ViewItem/ViewItem.styled.d.ts +4 -0
  655. package/dist/types/components/Views/Views.d.ts +8 -0
  656. package/dist/types/components/Views/Views.styled.d.ts +4 -0
  657. package/dist/types/components/Views/ViewsButton/ViewsButton.d.ts +2 -0
  658. package/dist/types/components/Views/ViewsMenu/ViewsMenu.d.ts +11 -0
  659. package/dist/types/components/Views/ViewsMenu/ViewsMenu.styled.d.ts +4 -0
  660. package/dist/types/components/Views/ViewsMenuContainer/ViewsMenuContainer.d.ts +4 -0
  661. package/dist/types/components/Views/context/ViewsContext.d.ts +31 -0
  662. package/dist/types/components/Views/hooks/useBuildViewMenuItems.d.ts +14 -0
  663. package/dist/types/components/Views/index.d.ts +11 -0
  664. package/dist/types/components/Views/utils/generatePersonalView.d.ts +3 -0
  665. package/dist/types/components/Views/utils/getCustomViewsFallback.d.ts +12 -0
  666. package/dist/types/components/Views/utils/portalUtils.d.ts +9 -0
  667. package/dist/types/components/index.d.ts +2 -0
  668. package/dist/types/containers/Actions/Actions.d.ts +7 -1
  669. package/dist/types/containers/Actions/ActionsDropdown/ActionsDropdown.d.ts +5 -3
  670. package/dist/types/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.d.ts +0 -1
  671. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +6 -2
  672. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +4 -1
  673. package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +11 -2
  674. package/dist/types/containers/ProjectTreeTable/hooks/index.d.ts +1 -0
  675. package/dist/types/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +1 -1
  676. package/dist/types/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.d.ts +9 -0
  677. package/dist/types/containers/ProjectTreeTable/hooks/useFolderRelationships.d.ts +2 -2
  678. package/dist/types/containers/ProjectTreeTable/hooks/useKeyboardNavigation.d.ts +3 -3
  679. package/dist/types/containers/ProjectTreeTable/hooks/useUpdateTableData.d.ts +1 -1
  680. package/dist/types/containers/ProjectTreeTable/types/table.d.ts +10 -1
  681. package/dist/types/containers/ProjectTreeTable/utils/getEntityViewerIds.d.ts +4 -0
  682. package/dist/types/containers/ProjectTreeTable/utils/getTypeDefaultValue.d.ts +2 -0
  683. package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +2 -0
  684. package/dist/types/containers/ProjectTreeTable/widgets/CellWidget.d.ts +2 -1
  685. package/dist/types/containers/ProjectTreeTable/widgets/EnumCellValue.d.ts +20 -0
  686. package/dist/types/containers/ProjectTreeTable/widgets/EnumWidget.d.ts +1 -11
  687. package/dist/types/containers/ProjectTreeTable/widgets/ThumbnailWidget.d.ts +1 -0
  688. package/dist/types/context/DetailsPanelContext.d.ts +1 -0
  689. package/dist/types/context/PowerpackContext.d.ts +5 -5
  690. package/dist/types/util/confirmDelete.d.ts +2 -1
  691. package/dist/util.cjs.js +2 -0
  692. package/dist/util.cjs.js.map +1 -1
  693. package/dist/util.es.js +2 -0
  694. package/dist/util.es.js.map +1 -1
  695. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"buildTreeTableColumns.es.js","sources":["../../../../../src/containers/ProjectTreeTable/buildTreeTableColumns.tsx"],"sourcesContent":["import { ColumnDef, FilterFnOption, Row, SortingFn, sortingFns } from '@tanstack/react-table'\nimport { TableRow } from './types/table'\nimport { AttributeData, ProjectTableAttribute, BuiltInFieldOptions } from './types'\nimport { CellWidget, EntityNameWidget, GroupHeaderWidget, ThumbnailWidget } from './widgets'\nimport { getCellId, getCellValue } from './utils/cellUtils'\nimport { TableCellContent } from './ProjectTreeTable.styled'\nimport clsx from 'clsx'\nimport { SelectionCell } from './components/SelectionCell'\nimport RowSelectionHeader from './components/RowSelectionHeader'\nimport { ROW_SELECTION_COLUMN_ID } from './context/SelectionCellsContext'\nimport { TableGroupBy } from './context'\nimport { NEXT_PAGE_ID } from './hooks/useBuildGroupByTableData'\nimport LoadMoreWidget from './widgets/LoadMoreWidget'\n\nconst MIN_SIZE = 50\n\n// Wrapper function for sorting that pushes isLoading rows to the bottom\nconst withLoadingStateSort = (sortFn: SortingFn<any>): SortingFn<any> => {\n return (rowA, rowB, ...args) => {\n // If row loading states differ, prioritize non-loading rows\n if (rowA.original.isLoading !== rowB.original.isLoading) {\n return rowA.original.isLoading ? 1 : -1\n }\n // Otherwise, use the original sort function\n return sortFn(rowA, rowB, ...args)\n }\n}\n\nconst nameSort: SortingFn<any> = (rowA, rowB) => {\n const labelA = rowA.original.label || rowA.original.name\n const labelB = rowB.original.label || rowB.original.name\n // sort alphabetically by label\n return labelA.localeCompare(labelB)\n}\nconst pathSort: SortingFn<any> = (rowA, rowB) => {\n const labelA = rowA.original.path || rowA.original.name\n const labelB = rowB.original.path || rowB.original.name\n // sort alphabetically by label\n return labelA.localeCompare(labelB)\n}\n\ntype AttribSortingFn = (rowA: any, rowB: any, columnId: string, attribute?: AttributeData) => number\n// sort by the order of the enum options\nconst attribSort: AttribSortingFn = (rowA, rowB, columnId, attrib) => {\n const valueA = getCellValue(rowA.original, columnId)\n const valueB = getCellValue(rowB.original, columnId)\n // if attrib is defined and has enum options, use them\n if (attrib && attrib.enum) {\n const indexA = attrib.enum.findIndex((o) => o.value === valueA)\n const indexB = attrib.enum.findIndex((o) => o.value === valueB)\n return indexA - indexB < 0 ? 1 : -1\n } else if (attrib?.type === 'datetime') {\n return sortingFns.datetime(rowA, rowB, columnId)\n } else if (attrib?.type === 'boolean') {\n const boolA = valueA === true ? 1 : 0\n const boolB = valueB === true ? 1 : 0\n return boolA - boolB\n } else {\n // default sorting\n return sortingFns.alphanumeric(rowA, rowB, columnId)\n }\n}\n\nexport type DefaultColumns =\n | typeof ROW_SELECTION_COLUMN_ID\n | 'thumbnail'\n | 'name'\n | 'status'\n | 'subType'\n | 'assignees'\n | 'tags'\n\nexport type TreeTableExtraColumn = { column: ColumnDef<TableRow>; position?: number }\n\nexport type BuildTreeTableColumnsProps = {\n attribs: ProjectTableAttribute[]\n showHierarchy: boolean\n options: BuiltInFieldOptions\n excluded?: (DefaultColumns | string)[]\n extraColumns?: TreeTableExtraColumn[]\n groupBy?: TableGroupBy\n}\n\nconst buildTreeTableColumns = ({\n attribs,\n showHierarchy,\n options,\n excluded,\n extraColumns,\n groupBy,\n}: BuildTreeTableColumnsProps) => {\n const staticColumns: ColumnDef<TableRow>[] = []\n\n // Helper to check if a column should be included\n const isIncluded = (id: DefaultColumns | string) => !excluded?.includes(id)\n\n // Conditionally add static columns\n if (isIncluded(ROW_SELECTION_COLUMN_ID)) {\n staticColumns.push({\n id: ROW_SELECTION_COLUMN_ID,\n enableResizing: false,\n enableSorting: false,\n enablePinning: false,\n enableHiding: false,\n\n header: () => <RowSelectionHeader />,\n cell: ({ row }) => {\n if (row.original.entityType === 'group') return null\n return <SelectionCell />\n },\n size: 20,\n })\n }\n\n if (isIncluded('thumbnail')) {\n staticColumns.push({\n id: 'thumbnail',\n header: 'Thumbnail',\n size: 63,\n minSize: 64,\n enableResizing: true,\n enableSorting: false,\n cell: ({ row, table }) => {\n const meta = table.options.meta\n if (!meta) return null\n return (\n <ThumbnailWidget\n entityId={row.original.entityId || row.id}\n entityType={row.original.entityType}\n updatedAt={row.original.updatedAt}\n icon={row.original.icon}\n projectName={meta?.projectName as string}\n className={clsx('thumbnail', {\n loading: row.original.isLoading,\n })}\n />\n )\n },\n })\n }\n\n if (isIncluded('name')) {\n staticColumns.push({\n id: 'name',\n accessorKey: 'name',\n header: 'Folder / Task',\n minSize: MIN_SIZE,\n sortingFn: withLoadingStateSort(showHierarchy ? nameSort : pathSort),\n enableSorting: groupBy ? false : true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: groupBy ? false : true,\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const cellId = getCellId(row.id, column.id)\n\n if (row.original.entityType === NEXT_PAGE_ID && row.original.group) {\n return (\n <LoadMoreWidget\n label={'Load more tasks'}\n id={row.original.group.value}\n onLoadMore={(id) => meta?.loadMoreTasks?.(id)}\n />\n )\n }\n\n return (\n <TableCellContent\n id={cellId}\n className={clsx('large', row.original.entityType, {\n loading: row.original.isLoading,\n hierarchy: showHierarchy,\n })}\n style={{\n paddingLeft: `calc(${row.depth * 1}rem + 8px)`,\n }}\n tabIndex={0}\n >\n {row.original.group ? (\n <GroupHeaderWidget\n id={row.id}\n label={row.original.group.label}\n name={row.original.name}\n icon={row.original.group.icon}\n img={row.original.group.img}\n color={row.original.group.color}\n count={row.original.group.count}\n isExpanded={row.getIsExpanded()}\n isEmpty={row.subRows.length === 0}\n toggleExpanded={row.getToggleExpandedHandler()}\n />\n ) : (\n <EntityNameWidget\n id={row.id}\n label={row.original.label}\n name={row.original.name}\n path={!showHierarchy ? row.original.path : undefined}\n showHierarchy={showHierarchy}\n icon={row.original.icon}\n type={row.original.entityType}\n isExpanded={row.getIsExpanded()}\n toggleExpandAll={() => meta?.toggleExpandAll?.([row.id])}\n toggleExpanded={row.getToggleExpandedHandler()}\n />\n )}\n </TableCellContent>\n )\n },\n })\n }\n\n if (isIncluded('status')) {\n staticColumns.push({\n id: 'status',\n accessorKey: 'status',\n minSize: MIN_SIZE,\n header: 'Status',\n sortingFn: withLoadingStateSort((a, b, c) =>\n attribSort(a, b, c, { enum: options.status, type: 'string' }),\n ),\n sortDescFirst: true,\n enableSorting: true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n const meta = table.options.meta\n if (['group', NEXT_PAGE_ID].includes(type)) return null\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('status', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'string' }}\n options={meta?.options?.status.filter((s) => s.scope?.includes(type))}\n isCollapsed={!!row.original.childOnlyMatch}\n onChange={(value) =>\n meta?.updateEntities?.([{ field: column.id, value, id, type, rowId: id }])\n }\n isReadOnly={meta?.readOnly?.includes(column.id)}\n />\n )\n },\n })\n }\n\n if (isIncluded('subType')) {\n staticColumns.push({\n id: 'subType',\n accessorKey: 'subType',\n header: 'Type',\n minSize: MIN_SIZE,\n enableSorting: true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type)) return null\n const fieldId = type === 'folder' ? 'folderType' : 'taskType'\n const meta = table.options.meta\n return (\n <CellWidget\n rowId={id}\n className={clsx('subType', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'string' }}\n options={\n type === 'folder'\n ? meta?.options?.folderType\n : type === 'task'\n ? meta?.options?.taskType\n : []\n }\n isCollapsed={!!row.original.childOnlyMatch}\n onChange={(value) =>\n meta?.updateEntities?.([{ field: fieldId, value, id, type, rowId: row.id }])\n }\n isReadOnly={meta?.readOnly?.includes(column.id)}\n />\n )\n },\n })\n }\n\n if (isIncluded('assignees')) {\n staticColumns.push({\n id: 'assignees',\n accessorKey: 'assignees',\n header: 'Assignees',\n minSize: MIN_SIZE,\n enableSorting: true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type)) return null\n\n if (type === 'folder')\n return (\n <CellWidget\n rowId={id}\n className={clsx('assignees', { loading: row.original.isLoading })}\n columnId={column.id}\n value=\"\"\n isPlaceholder\n />\n )\n return (\n <CellWidget\n rowId={id}\n className={clsx('assignees', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'list_of_strings' }}\n options={meta?.options?.assignee}\n isCollapsed={!!row.original.childOnlyMatch}\n onChange={(value) =>\n meta?.updateEntities?.([{ field: column.id, value, id, type, rowId: row.id }])\n }\n isReadOnly={meta?.readOnly?.includes(column.id)}\n pt={{\n enum: {\n multiSelectClose: value?.length === 0, // close the dropdown on first assignment\n search: true, // enable search at all times\n multipleOverride: false,\n },\n }}\n />\n )\n },\n })\n }\n\n if (isIncluded('tags')) {\n staticColumns.push({\n id: 'tags',\n accessorKey: 'tags',\n header: 'Tags',\n minSize: MIN_SIZE,\n enableSorting: true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type)) return null\n return (\n <CellWidget\n rowId={id}\n className={clsx('tags', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'list_of_strings' }}\n options={meta?.options?.tag}\n isCollapsed={!!row.original.childOnlyMatch}\n onChange={(value) =>\n meta?.updateEntities?.([{ field: column.id, value, id, type, rowId: row.id }])\n }\n isReadOnly={meta?.readOnly?.includes(column.id)}\n enableCustomValues\n />\n )\n },\n })\n }\n\n const attributeColumns: ColumnDef<TableRow>[] = attribs\n .filter((attrib) => {\n const columnId = 'attrib_' + attrib.name\n // Check if the specific attribute column is excluded\n // or if all built-in attributes are excluded and this is a built-in attribute\n if (excluded?.includes(columnId)) return false\n if (attrib.builtin && excluded?.includes('attrib')) return false\n return true\n })\n .map((attrib) => {\n const attribColumn: ColumnDef<TableRow> = {\n id: 'attrib_' + attrib.name,\n accessorKey: 'attrib.' + attrib.name,\n header: attrib.data.title || attrib.name,\n minSize: MIN_SIZE,\n filterFn: 'fuzzy' as FilterFnOption<TableRow>,\n sortingFn: withLoadingStateSort((a, b, c) => attribSort(a, b, c, attrib.data)),\n enableSorting: true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const columnIdParsed = column.id.replace('attrib_', '')\n const { value, id, type } = getValueIdType(row, columnIdParsed, 'attrib')\n const isInherited = !row.original.ownAttrib?.includes(columnIdParsed)\n if (['group', NEXT_PAGE_ID].includes(type)) return null\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('attrib', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: attrib.data.type || 'string' }}\n options={attrib.data.enum || []}\n isCollapsed={!!row.original.childOnlyMatch}\n isInherited={isInherited && ['folder', 'task'].includes(type)}\n isReadOnly={\n attrib.readOnly ||\n meta?.readOnly?.some(\n (id) => id === columnIdParsed || (id === 'attrib' && attrib.builtin),\n )\n }\n onChange={(value) =>\n meta?.updateEntities?.([\n { field: columnIdParsed, value, id, type, isAttrib: true, rowId: row.id },\n ])\n }\n />\n )\n },\n }\n return attribColumn\n })\n\n const allColumns = [...staticColumns, ...attributeColumns]\n\n // Add extra columns if provided\n if (extraColumns) {\n extraColumns.forEach(({ column, position = -1 }) => {\n if (position >= 0 && position < allColumns.length) {\n allColumns.splice(position, 0, column)\n } else {\n allColumns.push(column)\n }\n })\n }\n\n return allColumns\n}\n\nexport default buildTreeTableColumns\n\nexport const getValueIdType = (\n row: Row<TableRow>,\n field: string,\n nestedField?: keyof TableRow,\n): {\n value: any\n id: string\n type: string\n} => ({\n value: nestedField\n ? (row.original[nestedField as keyof TableRow] as any)?.[field]\n : (row.original[field as keyof TableRow] as any),\n id: row.id,\n type: row.original.entityType,\n})\n"],"names":["jsx","_a","value","id"],"mappings":"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"}
1
+ {"version":3,"file":"buildTreeTableColumns.es.js","sources":["../../../../../src/containers/ProjectTreeTable/buildTreeTableColumns.tsx"],"sourcesContent":["import { ColumnDef, FilterFnOption, Row, SortingFn, sortingFns } from '@tanstack/react-table'\nimport { TableRow } from './types/table'\nimport { AttributeData, ProjectTableAttribute, BuiltInFieldOptions } from './types'\nimport { CellWidget, EntityNameWidget, GroupHeaderWidget, ThumbnailWidget } from './widgets'\nimport { getCellId, getCellValue } from './utils/cellUtils'\nimport { TableCellContent } from './ProjectTreeTable.styled'\nimport clsx from 'clsx'\nimport { SelectionCell } from './components/SelectionCell'\nimport RowSelectionHeader from './components/RowSelectionHeader'\nimport { ROW_SELECTION_COLUMN_ID } from './context/SelectionCellsContext'\nimport { TableGroupBy } from './context'\nimport { NEXT_PAGE_ID } from './hooks/useBuildGroupByTableData'\nimport LoadMoreWidget from './widgets/LoadMoreWidget'\n\nconst MIN_SIZE = 50\n\n// Wrapper function for sorting that pushes isLoading rows to the bottom\nconst withLoadingStateSort = (sortFn: SortingFn<any>): SortingFn<any> => {\n return (rowA, rowB, ...args) => {\n // If row loading states differ, prioritize non-loading rows\n if (rowA.original.isLoading !== rowB.original.isLoading) {\n return rowA.original.isLoading ? 1 : -1\n }\n // Otherwise, use the original sort function\n return sortFn(rowA, rowB, ...args)\n }\n}\n\nconst nameSort: SortingFn<any> = (rowA, rowB) => {\n const labelA = rowA.original.label || rowA.original.name\n const labelB = rowB.original.label || rowB.original.name\n // sort alphabetically by label\n return labelA.localeCompare(labelB)\n}\nconst pathSort: SortingFn<any> = (rowA, rowB) => {\n const labelA = rowA.original.path || rowA.original.name\n const labelB = rowB.original.path || rowB.original.name\n // sort alphabetically by label\n return labelA.localeCompare(labelB)\n}\n\ntype AttribSortingFn = (rowA: any, rowB: any, columnId: string, attribute?: AttributeData) => number\n// sort by the order of the enum options\nconst attribSort: AttribSortingFn = (rowA, rowB, columnId, attrib) => {\n const valueA = getCellValue(rowA.original, columnId)\n const valueB = getCellValue(rowB.original, columnId)\n // if attrib is defined and has enum options, use them\n if (attrib && attrib.enum) {\n const indexA = attrib.enum.findIndex((o) => o.value === valueA)\n const indexB = attrib.enum.findIndex((o) => o.value === valueB)\n return indexA - indexB < 0 ? 1 : -1\n } else if (attrib?.type === 'datetime') {\n return sortingFns.datetime(rowA, rowB, columnId)\n } else if (attrib?.type === 'boolean') {\n const boolA = valueA === true ? 1 : 0\n const boolB = valueB === true ? 1 : 0\n return boolA - boolB\n } else {\n // default sorting\n return sortingFns.alphanumeric(rowA, rowB, columnId)\n }\n}\n\nexport type DefaultColumns =\n | typeof ROW_SELECTION_COLUMN_ID\n | 'thumbnail'\n | 'name'\n | 'status'\n | 'subType'\n | 'assignees'\n | 'tags'\n\nexport type TreeTableExtraColumn = { column: ColumnDef<TableRow>; position?: number }\n\nexport type BuildTreeTableColumnsProps = {\n attribs: ProjectTableAttribute[]\n showHierarchy: boolean\n options: BuiltInFieldOptions\n excluded?: (DefaultColumns | string)[]\n extraColumns?: TreeTableExtraColumn[]\n groupBy?: TableGroupBy\n}\n\nconst buildTreeTableColumns = ({\n attribs,\n showHierarchy,\n options,\n excluded,\n extraColumns,\n groupBy,\n}: BuildTreeTableColumnsProps) => {\n const staticColumns: ColumnDef<TableRow>[] = []\n\n // Helper to check if a column should be included\n const isIncluded = (id: DefaultColumns | string) => !excluded?.includes(id)\n\n // Conditionally add static columns\n if (isIncluded(ROW_SELECTION_COLUMN_ID)) {\n staticColumns.push({\n id: ROW_SELECTION_COLUMN_ID,\n enableResizing: false,\n enableSorting: false,\n enablePinning: false,\n enableHiding: false,\n\n header: () => <RowSelectionHeader />,\n cell: ({ row }) => {\n if (row.original.entityType === 'group') return null\n return <SelectionCell />\n },\n size: 20,\n })\n }\n\n if (isIncluded('thumbnail')) {\n staticColumns.push({\n id: 'thumbnail',\n header: 'Thumbnail',\n size: 63,\n minSize: 64,\n enableResizing: true,\n enableSorting: false,\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n if (!meta) return null\n const cellId = getCellId(row.id, column.id)\n return (\n <ThumbnailWidget\n id={cellId}\n entityId={row.original.entityId || row.id}\n entityType={row.original.entityType}\n updatedAt={row.original.updatedAt}\n icon={row.original.icon}\n projectName={meta?.projectName as string}\n className={clsx('thumbnail', {\n loading: row.original.isLoading,\n })}\n isPlayable={row.original.hasReviewables}\n />\n )\n },\n })\n }\n\n if (isIncluded('name')) {\n staticColumns.push({\n id: 'name',\n accessorKey: 'name',\n header: 'Folder / Task',\n minSize: MIN_SIZE,\n sortingFn: withLoadingStateSort(showHierarchy ? nameSort : pathSort),\n enableSorting: groupBy ? false : true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: groupBy ? false : true,\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const cellId = getCellId(row.id, column.id)\n\n if (row.original.entityType === NEXT_PAGE_ID && row.original.group) {\n return (\n <LoadMoreWidget\n label={'Load more tasks'}\n id={row.original.group.value}\n onLoadMore={(id) => meta?.loadMoreTasks?.(id)}\n />\n )\n }\n\n return (\n <TableCellContent\n id={cellId}\n className={clsx('large', row.original.entityType, {\n loading: row.original.isLoading,\n hierarchy: showHierarchy,\n })}\n style={{\n paddingLeft: `calc(${row.depth * 1}rem + 8px)`,\n }}\n tabIndex={0}\n >\n {row.original.group ? (\n <GroupHeaderWidget\n id={row.id}\n label={row.original.group.label}\n name={row.original.name}\n icon={row.original.group.icon}\n img={row.original.group.img}\n color={row.original.group.color}\n count={row.original.group.count}\n isExpanded={row.getIsExpanded()}\n isEmpty={row.subRows.length === 0}\n toggleExpanded={row.getToggleExpandedHandler()}\n />\n ) : (\n <EntityNameWidget\n id={row.id}\n label={row.original.label}\n name={row.original.name}\n path={!showHierarchy ? row.original.path : undefined}\n showHierarchy={showHierarchy}\n icon={row.original.icon}\n type={row.original.entityType}\n isExpanded={row.getIsExpanded()}\n toggleExpandAll={() => meta?.toggleExpandAll?.([row.id])}\n toggleExpanded={row.getToggleExpandedHandler()}\n />\n )}\n </TableCellContent>\n )\n },\n })\n }\n\n if (isIncluded('status')) {\n staticColumns.push({\n id: 'status',\n accessorKey: 'status',\n minSize: MIN_SIZE,\n header: 'Status',\n sortingFn: withLoadingStateSort((a, b, c) =>\n attribSort(a, b, c, { enum: options.status, type: 'string' }),\n ),\n sortDescFirst: true,\n enableSorting: true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n const meta = table.options.meta\n if (['group', NEXT_PAGE_ID].includes(type)) return null\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('status', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'string' }}\n options={meta?.options?.status.filter((s) => s.scope?.includes(type))}\n isCollapsed={!!row.original.childOnlyMatch}\n onChange={(value) =>\n meta?.updateEntities?.(\n { field: column.id, value, type, rowId: id },\n { selection: meta?.selection },\n )\n }\n isReadOnly={meta?.readOnly?.includes(column.id)}\n pt={{\n enum: {\n pt: {\n template: {\n pt: {\n icon: {\n style: {\n fontVariationSettings: \"'FILL' 1, 'wght' 200, 'GRAD' 200, 'opsz' 20\",\n },\n },\n },\n },\n },\n },\n }}\n />\n )\n },\n })\n }\n\n if (isIncluded('subType')) {\n staticColumns.push({\n id: 'subType',\n accessorKey: 'subType',\n header: 'Type',\n minSize: MIN_SIZE,\n enableSorting: true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type)) return null\n const fieldId = type === 'folder' ? 'folderType' : 'taskType'\n const meta = table.options.meta\n return (\n <CellWidget\n rowId={id}\n className={clsx('subType', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'string' }}\n options={\n type === 'folder'\n ? meta?.options?.folderType\n : type === 'task'\n ? meta?.options?.taskType\n : []\n }\n isCollapsed={!!row.original.childOnlyMatch}\n onChange={(value) =>\n meta?.updateEntities?.(\n { field: fieldId, value, type, rowId: row.id },\n { selection: meta?.selection },\n )\n }\n isReadOnly={meta?.readOnly?.includes(column.id)}\n />\n )\n },\n })\n }\n\n if (isIncluded('assignees')) {\n staticColumns.push({\n id: 'assignees',\n accessorKey: 'assignees',\n header: 'Assignees',\n minSize: MIN_SIZE,\n enableSorting: true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type)) return null\n\n if (type === 'folder')\n return (\n <CellWidget\n rowId={id}\n className={clsx('assignees', { loading: row.original.isLoading })}\n columnId={column.id}\n value=\"\"\n isPlaceholder\n />\n )\n return (\n <CellWidget\n rowId={id}\n className={clsx('assignees', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'list_of_strings' }}\n options={meta?.options?.assignee}\n isCollapsed={!!row.original.childOnlyMatch}\n onChange={(value) =>\n meta?.updateEntities?.(\n { field: column.id, value, type, rowId: row.id },\n { selection: meta?.selection },\n )\n }\n isReadOnly={meta?.readOnly?.includes(column.id)}\n pt={{\n enum: {\n multiSelectClose: value?.length === 0, // close the dropdown on first assignment\n search: true, // enable search at all times\n multipleOverride: false,\n },\n }}\n />\n )\n },\n })\n }\n\n if (isIncluded('tags')) {\n staticColumns.push({\n id: 'tags',\n accessorKey: 'tags',\n header: 'Tags',\n minSize: MIN_SIZE,\n enableSorting: true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type)) return null\n return (\n <CellWidget\n rowId={id}\n className={clsx('tags', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'list_of_strings' }}\n options={meta?.options?.tag}\n isCollapsed={!!row.original.childOnlyMatch}\n onChange={(value) =>\n meta?.updateEntities?.(\n { field: column.id, value, type, rowId: row.id },\n { selection: meta?.selection },\n )\n }\n isReadOnly={meta?.readOnly?.includes(column.id)}\n enableCustomValues\n />\n )\n },\n })\n }\n\n const attributeColumns: ColumnDef<TableRow>[] = attribs\n .filter((attrib) => {\n const columnId = 'attrib_' + attrib.name\n // Check if the specific attribute column is excluded\n // or if all built-in attributes are excluded and this is a built-in attribute\n if (excluded?.includes(columnId)) return false\n if (attrib.builtin && excluded?.includes('attrib')) return false\n return true\n })\n .map((attrib) => {\n const attribColumn: ColumnDef<TableRow> = {\n id: 'attrib_' + attrib.name,\n accessorKey: 'attrib.' + attrib.name,\n header: attrib.data.title || attrib.name,\n minSize: MIN_SIZE,\n filterFn: 'fuzzy' as FilterFnOption<TableRow>,\n sortingFn: withLoadingStateSort((a, b, c) => attribSort(a, b, c, attrib.data)),\n enableSorting: true,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const columnIdParsed = column.id.replace('attrib_', '')\n const { value, id, type } = getValueIdType(row, columnIdParsed, 'attrib')\n const isInherited = !row.original.ownAttrib?.includes(columnIdParsed)\n if (['group', NEXT_PAGE_ID].includes(type)) return null\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('attrib', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: attrib.data.type || 'string' }}\n options={attrib.data.enum || []}\n isCollapsed={!!row.original.childOnlyMatch}\n isInherited={isInherited && ['folder', 'task'].includes(type)}\n isReadOnly={\n attrib.readOnly ||\n meta?.readOnly?.some(\n (id) => id === columnIdParsed || (id === 'attrib' && attrib.builtin),\n )\n }\n onChange={(value) =>\n meta?.updateEntities?.(\n { field: columnIdParsed, value, type, isAttrib: true, rowId: row.id },\n { selection: !!attrib.data.enum?.length ? meta?.selection : undefined },\n )\n }\n />\n )\n },\n }\n return attribColumn\n })\n\n const allColumns = [...staticColumns, ...attributeColumns]\n\n // Add extra columns if provided\n if (extraColumns) {\n extraColumns.forEach(({ column, position = -1 }) => {\n if (position >= 0 && position < allColumns.length) {\n allColumns.splice(position, 0, column)\n } else {\n allColumns.push(column)\n }\n })\n }\n\n return allColumns\n}\n\nexport default buildTreeTableColumns\n\nexport const getValueIdType = (\n row: Row<TableRow>,\n field: string,\n nestedField?: keyof TableRow,\n): {\n value: any\n id: string\n type: string\n} => ({\n value: nestedField\n ? (row.original[nestedField as keyof TableRow] as any)?.[field]\n : (row.original[field as keyof TableRow] as any),\n id: row.id,\n type: row.original.entityType,\n})\n"],"names":["jsx","_a","value","id","_b"],"mappings":"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"}
@@ -43,6 +43,7 @@ require("../../../api/generated/versions.cjs.js");
43
43
  require("../../../api/generated/workfiles.cjs.js");
44
44
  require("../../../api/generated/ynputCloud.cjs.js");
45
45
  require("../../../api/generated/grouping.cjs.js");
46
+ require("../../../api/generated/views.cjs.js");
46
47
  require("../../../api/queries/actions/getActions.cjs.js");
47
48
  require("../../../api/queries/activities/getActivities.cjs.js");
48
49
  require("../../../api/queries/activities/updateActivities.cjs.js");
@@ -76,6 +77,9 @@ require("../../../api/queries/permissions/getPermissions.cjs.js");
76
77
  require("../../../api/queries/grouping/getGrouping.cjs.js");
77
78
  require("../../../api/queries/versions/updateVersions.cjs.js");
78
79
  require("../../../api/queries/products/createProduct.cjs.js");
80
+ require("../../../api/queries/cloud/cloud.cjs.js");
81
+ require("../../../api/queries/views/getViews.cjs.js");
82
+ require("../../../api/queries/views/updateViews.cjs.js");
79
83
  require("react");
80
84
  require("@dnd-kit/core");
81
85
  require("@dnd-kit/sortable");
@@ -138,6 +142,10 @@ require("../context/ColumnSettingsContext.cjs.js");
138
142
  require("../context/ProjectTableContext.cjs.js");
139
143
  require("../context/ProjectTableQueriesContext.cjs.js");
140
144
  require("../context/SelectedRowsContext.cjs.js");
145
+ require("../../../../../_virtual/runtime.cjs.js");
146
+ require("../../../../../_virtual/semver.cjs.js");
147
+ require("react-redux");
148
+ require("custom-protocol-check");
141
149
  require("../context/ProjectDataContext.cjs.js");
142
150
  require("../widgets/CollapsedWidget.cjs.js");
143
151
  require("../widgets/DateWidget.cjs.js");
@@ -152,13 +160,10 @@ require("../ProjectTreeTable.styled.cjs.js");
152
160
  require("./SelectionCell.cjs.js");
153
161
  require("./RowSelectionHeader.cjs.js");
154
162
  require("../widgets/LoadMoreWidget.cjs.js");
155
- require("../../../../../_virtual/runtime.cjs.js");
156
- require("../../../../../_virtual/semver.cjs.js");
157
- require("react-redux");
158
- require("custom-protocol-check");
159
163
  require("../../DetailsPanel/DetailsPanel.styled.cjs.js");
160
164
  require("../../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");
161
165
  require("../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");
166
+ require("../../../components/PlayableIcon/PlayableIcon.cjs.js");
162
167
  require("../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");
163
168
  require("../../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");
164
169
  require("../../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");
@@ -182,8 +187,14 @@ require("../../../components/Badge/Badge.cjs.js");
182
187
  require("../../../components/Powerpack/PowerpackButton.cjs.js");
183
188
  require("../../../components/Powerpack/PricingLink.cjs.js");
184
189
  require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");
190
+ require("../../../components/Powerpack/CTAButton.cjs.js");
185
191
  require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");
186
192
  require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");
193
+ require("../../../components/Feedback/FeedbackContext.cjs.js");
194
+ require("../../../components/Feedback/SupportBubble.cjs.js");
195
+ require("../../../components/Views/context/ViewsContext.cjs.js");
196
+ require("../../../components/Views/Views.styled.cjs.js");
197
+ require("../../../components/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");
187
198
  const styled = require("styled-components");
188
199
  const FieldItem = styled.li`
189
200
  display: flex;
@@ -1 +1 @@
1
- {"version":3,"file":"GroupSettingsFallback.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/components/GroupSettingsFallback.tsx"],"sourcesContent":["import { SettingsPanelItem, TableSettingsFallback } from '../../../components'\nimport { FC } from 'react'\nimport { ColumnSettingsContextType } from '../context'\nimport styled from 'styled-components'\nimport { Button, Icon } from '@ynput/ayon-react-components'\n\nconst FieldItem = styled.li`\n display: flex;\n align-items: center;\n padding: 0;\n margin: 0;\n`\n\nconst FieldButton = styled(Button)`\n width: 100%;\n justify-content: start;\n`\n\nexport type GroupByConfig = {\n showEmpty?: boolean\n}\n\nexport interface GroupSettingsProps {\n fields: SettingsPanelItem[]\n config?: GroupByConfig\n onChange?: ColumnSettingsContextType['updateGroupBy']\n groupBy?: ColumnSettingsContextType['groupBy']\n updateGroupBy?: ColumnSettingsContextType['updateGroupBy']\n onConfigChange?: (config: GroupByConfig) => void\n}\n\nexport interface GroupSettingsFallbackProps extends GroupSettingsProps {\n requiredVersion?: string\n}\n\nexport const GroupSettingsFallback: FC<GroupSettingsFallbackProps> = ({\n requiredVersion,\n fields,\n}) => (\n <TableSettingsFallback feature={'groupAttributes'} requiredVersion={requiredVersion}>\n {fields.map((field) => (\n <FieldItem key={field.value}>\n <FieldButton variant=\"text\" icon={field.icon}>\n {field.label}\n <Icon icon={'bolt'} style={{ marginLeft: 'auto' }} />\n </FieldButton>\n </FieldItem>\n ))}\n </TableSettingsFallback>\n)\n"],"names":["Button","TableSettingsFallback","jsx","jsxs","Icon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM,YAAY,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAOzB,MAAM,cAAc,OAAOA,0BAAM;AAAA;AAAA;AAAA;AAsB1B,MAAM,wBAAwD,CAAC;AAAA,EACpE;AAAA,EACA;AACF,uDACGC,sBAAAA,uBAAsB,EAAA,SAAS,mBAAmB,iBAChD,iBAAO,IAAI,CAAC,UACXC,2BAAAA,kBAAAA,IAAC,aACC,UAACC,kDAAA,aAAA,EAAY,SAAQ,QAAO,MAAM,MAAM,MACrC,UAAA;AAAA,EAAM,MAAA;AAAA,EACPD,iDAACE,oBAAAA,QAAK,MAAM,QAAQ,OAAO,EAAE,YAAY,SAAU,CAAA;AAAA,EAAA,CACrD,EAJc,GAAA,MAAM,KAKtB,CACD,EACH,CAAA;;"}
1
+ {"version":3,"file":"GroupSettingsFallback.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/components/GroupSettingsFallback.tsx"],"sourcesContent":["import { SettingsPanelItem, TableSettingsFallback } from '../../../components'\nimport { FC } from 'react'\nimport { ColumnSettingsContextType } from '../context'\nimport styled from 'styled-components'\nimport { Button, Icon } from '@ynput/ayon-react-components'\n\nconst FieldItem = styled.li`\n display: flex;\n align-items: center;\n padding: 0;\n margin: 0;\n`\n\nconst FieldButton = styled(Button)`\n width: 100%;\n justify-content: start;\n`\n\nexport type GroupByConfig = {\n showEmpty?: boolean\n}\n\nexport interface GroupSettingsProps {\n fields: SettingsPanelItem[]\n config?: GroupByConfig\n onChange?: ColumnSettingsContextType['updateGroupBy']\n groupBy?: ColumnSettingsContextType['groupBy']\n updateGroupBy?: ColumnSettingsContextType['updateGroupBy']\n onConfigChange?: (config: GroupByConfig) => void\n}\n\nexport interface GroupSettingsFallbackProps extends GroupSettingsProps {\n requiredVersion?: string\n}\n\nexport const GroupSettingsFallback: FC<GroupSettingsFallbackProps> = ({\n requiredVersion,\n fields,\n}) => (\n <TableSettingsFallback feature={'groupAttributes'} requiredVersion={requiredVersion}>\n {fields.map((field) => (\n <FieldItem key={field.value}>\n <FieldButton variant=\"text\" icon={field.icon}>\n {field.label}\n <Icon icon={'bolt'} style={{ marginLeft: 'auto' }} />\n </FieldButton>\n </FieldItem>\n ))}\n </TableSettingsFallback>\n)\n"],"names":["Button","TableSettingsFallback","jsx","jsxs","Icon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM,YAAY,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAOzB,MAAM,cAAc,OAAOA,0BAAM;AAAA;AAAA;AAAA;AAsB1B,MAAM,wBAAwD,CAAC;AAAA,EACpE;AAAA,EACA;AACF,uDACGC,sBAAAA,uBAAsB,EAAA,SAAS,mBAAmB,iBAChD,iBAAO,IAAI,CAAC,UACXC,2BAAAA,kBAAAA,IAAC,aACC,UAACC,kDAAA,aAAA,EAAY,SAAQ,QAAO,MAAM,MAAM,MACrC,UAAA;AAAA,EAAM,MAAA;AAAA,EACPD,iDAACE,oBAAAA,QAAK,MAAM,QAAQ,OAAO,EAAE,YAAY,SAAU,CAAA;AAAA,EAAA,CACrD,EAJc,GAAA,MAAM,KAKtB,CACD,EACH,CAAA;;"}
@@ -41,6 +41,7 @@ import "../../../api/generated/versions.es.js";
41
41
  import "../../../api/generated/workfiles.es.js";
42
42
  import "../../../api/generated/ynputCloud.es.js";
43
43
  import "../../../api/generated/grouping.es.js";
44
+ import "../../../api/generated/views.es.js";
44
45
  import "../../../api/queries/actions/getActions.es.js";
45
46
  import "../../../api/queries/activities/getActivities.es.js";
46
47
  import "../../../api/queries/activities/updateActivities.es.js";
@@ -74,6 +75,9 @@ import "../../../api/queries/permissions/getPermissions.es.js";
74
75
  import "../../../api/queries/grouping/getGrouping.es.js";
75
76
  import "../../../api/queries/versions/updateVersions.es.js";
76
77
  import "../../../api/queries/products/createProduct.es.js";
78
+ import "../../../api/queries/cloud/cloud.es.js";
79
+ import "../../../api/queries/views/getViews.es.js";
80
+ import "../../../api/queries/views/updateViews.es.js";
77
81
  import "react";
78
82
  import "@dnd-kit/core";
79
83
  import "@dnd-kit/sortable";
@@ -136,6 +140,10 @@ import "../context/ColumnSettingsContext.es.js";
136
140
  import "../context/ProjectTableContext.es.js";
137
141
  import "../context/ProjectTableQueriesContext.es.js";
138
142
  import "../context/SelectedRowsContext.es.js";
143
+ import "../../../../../_virtual/runtime.es.js";
144
+ import "../../../../../_virtual/semver.es.js";
145
+ import "react-redux";
146
+ import "custom-protocol-check";
139
147
  import "../context/ProjectDataContext.es.js";
140
148
  import "../widgets/CollapsedWidget.es.js";
141
149
  import "../widgets/DateWidget.es.js";
@@ -150,13 +158,10 @@ import "../ProjectTreeTable.styled.es.js";
150
158
  import "./SelectionCell.es.js";
151
159
  import "./RowSelectionHeader.es.js";
152
160
  import "../widgets/LoadMoreWidget.es.js";
153
- import "../../../../../_virtual/runtime.es.js";
154
- import "../../../../../_virtual/semver.es.js";
155
- import "react-redux";
156
- import "custom-protocol-check";
157
161
  import "../../DetailsPanel/DetailsPanel.styled.es.js";
158
162
  import "../../DetailsPanel/FeedFilters/FeedFilters.styled.es.js";
159
163
  import "../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.es.js";
164
+ import "../../../components/PlayableIcon/PlayableIcon.es.js";
160
165
  import "../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js";
161
166
  import "../../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.es.js";
162
167
  import "../../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.es.js";
@@ -180,8 +185,14 @@ import "../../../components/Badge/Badge.es.js";
180
185
  import "../../../components/Powerpack/PowerpackButton.es.js";
181
186
  import "../../../components/Powerpack/PricingLink.es.js";
182
187
  import "../../../components/Powerpack/PowerpackDialog.styled.es.js";
188
+ import "../../../components/Powerpack/CTAButton.es.js";
183
189
  import "../../../components/VersionUploader/components/UploadVersionDialog.es.js";
184
190
  import "../../../components/VersionUploader/context/VersionUploadContext.es.js";
191
+ import "../../../components/Feedback/FeedbackContext.es.js";
192
+ import "../../../components/Feedback/SupportBubble.es.js";
193
+ import "../../../components/Views/context/ViewsContext.es.js";
194
+ import "../../../components/Views/Views.styled.es.js";
195
+ import "../../../components/Views/ViewsMenuContainer/ViewsMenuContainer.es.js";
185
196
  import styled from "styled-components";
186
197
  const FieldItem = styled.li`
187
198
  display: flex;
@@ -1 +1 @@
1
- {"version":3,"file":"GroupSettingsFallback.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/components/GroupSettingsFallback.tsx"],"sourcesContent":["import { SettingsPanelItem, TableSettingsFallback } from '../../../components'\nimport { FC } from 'react'\nimport { ColumnSettingsContextType } from '../context'\nimport styled from 'styled-components'\nimport { Button, Icon } from '@ynput/ayon-react-components'\n\nconst FieldItem = styled.li`\n display: flex;\n align-items: center;\n padding: 0;\n margin: 0;\n`\n\nconst FieldButton = styled(Button)`\n width: 100%;\n justify-content: start;\n`\n\nexport type GroupByConfig = {\n showEmpty?: boolean\n}\n\nexport interface GroupSettingsProps {\n fields: SettingsPanelItem[]\n config?: GroupByConfig\n onChange?: ColumnSettingsContextType['updateGroupBy']\n groupBy?: ColumnSettingsContextType['groupBy']\n updateGroupBy?: ColumnSettingsContextType['updateGroupBy']\n onConfigChange?: (config: GroupByConfig) => void\n}\n\nexport interface GroupSettingsFallbackProps extends GroupSettingsProps {\n requiredVersion?: string\n}\n\nexport const GroupSettingsFallback: FC<GroupSettingsFallbackProps> = ({\n requiredVersion,\n fields,\n}) => (\n <TableSettingsFallback feature={'groupAttributes'} requiredVersion={requiredVersion}>\n {fields.map((field) => (\n <FieldItem key={field.value}>\n <FieldButton variant=\"text\" icon={field.icon}>\n {field.label}\n <Icon icon={'bolt'} style={{ marginLeft: 'auto' }} />\n </FieldButton>\n </FieldItem>\n ))}\n </TableSettingsFallback>\n)\n"],"names":["jsx","jsxs"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM,YAAY,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAOzB,MAAM,cAAc,OAAO,MAAM;AAAA;AAAA;AAAA;AAsB1B,MAAM,wBAAwD,CAAC;AAAA,EACpE;AAAA,EACA;AACF,4CACG,uBAAsB,EAAA,SAAS,mBAAmB,iBAChD,iBAAO,IAAI,CAAC,UACXA,kCAAAA,IAAC,aACC,UAACC,uCAAA,aAAA,EAAY,SAAQ,QAAO,MAAM,MAAM,MACrC,UAAA;AAAA,EAAM,MAAA;AAAA,EACPD,sCAAC,QAAK,MAAM,QAAQ,OAAO,EAAE,YAAY,SAAU,CAAA;AAAA,EAAA,CACrD,EAJc,GAAA,MAAM,KAKtB,CACD,EACH,CAAA;"}
1
+ {"version":3,"file":"GroupSettingsFallback.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/components/GroupSettingsFallback.tsx"],"sourcesContent":["import { SettingsPanelItem, TableSettingsFallback } from '../../../components'\nimport { FC } from 'react'\nimport { ColumnSettingsContextType } from '../context'\nimport styled from 'styled-components'\nimport { Button, Icon } from '@ynput/ayon-react-components'\n\nconst FieldItem = styled.li`\n display: flex;\n align-items: center;\n padding: 0;\n margin: 0;\n`\n\nconst FieldButton = styled(Button)`\n width: 100%;\n justify-content: start;\n`\n\nexport type GroupByConfig = {\n showEmpty?: boolean\n}\n\nexport interface GroupSettingsProps {\n fields: SettingsPanelItem[]\n config?: GroupByConfig\n onChange?: ColumnSettingsContextType['updateGroupBy']\n groupBy?: ColumnSettingsContextType['groupBy']\n updateGroupBy?: ColumnSettingsContextType['updateGroupBy']\n onConfigChange?: (config: GroupByConfig) => void\n}\n\nexport interface GroupSettingsFallbackProps extends GroupSettingsProps {\n requiredVersion?: string\n}\n\nexport const GroupSettingsFallback: FC<GroupSettingsFallbackProps> = ({\n requiredVersion,\n fields,\n}) => (\n <TableSettingsFallback feature={'groupAttributes'} requiredVersion={requiredVersion}>\n {fields.map((field) => (\n <FieldItem key={field.value}>\n <FieldButton variant=\"text\" icon={field.icon}>\n {field.label}\n <Icon icon={'bolt'} style={{ marginLeft: 'auto' }} />\n </FieldButton>\n </FieldItem>\n ))}\n </TableSettingsFallback>\n)\n"],"names":["jsx","jsxs"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM,YAAY,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAOzB,MAAM,cAAc,OAAO,MAAM;AAAA;AAAA;AAAA;AAsB1B,MAAM,wBAAwD,CAAC;AAAA,EACpE;AAAA,EACA;AACF,4CACG,uBAAsB,EAAA,SAAS,mBAAmB,iBAChD,iBAAO,IAAI,CAAC,UACXA,kCAAAA,IAAC,aACC,UAACC,uCAAA,aAAA,EAAY,SAAQ,QAAO,MAAM,MAAM,MACrC,UAAA;AAAA,EAAM,MAAA;AAAA,EACPD,sCAAC,QAAK,MAAM,QAAQ,OAAO,EAAE,YAAY,SAAU,CAAA;AAAA,EAAA,CACrD,EAJc,GAAA,MAAM,KAKtB,CACD,EACH,CAAA;"}
@@ -4,9 +4,11 @@ const ayonReactComponents = require("@ynput/ayon-react-components");
4
4
  const clsx = require("clsx");
5
5
  const styled = require("styled-components");
6
6
  const ActionButton = styled(ayonReactComponents.Button)`
7
- padding: 0px !important;
8
- display: none !important;
9
- background-color: var(--md-sys-color-surface-container-lowest) !important;
7
+ &.action {
8
+ padding: 0px;
9
+ display: none;
10
+ background-color: unset;
11
+ }
10
12
 
11
13
  &.selected {
12
14
  display: flex !important;
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderActionButton.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/components/HeaderActionButton.tsx"],"sourcesContent":["import { Button, ButtonProps } from '@ynput/ayon-react-components'\nimport clsx from 'clsx'\nimport { FC } from 'react'\nimport styled from 'styled-components'\n\nconst ActionButton = styled(Button)`\n padding: 0px !important;\n display: none !important;\n background-color: var(--md-sys-color-surface-container-lowest) !important;\n\n &.selected {\n display: flex !important;\n }\n`\n\ninterface HeaderActionButtonProps extends ButtonProps {}\n\nconst HeaderActionButton: FC<HeaderActionButtonProps> = ({ selected, style, ...props }) => {\n return (\n <ActionButton\n {...props}\n selected={selected}\n className={clsx(props.className, 'action', { selected })}\n variant=\"text\"\n style={{ ...style }}\n />\n )\n}\n\nexport default HeaderActionButton\n"],"names":["Button","jsx"],"mappings":";;;;;AAKA,MAAM,eAAe,OAAOA,0BAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYlC,MAAM,qBAAkD,CAAC,EAAE,UAAU,OAAO,GAAG,YAAY;AAEvF,SAAAC,2BAAA,kBAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ;AAAA,MACA,WAAW,KAAK,MAAM,WAAW,UAAU,EAAE,UAAU;AAAA,MACvD,SAAQ;AAAA,MACR,OAAO,EAAE,GAAG,MAAM;AAAA,IAAA;AAAA,EACpB;AAEJ;;"}
1
+ {"version":3,"file":"HeaderActionButton.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/components/HeaderActionButton.tsx"],"sourcesContent":["import { Button, ButtonProps } from '@ynput/ayon-react-components'\nimport clsx from 'clsx'\nimport { FC } from 'react'\nimport styled from 'styled-components'\n\nconst ActionButton = styled(Button)`\n &.action {\n padding: 0px;\n display: none;\n background-color: unset;\n }\n\n &.selected {\n display: flex !important;\n }\n`\n\ninterface HeaderActionButtonProps extends ButtonProps {}\n\nconst HeaderActionButton: FC<HeaderActionButtonProps> = ({ selected, style, ...props }) => {\n return (\n <ActionButton\n {...props}\n selected={selected}\n className={clsx(props.className, 'action', { selected })}\n variant=\"text\"\n style={{ ...style }}\n />\n )\n}\n\nexport default HeaderActionButton\n"],"names":["Button","jsx"],"mappings":";;;;;AAKA,MAAM,eAAe,OAAOA,0BAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAclC,MAAM,qBAAkD,CAAC,EAAE,UAAU,OAAO,GAAG,YAAY;AAEvF,SAAAC,2BAAA,kBAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ;AAAA,MACA,WAAW,KAAK,MAAM,WAAW,UAAU,EAAE,UAAU;AAAA,MACvD,SAAQ;AAAA,MACR,OAAO,EAAE,GAAG,MAAM;AAAA,IAAA;AAAA,EACpB;AAEJ;;"}
@@ -3,9 +3,11 @@ import { Button } from "@ynput/ayon-react-components";
3
3
  import clsx from "clsx";
4
4
  import styled from "styled-components";
5
5
  const ActionButton = styled(Button)`
6
- padding: 0px !important;
7
- display: none !important;
8
- background-color: var(--md-sys-color-surface-container-lowest) !important;
6
+ &.action {
7
+ padding: 0px;
8
+ display: none;
9
+ background-color: unset;
10
+ }
9
11
 
10
12
  &.selected {
11
13
  display: flex !important;
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderActionButton.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/components/HeaderActionButton.tsx"],"sourcesContent":["import { Button, ButtonProps } from '@ynput/ayon-react-components'\nimport clsx from 'clsx'\nimport { FC } from 'react'\nimport styled from 'styled-components'\n\nconst ActionButton = styled(Button)`\n padding: 0px !important;\n display: none !important;\n background-color: var(--md-sys-color-surface-container-lowest) !important;\n\n &.selected {\n display: flex !important;\n }\n`\n\ninterface HeaderActionButtonProps extends ButtonProps {}\n\nconst HeaderActionButton: FC<HeaderActionButtonProps> = ({ selected, style, ...props }) => {\n return (\n <ActionButton\n {...props}\n selected={selected}\n className={clsx(props.className, 'action', { selected })}\n variant=\"text\"\n style={{ ...style }}\n />\n )\n}\n\nexport default HeaderActionButton\n"],"names":["jsx"],"mappings":";;;;AAKA,MAAM,eAAe,OAAO,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYlC,MAAM,qBAAkD,CAAC,EAAE,UAAU,OAAO,GAAG,YAAY;AAEvF,SAAAA,kCAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ;AAAA,MACA,WAAW,KAAK,MAAM,WAAW,UAAU,EAAE,UAAU;AAAA,MACvD,SAAQ;AAAA,MACR,OAAO,EAAE,GAAG,MAAM;AAAA,IAAA;AAAA,EACpB;AAEJ;"}
1
+ {"version":3,"file":"HeaderActionButton.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/components/HeaderActionButton.tsx"],"sourcesContent":["import { Button, ButtonProps } from '@ynput/ayon-react-components'\nimport clsx from 'clsx'\nimport { FC } from 'react'\nimport styled from 'styled-components'\n\nconst ActionButton = styled(Button)`\n &.action {\n padding: 0px;\n display: none;\n background-color: unset;\n }\n\n &.selected {\n display: flex !important;\n }\n`\n\ninterface HeaderActionButtonProps extends ButtonProps {}\n\nconst HeaderActionButton: FC<HeaderActionButtonProps> = ({ selected, style, ...props }) => {\n return (\n <ActionButton\n {...props}\n selected={selected}\n className={clsx(props.className, 'action', { selected })}\n variant=\"text\"\n style={{ ...style }}\n />\n )\n}\n\nexport default HeaderActionButton\n"],"names":["jsx"],"mappings":";;;;AAKA,MAAM,eAAe,OAAO,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAclC,MAAM,qBAAkD,CAAC,EAAE,UAAU,OAAO,GAAG,YAAY;AAEvF,SAAAA,kCAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ;AAAA,MACA,WAAW,KAAK,MAAM,WAAW,UAAU,EAAE,UAAU;AAAA,MACvD,SAAQ;AAAA,MACR,OAAO,EAAE,GAAG,MAAM;AAAA,IAAA;AAAA,EACpB;AAEJ;"}
@@ -2,21 +2,28 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("../../../../../_virtual/jsx-runtime.cjs.js");
4
4
  const React = require("react");
5
+ const cellUtils = require("../utils/cellUtils.cjs.js");
5
6
  const useUpdateTableData = require("../hooks/useUpdateTableData.cjs.js");
6
7
  const reactToastify = require("react-toastify");
7
8
  const useHistory = require("../hooks/useHistory.cjs.js");
8
9
  const validateUpdateEntities = require("../utils/validateUpdateEntities.cjs.js");
9
10
  const ProjectTableContext = require("./ProjectTableContext.cjs.js");
11
+ const SelectionCellsContext = require("./SelectionCellsContext.cjs.js");
12
+ require("@ynput/ayon-react-components");
13
+ require("lodash");
14
+ require("../../../util/pubsub.cjs.js");
15
+ const getTypeDefaultValue = require("../utils/getTypeDefaultValue.cjs.js");
10
16
  const CellEditingContext = React.createContext(void 0);
11
17
  const CellEditingProvider = ({ children }) => {
12
18
  const [editingCellId, setEditingCellId] = React.useState(null);
13
19
  const isEditing = React.useCallback((id) => id === editingCellId, [editingCellId]);
14
20
  const history = useHistory();
15
21
  const { pushHistory, undo: undoHistory, redo: redoHistory, canUndo, canRedo } = history;
22
+ const { selectedCells } = SelectionCellsContext.useSelectionCellsContext();
16
23
  const { updateEntities: updateOverviewEntities, inheritFromParent } = useUpdateTableData({
17
24
  pushHistory
18
25
  });
19
- const { attribFields } = ProjectTableContext.useProjectTableContext();
26
+ const { attribFields, getEntityById } = ProjectTableContext.useProjectTableContext();
20
27
  const handleUpdateEntities = React.useCallback(
21
28
  async (entities = [], pushToHistory = true) => {
22
29
  try {
@@ -81,6 +88,89 @@ const CellEditingProvider = ({ children }) => {
81
88
  });
82
89
  }
83
90
  };
91
+ const handleClear = React.useCallback(
92
+ async (cells) => {
93
+ const entityUpdates = [];
94
+ const entityInheriting = [];
95
+ for (const cellId of cells) {
96
+ const { colId, rowId } = cellUtils.parseCellId(cellId) || {};
97
+ if (!colId || !rowId) {
98
+ console.warn(`Invalid cellId: ${cellId}`);
99
+ continue;
100
+ }
101
+ const entity = getEntityById(rowId);
102
+ if (!entity) return;
103
+ const fieldName = colId.replace("attrib_", "");
104
+ const isAttrib = colId.startsWith("attrib_");
105
+ if (!fieldName) {
106
+ console.warn(`Invalid column ID: ${colId}`);
107
+ continue;
108
+ }
109
+ let defaultValue = null;
110
+ if (isAttrib) {
111
+ const attribField = attribFields.find((f) => f.name === fieldName);
112
+ if (!attribField) {
113
+ console.warn(`Attribute field not found: ${fieldName}`);
114
+ continue;
115
+ }
116
+ if (attribField.data.inherit) {
117
+ const existingInherit = entityInheriting.find((e) => e.entityId === entity.entityId);
118
+ if (existingInherit) {
119
+ existingInherit.attribs.push(fieldName);
120
+ } else {
121
+ entityInheriting.push({
122
+ entityId: entity.entityId,
123
+ attribs: [fieldName],
124
+ entityType: entity.entityType,
125
+ ownAttrib: entity.ownAttrib || [],
126
+ rowId,
127
+ folderId: entity.entityType === "folder" ? entity.parentId : entity.entityType === "task" ? entity.folderId : void 0
128
+ });
129
+ }
130
+ continue;
131
+ } else {
132
+ defaultValue = attribField.data.default || getTypeDefaultValue.getTypeDefaultValue(attribField.data.type);
133
+ }
134
+ } else if (fieldName === "assignees") {
135
+ defaultValue = getTypeDefaultValue.getTypeDefaultValue("list_of_strings");
136
+ } else if (fieldName === "tags") {
137
+ defaultValue = getTypeDefaultValue.getTypeDefaultValue("list_of_strings");
138
+ } else {
139
+ console.warn(`Field not editable: ${fieldName}`);
140
+ continue;
141
+ }
142
+ const update = {
143
+ id: rowId,
144
+ rowId,
145
+ field: fieldName,
146
+ value: defaultValue,
147
+ isAttrib,
148
+ type: entity.entityType
149
+ };
150
+ entityUpdates.push(update);
151
+ }
152
+ if (entityUpdates.length > 0) {
153
+ try {
154
+ await handleUpdateEntities(entityUpdates, true);
155
+ } catch (error) {
156
+ reactToastify.toast.error("Failed to clear selected cells");
157
+ console.error("Error clearing selected cells:", error);
158
+ }
159
+ }
160
+ if (entityInheriting.length > 0) {
161
+ try {
162
+ await inheritFromParent(entityInheriting, true);
163
+ } catch (error) {
164
+ reactToastify.toast.error("Failed to inherit parent values for cleared cells");
165
+ console.error("Error clearing inherited cells:", error);
166
+ }
167
+ }
168
+ if (entityUpdates.length === 0 && entityInheriting.length === 0) {
169
+ reactToastify.toast.warn("No valid cells selected to clear");
170
+ }
171
+ },
172
+ [attribFields, updateOverviewEntities]
173
+ );
84
174
  const value = React.useMemo(
85
175
  () => ({
86
176
  editingCellId,
@@ -120,10 +210,24 @@ const CellEditingProvider = ({ children }) => {
120
210
  e.preventDefault();
121
211
  if (canRedo) handleRedo();
122
212
  }
213
+ if (e.key === "Backspace" || e.key === "Delete") {
214
+ if (!selectedCells.size) return;
215
+ e.preventDefault();
216
+ const selectedCellElements = Array.from(selectedCells).map(
217
+ (cellId) => document.getElementById(cellId)
218
+ );
219
+ const isEditable = (cell) => cell == null ? void 0 : cell.classList.contains("editable");
220
+ const editableCells = selectedCellElements.filter(isEditable);
221
+ if (editableCells.length === 0) {
222
+ reactToastify.toast.warn("No editable cells selected to clear");
223
+ return;
224
+ }
225
+ handleClear(editableCells.map((cell) => cell == null ? void 0 : cell.id).filter(Boolean));
226
+ }
123
227
  };
124
228
  document.addEventListener("keydown", onKeyDown);
125
229
  return () => document.removeEventListener("keydown", onKeyDown);
126
- }, [canUndo, canRedo, handleUndo, handleRedo]);
230
+ }, [canUndo, canRedo, handleUndo, handleRedo, selectedCells, handleClear]);
127
231
  return /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(CellEditingContext.Provider, { value, children });
128
232
  };
129
233
  const useCellEditing = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"CellEditingContext.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/CellEditingContext.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useState,\n useCallback,\n useMemo,\n useEffect,\n ReactNode,\n} from 'react'\nimport { CellId } from '../utils/cellUtils'\nimport useUpdateTableData, {\n InheritFromParent,\n UpdateTableEntities,\n} from '../hooks/useUpdateTableData'\nimport { toast } from 'react-toastify'\nimport useValidateUpdates from '../utils/validateUpdateEntities'\nimport useHistory, { UseHistoryReturn } from '../hooks/useHistory'\nimport validateUpdateEntities from '../utils/validateUpdateEntities'\nimport { useProjectTableContext } from './ProjectTableContext'\n\nexport interface CellEditingContextType {\n editingCellId: CellId | null\n setEditingCellId: (id: CellId | null) => void\n isEditing: (id: CellId) => boolean\n updateEntities: UpdateTableEntities\n inheritFromParent: InheritFromParent\n // Add history functions to context\n history: UseHistoryReturn\n undo: () => Promise<void>\n redo: () => Promise<void>\n}\n\nconst CellEditingContext = createContext<CellEditingContextType | undefined>(undefined)\n\nexport const CellEditingProvider: React.FC<{ children: ReactNode }> = ({ children }) => {\n const [editingCellId, setEditingCellId] = useState<CellId | null>(null)\n\n // Memoize these functions to prevent unnecessary re-renders\n const isEditing = useCallback((id: CellId) => id === editingCellId, [editingCellId])\n\n // Get history functions\n const history = useHistory()\n const { pushHistory, undo: undoHistory, redo: redoHistory, canUndo, canRedo } = history\n\n const { updateEntities: updateOverviewEntities, inheritFromParent } = useUpdateTableData({\n pushHistory,\n })\n const { attribFields } = useProjectTableContext()\n\n const handleUpdateEntities: UpdateTableEntities = useCallback(\n async (entities = [], pushToHistory = true) => {\n try {\n // validate the entities before updating\n validateUpdateEntities(entities, attribFields)\n\n // if validation passes, update the entities\n return await updateOverviewEntities(entities, pushToHistory)\n } catch (error: any) {\n // if validation fails, show a toast and return\n toast.error(error.message)\n\n return Promise.reject(error)\n }\n },\n [updateOverviewEntities, attribFields],\n )\n\n // Handle undo\n const handleUndo = async () => {\n const [entitiesToUndo, entitiesToInherit, callbacks] = undoHistory() || []\n\n if (entitiesToUndo && entitiesToUndo.length > 0) {\n try {\n await handleUpdateEntities(entitiesToUndo, false)\n } catch (error) {\n toast.error('Failed to undo changes')\n }\n }\n if (entitiesToInherit && entitiesToInherit.length > 0) {\n try {\n await inheritFromParent(entitiesToInherit, false)\n } catch (error) {\n toast.error('Failed to inherit changes')\n }\n }\n // Execute custom callbacks if any\n if (callbacks && callbacks.length > 0) {\n callbacks.forEach((callback) => {\n try {\n callback()\n } catch (error) {\n toast.error('Failed to execute custom undo action')\n }\n })\n }\n }\n\n // Handle redo\n const handleRedo = async () => {\n const [entitiesToRedo, entitiesToInherit, callbacks] = redoHistory() || []\n\n if (entitiesToRedo && entitiesToRedo.length > 0) {\n try {\n await handleUpdateEntities(entitiesToRedo, false)\n } catch (error) {\n toast.error('Failed to redo changes')\n }\n }\n if (entitiesToInherit && entitiesToInherit.length > 0) {\n try {\n await inheritFromParent(entitiesToInherit, false)\n } catch (error) {\n toast.error('Failed to inherit changes')\n }\n }\n // Execute custom callbacks if any\n if (callbacks && callbacks.length > 0) {\n callbacks.forEach((callback) => {\n try {\n callback()\n } catch (error) {\n toast.error('Failed to execute custom redo action')\n }\n })\n }\n }\n\n const value = useMemo(\n () => ({\n editingCellId,\n setEditingCellId,\n isEditing,\n updateEntities: handleUpdateEntities,\n inheritFromParent,\n undo: handleUndo,\n redo: handleRedo,\n history,\n }),\n [\n editingCellId,\n isEditing,\n handleUpdateEntities,\n inheritFromParent,\n handleUndo,\n handleRedo,\n history,\n ],\n )\n\n // Listen for global undo/redo shortcuts and invoke context handlers\n useEffect(() => {\n const onKeyDown = (e: KeyboardEvent) => {\n const target = e.target as HTMLElement\n if (\n target.tagName === 'INPUT' ||\n target.tagName === 'TEXTAREA' ||\n target.isContentEditable ||\n target.getAttribute('role') === 'textbox' ||\n target.tagName === 'LI'\n ) {\n return\n }\n\n const isMac =\n typeof navigator !== 'undefined' &&\n // @ts-expect-error\n ((navigator.userAgentData &&\n // @ts-expect-error\n navigator.userAgentData.platform.toUpperCase().includes('MAC')) ||\n navigator.userAgent.toUpperCase().includes('MAC'))\n const ctrlKey = isMac ? e.metaKey : e.ctrlKey\n\n if (ctrlKey && e.key === 'z') {\n e.preventDefault()\n if (canUndo) handleUndo()\n }\n if (\n (ctrlKey && e.key === 'y') ||\n (ctrlKey && e.shiftKey && e.key === 'z') ||\n (ctrlKey && e.key === 'Z')\n ) {\n e.preventDefault()\n if (canRedo) handleRedo()\n }\n }\n\n document.addEventListener('keydown', onKeyDown)\n return () => document.removeEventListener('keydown', onKeyDown)\n }, [canUndo, canRedo, handleUndo, handleRedo])\n\n return <CellEditingContext.Provider value={value}>{children}</CellEditingContext.Provider>\n}\n\nexport const useCellEditing = (): CellEditingContextType => {\n const context = useContext(CellEditingContext)\n if (context === undefined) {\n throw new Error('useCellEditing must be used within a CellEditingProvider')\n }\n return context\n}\n"],"names":["createContext","useState","useCallback","useProjectTableContext","toast","useMemo","useEffect","jsx","useContext"],"mappings":"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"}
1
+ {"version":3,"file":"CellEditingContext.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/CellEditingContext.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useState,\n useCallback,\n useMemo,\n useEffect,\n ReactNode,\n} from 'react'\nimport { CellId, parseCellId } from '../utils/cellUtils'\nimport useUpdateTableData, {\n EntityUpdate,\n InheritFromParent,\n InheritFromParentEntity,\n UpdateTableEntities,\n} from '../hooks/useUpdateTableData'\nimport { toast } from 'react-toastify'\nimport useHistory, { UseHistoryReturn } from '../hooks/useHistory'\nimport validateUpdateEntities from '../utils/validateUpdateEntities'\nimport { useProjectTableContext } from './ProjectTableContext'\nimport { useSelectionCellsContext } from './SelectionCellsContext'\nimport { getTypeDefaultValue } from '../utils'\n\nexport interface CellEditingContextType {\n editingCellId: CellId | null\n setEditingCellId: (id: CellId | null) => void\n isEditing: (id: CellId) => boolean\n updateEntities: UpdateTableEntities\n inheritFromParent: InheritFromParent\n // Add history functions to context\n history: UseHistoryReturn\n undo: () => Promise<void>\n redo: () => Promise<void>\n}\n\nconst CellEditingContext = createContext<CellEditingContextType | undefined>(undefined)\n\nexport const CellEditingProvider: React.FC<{ children: ReactNode }> = ({ children }) => {\n const [editingCellId, setEditingCellId] = useState<CellId | null>(null)\n\n // Memoize these functions to prevent unnecessary re-renders\n const isEditing = useCallback((id: CellId) => id === editingCellId, [editingCellId])\n\n // Get history functions\n const history = useHistory()\n const { pushHistory, undo: undoHistory, redo: redoHistory, canUndo, canRedo } = history\n\n const { selectedCells } = useSelectionCellsContext()\n const { updateEntities: updateOverviewEntities, inheritFromParent } = useUpdateTableData({\n pushHistory,\n })\n const { attribFields, getEntityById } = useProjectTableContext()\n\n const handleUpdateEntities: UpdateTableEntities = useCallback(\n async (entities = [], pushToHistory = true) => {\n try {\n // validate the entities before updating\n validateUpdateEntities(entities, attribFields)\n\n // if validation passes, update the entities\n return await updateOverviewEntities(entities, pushToHistory)\n } catch (error: any) {\n // if validation fails, show a toast and return\n toast.error(error.message)\n\n return Promise.reject(error)\n }\n },\n [updateOverviewEntities, attribFields],\n )\n\n // Handle undo\n const handleUndo = async () => {\n const [entitiesToUndo, entitiesToInherit, callbacks] = undoHistory() || []\n\n if (entitiesToUndo && entitiesToUndo.length > 0) {\n try {\n await handleUpdateEntities(entitiesToUndo, false)\n } catch (error) {\n toast.error('Failed to undo changes')\n }\n }\n if (entitiesToInherit && entitiesToInherit.length > 0) {\n try {\n await inheritFromParent(entitiesToInherit, false)\n } catch (error) {\n toast.error('Failed to inherit changes')\n }\n }\n // Execute custom callbacks if any\n if (callbacks && callbacks.length > 0) {\n callbacks.forEach((callback) => {\n try {\n callback()\n } catch (error) {\n toast.error('Failed to execute custom undo action')\n }\n })\n }\n }\n\n // Handle redo\n const handleRedo = async () => {\n const [entitiesToRedo, entitiesToInherit, callbacks] = redoHistory() || []\n\n if (entitiesToRedo && entitiesToRedo.length > 0) {\n try {\n await handleUpdateEntities(entitiesToRedo, false)\n } catch (error) {\n toast.error('Failed to redo changes')\n }\n }\n if (entitiesToInherit && entitiesToInherit.length > 0) {\n try {\n await inheritFromParent(entitiesToInherit, false)\n } catch (error) {\n toast.error('Failed to inherit changes')\n }\n }\n // Execute custom callbacks if any\n if (callbacks && callbacks.length > 0) {\n callbacks.forEach((callback) => {\n try {\n callback()\n } catch (error) {\n toast.error('Failed to execute custom redo action')\n }\n })\n }\n }\n\n // Handle clearing cells\n const handleClear = useCallback(\n async (cells: CellId[]) => {\n // we explicity update the value of the cells to their default values\n const entityUpdates: EntityUpdate[] = []\n // of if they are inheritable, we inherit from the parent entity\n const entityInheriting: InheritFromParentEntity[] = []\n\n for (const cellId of cells) {\n const { colId, rowId } = parseCellId(cellId) || {}\n if (!colId || !rowId) {\n console.warn(`Invalid cellId: ${cellId}`)\n continue\n }\n\n // get the entity from the rowId\n const entity = getEntityById(rowId)\n\n if (!entity) return\n\n // get the field name and check if it is an attribute\n const fieldName = colId.replace('attrib_', '')\n const isAttrib = colId.startsWith('attrib_')\n\n if (!fieldName) {\n console.warn(`Invalid column ID: ${colId}`)\n continue\n }\n\n let defaultValue: any = null\n if (isAttrib) {\n // find default value for the attribute\n const attribField = attribFields.find((f) => f.name === fieldName)\n if (!attribField) {\n console.warn(`Attribute field not found: ${fieldName}`)\n continue\n }\n // check if the attribute is inheritable\n if (attribField.data.inherit) {\n // inherit from parent entity\n // check if this entity has already been added to the inheriting list\n const existingInherit = entityInheriting.find((e) => e.entityId === entity.entityId)\n if (existingInherit) {\n // add the attrib to the existing entity\n existingInherit.attribs.push(fieldName)\n } else {\n // add a new entity to the inheriting list\n entityInheriting.push({\n entityId: entity.entityId,\n attribs: [fieldName],\n entityType: entity.entityType,\n ownAttrib: entity.ownAttrib || [],\n rowId: rowId,\n folderId:\n entity.entityType === 'folder'\n ? entity.parentId\n : entity.entityType === 'task'\n ? entity.folderId\n : undefined,\n })\n }\n continue\n } else {\n // set explicit default value\n defaultValue = attribField.data.default || getTypeDefaultValue(attribField.data.type)\n }\n } else if (fieldName === 'assignees') {\n // for assignees, we set it to an empty array\n defaultValue = getTypeDefaultValue('list_of_strings')\n } else if (fieldName === 'tags') {\n // for tags, we set it to an empty array\n defaultValue = getTypeDefaultValue('list_of_strings')\n } else {\n // we ignore other fields\n console.warn(`Field not editable: ${fieldName}`)\n continue\n }\n\n // create the entity update\n const update: EntityUpdate = {\n id: rowId,\n rowId: rowId,\n field: fieldName,\n value: defaultValue,\n isAttrib,\n type: entity.entityType,\n }\n\n entityUpdates.push(update)\n }\n\n // if we have updates, call the updateEntities function\n if (entityUpdates.length > 0) {\n try {\n await handleUpdateEntities(entityUpdates, true)\n } catch (error) {\n toast.error('Failed to clear selected cells')\n console.error('Error clearing selected cells:', error)\n }\n }\n\n // if we have inheritable attributes, call inheritFromParent\n if (entityInheriting.length > 0) {\n try {\n await inheritFromParent(entityInheriting, true)\n } catch (error) {\n toast.error('Failed to inherit parent values for cleared cells')\n console.error('Error clearing inherited cells:', error)\n }\n }\n\n // if nothing was done, warn the user\n if (entityUpdates.length === 0 && entityInheriting.length === 0) {\n toast.warn('No valid cells selected to clear')\n }\n },\n [attribFields, updateOverviewEntities],\n )\n\n const value = useMemo(\n () => ({\n editingCellId,\n setEditingCellId,\n isEditing,\n updateEntities: handleUpdateEntities,\n inheritFromParent,\n undo: handleUndo,\n redo: handleRedo,\n history,\n }),\n [\n editingCellId,\n isEditing,\n handleUpdateEntities,\n inheritFromParent,\n handleUndo,\n handleRedo,\n history,\n ],\n )\n\n // Listen for shortcuts\n // undo - ctrl + z\n // redo - ctrl + y or ctrl + shift + z\n // clear - backspace or delete\n useEffect(() => {\n const onKeyDown = (e: KeyboardEvent) => {\n const target = e.target as HTMLElement\n if (\n target.tagName === 'INPUT' ||\n target.tagName === 'TEXTAREA' ||\n target.isContentEditable ||\n target.getAttribute('role') === 'textbox' ||\n target.tagName === 'LI'\n ) {\n return\n }\n\n const isMac =\n typeof navigator !== 'undefined' &&\n // @ts-expect-error\n ((navigator.userAgentData &&\n // @ts-expect-error\n navigator.userAgentData.platform.toUpperCase().includes('MAC')) ||\n navigator.userAgent.toUpperCase().includes('MAC'))\n const ctrlKey = isMac ? e.metaKey : e.ctrlKey\n\n // undo\n if (ctrlKey && e.key === 'z') {\n e.preventDefault()\n if (canUndo) handleUndo()\n }\n // redo\n if (\n (ctrlKey && e.key === 'y') ||\n (ctrlKey && e.shiftKey && e.key === 'z') ||\n (ctrlKey && e.key === 'Z')\n ) {\n e.preventDefault()\n if (canRedo) handleRedo()\n }\n // clear\n if (e.key === 'Backspace' || e.key === 'Delete') {\n // check we have cells selected\n if (!selectedCells.size) return\n e.preventDefault()\n\n // find selected cells elements\n const selectedCellElements = Array.from(selectedCells).map((cellId) =>\n document.getElementById(cellId),\n )\n\n // check the cell is editable from the classnames\n const isEditable = (cell: HTMLElement | null) => cell?.classList.contains('editable')\n\n // filter out non-editable cells\n const editableCells = selectedCellElements.filter(isEditable)\n if (editableCells.length === 0) {\n toast.warn('No editable cells selected to clear')\n return\n }\n // clear the selected cells\n handleClear(editableCells.map((cell) => cell?.id).filter(Boolean) as CellId[])\n }\n }\n\n document.addEventListener('keydown', onKeyDown)\n return () => document.removeEventListener('keydown', onKeyDown)\n }, [canUndo, canRedo, handleUndo, handleRedo, selectedCells, handleClear])\n\n return <CellEditingContext.Provider value={value}>{children}</CellEditingContext.Provider>\n}\n\nexport const useCellEditing = (): CellEditingContextType => {\n const context = useContext(CellEditingContext)\n if (context === undefined) {\n throw new Error('useCellEditing must be used within a CellEditingProvider')\n }\n return context\n}\n"],"names":["createContext","useState","useCallback","useSelectionCellsContext","useProjectTableContext","toast","parseCellId","getTypeDefaultValue","useMemo","useEffect","jsx","useContext"],"mappings":"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"}