@ynput/ayon-frontend-shared 0.3.31 → 0.3.33

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 (1007) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +28 -24
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +219 -199
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Slicer.cjs.js +1 -1
  8. package/dist/Slicer.es.js +20 -18
  9. package/dist/Slicer.es.js.map +1 -1
  10. package/dist/_virtual/index.cjs14.js +1 -1
  11. package/dist/_virtual/index.cjs15.js +1 -1
  12. package/dist/_virtual/index.cjs19.js +1 -1
  13. package/dist/_virtual/index.cjs22.js +1 -1
  14. package/dist/_virtual/index.cjs23.js +1 -1
  15. package/dist/_virtual/index.cjs24.js +1 -1
  16. package/dist/_virtual/index.cjs7.js +1 -1
  17. package/dist/_virtual/index.es10.js +2 -2
  18. package/dist/_virtual/index.es11.js +2 -2
  19. package/dist/_virtual/index.es13.js +2 -2
  20. package/dist/_virtual/index.es14.js +2 -5
  21. package/dist/_virtual/index.es14.js.map +1 -1
  22. package/dist/_virtual/index.es15.js +2 -2
  23. package/dist/_virtual/index.es16.js +2 -2
  24. package/dist/_virtual/index.es17.js +2 -2
  25. package/dist/_virtual/index.es18.js +2 -2
  26. package/dist/_virtual/index.es19.js +2 -2
  27. package/dist/_virtual/index.es20.js +2 -2
  28. package/dist/_virtual/index.es22.js +3 -3
  29. package/dist/_virtual/index.es23.js +5 -5
  30. package/dist/_virtual/index.es24.js +5 -5
  31. package/dist/_virtual/index.es7.js +5 -2
  32. package/dist/_virtual/index.es7.js.map +1 -1
  33. package/dist/_virtual/index.es9.js +2 -2
  34. package/dist/api.cjs.js +1 -1
  35. package/dist/api.es.js +460 -436
  36. package/dist/api.es.js.map +1 -1
  37. package/dist/components.cjs.js +1 -1
  38. package/dist/components.es.js +83 -80
  39. package/dist/components.es.js.map +1 -1
  40. package/dist/index.cjs.js +1 -1
  41. package/dist/index.es.js +15 -11
  42. package/dist/index.es.js.map +1 -1
  43. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  44. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  45. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  46. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  47. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  48. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  49. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  50. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  51. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +1 -1
  52. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +1 -1
  53. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
  54. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +1 -1
  55. package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.cjs.js +1 -1
  56. package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.es.js +1 -1
  57. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs.js +1 -1
  58. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.es.js +1 -1
  59. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.cjs.js +1 -1
  60. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.es.js +1 -1
  61. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.cjs.js +1 -1
  62. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.es.js +1 -1
  63. package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.cjs.js +1 -1
  64. package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.es.js +1 -1
  65. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs.js +1 -1
  66. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.es.js +1 -1
  67. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.cjs.js +1 -1
  68. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.es.js +1 -1
  69. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js +1 -1
  70. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js.map +1 -1
  71. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.es.js +1 -1
  72. package/dist/shared/node_modules/@module-federation/sdk/dist/index.cjs.js +1 -1
  73. package/dist/shared/node_modules/@module-federation/sdk/dist/index.es.js +1 -1
  74. package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
  75. package/dist/shared/node_modules/prop-types/index.es.js +1 -1
  76. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  77. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  78. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
  79. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js.map +1 -1
  80. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
  81. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
  82. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js.map +1 -1
  83. package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
  84. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
  85. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js.map +1 -1
  86. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
  87. package/dist/shared/src/api/base/client.cjs.js +1 -1
  88. package/dist/shared/src/api/base/client.cjs.js.map +1 -1
  89. package/dist/shared/src/api/base/client.es.js +22 -17
  90. package/dist/shared/src/api/base/client.es.js.map +1 -1
  91. package/dist/shared/src/api/generated/folders.cjs.js +1 -1
  92. package/dist/shared/src/api/generated/folders.cjs.js.map +1 -1
  93. package/dist/shared/src/api/generated/folders.es.js +2 -14
  94. package/dist/shared/src/api/generated/folders.es.js.map +1 -1
  95. package/dist/shared/src/api/generated/graphql.cjs.js +299 -61
  96. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  97. package/dist/shared/src/api/generated/graphql.es.js +430 -170
  98. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  99. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  100. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  101. package/dist/shared/src/api/queries/activities/activityQueries.cjs.js +1 -0
  102. package/dist/shared/src/api/queries/activities/activityQueries.cjs.js.map +1 -1
  103. package/dist/shared/src/api/queries/activities/activityQueries.es.js +1 -0
  104. package/dist/shared/src/api/queries/activities/activityQueries.es.js.map +1 -1
  105. package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -1
  106. package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
  107. package/dist/shared/src/api/queries/activities/getActivities.es.js +26 -24
  108. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  109. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js +1 -1
  110. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js.map +1 -1
  111. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js +35 -23
  112. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js.map +1 -1
  113. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
  114. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
  115. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +74 -60
  116. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
  117. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js +2 -0
  118. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js.map +1 -0
  119. package/dist/shared/src/api/queries/columnStats/columnStats.es.js +96 -0
  120. package/dist/shared/src/api/queries/columnStats/columnStats.es.js.map +1 -0
  121. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js +2 -0
  122. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js.map +1 -0
  123. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js +88 -0
  124. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js.map +1 -0
  125. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
  126. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
  127. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +62 -48
  128. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  129. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  130. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  131. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +7 -3
  132. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  133. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  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 +94 -79
  136. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  137. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.cjs.js +2 -0
  138. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.cjs.js.map +1 -0
  139. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.es.js +68 -0
  140. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.es.js.map +1 -0
  141. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -1
  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 +73 -69
  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 -1
  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 +104 -71
  148. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  149. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  150. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  151. package/dist/shared/src/api/queries/overview/getOverview.es.js +265 -216
  152. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  153. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  154. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  155. package/dist/shared/src/api/queries/overview/updateOverview.es.js +207 -187
  156. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  157. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
  158. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  159. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +138 -107
  160. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  161. package/dist/shared/src/api/queries/users/getUsers.cjs.js +4 -4
  162. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  163. package/dist/shared/src/api/queries/users/getUsers.es.js +11 -11
  164. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  165. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
  166. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
  167. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +332 -239
  168. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
  169. package/dist/shared/src/api/queries/views/updateViews.cjs.js +1 -1
  170. package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -1
  171. package/dist/shared/src/api/queries/views/updateViews.es.js +38 -38
  172. package/dist/shared/src/api/queries/views/updateViews.es.js.map +1 -1
  173. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js +1 -1
  174. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js.map +1 -1
  175. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js +4 -2
  176. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
  177. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  178. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  179. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +4 -2
  180. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  181. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  182. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  183. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +8 -4
  184. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  185. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  186. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  187. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +4 -2
  188. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  189. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  190. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  191. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +4 -2
  192. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  193. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  194. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  195. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +4 -2
  196. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  197. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js +1 -1
  198. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js.map +1 -1
  199. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js +4 -2
  200. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js.map +1 -1
  201. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  202. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  203. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +143 -162
  204. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  205. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  206. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  207. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +8 -4
  208. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  209. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  210. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  211. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +4 -2
  212. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  213. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  214. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  215. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +6 -4
  216. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  217. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  218. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  219. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +4 -2
  220. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  221. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  222. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  223. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +4 -2
  224. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  225. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
  226. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
  227. package/dist/shared/src/components/LinksManager/LinksManager.es.js +4 -2
  228. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
  229. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  230. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  231. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +8 -4
  232. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  233. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  234. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  235. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +4 -2
  236. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  237. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
  238. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -1
  239. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +4 -2
  240. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -1
  241. package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
  242. package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -1
  243. package/dist/shared/src/components/Menu/Menu.es.js +4 -2
  244. package/dist/shared/src/components/Menu/Menu.es.js.map +1 -1
  245. package/dist/shared/src/components/Menu/MenuItem.cjs.js +1 -1
  246. package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -1
  247. package/dist/shared/src/components/Menu/MenuItem.es.js +2 -0
  248. package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -1
  249. package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
  250. package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
  251. package/dist/shared/src/components/Menu/MenuList.es.js +4 -2
  252. package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
  253. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
  254. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  255. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +4 -2
  256. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  257. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  258. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  259. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +4 -2
  260. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  261. package/dist/shared/src/components/Powerpack/useFreeTrialLink.cjs.js +1 -1
  262. package/dist/shared/src/components/Powerpack/useFreeTrialLink.cjs.js.map +1 -1
  263. package/dist/shared/src/components/Powerpack/useFreeTrialLink.es.js +4 -2
  264. package/dist/shared/src/components/Powerpack/useFreeTrialLink.es.js.map +1 -1
  265. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
  266. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  267. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +81 -77
  268. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  269. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  270. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  271. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +10 -6
  272. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  273. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  274. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  275. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +4 -2
  276. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  277. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  278. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  279. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +8 -4
  280. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  281. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  282. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  283. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +8 -4
  284. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  285. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  286. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  287. package/dist/shared/src/components/RenameForm/RenameForm.es.js +8 -4
  288. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  289. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  290. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  291. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +4 -2
  292. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  293. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  294. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  295. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +8 -4
  296. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  297. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  298. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  299. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +9 -5
  300. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  301. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  302. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  303. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +8 -4
  304. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  305. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  306. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  307. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +4 -2
  308. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  309. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  310. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  311. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +8 -4
  312. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  313. package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.cjs.js +1 -1
  314. package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.cjs.js.map +1 -1
  315. package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.es.js +2 -1
  316. package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.es.js.map +1 -1
  317. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.cjs.js +2 -0
  318. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.cjs.js.map +1 -0
  319. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.es.js +24 -0
  320. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.es.js.map +1 -0
  321. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  322. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  323. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +8 -6
  324. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  325. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +1 -1
  326. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  327. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +4 -2
  328. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  329. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
  330. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  331. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +10 -6
  332. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  333. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  334. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  335. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +8 -4
  336. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  337. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js +1 -1
  338. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js.map +1 -1
  339. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js +4 -2
  340. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js.map +1 -1
  341. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +2 -2
  342. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  343. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +12 -10
  344. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  345. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js +1 -1
  346. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js.map +1 -1
  347. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js +49 -44
  348. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js.map +1 -1
  349. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js +3 -3
  350. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js.map +1 -1
  351. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js +32 -22
  352. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js.map +1 -1
  353. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  354. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  355. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +8 -4
  356. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  357. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  358. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  359. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +12 -8
  360. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  361. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  362. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  363. package/dist/shared/src/components/Watchers/Watchers.es.js +4 -2
  364. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  365. package/dist/shared/src/config/powerpackFeatures.cjs.js +1 -1
  366. package/dist/shared/src/config/powerpackFeatures.cjs.js.map +1 -1
  367. package/dist/shared/src/config/powerpackFeatures.es.js +7 -1
  368. package/dist/shared/src/config/powerpackFeatures.es.js.map +1 -1
  369. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  370. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  371. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +8 -4
  372. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  373. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  374. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  375. package/dist/shared/src/containers/Actions/Actions.es.js +4 -2
  376. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  377. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  378. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  379. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +8 -4
  380. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  381. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  382. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  383. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +8 -4
  384. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  385. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  386. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  387. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +8 -4
  388. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  389. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  390. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  391. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +45 -40
  392. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  393. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  394. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  395. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +8 -4
  396. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  397. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  398. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
  399. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +8 -4
  400. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
  401. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  402. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
  403. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +8 -4
  404. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
  405. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  406. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  407. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +4 -2
  408. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  409. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  410. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +21 -17
  412. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  413. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  414. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +8 -4
  416. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  417. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  418. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +7 -3
  420. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  421. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  422. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +14 -11
  424. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  425. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js +1 -1
  426. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js +14 -14
  428. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js.map +1 -1
  429. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  430. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  431. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +14 -9
  432. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  433. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  434. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +8 -4
  436. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  437. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  438. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +8 -4
  440. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  441. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  442. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  443. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +8 -4
  444. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  445. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  446. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  447. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +8 -4
  448. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  449. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  450. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  451. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +4 -2
  452. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  453. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  454. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  455. package/dist/shared/src/containers/Feed/Feed.es.js +157 -140
  456. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  457. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  458. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  459. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +8 -4
  460. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  461. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  462. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  463. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +133 -144
  464. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  465. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  466. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  467. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +8 -4
  468. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  469. package/dist/shared/src/containers/Feed/components/ActivityDate.cjs.js +3 -3
  470. package/dist/shared/src/containers/Feed/components/ActivityDate.cjs.js.map +1 -1
  471. package/dist/shared/src/containers/Feed/components/ActivityDate.es.js +39 -31
  472. package/dist/shared/src/containers/Feed/components/ActivityDate.es.js.map +1 -1
  473. package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js +1 -1
  474. package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js.map +1 -1
  475. package/dist/shared/src/containers/Feed/components/ActivityItem.es.js +23 -20
  476. package/dist/shared/src/containers/Feed/components/ActivityItem.es.js.map +1 -1
  477. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +2 -0
  478. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js.map +1 -0
  479. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +349 -0
  480. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js.map +1 -0
  481. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js +50 -0
  482. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js.map +1 -0
  483. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.es.js +56 -0
  484. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.es.js.map +1 -0
  485. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  486. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  487. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +29 -27
  488. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  489. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  490. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  491. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +351 -290
  492. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  493. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js +87 -12
  494. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js.map +1 -1
  495. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js +101 -21
  496. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js.map +1 -1
  497. package/dist/shared/src/containers/Feed/components/CommentInput/VersionReviewPill.cjs.js +2 -0
  498. package/dist/shared/src/containers/Feed/components/CommentInput/VersionReviewPill.cjs.js.map +1 -0
  499. package/dist/shared/src/containers/Feed/components/CommentInput/VersionReviewPill.es.js +34 -0
  500. package/dist/shared/src/containers/Feed/components/CommentInput/VersionReviewPill.es.js.map +1 -0
  501. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  502. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  503. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +12 -8
  504. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  505. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  506. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  507. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +4 -2
  508. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  509. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  510. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  511. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +4 -2
  512. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  513. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  514. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  515. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +4 -2
  516. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  517. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  518. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  519. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +40 -45
  520. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  521. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js +1 -1
  522. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js.map +1 -1
  523. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.es.js +4 -2
  524. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.es.js.map +1 -1
  525. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  526. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  527. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +7 -5
  528. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  529. package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.cjs.js +1 -1
  530. package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.cjs.js.map +1 -1
  531. package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.es.js +14 -13
  532. package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.es.js.map +1 -1
  533. package/dist/shared/src/containers/Feed/hooks/useCategoryData.cjs.js +2 -0
  534. package/dist/shared/src/containers/Feed/hooks/useCategoryData.cjs.js.map +1 -0
  535. package/dist/shared/src/containers/Feed/hooks/useCategoryData.es.js +27 -0
  536. package/dist/shared/src/containers/Feed/hooks/useCategoryData.es.js.map +1 -0
  537. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js +1 -1
  538. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js.map +1 -1
  539. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js +88 -68
  540. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js.map +1 -1
  541. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  542. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  543. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +4 -2
  544. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  545. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.cjs.js +2 -0
  546. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.cjs.js.map +1 -0
  547. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.es.js +113 -0
  548. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.es.js.map +1 -0
  549. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  550. package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
  551. package/dist/shared/src/containers/ListTable/ListTable.es.js +214 -204
  552. package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
  553. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  554. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  555. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +8 -4
  556. package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
  557. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  558. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
  559. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +8 -4
  560. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
  561. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  562. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  563. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +731 -675
  564. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  565. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +32 -10
  566. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
  567. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +42 -18
  568. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
  569. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  570. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  571. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +21 -16
  572. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  573. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  574. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  575. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +61 -45
  576. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  577. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  578. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  579. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +8 -4
  580. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  581. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  582. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  583. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +8 -4
  584. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  585. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js +48 -0
  586. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js.map +1 -0
  587. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js +103 -0
  588. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js.map +1 -0
  589. package/dist/shared/src/containers/ProjectTreeTable/constants.cjs.js +2 -0
  590. package/dist/shared/src/containers/ProjectTreeTable/constants.cjs.js.map +1 -0
  591. package/dist/shared/src/containers/ProjectTreeTable/constants.es.js +6 -0
  592. package/dist/shared/src/containers/ProjectTreeTable/constants.es.js.map +1 -0
  593. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  594. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  595. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +8 -4
  596. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  597. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +4 -4
  598. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  599. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +8 -5
  600. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  601. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js.map +1 -1
  602. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js.map +1 -1
  603. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  604. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  605. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +219 -183
  606. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  607. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  608. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  609. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +6 -4
  610. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  611. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
  612. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
  613. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +94 -90
  614. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
  615. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js +1 -1
  616. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js.map +1 -1
  617. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js +21 -17
  618. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js.map +1 -1
  619. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js +1 -1
  620. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js.map +1 -1
  621. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js +1 -2
  622. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js.map +1 -1
  623. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  624. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  625. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +21 -13
  626. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  627. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  628. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  629. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +4 -2
  630. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  631. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  632. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  633. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +85 -81
  634. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  635. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  636. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  637. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +203 -181
  638. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  639. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  640. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  641. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +10 -5
  642. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  643. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  644. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  645. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +8 -4
  646. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  647. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  648. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  649. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +8 -4
  650. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  651. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  652. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  653. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +8 -4
  654. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  655. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  656. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  657. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +179 -175
  658. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  659. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.cjs.js.map +1 -1
  660. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.es.js.map +1 -1
  661. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  662. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  663. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +8 -4
  664. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  665. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  666. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  667. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +8 -4
  668. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  669. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  670. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  671. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +8 -4
  672. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  673. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  674. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  675. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +8 -4
  676. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  677. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  678. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  679. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +8 -4
  680. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  681. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  682. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  683. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +96 -91
  684. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  685. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  686. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  687. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +8 -4
  688. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  689. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  690. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  691. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +46 -44
  692. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  693. package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.cjs.js +2 -0
  694. package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.cjs.js.map +1 -0
  695. package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.es.js +16 -0
  696. package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.es.js.map +1 -0
  697. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  698. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  699. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +19 -15
  700. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  701. package/dist/shared/src/containers/ProjectTreeTable/utils/checkColumnVisibility.cjs.js +1 -1
  702. package/dist/shared/src/containers/ProjectTreeTable/utils/checkColumnVisibility.cjs.js.map +1 -1
  703. package/dist/shared/src/containers/ProjectTreeTable/utils/checkColumnVisibility.es.js +29 -25
  704. package/dist/shared/src/containers/ProjectTreeTable/utils/checkColumnVisibility.es.js.map +1 -1
  705. package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.cjs.js +2 -0
  706. package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.cjs.js.map +1 -0
  707. package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.es.js +17 -0
  708. package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.es.js.map +1 -0
  709. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js +1 -1
  710. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
  711. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js +61 -61
  712. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
  713. package/dist/shared/src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.cjs.js +2 -0
  714. package/dist/shared/src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.cjs.js.map +1 -0
  715. package/dist/shared/src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.es.js +15 -0
  716. package/dist/shared/src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.es.js.map +1 -0
  717. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  718. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  719. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +8 -4
  720. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  721. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  722. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  723. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +16 -12
  724. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  725. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  726. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  727. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +10 -6
  728. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  729. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +1 -1
  730. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
  731. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +4 -2
  732. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js.map +1 -1
  733. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  734. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  735. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +8 -4
  736. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  737. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  738. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  739. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +8 -4
  740. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  741. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +1 -1
  742. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
  743. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +4 -2
  744. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
  745. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +4 -4
  746. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -1
  747. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +24 -19
  748. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js.map +1 -1
  749. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  750. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  751. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +8 -4
  752. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  753. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  754. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  755. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +8 -4
  756. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  757. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +2 -2
  758. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -1
  759. package/dist/shared/src/containers/Slicer/components/Slicer.es.js +52 -50
  760. package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -1
  761. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +1 -1
  762. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
  763. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +4 -2
  764. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -1
  765. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  766. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  767. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +8 -4
  768. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  769. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  770. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  771. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +57 -53
  772. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  773. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
  774. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
  775. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +4 -2
  776. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
  777. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +1 -1
  778. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -1
  779. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +4 -2
  780. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
  781. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
  782. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
  783. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +8 -4
  784. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
  785. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +1 -1
  786. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -1
  787. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +4 -2
  788. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -1
  789. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.cjs.js +1 -1
  790. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.cjs.js.map +1 -1
  791. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.es.js +12 -18
  792. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.es.js.map +1 -1
  793. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  794. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  795. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +13 -11
  796. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  797. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js +1 -1
  798. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -1
  799. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js +4 -2
  800. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -1
  801. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  802. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  803. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +4 -2
  804. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  805. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  806. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  807. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +8 -4
  808. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  809. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +1 -1
  810. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  811. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +4 -2
  812. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  813. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  814. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  815. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +120 -118
  816. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  817. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js +1 -1
  818. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js.map +1 -1
  819. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js +18 -16
  820. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js.map +1 -1
  821. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -1
  822. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
  823. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +79 -51
  824. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
  825. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.cjs.js +1 -1
  826. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.cjs.js.map +1 -1
  827. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.es.js +19 -17
  828. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.es.js.map +1 -1
  829. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js +1 -1
  830. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js.map +1 -1
  831. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js +4 -2
  832. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js.map +1 -1
  833. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  834. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  835. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +7 -5
  836. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  837. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  838. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  839. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +13 -11
  840. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  841. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  842. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  843. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +4 -2
  844. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  845. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  846. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  847. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +79 -65
  848. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  849. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  850. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  851. package/dist/shared/src/context/AddonProjectContext.es.js +6 -4
  852. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  853. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  854. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  855. package/dist/shared/src/context/DetailsPanelContext.es.js +6 -4
  856. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  857. package/dist/shared/src/context/GlobalContext.cjs.js +1 -1
  858. package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -1
  859. package/dist/shared/src/context/GlobalContext.es.js +6 -4
  860. package/dist/shared/src/context/GlobalContext.es.js.map +1 -1
  861. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  862. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  863. package/dist/shared/src/context/PowerpackContext.es.js +8 -6
  864. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  865. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  866. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  867. package/dist/shared/src/context/ProjectContext.es.js +6 -4
  868. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  869. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  870. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  871. package/dist/shared/src/context/ProjectFoldersContext.es.js +6 -4
  872. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  873. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  874. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  875. package/dist/shared/src/context/RemoteModulesContext.es.js +6 -4
  876. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  877. package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
  878. package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
  879. package/dist/shared/src/context/SubtasksModulesContext.es.js +6 -4
  880. package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
  881. package/dist/shared/src/context/UriContext.cjs.js +1 -1
  882. package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
  883. package/dist/shared/src/context/UriContext.es.js +7 -5
  884. package/dist/shared/src/context/UriContext.es.js.map +1 -1
  885. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  886. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  887. package/dist/shared/src/context/WebsocketContext.es.js +10 -6
  888. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  889. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  890. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  891. package/dist/shared/src/hooks/useActionTriggers.es.js +4 -2
  892. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  893. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  894. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  895. package/dist/shared/src/hooks/useEntityUpdate.es.js +4 -2
  896. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  897. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
  898. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
  899. package/dist/shared/src/hooks/useGetEntityGroups.es.js +4 -2
  900. package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
  901. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  902. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  903. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +4 -2
  904. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  905. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  906. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  907. package/dist/shared/src/hooks/useHierarchyTable.es.js +4 -2
  908. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  909. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  910. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  911. package/dist/shared/src/hooks/useScopedStatuses.es.js +6 -4
  912. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  913. package/dist/shared/src/hooks/useScopedTypes.cjs.js +1 -1
  914. package/dist/shared/src/hooks/useScopedTypes.cjs.js.map +1 -1
  915. package/dist/shared/src/hooks/useScopedTypes.es.js +4 -2
  916. package/dist/shared/src/hooks/useScopedTypes.es.js.map +1 -1
  917. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  918. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  919. package/dist/shared/src/hooks/useUserProjectConfig.es.js +4 -2
  920. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  921. package/dist/shared/src/util/columnConfigConverter.cjs.js +1 -1
  922. package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
  923. package/dist/shared/src/util/columnConfigConverter.es.js +86 -65
  924. package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
  925. package/dist/shared/src/util/getThumbnailUrl.cjs.js +2 -0
  926. package/dist/shared/src/util/getThumbnailUrl.cjs.js.map +1 -0
  927. package/dist/shared/src/util/getThumbnailUrl.es.js +23 -0
  928. package/dist/shared/src/util/getThumbnailUrl.es.js.map +1 -0
  929. package/dist/shared/src/util/thumbnailWebsocket.cjs.js +2 -0
  930. package/dist/shared/src/util/thumbnailWebsocket.cjs.js.map +1 -0
  931. package/dist/shared/src/util/thumbnailWebsocket.es.js +54 -0
  932. package/dist/shared/src/util/thumbnailWebsocket.es.js.map +1 -0
  933. package/dist/types/api/generated/folders.d.ts +1 -6
  934. package/dist/types/api/generated/graphql.d.ts +403 -6
  935. package/dist/types/api/generated/graphqlLinks.d.ts +80 -4
  936. package/dist/types/api/queries/activities/activityQueries.d.ts +1 -0
  937. package/dist/types/api/queries/activities/getActivities.d.ts +506 -0
  938. package/dist/types/api/queries/activities/updateActivities.d.ts +116 -0
  939. package/dist/types/api/queries/activities/util/activitiesHelpers.d.ts +1 -0
  940. package/dist/types/api/queries/columnStats/columnStats.d.ts +28 -0
  941. package/dist/types/api/queries/columnStats/index.d.ts +2 -0
  942. package/dist/types/api/queries/columnStats/metricTargets.d.ts +31 -0
  943. package/dist/types/api/queries/entities/getEntity.d.ts +57 -0
  944. package/dist/types/api/queries/entities/getEntityPanel.d.ts +57 -0
  945. package/dist/types/api/queries/entities/transformDetailsPanelData.d.ts +1 -0
  946. package/dist/types/api/queries/entities/updateEntity.d.ts +57 -0
  947. package/dist/types/api/queries/entityLists/getLists.d.ts +57 -0
  948. package/dist/types/api/queries/entityLists/index.d.ts +1 -0
  949. package/dist/types/api/queries/entityLists/listItemsColumnStats.d.ts +312 -0
  950. package/dist/types/api/queries/entityLists/types.d.ts +3 -0
  951. package/dist/types/api/queries/index.d.ts +1 -0
  952. package/dist/types/api/queries/overview/getOverview.d.ts +743 -1
  953. package/dist/types/api/queries/project/getProject.d.ts +57 -0
  954. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +79 -0
  955. package/dist/types/api/queries/users/getUsers.d.ts +57 -0
  956. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +848 -1
  957. package/dist/types/components/EntityPanelUploader/EntityPanelUploader.d.ts +1 -11
  958. package/dist/types/components/SearchFilter/filterScopeRegistry.d.ts +5 -0
  959. package/dist/types/components/SearchFilter/index.d.ts +1 -0
  960. package/dist/types/components/Thumbnail/StackedThumbnails.d.ts +2 -2
  961. package/dist/types/components/Thumbnail/Thumbnail.d.ts +2 -2
  962. package/dist/types/components/ThumbnailSimple/ThumbnailSimple.d.ts +1 -1
  963. package/dist/types/config/powerpackFeatures.d.ts +1 -1
  964. package/dist/types/containers/DetailsPanel/containers/FeedWrapper.d.ts +1 -0
  965. package/dist/types/containers/DetailsPanel/helpers/getThumbnails.d.ts +2 -2
  966. package/dist/types/containers/Feed/Feed.d.ts +2 -1
  967. package/dist/types/containers/Feed/components/ActivityDate.d.ts +1 -0
  968. package/dist/types/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.d.ts +20 -0
  969. package/dist/types/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.d.ts +3 -0
  970. package/dist/types/containers/Feed/components/ActivityVersions/ActivityVersions.d.ts +1 -0
  971. package/dist/types/containers/Feed/components/CommentInput/CommentInput.d.ts +8 -0
  972. package/dist/types/containers/Feed/components/CommentInput/CommentInput.styled.d.ts +19 -0
  973. package/dist/types/containers/Feed/components/CommentInput/VersionReviewPill.d.ts +7 -0
  974. package/dist/types/containers/Feed/hooks/useCategoryData.d.ts +7 -0
  975. package/dist/types/containers/Feed/hooks/useCommentMutations.d.ts +2 -0
  976. package/dist/types/containers/Feed/hooks/useGetFeedActivitiesData.d.ts +3 -0
  977. package/dist/types/containers/Feed/hooks/useLastVersionReview.d.ts +11 -0
  978. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +8 -3
  979. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.styled.d.ts +2 -0
  980. package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +1 -1
  981. package/dist/types/containers/ProjectTreeTable/components/TableFooterRow.d.ts +14 -0
  982. package/dist/types/containers/ProjectTreeTable/constants.d.ts +2 -0
  983. package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsContext.d.ts +10 -0
  984. package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +2 -1
  985. package/dist/types/containers/ProjectTreeTable/context/SelectionCellsContext.d.ts +0 -1
  986. package/dist/types/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.d.ts +2 -1
  987. package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +2 -1
  988. package/dist/types/containers/ProjectTreeTable/hooks/useQueryFilters.d.ts +1 -1
  989. package/dist/types/containers/ProjectTreeTable/index.d.ts +1 -0
  990. package/dist/types/containers/ProjectTreeTable/types/index.d.ts +17 -1
  991. package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +2 -0
  992. package/dist/types/containers/ProjectTreeTable/types/summaryTypes.d.ts +50 -0
  993. package/dist/types/containers/ProjectTreeTable/types/table.d.ts +4 -0
  994. package/dist/types/containers/ProjectTreeTable/utils/checkColumnVisibility.d.ts +2 -0
  995. package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +2 -0
  996. package/dist/types/containers/ProjectTreeTable/utils/pinningUtils.d.ts +6 -0
  997. package/dist/types/containers/ProjectTreeTable/utils/sanitizeQueryFilter.d.ts +2 -0
  998. package/dist/types/containers/ProjectTreeTable/widgets/ThumbnailWidget.d.ts +1 -1
  999. package/dist/types/containers/Views/hooks/useSelectedView.d.ts +2 -1
  1000. package/dist/types/containers/Views/utils/viewUpdateHelper.d.ts +7 -3
  1001. package/dist/types/util/getThumbnailUrl.d.ts +18 -0
  1002. package/dist/types/util/index.d.ts +2 -0
  1003. package/dist/types/util/thumbnailWebsocket.d.ts +21 -0
  1004. package/dist/util.cjs.js +1 -1
  1005. package/dist/util.es.js +35 -30
  1006. package/dist/util.es.js.map +1 -1
  1007. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleTable.cjs.js","sources":["../../../../../src/containers/SimpleTable/SimpleTable.tsx"],"sourcesContent":["import { FC, useMemo, useRef, MouseEvent as ReactMouseEvent, useCallback, useEffect } from 'react'\nimport * as Styled from './SimpleTable.styled'\nimport {\n useReactTable,\n getCoreRowModel,\n getFilteredRowModel,\n getExpandedRowModel,\n ColumnDef,\n flexRender,\n Row,\n FilterFn,\n SortingFn,\n sortingFns,\n RowData,\n Table,\n OnChangeFn,\n RowSelectionState,\n functionalUpdate,\n} from '@tanstack/react-table'\nimport { useVirtualizer } from '@tanstack/react-virtual'\n\nimport clsx from 'clsx'\nimport useRowKeydown, { RowKeyboardEvent } from './hooks/useRowKeydown'\n\nimport { RankingInfo, rankItem, compareItems, rankings } from '@tanstack/match-sorter-utils'\nimport { useSimpleTableContext } from './context/SimpleTableContext'\nimport { SimpleTableCellTemplate, SimpleTableCellTemplateProps } from './SimpleTableRowTemplate'\nimport { EmptyPlaceholder } from '@shared/components'\nimport { RowPinningState } from '@tanstack/react-table'\n\ndeclare module '@tanstack/react-table' {\n //add fuzzy filter to the filterFns\n interface FilterFns {\n fuzzy: FilterFn<unknown>\n }\n interface FilterMeta {\n itemRank: RankingInfo\n }\n\n interface TableMeta<TData extends RowData> {\n isExpandable?: boolean\n isLoading?: boolean\n children?: (\n props: SimpleTableCellTemplateProps,\n row: Row<TData>,\n table: Table<SimpleTableRow>,\n ) => JSX.Element\n [key: string]: any\n }\n}\n\n// Define a custom fuzzy filter function that will apply ranking info to rows (using match-sorter utils)\nconst fuzzyFilter: FilterFn<any> = (row, columnId, searchValue, addMeta) => {\n const cellValue = row.getValue(columnId)\n // convert non-string cell values to string\n let searchString =\n typeof cellValue === 'string'\n ? cellValue\n : Array.isArray(cellValue)\n ? cellValue.join(' ')\n : JSON.stringify(cellValue)\n\n // combine label and parents into a single string for searching if columnId is 'label'\n if (columnId === 'label') {\n searchString = [row.original.label, row.original.name, ...(row.original.parents || [])].join(\n ' ',\n )\n }\n\n // Rank the item with CONTAINS threshold to avoid overly permissive fuzzy matches\n // This ensures the search term must be a substring, not just scattered characters\n const itemRank = rankItem(searchString, searchValue, { threshold: rankings.CONTAINS })\n\n // Store the itemRank info\n addMeta({\n itemRank,\n })\n\n // Return if the item should be filtered in/out\n return itemRank.passed\n}\n\n// Define a custom fuzzy sort function that will sort by rank if the row has ranking information\nconst fuzzySort: SortingFn<any> = (rowA, rowB, columnId) => {\n let dir = 0\n\n // Only sort by rank if the column has ranking information\n if (rowA.columnFiltersMeta[columnId]) {\n dir = compareItems(\n rowA.columnFiltersMeta[columnId]?.itemRank!,\n rowB.columnFiltersMeta[columnId]?.itemRank!,\n )\n }\n\n // Provide an alphanumeric fallback for when the item ranks are equal\n return dir === 0 ? sortingFns.alphanumeric(rowA, rowB, columnId) : dir\n}\n\nexport type RowItemData = {\n id: string\n name?: string | null\n label?: string | null\n subType?: string | null\n [key: string]: any\n}\n\nexport type SimpleTableRow = {\n id: string\n parentId?: string\n name: string\n label: string\n parents?: string[]\n icon?: string | null\n iconColor?: string\n iconFilled?: boolean\n img?: string | null\n imgShape?: 'square' | 'circle'\n startContent?: JSX.Element\n endContent?: JSX.Element\n subRows: SimpleTableRow[]\n data: RowItemData\n isDisabled?: boolean\n disabledMessage?: string\n inactive?: boolean\n}\n\nexport interface SimpleTableProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> {\n data: SimpleTableRow[]\n isLoading: boolean\n error?: string\n isExpandable?: boolean // show expand/collapse icons\n isMultiSelect?: boolean // enable multi-select with shift+click and ctrl/cmd+click\n enableClickToDeselect?: boolean // allow deselecting a single selected row by clicking it again & clicking outside clears selection\n enableNonFolderIndent?: boolean // indent non-folder rows to align with folder rows\n forceUpdateTable?: any\n globalFilter?: string\n meta?: Record<string, any>\n rowHeight?: number // height of each row, used for virtual scrolling\n imgRatio?: number\n onScrollBottom?: () => void // callback fired when scrolled to the bottom of the table\n fitContent?: boolean\n children?: (\n props: SimpleTableCellTemplateProps,\n row: Row<SimpleTableRow>,\n table: Table<SimpleTableRow>,\n ) => JSX.Element\n pt?: {\n cell?: Partial<SimpleTableCellTemplateProps>\n row?: Partial<React.HTMLAttributes<HTMLTableRowElement>>\n }\n}\n\n// Helper function to get row range for shift-selection\n// Operates on the provided list of rows (e.g., filtered and sorted rows)\nfunction getRowRange<TData extends RowData>(\n rows: Array<Row<TData>>,\n idA: string,\n idB: string,\n): Array<Row<TData>> {\n const range: Array<Row<TData>> = []\n // If idA and idB are the same, or one is not found, handle appropriately\n if (idA === idB) {\n const singleRow = rows.find((row) => row.id === idA)\n return singleRow ? [singleRow] : []\n }\n\n let indexA = -1\n let indexB = -1\n\n for (let i = 0; i < rows.length; i++) {\n if (rows[i].id === idA) indexA = i\n if (rows[i].id === idB) indexB = i\n if (indexA !== -1 && indexB !== -1) break\n }\n\n if (indexA === -1 || indexB === -1) return [] // One or both IDs not found\n\n const start = Math.min(indexA, indexB)\n const end = Math.max(indexA, indexB)\n\n for (let i = start; i <= end; i++) {\n range.push(rows[i])\n }\n return range\n}\n\nconst SimpleTable: FC<SimpleTableProps> = ({\n data = [],\n isLoading,\n error,\n isExpandable,\n isMultiSelect = true,\n enableClickToDeselect = true,\n enableNonFolderIndent = true,\n forceUpdateTable,\n globalFilter,\n meta,\n rowHeight,\n imgRatio,\n onScrollBottom,\n children,\n pt,\n fitContent,\n ...props\n}) => {\n const {\n rowSelection,\n expanded,\n setExpanded,\n onExpandedChange,\n onRowSelectionChange,\n rowPinning,\n onRowPinningChange,\n } = useSimpleTableContext()\n const lastSelectedIdRef = useRef<string | null>(null)\n const tableRef = useRef<Table<SimpleTableRow> | null>(null)\n\n // stable data reference\n const tableData = useMemo(() => {\n if (!isLoading) return data\n\n // show loading placeholders\n return Array.from({ length: 10 }, (_, i) => ({\n id: `placeholder-${i}`,\n name: `placeholder-${i}`,\n label: `placeholder-${i}`,\n icon: null,\n img: null,\n subRows: [],\n data: {\n id: `placeholder-${i}`,\n },\n }))\n }, [isLoading, data, forceUpdateTable])\n\n // Define the core selection logic using useCallback for stability\n const handleSelectionLogic = useCallback(\n (\n tableInstance: Table<SimpleTableRow>,\n rowId: string,\n isShift: boolean,\n isCtrlOrMeta: boolean,\n ) => {\n const currentId = rowId\n const allProcessableRows = tableInstance.getFilteredRowModel().flatRows\n const currentRow = allProcessableRows.find((r) => r.id === currentId)\n\n if (!currentRow) return\n\n // Prevent selection of disabled rows\n if (currentRow.original.isDisabled) return\n\n // If click-to-deselect is enabled and only one row is selected and it's the current row\n if (\n enableClickToDeselect &&\n !isShift &&\n !isCtrlOrMeta &&\n Object.keys(tableInstance.getState().rowSelection).length === 1 &&\n tableInstance.getState().rowSelection[currentId]\n ) {\n tableInstance.setRowSelection({})\n lastSelectedIdRef.current = null\n return\n }\n\n if (isMultiSelect && isShift && lastSelectedIdRef.current) {\n const lastId = lastSelectedIdRef.current\n const anchorRow = allProcessableRows.find((r) => r.id === lastId)\n\n if (!anchorRow) {\n tableInstance.setRowSelection({ [currentId]: true })\n } else {\n const rowsToToggle = getRowRange(allProcessableRows, currentId, lastId)\n const newSelection: RowSelectionState = {}\n rowsToToggle.forEach((r) => (newSelection[r.id] = true))\n tableInstance.setRowSelection(newSelection)\n }\n } else if (isMultiSelect && isCtrlOrMeta) {\n currentRow.toggleSelected()\n } else {\n tableInstance.setRowSelection({ [currentId]: true })\n }\n lastSelectedIdRef.current = currentId\n },\n [isMultiSelect, enableClickToDeselect],\n )\n\n // Callback for useRowKeydown's handleRowSelect prop\n // Uses tableRef to access the table instance, avoiding direct dependency on 'table' variable at definition time\n const handleRowSelectForKeydown = useCallback(\n (\n event: RowKeyboardEvent, // Use the specific keyboard event type from the hook\n selectedRow: Row<SimpleTableRow>,\n ) => {\n if (!tableRef.current) {\n console.warn('tableRef not yet available in handleRowSelectForKeydown')\n return\n }\n\n // Extract modifier keys from the event\n const isShiftKey = event.shiftKey\n const isCtrlKey = event.ctrlKey || event.metaKey\n\n handleSelectionLogic(\n tableRef.current, // Pass the main table instance\n selectedRow.id,\n isShiftKey,\n isCtrlKey,\n )\n },\n [handleSelectionLogic], // Depends only on handleSelectionLogic\n )\n\n // Handle arrow key navigation\n const handleArrowNavigation = useCallback(\n (direction: 'up' | 'down', currentRow: Row<SimpleTableRow>, event: RowKeyboardEvent) => {\n if (!tableRef.current) return\n\n // Use the row model which respects expanded state, not filtered model\n const visibleRows = tableRef.current.getRowModel().rows\n const currentIndex = visibleRows.findIndex((r) => r.id === currentRow.id)\n\n if (currentIndex === -1) return\n\n let nextIndex = direction === 'down' ? currentIndex + 1 : currentIndex - 1\n\n // Check bounds\n if (nextIndex < 0 || nextIndex >= visibleRows.length) return\n\n // Skip disabled rows\n while (nextIndex >= 0 && nextIndex < visibleRows.length) {\n const nextRow = visibleRows[nextIndex]\n if (!nextRow.original.isDisabled) {\n // Found a valid row\n // Select the next row\n handleSelectionLogic(\n tableRef.current,\n nextRow.id,\n event.shiftKey,\n event.ctrlKey || event.metaKey,\n )\n\n // Focus the next row's cell\n requestAnimationFrame(() => {\n const nextRowElement = document.getElementById(nextRow.id)\n const nextCell = nextRowElement?.querySelector('[tabindex=\"0\"]') as HTMLElement\n if (nextCell) {\n nextCell.focus()\n nextCell.scrollIntoView({ block: 'nearest', behavior: 'smooth' })\n }\n })\n return\n }\n // Move to next row if current is disabled\n nextIndex = direction === 'down' ? nextIndex + 1 : nextIndex - 1\n }\n },\n [handleSelectionLogic],\n )\n\n const { handleRowKeyDown } = useRowKeydown<SimpleTableRow>({\n handleRowSelect: handleRowSelectForKeydown,\n handleArrowNavigation,\n })\n\n const columns = useMemo<ColumnDef<SimpleTableRow>[]>(\n () => [\n {\n accessorKey: 'label',\n header: undefined,\n filterFn: 'fuzzy',\n sortingFn: fuzzySort, //sort by fuzzy rank (falls back to alphanumeric)\n cell: ({ row, getValue, table: cellTableInstance }) => {\n const cellMeta = cellTableInstance.options.meta\n\n const handleCellClick = (event: ReactMouseEvent<HTMLElement, MouseEvent>) => {\n // Prevent row selection if clicking on an interactive element within the cell\n if (\n event.target instanceof HTMLInputElement ||\n event.target instanceof HTMLButtonElement ||\n event.target instanceof HTMLTextAreaElement ||\n event.target instanceof HTMLSelectElement ||\n event.target instanceof HTMLAnchorElement ||\n (event.target as HTMLElement).closest('button, a, input, textarea, select')\n ) {\n return\n }\n handleSelectionLogic(\n cellTableInstance, // Pass the cell's table instance\n row.id,\n event.shiftKey,\n event.ctrlKey || event.metaKey,\n )\n }\n\n const props: SimpleTableCellTemplateProps & {\n onClick?: (event: ReactMouseEvent<HTMLElement, MouseEvent>) => void\n } = {\n className: clsx({\n selected: row.getIsSelected(),\n loading: cellMeta?.isLoading,\n disabled: row.original.isDisabled, // you can't select disabled rows\n inactive: row.original.inactive, // false: archived items but still selectable\n }),\n onKeyDown: (e) => {\n if (e.target instanceof HTMLInputElement) return\n // Corrected typo: handleRowKeydown -> handleRowKeyDown\n handleRowKeyDown(e, row)\n },\n depth: row.depth,\n tabIndex: 0,\n value: getValue<string>(),\n parents: row.original.parents,\n icon: row.original.icon || undefined,\n iconColor: row.original.iconColor,\n iconFilled: row.original.iconFilled,\n img: row.original.img,\n imgShape: row.original.imgShape,\n imgRatio: imgRatio,\n isRowExpandable: row.getCanExpand(),\n enableNonFolderIndent,\n isRowExpanded: row.getIsExpanded(),\n isTableExpandable: cellMeta?.isExpandable,\n onExpandClick: row.getToggleExpandedHandler(),\n startContent: row.original.startContent,\n endContent: row.original.endContent,\n isDisabled: row.original.isDisabled,\n disabledMessage: row.original.disabledMessage,\n ...pt?.cell,\n onClick: handleCellClick, // Added onClick handler\n }\n\n // Use children function if provided, otherwise default to SimpleTableCellTemplate\n return cellMeta?.children ? (\n cellMeta.children(props, row, cellTableInstance)\n ) : (\n <SimpleTableCellTemplate {...props} {...pt?.cell} />\n )\n },\n },\n ],\n [\n forceUpdateTable,\n handleSelectionLogic,\n handleRowKeyDown,\n enableClickToDeselect,\n enableNonFolderIndent,\n imgRatio,\n ], // include enableClickToDeselect for completeness\n )\n\n const handleRowSelectionChangeCallback: OnChangeFn<RowSelectionState> = useCallback(\n (updater) => {\n onRowSelectionChange(functionalUpdate(updater, rowSelection))\n },\n [onRowSelectionChange],\n )\n\n const handleRowPinningChangeCallback: OnChangeFn<RowPinningState> = useCallback(\n (updater) => {\n onRowPinningChange?.(functionalUpdate(updater, rowPinning || {}))\n },\n [onRowPinningChange],\n )\n\n const handleExpandedChange = useCallback(\n (updater: any) => {\n setExpanded?.((old) => {\n const newExpanded = updater instanceof Function ? updater(old) : updater\n onExpandedChange?.(newExpanded)\n return newExpanded\n })\n },\n [setExpanded],\n )\n\n const table = useReactTable({\n data: tableData,\n columns,\n state: {\n expanded,\n rowSelection,\n globalFilter,\n rowPinning,\n },\n onRowSelectionChange: handleRowSelectionChangeCallback,\n onRowPinningChange: handleRowPinningChangeCallback,\n filterFns: {\n fuzzy: fuzzyFilter,\n },\n globalFilterFn: 'fuzzy',\n enableRowSelection: true, //enable row selection for all rows\n enableRowPinning: !!onRowPinningChange,\n getRowId: (row) => row.id,\n enableSubRowSelection: false, //disable sub row selection\n onExpandedChange: handleExpandedChange,\n getSubRows: (row) => row.subRows,\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getExpandedRowModel: getExpandedRowModel(),\n filterFromLeafRows: true,\n // debugTable: true,\n meta: {\n isExpandable: !!isExpandable,\n isLoading: isLoading,\n children: children,\n ...meta,\n },\n })\n\n // Update tableRef whenever the table instance changes.\n // This ensures handleRowSelectForKeydown uses the current table instance.\n useEffect(() => {\n tableRef.current = table\n }, [table])\n\n const { rows } = table.getRowModel()\n\n //The virtualizer needs to know the scrollable container element\n const tableContainerRef = useRef<HTMLDivElement>(null)\n\n const rowVirtualizer = useVirtualizer({\n count: rows.length,\n estimateSize: () => rowHeight || 34, //estimate row height for accurate scrollbar dragging\n getScrollElement: () => tableContainerRef.current,\n //measure dynamic row height, except in firefox because it measures table border height incorrectly\n measureElement: rowHeight\n ? () => rowHeight\n : typeof window !== 'undefined' && navigator.userAgent.indexOf('Firefox') === -1\n ? (element) => element?.getBoundingClientRect().height\n : undefined,\n overscan: 5,\n })\n\n // Memoize the ref callback to prevent infinite re-renders\n const measureElementRef = useCallback(\n (node: HTMLElement | null) => {\n if (node) {\n rowVirtualizer.measureElement(node)\n }\n },\n [rowVirtualizer],\n )\n\n // Handle scroll to bottom detection\n const handleScroll = useCallback(\n (event: React.UIEvent<HTMLDivElement>) => {\n if (!onScrollBottom) return\n\n const target = event.currentTarget\n const { scrollTop, scrollHeight, clientHeight } = target\n\n // Check if we're near the bottom (within 100px)\n const isNearBottom = scrollHeight - scrollTop - clientHeight < 100\n\n if (isNearBottom && !isLoading) {\n onScrollBottom()\n }\n },\n [onScrollBottom, isLoading],\n )\n\n const handleContainerClick = (e: React.MouseEvent<HTMLDivElement>) => {\n // if the click is outside of any row, clear selection\n if (enableClickToDeselect && !(e.target as HTMLElement).closest('tr')) {\n table.setRowSelection({})\n lastSelectedIdRef.current = null\n }\n }\n\n return (\n <Styled.TableContainer\n ref={tableContainerRef}\n onScroll={handleScroll}\n onClick={handleContainerClick}\n {...props}\n className={clsx(props.className, { isLoading, fitContent })}\n >\n {!error && (\n <table>\n <tbody\n style={{\n height: `${rowVirtualizer?.getTotalSize()}px`, //tells scrollbar how big the table is\n }}\n >\n {rowVirtualizer?.getVirtualItems().map((virtualRow) => {\n const row = rows[virtualRow.index] as Row<SimpleTableRow>\n return (\n <tr\n data-index={virtualRow.index} //needed for dynamic row height measurement\n ref={measureElementRef} //measure dynamic row height\n key={row.id}\n id={row.id}\n {...pt?.row}\n style={{\n transform: `translateY(${virtualRow.start}px)`, //this should always be a `style` as it changes on scroll\n ...pt?.row?.style, // custom styles to be passed\n }}\n >\n {row.getVisibleCells().map((cell) => {\n return (\n <td key={cell.id}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </td>\n )\n })}\n </tr>\n )\n })}\n </tbody>\n </table>\n )}\n {!!error && <EmptyPlaceholder error={error} />}\n </Styled.TableContainer>\n )\n}\n\nexport default SimpleTable\n"],"names":["fuzzyFilter","row","columnId","searchValue","addMeta","cellValue","searchString","itemRank","rankItem","rankings","fuzzySort","rowA","rowB","dir","compareItems","sortingFns","getRowRange","rows","idA","idB","range","singleRow","indexA","indexB","i","start","end","SimpleTable","data","isLoading","error","isExpandable","isMultiSelect","enableClickToDeselect","enableNonFolderIndent","forceUpdateTable","globalFilter","meta","rowHeight","imgRatio","onScrollBottom","children","pt","fitContent","props","rowSelection","expanded","setExpanded","onExpandedChange","onRowSelectionChange","rowPinning","onRowPinningChange","useSimpleTableContext","lastSelectedIdRef","useRef","tableRef","tableData","useMemo","_","handleSelectionLogic","useCallback","tableInstance","rowId","isShift","isCtrlOrMeta","currentId","allProcessableRows","currentRow","r","lastId","rowsToToggle","newSelection","handleRowSelectForKeydown","event","selectedRow","isShiftKey","isCtrlKey","handleArrowNavigation","direction","visibleRows","currentIndex","nextIndex","nextRow","nextCell","handleRowKeyDown","useRowKeydown","columns","getValue","cellTableInstance","cellMeta","handleCellClick","clsx","e","jsx","SimpleTableCellTemplate","handleRowSelectionChangeCallback","updater","functionalUpdate","handleRowPinningChangeCallback","handleExpandedChange","old","newExpanded","table","useReactTable","getCoreRowModel","getFilteredRowModel","getExpandedRowModel","useEffect","tableContainerRef","rowVirtualizer","useVirtualizer","element","measureElementRef","node","handleScroll","target","scrollTop","scrollHeight","clientHeight","handleContainerClick","jsxs","Styled.TableContainer","virtualRow","cell","flexRender","EmptyPlaceholder"],"mappings":"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"}
1
+ {"version":3,"file":"SimpleTable.cjs.js","sources":["../../../../../src/containers/SimpleTable/SimpleTable.tsx"],"sourcesContent":["import { FC, useMemo, useRef, MouseEvent as ReactMouseEvent, useCallback, useEffect } from 'react'\nimport * as Styled from './SimpleTable.styled'\nimport {\n useReactTable,\n getCoreRowModel,\n getFilteredRowModel,\n getExpandedRowModel,\n ColumnDef,\n flexRender,\n Row,\n FilterFn,\n SortingFn,\n sortingFns,\n RowData,\n Table,\n OnChangeFn,\n RowSelectionState,\n functionalUpdate,\n} from '@tanstack/react-table'\nimport { useVirtualizer } from '@tanstack/react-virtual'\n\nimport clsx from 'clsx'\nimport useRowKeydown, { RowKeyboardEvent } from './hooks/useRowKeydown'\n\nimport { RankingInfo, rankItem, compareItems, rankings } from '@tanstack/match-sorter-utils'\nimport { useSimpleTableContext } from './context/SimpleTableContext'\nimport { SimpleTableCellTemplate, SimpleTableCellTemplateProps } from './SimpleTableRowTemplate'\nimport { EmptyPlaceholder } from '@shared/components'\nimport { RowPinningState } from '@tanstack/react-table'\n\ndeclare module '@tanstack/react-table' {\n //add fuzzy filter to the filterFns\n interface FilterFns {\n fuzzy: FilterFn<unknown>\n }\n interface FilterMeta {\n itemRank: RankingInfo\n }\n\n interface TableMeta<TData extends RowData> {\n isExpandable?: boolean\n isLoading?: boolean\n children?: (\n props: SimpleTableCellTemplateProps,\n row: Row<TData>,\n table: Table<SimpleTableRow>,\n ) => JSX.Element\n [key: string]: any\n }\n}\n\n// Define a custom fuzzy filter function that will apply ranking info to rows (using match-sorter utils)\nconst fuzzyFilter: FilterFn<any> = (row, columnId, searchValue, addMeta) => {\n const cellValue = row.getValue(columnId)\n // convert non-string cell values to string\n let searchString =\n typeof cellValue === 'string'\n ? cellValue\n : Array.isArray(cellValue)\n ? cellValue.join(' ')\n : JSON.stringify(cellValue)\n\n // combine label and parents into a single string for searching if columnId is 'label'\n if (columnId === 'label') {\n searchString = [row.original.label, row.original.name, ...(row.original.parents || [])].join(\n ' ',\n )\n }\n\n // Rank the item with CONTAINS threshold to avoid overly permissive fuzzy matches\n // This ensures the search term must be a substring, not just scattered characters\n const itemRank = rankItem(searchString, searchValue, { threshold: rankings.CONTAINS })\n\n // Store the itemRank info\n addMeta({\n itemRank,\n })\n\n // Return if the item should be filtered in/out\n return itemRank.passed\n}\n\n// Define a custom fuzzy sort function that will sort by rank if the row has ranking information\nconst fuzzySort: SortingFn<any> = (rowA, rowB, columnId) => {\n let dir = 0\n\n // Only sort by rank if the column has ranking information\n if (rowA.columnFiltersMeta[columnId]) {\n dir = compareItems(\n rowA.columnFiltersMeta[columnId]?.itemRank!,\n rowB.columnFiltersMeta[columnId]?.itemRank!,\n )\n }\n\n // Provide an alphanumeric fallback for when the item ranks are equal\n return dir === 0 ? sortingFns.alphanumeric(rowA, rowB, columnId) : dir\n}\n\nexport type RowItemData = {\n id: string\n name?: string | null\n label?: string | null\n subType?: string | null\n [key: string]: any\n}\n\nexport type SimpleTableRow = {\n id: string\n parentId?: string\n name: string\n label: string\n parents?: string[]\n icon?: string | null\n iconColor?: string\n iconFilled?: boolean\n img?: string | null\n imgShape?: 'square' | 'circle'\n startContent?: JSX.Element\n endContent?: JSX.Element\n subRows: SimpleTableRow[]\n data: RowItemData\n isDisabled?: boolean\n disabledMessage?: string\n inactive?: boolean\n}\n\nexport interface SimpleTableProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> {\n data: SimpleTableRow[]\n isLoading: boolean\n error?: string\n isExpandable?: boolean // show expand/collapse icons\n isMultiSelect?: boolean // enable multi-select with shift+click and ctrl/cmd+click\n enableClickToDeselect?: boolean // allow deselecting a single selected row by clicking it again & clicking outside clears selection\n enableNonFolderIndent?: boolean // indent non-folder rows to align with folder rows\n forceUpdateTable?: any\n globalFilter?: string\n meta?: Record<string, any>\n rowHeight?: number // height of each row, used for virtual scrolling\n imgRatio?: number\n onScrollBottom?: () => void // callback fired when scrolled to the bottom of the table\n fitContent?: boolean\n children?: (\n props: SimpleTableCellTemplateProps,\n row: Row<SimpleTableRow>,\n table: Table<SimpleTableRow>,\n ) => JSX.Element\n pt?: {\n cell?: Partial<SimpleTableCellTemplateProps>\n row?: Partial<React.HTMLAttributes<HTMLTableRowElement>>\n }\n}\n\n// Helper function to get row range for shift-selection\n// Operates on the provided list of rows (e.g., filtered and sorted rows)\nfunction getRowRange<TData extends RowData>(\n rows: Array<Row<TData>>,\n idA: string,\n idB: string,\n): Array<Row<TData>> {\n const range: Array<Row<TData>> = []\n // If idA and idB are the same, or one is not found, handle appropriately\n if (idA === idB) {\n const singleRow = rows.find((row) => row.id === idA)\n return singleRow ? [singleRow] : []\n }\n\n let indexA = -1\n let indexB = -1\n\n for (let i = 0; i < rows.length; i++) {\n if (rows[i].id === idA) indexA = i\n if (rows[i].id === idB) indexB = i\n if (indexA !== -1 && indexB !== -1) break\n }\n\n if (indexA === -1 || indexB === -1) return [] // One or both IDs not found\n\n const start = Math.min(indexA, indexB)\n const end = Math.max(indexA, indexB)\n\n for (let i = start; i <= end; i++) {\n range.push(rows[i])\n }\n return range\n}\n\nconst SimpleTable: FC<SimpleTableProps> = ({\n data = [],\n isLoading,\n error,\n isExpandable,\n isMultiSelect = true,\n enableClickToDeselect = true,\n enableNonFolderIndent = true,\n forceUpdateTable,\n globalFilter,\n meta,\n rowHeight,\n imgRatio,\n onScrollBottom,\n children,\n pt,\n fitContent,\n ...props\n}) => {\n const {\n rowSelection,\n expanded,\n setExpanded,\n onExpandedChange,\n onRowSelectionChange,\n rowPinning,\n onRowPinningChange,\n } = useSimpleTableContext()\n const lastSelectedIdRef = useRef<string | null>(null)\n const tableRef = useRef<Table<SimpleTableRow> | null>(null)\n\n // stable data reference\n const tableData = useMemo(() => {\n if (!isLoading) return data\n\n // show loading placeholders\n return Array.from({ length: 10 }, (_, i) => ({\n id: `placeholder-${i}`,\n name: `placeholder-${i}`,\n label: `placeholder-${i}`,\n icon: null,\n img: null,\n subRows: [],\n data: {\n id: `placeholder-${i}`,\n },\n }))\n }, [isLoading, data, forceUpdateTable])\n\n // Define the core selection logic using useCallback for stability\n const handleSelectionLogic = useCallback(\n (\n tableInstance: Table<SimpleTableRow>,\n rowId: string,\n isShift: boolean,\n isCtrlOrMeta: boolean,\n ) => {\n const currentId = rowId\n const allProcessableRows = tableInstance.getFilteredRowModel().flatRows\n const currentRow = allProcessableRows.find((r) => r.id === currentId)\n\n if (!currentRow) return\n\n // Prevent selection of disabled rows\n if (currentRow.original.isDisabled) return\n\n // If click-to-deselect is enabled and only one row is selected and it's the current row\n if (\n enableClickToDeselect &&\n !isShift &&\n !isCtrlOrMeta &&\n Object.keys(tableInstance.getState().rowSelection).length === 1 &&\n tableInstance.getState().rowSelection[currentId]\n ) {\n tableInstance.setRowSelection({})\n lastSelectedIdRef.current = null\n return\n }\n\n if (isMultiSelect && isShift && lastSelectedIdRef.current) {\n const lastId = lastSelectedIdRef.current\n const anchorRow = allProcessableRows.find((r) => r.id === lastId)\n\n if (!anchorRow) {\n tableInstance.setRowSelection({ [currentId]: true })\n } else {\n const rowsToToggle = getRowRange(allProcessableRows, currentId, lastId)\n const newSelection: RowSelectionState = {}\n rowsToToggle.forEach((r) => (newSelection[r.id] = true))\n tableInstance.setRowSelection(newSelection)\n }\n } else if (isMultiSelect && isCtrlOrMeta) {\n currentRow.toggleSelected()\n } else {\n tableInstance.setRowSelection({ [currentId]: true })\n }\n lastSelectedIdRef.current = currentId\n },\n [isMultiSelect, enableClickToDeselect],\n )\n\n // Callback for useRowKeydown's handleRowSelect prop\n // Uses tableRef to access the table instance, avoiding direct dependency on 'table' variable at definition time\n const handleRowSelectForKeydown = useCallback(\n (\n event: RowKeyboardEvent, // Use the specific keyboard event type from the hook\n selectedRow: Row<SimpleTableRow>,\n ) => {\n if (!tableRef.current) {\n console.warn('tableRef not yet available in handleRowSelectForKeydown')\n return\n }\n\n // Extract modifier keys from the event\n const isShiftKey = event.shiftKey\n const isCtrlKey = event.ctrlKey || event.metaKey\n\n handleSelectionLogic(\n tableRef.current, // Pass the main table instance\n selectedRow.id,\n isShiftKey,\n isCtrlKey,\n )\n },\n [handleSelectionLogic], // Depends only on handleSelectionLogic\n )\n\n // Handle arrow key navigation\n const handleArrowNavigation = useCallback(\n (direction: 'up' | 'down', currentRow: Row<SimpleTableRow>, event: RowKeyboardEvent) => {\n if (!tableRef.current) return\n\n // Use the row model which respects expanded state, not filtered model\n const visibleRows = tableRef.current.getRowModel().rows\n const currentIndex = visibleRows.findIndex((r) => r.id === currentRow.id)\n\n if (currentIndex === -1) return\n\n let nextIndex = direction === 'down' ? currentIndex + 1 : currentIndex - 1\n\n // Check bounds\n if (nextIndex < 0 || nextIndex >= visibleRows.length) return\n\n // Skip disabled rows\n while (nextIndex >= 0 && nextIndex < visibleRows.length) {\n const nextRow = visibleRows[nextIndex]\n if (!nextRow.original.isDisabled) {\n // Found a valid row\n // Select the next row\n handleSelectionLogic(\n tableRef.current,\n nextRow.id,\n event.shiftKey,\n event.ctrlKey || event.metaKey,\n )\n\n // Focus the next row's cell\n requestAnimationFrame(() => {\n const nextRowElement = document.getElementById(nextRow.id)\n const nextCell = nextRowElement?.querySelector('[tabindex=\"0\"]') as HTMLElement\n if (nextCell) {\n nextCell.focus()\n nextCell.scrollIntoView({ block: 'nearest', behavior: 'smooth' })\n }\n })\n return\n }\n // Move to next row if current is disabled\n nextIndex = direction === 'down' ? nextIndex + 1 : nextIndex - 1\n }\n },\n [handleSelectionLogic],\n )\n\n const { handleRowKeyDown } = useRowKeydown<SimpleTableRow>({\n handleRowSelect: handleRowSelectForKeydown,\n handleArrowNavigation,\n })\n\n const columns = useMemo<ColumnDef<SimpleTableRow>[]>(\n () => [\n {\n accessorKey: 'label',\n header: undefined,\n filterFn: 'fuzzy',\n sortingFn: fuzzySort, //sort by fuzzy rank (falls back to alphanumeric)\n cell: ({ row, getValue, table: cellTableInstance }) => {\n const cellMeta = cellTableInstance.options.meta\n\n const handleCellClick = (event: ReactMouseEvent<HTMLElement, MouseEvent>) => {\n // Prevent row selection if clicking on an interactive element within the cell\n if (\n event.target instanceof HTMLInputElement ||\n event.target instanceof HTMLButtonElement ||\n event.target instanceof HTMLTextAreaElement ||\n event.target instanceof HTMLSelectElement ||\n event.target instanceof HTMLAnchorElement ||\n (event.target as HTMLElement).closest('button, a, input, textarea, select')\n ) {\n return\n }\n handleSelectionLogic(\n cellTableInstance, // Pass the cell's table instance\n row.id,\n event.shiftKey,\n event.ctrlKey || event.metaKey,\n )\n }\n\n const props: SimpleTableCellTemplateProps & {\n onClick?: (event: ReactMouseEvent<HTMLElement, MouseEvent>) => void\n } = {\n className: clsx({\n selected: row.getIsSelected(),\n loading: cellMeta?.isLoading,\n disabled: row.original.isDisabled, // you can't select disabled rows\n inactive: row.original.inactive, // false: archived items but still selectable\n }),\n onKeyDown: (e) => {\n if (e.target instanceof HTMLInputElement) return\n // Corrected typo: handleRowKeydown -> handleRowKeyDown\n handleRowKeyDown(e, row)\n },\n depth: row.depth,\n tabIndex: 0,\n value: getValue<string>(),\n parents: row.original.parents,\n icon: row.original.icon || undefined,\n iconColor: row.original.iconColor,\n iconFilled: row.original.iconFilled,\n img: row.original.img,\n imgShape: row.original.imgShape,\n imgRatio: imgRatio,\n isRowExpandable: row.getCanExpand(),\n enableNonFolderIndent,\n isRowExpanded: row.getIsExpanded(),\n isTableExpandable: cellMeta?.isExpandable,\n onExpandClick: row.getToggleExpandedHandler(),\n startContent: row.original.startContent,\n endContent: row.original.endContent,\n isDisabled: row.original.isDisabled,\n disabledMessage: row.original.disabledMessage,\n ...pt?.cell,\n onClick: handleCellClick, // Added onClick handler\n }\n\n // Use children function if provided, otherwise default to SimpleTableCellTemplate\n return cellMeta?.children ? (\n cellMeta.children(props, row, cellTableInstance)\n ) : (\n <SimpleTableCellTemplate {...props} {...pt?.cell} />\n )\n },\n },\n ],\n [\n forceUpdateTable,\n handleSelectionLogic,\n handleRowKeyDown,\n enableClickToDeselect,\n enableNonFolderIndent,\n imgRatio,\n ], // include enableClickToDeselect for completeness\n )\n\n const handleRowSelectionChangeCallback: OnChangeFn<RowSelectionState> = useCallback(\n (updater) => {\n onRowSelectionChange(functionalUpdate(updater, rowSelection))\n },\n [onRowSelectionChange],\n )\n\n const handleRowPinningChangeCallback: OnChangeFn<RowPinningState> = useCallback(\n (updater) => {\n onRowPinningChange?.(functionalUpdate(updater, rowPinning || {}))\n },\n [onRowPinningChange],\n )\n\n const handleExpandedChange = useCallback(\n (updater: any) => {\n setExpanded?.((old) => {\n const newExpanded = updater instanceof Function ? updater(old) : updater\n onExpandedChange?.(newExpanded)\n return newExpanded\n })\n },\n [setExpanded],\n )\n\n const table = useReactTable({\n data: tableData,\n columns,\n state: {\n expanded,\n rowSelection,\n globalFilter,\n rowPinning,\n },\n onRowSelectionChange: handleRowSelectionChangeCallback,\n onRowPinningChange: handleRowPinningChangeCallback,\n filterFns: {\n fuzzy: fuzzyFilter,\n },\n globalFilterFn: 'fuzzy',\n enableRowSelection: true, //enable row selection for all rows\n enableRowPinning: !!onRowPinningChange,\n getRowId: (row) => row.id,\n enableSubRowSelection: false, //disable sub row selection\n onExpandedChange: handleExpandedChange,\n getSubRows: (row) => row.subRows,\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getExpandedRowModel: getExpandedRowModel(),\n filterFromLeafRows: true,\n // debugTable: true,\n meta: {\n isExpandable: !!isExpandable,\n isLoading: isLoading,\n children: children,\n ...meta,\n },\n })\n\n // Update tableRef whenever the table instance changes.\n // This ensures handleRowSelectForKeydown uses the current table instance.\n useEffect(() => {\n tableRef.current = table\n }, [table])\n\n const { rows } = table.getRowModel()\n\n //The virtualizer needs to know the scrollable container element\n const tableContainerRef = useRef<HTMLDivElement>(null)\n\n const rowVirtualizer = useVirtualizer({\n count: rows.length,\n estimateSize: () => rowHeight || 34, //estimate row height for accurate scrollbar dragging\n getScrollElement: () => tableContainerRef.current,\n //measure dynamic row height, except in firefox because it measures table border height incorrectly\n measureElement: rowHeight\n ? () => rowHeight\n : typeof window !== 'undefined' && navigator.userAgent.indexOf('Firefox') === -1\n ? (element) => element?.getBoundingClientRect().height\n : undefined,\n overscan: 5,\n })\n\n // Memoize the ref callback to prevent infinite re-renders\n const measureElementRef = useCallback(\n (node: HTMLElement | null) => {\n if (node) {\n rowVirtualizer.measureElement(node)\n }\n },\n [rowVirtualizer],\n )\n\n // Handle scroll to bottom detection\n const handleScroll = useCallback(\n (event: React.UIEvent<HTMLDivElement>) => {\n if (!onScrollBottom) return\n\n const target = event.currentTarget\n const { scrollTop, scrollHeight, clientHeight } = target\n\n // Check if we're near the bottom (within 100px)\n const isNearBottom = scrollHeight - scrollTop - clientHeight < 100\n\n if (isNearBottom && !isLoading) {\n onScrollBottom()\n }\n },\n [onScrollBottom, isLoading],\n )\n\n const handleContainerClick = (e: React.MouseEvent<HTMLDivElement>) => {\n // if the click is outside of any row, clear selection\n if (enableClickToDeselect && !(e.target as HTMLElement).closest('tr')) {\n table.setRowSelection({})\n lastSelectedIdRef.current = null\n }\n }\n\n return (\n <Styled.TableContainer\n ref={tableContainerRef}\n onScroll={handleScroll}\n onClick={handleContainerClick}\n {...props}\n className={clsx(props.className, { isLoading, fitContent })}\n >\n {!error && (\n <table>\n <tbody\n style={{\n height: `${rowVirtualizer?.getTotalSize()}px`, //tells scrollbar how big the table is\n }}\n >\n {rowVirtualizer?.getVirtualItems().map((virtualRow) => {\n const row = rows[virtualRow.index] as Row<SimpleTableRow>\n return (\n <tr\n data-index={virtualRow.index} //needed for dynamic row height measurement\n ref={measureElementRef} //measure dynamic row height\n key={row.id}\n id={row.id}\n {...pt?.row}\n style={{\n transform: `translateY(${virtualRow.start}px)`, //this should always be a `style` as it changes on scroll\n ...pt?.row?.style, // custom styles to be passed\n }}\n >\n {row.getVisibleCells().map((cell) => {\n return (\n <td key={cell.id}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </td>\n )\n })}\n </tr>\n )\n })}\n </tbody>\n </table>\n )}\n {!!error && <EmptyPlaceholder error={error} />}\n </Styled.TableContainer>\n )\n}\n\nexport default SimpleTable\n"],"names":["fuzzyFilter","row","columnId","searchValue","addMeta","cellValue","searchString","itemRank","rankItem","rankings","fuzzySort","rowA","rowB","dir","compareItems","sortingFns","getRowRange","rows","idA","idB","range","singleRow","indexA","indexB","i","start","end","SimpleTable","data","isLoading","error","isExpandable","isMultiSelect","enableClickToDeselect","enableNonFolderIndent","forceUpdateTable","globalFilter","meta","rowHeight","imgRatio","onScrollBottom","children","pt","fitContent","props","rowSelection","expanded","setExpanded","onExpandedChange","onRowSelectionChange","rowPinning","onRowPinningChange","useSimpleTableContext","lastSelectedIdRef","useRef","tableRef","tableData","useMemo","_","handleSelectionLogic","useCallback","tableInstance","rowId","isShift","isCtrlOrMeta","currentId","allProcessableRows","currentRow","r","lastId","rowsToToggle","newSelection","handleRowSelectForKeydown","event","selectedRow","isShiftKey","isCtrlKey","handleArrowNavigation","direction","visibleRows","currentIndex","nextIndex","nextRow","nextCell","handleRowKeyDown","useRowKeydown","columns","getValue","cellTableInstance","cellMeta","handleCellClick","clsx","e","jsx","SimpleTableCellTemplate","handleRowSelectionChangeCallback","updater","functionalUpdate","handleRowPinningChangeCallback","handleExpandedChange","old","newExpanded","table","useReactTable","getCoreRowModel","getFilteredRowModel","getExpandedRowModel","useEffect","tableContainerRef","rowVirtualizer","useVirtualizer","element","measureElementRef","node","handleScroll","target","scrollTop","scrollHeight","clientHeight","handleContainerClick","jsxs","Styled.TableContainer","virtualRow","cell","flexRender","EmptyPlaceholder"],"mappings":"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"}
@@ -74,6 +74,7 @@ import "../../api/queries/attributes/getAttributes.es.js";
74
74
  import "../../api/queries/attributes/updateAttributes.es.js";
75
75
  import "../../api/queries/authentication/getAuthentication.es.js";
76
76
  import "../../api/queries/cloud/cloud.es.js";
77
+ import "../../api/queries/columnStats/metricTargets.es.js";
77
78
  import "../../api/queries/config/getConfig.es.js";
78
79
  import "../../api/queries/config/updateConfig.es.js";
79
80
  import "../../api/queries/entities/getEntity.es.js";
@@ -86,6 +87,7 @@ import "../../api/queries/entities/updateEntity.es.js";
86
87
  import "../../api/queries/entityLists/getLists.es.js";
87
88
  import "../../api/queries/entityLists/updateLists.es.js";
88
89
  import "../../api/queries/entityLists/getListsAttributes.es.js";
90
+ import "../../api/queries/entityLists/listItemsColumnStats.es.js";
89
91
  import "../../api/queries/entityLists/updateListsAttributes.es.js";
90
92
  import "../../api/queries/entityLists/listFolders.es.js";
91
93
  import "../../api/queries/folders/getFolders.es.js";
@@ -193,10 +195,11 @@ import "../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.es.j
193
195
  import "../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.es.js";
194
196
  import "../Feed/components/ActivityVersions/ActivityVersions.styled.es.js";
195
197
  import "../Feed/components/ActivityGroup/ActivityGroup.styled.es.js";
196
- import "../Feed/Feed.styled.es.js";
197
- import "../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js";
198
+ import "../Feed/components/ActivityVersionReview/ActivityVersionReview.styled.es.js";
198
199
  import "../Feed/components/ActivityCategorySelect/ActivityCategorySelect.es.js";
199
200
  import "../Feed/components/ActivityCategorySelect/CategoryDropdownItem.es.js";
201
+ import "../Feed/Feed.styled.es.js";
202
+ import "../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js";
200
203
  import "../ProjectTreeTable/widgets/CollapsedWidget.es.js";
201
204
  import "../ProjectTreeTable/widgets/DateWidget.es.js";
202
205
  import "../ProjectTreeTable/widgets/EnumWidget.es.js";
@@ -228,6 +231,7 @@ import "../ProjectTreeTable/components/SelectionCell.es.js";
228
231
  import "../ProjectTreeTable/components/RowSelectionHeader.es.js";
229
232
  import "../ProjectTreeTable/widgets/LoadMoreWidget.es.js";
230
233
  import "../ProjectTreeTable/components/HeaderActionButton.es.js";
234
+ import "../ProjectTreeTable/components/TableFooterRow.es.js";
231
235
  import "../EntityPickerDialog/EntityPickerDialog.es.js";
232
236
  import "../Slicer/components/Slicer.es.js";
233
237
  import "../Slicer/context/SlicerContext.es.js";
@@ -317,7 +321,7 @@ function Et(e, m, c) {
317
321
  g.push(e[a]);
318
322
  return g;
319
323
  }
320
- const Bm = ({
324
+ const Gm = ({
321
325
  data: e = [],
322
326
  isLoading: m,
323
327
  error: c,
@@ -608,6 +612,6 @@ const Bm = ({
608
612
  );
609
613
  };
610
614
  export {
611
- Bm as default
615
+ Gm as default
612
616
  };
613
617
  //# sourceMappingURL=SimpleTable.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleTable.es.js","sources":["../../../../../src/containers/SimpleTable/SimpleTable.tsx"],"sourcesContent":["import { FC, useMemo, useRef, MouseEvent as ReactMouseEvent, useCallback, useEffect } from 'react'\nimport * as Styled from './SimpleTable.styled'\nimport {\n useReactTable,\n getCoreRowModel,\n getFilteredRowModel,\n getExpandedRowModel,\n ColumnDef,\n flexRender,\n Row,\n FilterFn,\n SortingFn,\n sortingFns,\n RowData,\n Table,\n OnChangeFn,\n RowSelectionState,\n functionalUpdate,\n} from '@tanstack/react-table'\nimport { useVirtualizer } from '@tanstack/react-virtual'\n\nimport clsx from 'clsx'\nimport useRowKeydown, { RowKeyboardEvent } from './hooks/useRowKeydown'\n\nimport { RankingInfo, rankItem, compareItems, rankings } from '@tanstack/match-sorter-utils'\nimport { useSimpleTableContext } from './context/SimpleTableContext'\nimport { SimpleTableCellTemplate, SimpleTableCellTemplateProps } from './SimpleTableRowTemplate'\nimport { EmptyPlaceholder } from '@shared/components'\nimport { RowPinningState } from '@tanstack/react-table'\n\ndeclare module '@tanstack/react-table' {\n //add fuzzy filter to the filterFns\n interface FilterFns {\n fuzzy: FilterFn<unknown>\n }\n interface FilterMeta {\n itemRank: RankingInfo\n }\n\n interface TableMeta<TData extends RowData> {\n isExpandable?: boolean\n isLoading?: boolean\n children?: (\n props: SimpleTableCellTemplateProps,\n row: Row<TData>,\n table: Table<SimpleTableRow>,\n ) => JSX.Element\n [key: string]: any\n }\n}\n\n// Define a custom fuzzy filter function that will apply ranking info to rows (using match-sorter utils)\nconst fuzzyFilter: FilterFn<any> = (row, columnId, searchValue, addMeta) => {\n const cellValue = row.getValue(columnId)\n // convert non-string cell values to string\n let searchString =\n typeof cellValue === 'string'\n ? cellValue\n : Array.isArray(cellValue)\n ? cellValue.join(' ')\n : JSON.stringify(cellValue)\n\n // combine label and parents into a single string for searching if columnId is 'label'\n if (columnId === 'label') {\n searchString = [row.original.label, row.original.name, ...(row.original.parents || [])].join(\n ' ',\n )\n }\n\n // Rank the item with CONTAINS threshold to avoid overly permissive fuzzy matches\n // This ensures the search term must be a substring, not just scattered characters\n const itemRank = rankItem(searchString, searchValue, { threshold: rankings.CONTAINS })\n\n // Store the itemRank info\n addMeta({\n itemRank,\n })\n\n // Return if the item should be filtered in/out\n return itemRank.passed\n}\n\n// Define a custom fuzzy sort function that will sort by rank if the row has ranking information\nconst fuzzySort: SortingFn<any> = (rowA, rowB, columnId) => {\n let dir = 0\n\n // Only sort by rank if the column has ranking information\n if (rowA.columnFiltersMeta[columnId]) {\n dir = compareItems(\n rowA.columnFiltersMeta[columnId]?.itemRank!,\n rowB.columnFiltersMeta[columnId]?.itemRank!,\n )\n }\n\n // Provide an alphanumeric fallback for when the item ranks are equal\n return dir === 0 ? sortingFns.alphanumeric(rowA, rowB, columnId) : dir\n}\n\nexport type RowItemData = {\n id: string\n name?: string | null\n label?: string | null\n subType?: string | null\n [key: string]: any\n}\n\nexport type SimpleTableRow = {\n id: string\n parentId?: string\n name: string\n label: string\n parents?: string[]\n icon?: string | null\n iconColor?: string\n iconFilled?: boolean\n img?: string | null\n imgShape?: 'square' | 'circle'\n startContent?: JSX.Element\n endContent?: JSX.Element\n subRows: SimpleTableRow[]\n data: RowItemData\n isDisabled?: boolean\n disabledMessage?: string\n inactive?: boolean\n}\n\nexport interface SimpleTableProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> {\n data: SimpleTableRow[]\n isLoading: boolean\n error?: string\n isExpandable?: boolean // show expand/collapse icons\n isMultiSelect?: boolean // enable multi-select with shift+click and ctrl/cmd+click\n enableClickToDeselect?: boolean // allow deselecting a single selected row by clicking it again & clicking outside clears selection\n enableNonFolderIndent?: boolean // indent non-folder rows to align with folder rows\n forceUpdateTable?: any\n globalFilter?: string\n meta?: Record<string, any>\n rowHeight?: number // height of each row, used for virtual scrolling\n imgRatio?: number\n onScrollBottom?: () => void // callback fired when scrolled to the bottom of the table\n fitContent?: boolean\n children?: (\n props: SimpleTableCellTemplateProps,\n row: Row<SimpleTableRow>,\n table: Table<SimpleTableRow>,\n ) => JSX.Element\n pt?: {\n cell?: Partial<SimpleTableCellTemplateProps>\n row?: Partial<React.HTMLAttributes<HTMLTableRowElement>>\n }\n}\n\n// Helper function to get row range for shift-selection\n// Operates on the provided list of rows (e.g., filtered and sorted rows)\nfunction getRowRange<TData extends RowData>(\n rows: Array<Row<TData>>,\n idA: string,\n idB: string,\n): Array<Row<TData>> {\n const range: Array<Row<TData>> = []\n // If idA and idB are the same, or one is not found, handle appropriately\n if (idA === idB) {\n const singleRow = rows.find((row) => row.id === idA)\n return singleRow ? [singleRow] : []\n }\n\n let indexA = -1\n let indexB = -1\n\n for (let i = 0; i < rows.length; i++) {\n if (rows[i].id === idA) indexA = i\n if (rows[i].id === idB) indexB = i\n if (indexA !== -1 && indexB !== -1) break\n }\n\n if (indexA === -1 || indexB === -1) return [] // One or both IDs not found\n\n const start = Math.min(indexA, indexB)\n const end = Math.max(indexA, indexB)\n\n for (let i = start; i <= end; i++) {\n range.push(rows[i])\n }\n return range\n}\n\nconst SimpleTable: FC<SimpleTableProps> = ({\n data = [],\n isLoading,\n error,\n isExpandable,\n isMultiSelect = true,\n enableClickToDeselect = true,\n enableNonFolderIndent = true,\n forceUpdateTable,\n globalFilter,\n meta,\n rowHeight,\n imgRatio,\n onScrollBottom,\n children,\n pt,\n fitContent,\n ...props\n}) => {\n const {\n rowSelection,\n expanded,\n setExpanded,\n onExpandedChange,\n onRowSelectionChange,\n rowPinning,\n onRowPinningChange,\n } = useSimpleTableContext()\n const lastSelectedIdRef = useRef<string | null>(null)\n const tableRef = useRef<Table<SimpleTableRow> | null>(null)\n\n // stable data reference\n const tableData = useMemo(() => {\n if (!isLoading) return data\n\n // show loading placeholders\n return Array.from({ length: 10 }, (_, i) => ({\n id: `placeholder-${i}`,\n name: `placeholder-${i}`,\n label: `placeholder-${i}`,\n icon: null,\n img: null,\n subRows: [],\n data: {\n id: `placeholder-${i}`,\n },\n }))\n }, [isLoading, data, forceUpdateTable])\n\n // Define the core selection logic using useCallback for stability\n const handleSelectionLogic = useCallback(\n (\n tableInstance: Table<SimpleTableRow>,\n rowId: string,\n isShift: boolean,\n isCtrlOrMeta: boolean,\n ) => {\n const currentId = rowId\n const allProcessableRows = tableInstance.getFilteredRowModel().flatRows\n const currentRow = allProcessableRows.find((r) => r.id === currentId)\n\n if (!currentRow) return\n\n // Prevent selection of disabled rows\n if (currentRow.original.isDisabled) return\n\n // If click-to-deselect is enabled and only one row is selected and it's the current row\n if (\n enableClickToDeselect &&\n !isShift &&\n !isCtrlOrMeta &&\n Object.keys(tableInstance.getState().rowSelection).length === 1 &&\n tableInstance.getState().rowSelection[currentId]\n ) {\n tableInstance.setRowSelection({})\n lastSelectedIdRef.current = null\n return\n }\n\n if (isMultiSelect && isShift && lastSelectedIdRef.current) {\n const lastId = lastSelectedIdRef.current\n const anchorRow = allProcessableRows.find((r) => r.id === lastId)\n\n if (!anchorRow) {\n tableInstance.setRowSelection({ [currentId]: true })\n } else {\n const rowsToToggle = getRowRange(allProcessableRows, currentId, lastId)\n const newSelection: RowSelectionState = {}\n rowsToToggle.forEach((r) => (newSelection[r.id] = true))\n tableInstance.setRowSelection(newSelection)\n }\n } else if (isMultiSelect && isCtrlOrMeta) {\n currentRow.toggleSelected()\n } else {\n tableInstance.setRowSelection({ [currentId]: true })\n }\n lastSelectedIdRef.current = currentId\n },\n [isMultiSelect, enableClickToDeselect],\n )\n\n // Callback for useRowKeydown's handleRowSelect prop\n // Uses tableRef to access the table instance, avoiding direct dependency on 'table' variable at definition time\n const handleRowSelectForKeydown = useCallback(\n (\n event: RowKeyboardEvent, // Use the specific keyboard event type from the hook\n selectedRow: Row<SimpleTableRow>,\n ) => {\n if (!tableRef.current) {\n console.warn('tableRef not yet available in handleRowSelectForKeydown')\n return\n }\n\n // Extract modifier keys from the event\n const isShiftKey = event.shiftKey\n const isCtrlKey = event.ctrlKey || event.metaKey\n\n handleSelectionLogic(\n tableRef.current, // Pass the main table instance\n selectedRow.id,\n isShiftKey,\n isCtrlKey,\n )\n },\n [handleSelectionLogic], // Depends only on handleSelectionLogic\n )\n\n // Handle arrow key navigation\n const handleArrowNavigation = useCallback(\n (direction: 'up' | 'down', currentRow: Row<SimpleTableRow>, event: RowKeyboardEvent) => {\n if (!tableRef.current) return\n\n // Use the row model which respects expanded state, not filtered model\n const visibleRows = tableRef.current.getRowModel().rows\n const currentIndex = visibleRows.findIndex((r) => r.id === currentRow.id)\n\n if (currentIndex === -1) return\n\n let nextIndex = direction === 'down' ? currentIndex + 1 : currentIndex - 1\n\n // Check bounds\n if (nextIndex < 0 || nextIndex >= visibleRows.length) return\n\n // Skip disabled rows\n while (nextIndex >= 0 && nextIndex < visibleRows.length) {\n const nextRow = visibleRows[nextIndex]\n if (!nextRow.original.isDisabled) {\n // Found a valid row\n // Select the next row\n handleSelectionLogic(\n tableRef.current,\n nextRow.id,\n event.shiftKey,\n event.ctrlKey || event.metaKey,\n )\n\n // Focus the next row's cell\n requestAnimationFrame(() => {\n const nextRowElement = document.getElementById(nextRow.id)\n const nextCell = nextRowElement?.querySelector('[tabindex=\"0\"]') as HTMLElement\n if (nextCell) {\n nextCell.focus()\n nextCell.scrollIntoView({ block: 'nearest', behavior: 'smooth' })\n }\n })\n return\n }\n // Move to next row if current is disabled\n nextIndex = direction === 'down' ? nextIndex + 1 : nextIndex - 1\n }\n },\n [handleSelectionLogic],\n )\n\n const { handleRowKeyDown } = useRowKeydown<SimpleTableRow>({\n handleRowSelect: handleRowSelectForKeydown,\n handleArrowNavigation,\n })\n\n const columns = useMemo<ColumnDef<SimpleTableRow>[]>(\n () => [\n {\n accessorKey: 'label',\n header: undefined,\n filterFn: 'fuzzy',\n sortingFn: fuzzySort, //sort by fuzzy rank (falls back to alphanumeric)\n cell: ({ row, getValue, table: cellTableInstance }) => {\n const cellMeta = cellTableInstance.options.meta\n\n const handleCellClick = (event: ReactMouseEvent<HTMLElement, MouseEvent>) => {\n // Prevent row selection if clicking on an interactive element within the cell\n if (\n event.target instanceof HTMLInputElement ||\n event.target instanceof HTMLButtonElement ||\n event.target instanceof HTMLTextAreaElement ||\n event.target instanceof HTMLSelectElement ||\n event.target instanceof HTMLAnchorElement ||\n (event.target as HTMLElement).closest('button, a, input, textarea, select')\n ) {\n return\n }\n handleSelectionLogic(\n cellTableInstance, // Pass the cell's table instance\n row.id,\n event.shiftKey,\n event.ctrlKey || event.metaKey,\n )\n }\n\n const props: SimpleTableCellTemplateProps & {\n onClick?: (event: ReactMouseEvent<HTMLElement, MouseEvent>) => void\n } = {\n className: clsx({\n selected: row.getIsSelected(),\n loading: cellMeta?.isLoading,\n disabled: row.original.isDisabled, // you can't select disabled rows\n inactive: row.original.inactive, // false: archived items but still selectable\n }),\n onKeyDown: (e) => {\n if (e.target instanceof HTMLInputElement) return\n // Corrected typo: handleRowKeydown -> handleRowKeyDown\n handleRowKeyDown(e, row)\n },\n depth: row.depth,\n tabIndex: 0,\n value: getValue<string>(),\n parents: row.original.parents,\n icon: row.original.icon || undefined,\n iconColor: row.original.iconColor,\n iconFilled: row.original.iconFilled,\n img: row.original.img,\n imgShape: row.original.imgShape,\n imgRatio: imgRatio,\n isRowExpandable: row.getCanExpand(),\n enableNonFolderIndent,\n isRowExpanded: row.getIsExpanded(),\n isTableExpandable: cellMeta?.isExpandable,\n onExpandClick: row.getToggleExpandedHandler(),\n startContent: row.original.startContent,\n endContent: row.original.endContent,\n isDisabled: row.original.isDisabled,\n disabledMessage: row.original.disabledMessage,\n ...pt?.cell,\n onClick: handleCellClick, // Added onClick handler\n }\n\n // Use children function if provided, otherwise default to SimpleTableCellTemplate\n return cellMeta?.children ? (\n cellMeta.children(props, row, cellTableInstance)\n ) : (\n <SimpleTableCellTemplate {...props} {...pt?.cell} />\n )\n },\n },\n ],\n [\n forceUpdateTable,\n handleSelectionLogic,\n handleRowKeyDown,\n enableClickToDeselect,\n enableNonFolderIndent,\n imgRatio,\n ], // include enableClickToDeselect for completeness\n )\n\n const handleRowSelectionChangeCallback: OnChangeFn<RowSelectionState> = useCallback(\n (updater) => {\n onRowSelectionChange(functionalUpdate(updater, rowSelection))\n },\n [onRowSelectionChange],\n )\n\n const handleRowPinningChangeCallback: OnChangeFn<RowPinningState> = useCallback(\n (updater) => {\n onRowPinningChange?.(functionalUpdate(updater, rowPinning || {}))\n },\n [onRowPinningChange],\n )\n\n const handleExpandedChange = useCallback(\n (updater: any) => {\n setExpanded?.((old) => {\n const newExpanded = updater instanceof Function ? updater(old) : updater\n onExpandedChange?.(newExpanded)\n return newExpanded\n })\n },\n [setExpanded],\n )\n\n const table = useReactTable({\n data: tableData,\n columns,\n state: {\n expanded,\n rowSelection,\n globalFilter,\n rowPinning,\n },\n onRowSelectionChange: handleRowSelectionChangeCallback,\n onRowPinningChange: handleRowPinningChangeCallback,\n filterFns: {\n fuzzy: fuzzyFilter,\n },\n globalFilterFn: 'fuzzy',\n enableRowSelection: true, //enable row selection for all rows\n enableRowPinning: !!onRowPinningChange,\n getRowId: (row) => row.id,\n enableSubRowSelection: false, //disable sub row selection\n onExpandedChange: handleExpandedChange,\n getSubRows: (row) => row.subRows,\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getExpandedRowModel: getExpandedRowModel(),\n filterFromLeafRows: true,\n // debugTable: true,\n meta: {\n isExpandable: !!isExpandable,\n isLoading: isLoading,\n children: children,\n ...meta,\n },\n })\n\n // Update tableRef whenever the table instance changes.\n // This ensures handleRowSelectForKeydown uses the current table instance.\n useEffect(() => {\n tableRef.current = table\n }, [table])\n\n const { rows } = table.getRowModel()\n\n //The virtualizer needs to know the scrollable container element\n const tableContainerRef = useRef<HTMLDivElement>(null)\n\n const rowVirtualizer = useVirtualizer({\n count: rows.length,\n estimateSize: () => rowHeight || 34, //estimate row height for accurate scrollbar dragging\n getScrollElement: () => tableContainerRef.current,\n //measure dynamic row height, except in firefox because it measures table border height incorrectly\n measureElement: rowHeight\n ? () => rowHeight\n : typeof window !== 'undefined' && navigator.userAgent.indexOf('Firefox') === -1\n ? (element) => element?.getBoundingClientRect().height\n : undefined,\n overscan: 5,\n })\n\n // Memoize the ref callback to prevent infinite re-renders\n const measureElementRef = useCallback(\n (node: HTMLElement | null) => {\n if (node) {\n rowVirtualizer.measureElement(node)\n }\n },\n [rowVirtualizer],\n )\n\n // Handle scroll to bottom detection\n const handleScroll = useCallback(\n (event: React.UIEvent<HTMLDivElement>) => {\n if (!onScrollBottom) return\n\n const target = event.currentTarget\n const { scrollTop, scrollHeight, clientHeight } = target\n\n // Check if we're near the bottom (within 100px)\n const isNearBottom = scrollHeight - scrollTop - clientHeight < 100\n\n if (isNearBottom && !isLoading) {\n onScrollBottom()\n }\n },\n [onScrollBottom, isLoading],\n )\n\n const handleContainerClick = (e: React.MouseEvent<HTMLDivElement>) => {\n // if the click is outside of any row, clear selection\n if (enableClickToDeselect && !(e.target as HTMLElement).closest('tr')) {\n table.setRowSelection({})\n lastSelectedIdRef.current = null\n }\n }\n\n return (\n <Styled.TableContainer\n ref={tableContainerRef}\n onScroll={handleScroll}\n onClick={handleContainerClick}\n {...props}\n className={clsx(props.className, { isLoading, fitContent })}\n >\n {!error && (\n <table>\n <tbody\n style={{\n height: `${rowVirtualizer?.getTotalSize()}px`, //tells scrollbar how big the table is\n }}\n >\n {rowVirtualizer?.getVirtualItems().map((virtualRow) => {\n const row = rows[virtualRow.index] as Row<SimpleTableRow>\n return (\n <tr\n data-index={virtualRow.index} //needed for dynamic row height measurement\n ref={measureElementRef} //measure dynamic row height\n key={row.id}\n id={row.id}\n {...pt?.row}\n style={{\n transform: `translateY(${virtualRow.start}px)`, //this should always be a `style` as it changes on scroll\n ...pt?.row?.style, // custom styles to be passed\n }}\n >\n {row.getVisibleCells().map((cell) => {\n return (\n <td key={cell.id}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </td>\n )\n })}\n </tr>\n )\n })}\n </tbody>\n </table>\n )}\n {!!error && <EmptyPlaceholder error={error} />}\n </Styled.TableContainer>\n )\n}\n\nexport default SimpleTable\n"],"names":["fuzzyFilter","row","columnId","searchValue","addMeta","cellValue","searchString","itemRank","rankItem","rankings","fuzzySort","rowA","rowB","dir","compareItems","sortingFns","getRowRange","rows","idA","idB","range","singleRow","indexA","indexB","i","start","end","SimpleTable","data","isLoading","error","isExpandable","isMultiSelect","enableClickToDeselect","enableNonFolderIndent","forceUpdateTable","globalFilter","meta","rowHeight","imgRatio","onScrollBottom","children","pt","fitContent","props","rowSelection","expanded","setExpanded","onExpandedChange","onRowSelectionChange","rowPinning","onRowPinningChange","useSimpleTableContext","lastSelectedIdRef","useRef","tableRef","tableData","useMemo","_","handleSelectionLogic","useCallback","tableInstance","rowId","isShift","isCtrlOrMeta","currentId","allProcessableRows","currentRow","r","lastId","rowsToToggle","newSelection","handleRowSelectForKeydown","event","selectedRow","isShiftKey","isCtrlKey","handleArrowNavigation","direction","visibleRows","currentIndex","nextIndex","nextRow","nextCell","handleRowKeyDown","useRowKeydown","columns","getValue","cellTableInstance","cellMeta","handleCellClick","clsx","e","jsx","SimpleTableCellTemplate","handleRowSelectionChangeCallback","updater","functionalUpdate","handleRowPinningChangeCallback","handleExpandedChange","old","newExpanded","table","useReactTable","getCoreRowModel","getFilteredRowModel","getExpandedRowModel","useEffect","tableContainerRef","rowVirtualizer","useVirtualizer","element","measureElementRef","node","handleScroll","target","scrollTop","scrollHeight","clientHeight","handleContainerClick","jsxs","Styled.TableContainer","virtualRow","cell","flexRender","EmptyPlaceholder"],"mappings":"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"}
1
+ {"version":3,"file":"SimpleTable.es.js","sources":["../../../../../src/containers/SimpleTable/SimpleTable.tsx"],"sourcesContent":["import { FC, useMemo, useRef, MouseEvent as ReactMouseEvent, useCallback, useEffect } from 'react'\nimport * as Styled from './SimpleTable.styled'\nimport {\n useReactTable,\n getCoreRowModel,\n getFilteredRowModel,\n getExpandedRowModel,\n ColumnDef,\n flexRender,\n Row,\n FilterFn,\n SortingFn,\n sortingFns,\n RowData,\n Table,\n OnChangeFn,\n RowSelectionState,\n functionalUpdate,\n} from '@tanstack/react-table'\nimport { useVirtualizer } from '@tanstack/react-virtual'\n\nimport clsx from 'clsx'\nimport useRowKeydown, { RowKeyboardEvent } from './hooks/useRowKeydown'\n\nimport { RankingInfo, rankItem, compareItems, rankings } from '@tanstack/match-sorter-utils'\nimport { useSimpleTableContext } from './context/SimpleTableContext'\nimport { SimpleTableCellTemplate, SimpleTableCellTemplateProps } from './SimpleTableRowTemplate'\nimport { EmptyPlaceholder } from '@shared/components'\nimport { RowPinningState } from '@tanstack/react-table'\n\ndeclare module '@tanstack/react-table' {\n //add fuzzy filter to the filterFns\n interface FilterFns {\n fuzzy: FilterFn<unknown>\n }\n interface FilterMeta {\n itemRank: RankingInfo\n }\n\n interface TableMeta<TData extends RowData> {\n isExpandable?: boolean\n isLoading?: boolean\n children?: (\n props: SimpleTableCellTemplateProps,\n row: Row<TData>,\n table: Table<SimpleTableRow>,\n ) => JSX.Element\n [key: string]: any\n }\n}\n\n// Define a custom fuzzy filter function that will apply ranking info to rows (using match-sorter utils)\nconst fuzzyFilter: FilterFn<any> = (row, columnId, searchValue, addMeta) => {\n const cellValue = row.getValue(columnId)\n // convert non-string cell values to string\n let searchString =\n typeof cellValue === 'string'\n ? cellValue\n : Array.isArray(cellValue)\n ? cellValue.join(' ')\n : JSON.stringify(cellValue)\n\n // combine label and parents into a single string for searching if columnId is 'label'\n if (columnId === 'label') {\n searchString = [row.original.label, row.original.name, ...(row.original.parents || [])].join(\n ' ',\n )\n }\n\n // Rank the item with CONTAINS threshold to avoid overly permissive fuzzy matches\n // This ensures the search term must be a substring, not just scattered characters\n const itemRank = rankItem(searchString, searchValue, { threshold: rankings.CONTAINS })\n\n // Store the itemRank info\n addMeta({\n itemRank,\n })\n\n // Return if the item should be filtered in/out\n return itemRank.passed\n}\n\n// Define a custom fuzzy sort function that will sort by rank if the row has ranking information\nconst fuzzySort: SortingFn<any> = (rowA, rowB, columnId) => {\n let dir = 0\n\n // Only sort by rank if the column has ranking information\n if (rowA.columnFiltersMeta[columnId]) {\n dir = compareItems(\n rowA.columnFiltersMeta[columnId]?.itemRank!,\n rowB.columnFiltersMeta[columnId]?.itemRank!,\n )\n }\n\n // Provide an alphanumeric fallback for when the item ranks are equal\n return dir === 0 ? sortingFns.alphanumeric(rowA, rowB, columnId) : dir\n}\n\nexport type RowItemData = {\n id: string\n name?: string | null\n label?: string | null\n subType?: string | null\n [key: string]: any\n}\n\nexport type SimpleTableRow = {\n id: string\n parentId?: string\n name: string\n label: string\n parents?: string[]\n icon?: string | null\n iconColor?: string\n iconFilled?: boolean\n img?: string | null\n imgShape?: 'square' | 'circle'\n startContent?: JSX.Element\n endContent?: JSX.Element\n subRows: SimpleTableRow[]\n data: RowItemData\n isDisabled?: boolean\n disabledMessage?: string\n inactive?: boolean\n}\n\nexport interface SimpleTableProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> {\n data: SimpleTableRow[]\n isLoading: boolean\n error?: string\n isExpandable?: boolean // show expand/collapse icons\n isMultiSelect?: boolean // enable multi-select with shift+click and ctrl/cmd+click\n enableClickToDeselect?: boolean // allow deselecting a single selected row by clicking it again & clicking outside clears selection\n enableNonFolderIndent?: boolean // indent non-folder rows to align with folder rows\n forceUpdateTable?: any\n globalFilter?: string\n meta?: Record<string, any>\n rowHeight?: number // height of each row, used for virtual scrolling\n imgRatio?: number\n onScrollBottom?: () => void // callback fired when scrolled to the bottom of the table\n fitContent?: boolean\n children?: (\n props: SimpleTableCellTemplateProps,\n row: Row<SimpleTableRow>,\n table: Table<SimpleTableRow>,\n ) => JSX.Element\n pt?: {\n cell?: Partial<SimpleTableCellTemplateProps>\n row?: Partial<React.HTMLAttributes<HTMLTableRowElement>>\n }\n}\n\n// Helper function to get row range for shift-selection\n// Operates on the provided list of rows (e.g., filtered and sorted rows)\nfunction getRowRange<TData extends RowData>(\n rows: Array<Row<TData>>,\n idA: string,\n idB: string,\n): Array<Row<TData>> {\n const range: Array<Row<TData>> = []\n // If idA and idB are the same, or one is not found, handle appropriately\n if (idA === idB) {\n const singleRow = rows.find((row) => row.id === idA)\n return singleRow ? [singleRow] : []\n }\n\n let indexA = -1\n let indexB = -1\n\n for (let i = 0; i < rows.length; i++) {\n if (rows[i].id === idA) indexA = i\n if (rows[i].id === idB) indexB = i\n if (indexA !== -1 && indexB !== -1) break\n }\n\n if (indexA === -1 || indexB === -1) return [] // One or both IDs not found\n\n const start = Math.min(indexA, indexB)\n const end = Math.max(indexA, indexB)\n\n for (let i = start; i <= end; i++) {\n range.push(rows[i])\n }\n return range\n}\n\nconst SimpleTable: FC<SimpleTableProps> = ({\n data = [],\n isLoading,\n error,\n isExpandable,\n isMultiSelect = true,\n enableClickToDeselect = true,\n enableNonFolderIndent = true,\n forceUpdateTable,\n globalFilter,\n meta,\n rowHeight,\n imgRatio,\n onScrollBottom,\n children,\n pt,\n fitContent,\n ...props\n}) => {\n const {\n rowSelection,\n expanded,\n setExpanded,\n onExpandedChange,\n onRowSelectionChange,\n rowPinning,\n onRowPinningChange,\n } = useSimpleTableContext()\n const lastSelectedIdRef = useRef<string | null>(null)\n const tableRef = useRef<Table<SimpleTableRow> | null>(null)\n\n // stable data reference\n const tableData = useMemo(() => {\n if (!isLoading) return data\n\n // show loading placeholders\n return Array.from({ length: 10 }, (_, i) => ({\n id: `placeholder-${i}`,\n name: `placeholder-${i}`,\n label: `placeholder-${i}`,\n icon: null,\n img: null,\n subRows: [],\n data: {\n id: `placeholder-${i}`,\n },\n }))\n }, [isLoading, data, forceUpdateTable])\n\n // Define the core selection logic using useCallback for stability\n const handleSelectionLogic = useCallback(\n (\n tableInstance: Table<SimpleTableRow>,\n rowId: string,\n isShift: boolean,\n isCtrlOrMeta: boolean,\n ) => {\n const currentId = rowId\n const allProcessableRows = tableInstance.getFilteredRowModel().flatRows\n const currentRow = allProcessableRows.find((r) => r.id === currentId)\n\n if (!currentRow) return\n\n // Prevent selection of disabled rows\n if (currentRow.original.isDisabled) return\n\n // If click-to-deselect is enabled and only one row is selected and it's the current row\n if (\n enableClickToDeselect &&\n !isShift &&\n !isCtrlOrMeta &&\n Object.keys(tableInstance.getState().rowSelection).length === 1 &&\n tableInstance.getState().rowSelection[currentId]\n ) {\n tableInstance.setRowSelection({})\n lastSelectedIdRef.current = null\n return\n }\n\n if (isMultiSelect && isShift && lastSelectedIdRef.current) {\n const lastId = lastSelectedIdRef.current\n const anchorRow = allProcessableRows.find((r) => r.id === lastId)\n\n if (!anchorRow) {\n tableInstance.setRowSelection({ [currentId]: true })\n } else {\n const rowsToToggle = getRowRange(allProcessableRows, currentId, lastId)\n const newSelection: RowSelectionState = {}\n rowsToToggle.forEach((r) => (newSelection[r.id] = true))\n tableInstance.setRowSelection(newSelection)\n }\n } else if (isMultiSelect && isCtrlOrMeta) {\n currentRow.toggleSelected()\n } else {\n tableInstance.setRowSelection({ [currentId]: true })\n }\n lastSelectedIdRef.current = currentId\n },\n [isMultiSelect, enableClickToDeselect],\n )\n\n // Callback for useRowKeydown's handleRowSelect prop\n // Uses tableRef to access the table instance, avoiding direct dependency on 'table' variable at definition time\n const handleRowSelectForKeydown = useCallback(\n (\n event: RowKeyboardEvent, // Use the specific keyboard event type from the hook\n selectedRow: Row<SimpleTableRow>,\n ) => {\n if (!tableRef.current) {\n console.warn('tableRef not yet available in handleRowSelectForKeydown')\n return\n }\n\n // Extract modifier keys from the event\n const isShiftKey = event.shiftKey\n const isCtrlKey = event.ctrlKey || event.metaKey\n\n handleSelectionLogic(\n tableRef.current, // Pass the main table instance\n selectedRow.id,\n isShiftKey,\n isCtrlKey,\n )\n },\n [handleSelectionLogic], // Depends only on handleSelectionLogic\n )\n\n // Handle arrow key navigation\n const handleArrowNavigation = useCallback(\n (direction: 'up' | 'down', currentRow: Row<SimpleTableRow>, event: RowKeyboardEvent) => {\n if (!tableRef.current) return\n\n // Use the row model which respects expanded state, not filtered model\n const visibleRows = tableRef.current.getRowModel().rows\n const currentIndex = visibleRows.findIndex((r) => r.id === currentRow.id)\n\n if (currentIndex === -1) return\n\n let nextIndex = direction === 'down' ? currentIndex + 1 : currentIndex - 1\n\n // Check bounds\n if (nextIndex < 0 || nextIndex >= visibleRows.length) return\n\n // Skip disabled rows\n while (nextIndex >= 0 && nextIndex < visibleRows.length) {\n const nextRow = visibleRows[nextIndex]\n if (!nextRow.original.isDisabled) {\n // Found a valid row\n // Select the next row\n handleSelectionLogic(\n tableRef.current,\n nextRow.id,\n event.shiftKey,\n event.ctrlKey || event.metaKey,\n )\n\n // Focus the next row's cell\n requestAnimationFrame(() => {\n const nextRowElement = document.getElementById(nextRow.id)\n const nextCell = nextRowElement?.querySelector('[tabindex=\"0\"]') as HTMLElement\n if (nextCell) {\n nextCell.focus()\n nextCell.scrollIntoView({ block: 'nearest', behavior: 'smooth' })\n }\n })\n return\n }\n // Move to next row if current is disabled\n nextIndex = direction === 'down' ? nextIndex + 1 : nextIndex - 1\n }\n },\n [handleSelectionLogic],\n )\n\n const { handleRowKeyDown } = useRowKeydown<SimpleTableRow>({\n handleRowSelect: handleRowSelectForKeydown,\n handleArrowNavigation,\n })\n\n const columns = useMemo<ColumnDef<SimpleTableRow>[]>(\n () => [\n {\n accessorKey: 'label',\n header: undefined,\n filterFn: 'fuzzy',\n sortingFn: fuzzySort, //sort by fuzzy rank (falls back to alphanumeric)\n cell: ({ row, getValue, table: cellTableInstance }) => {\n const cellMeta = cellTableInstance.options.meta\n\n const handleCellClick = (event: ReactMouseEvent<HTMLElement, MouseEvent>) => {\n // Prevent row selection if clicking on an interactive element within the cell\n if (\n event.target instanceof HTMLInputElement ||\n event.target instanceof HTMLButtonElement ||\n event.target instanceof HTMLTextAreaElement ||\n event.target instanceof HTMLSelectElement ||\n event.target instanceof HTMLAnchorElement ||\n (event.target as HTMLElement).closest('button, a, input, textarea, select')\n ) {\n return\n }\n handleSelectionLogic(\n cellTableInstance, // Pass the cell's table instance\n row.id,\n event.shiftKey,\n event.ctrlKey || event.metaKey,\n )\n }\n\n const props: SimpleTableCellTemplateProps & {\n onClick?: (event: ReactMouseEvent<HTMLElement, MouseEvent>) => void\n } = {\n className: clsx({\n selected: row.getIsSelected(),\n loading: cellMeta?.isLoading,\n disabled: row.original.isDisabled, // you can't select disabled rows\n inactive: row.original.inactive, // false: archived items but still selectable\n }),\n onKeyDown: (e) => {\n if (e.target instanceof HTMLInputElement) return\n // Corrected typo: handleRowKeydown -> handleRowKeyDown\n handleRowKeyDown(e, row)\n },\n depth: row.depth,\n tabIndex: 0,\n value: getValue<string>(),\n parents: row.original.parents,\n icon: row.original.icon || undefined,\n iconColor: row.original.iconColor,\n iconFilled: row.original.iconFilled,\n img: row.original.img,\n imgShape: row.original.imgShape,\n imgRatio: imgRatio,\n isRowExpandable: row.getCanExpand(),\n enableNonFolderIndent,\n isRowExpanded: row.getIsExpanded(),\n isTableExpandable: cellMeta?.isExpandable,\n onExpandClick: row.getToggleExpandedHandler(),\n startContent: row.original.startContent,\n endContent: row.original.endContent,\n isDisabled: row.original.isDisabled,\n disabledMessage: row.original.disabledMessage,\n ...pt?.cell,\n onClick: handleCellClick, // Added onClick handler\n }\n\n // Use children function if provided, otherwise default to SimpleTableCellTemplate\n return cellMeta?.children ? (\n cellMeta.children(props, row, cellTableInstance)\n ) : (\n <SimpleTableCellTemplate {...props} {...pt?.cell} />\n )\n },\n },\n ],\n [\n forceUpdateTable,\n handleSelectionLogic,\n handleRowKeyDown,\n enableClickToDeselect,\n enableNonFolderIndent,\n imgRatio,\n ], // include enableClickToDeselect for completeness\n )\n\n const handleRowSelectionChangeCallback: OnChangeFn<RowSelectionState> = useCallback(\n (updater) => {\n onRowSelectionChange(functionalUpdate(updater, rowSelection))\n },\n [onRowSelectionChange],\n )\n\n const handleRowPinningChangeCallback: OnChangeFn<RowPinningState> = useCallback(\n (updater) => {\n onRowPinningChange?.(functionalUpdate(updater, rowPinning || {}))\n },\n [onRowPinningChange],\n )\n\n const handleExpandedChange = useCallback(\n (updater: any) => {\n setExpanded?.((old) => {\n const newExpanded = updater instanceof Function ? updater(old) : updater\n onExpandedChange?.(newExpanded)\n return newExpanded\n })\n },\n [setExpanded],\n )\n\n const table = useReactTable({\n data: tableData,\n columns,\n state: {\n expanded,\n rowSelection,\n globalFilter,\n rowPinning,\n },\n onRowSelectionChange: handleRowSelectionChangeCallback,\n onRowPinningChange: handleRowPinningChangeCallback,\n filterFns: {\n fuzzy: fuzzyFilter,\n },\n globalFilterFn: 'fuzzy',\n enableRowSelection: true, //enable row selection for all rows\n enableRowPinning: !!onRowPinningChange,\n getRowId: (row) => row.id,\n enableSubRowSelection: false, //disable sub row selection\n onExpandedChange: handleExpandedChange,\n getSubRows: (row) => row.subRows,\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getExpandedRowModel: getExpandedRowModel(),\n filterFromLeafRows: true,\n // debugTable: true,\n meta: {\n isExpandable: !!isExpandable,\n isLoading: isLoading,\n children: children,\n ...meta,\n },\n })\n\n // Update tableRef whenever the table instance changes.\n // This ensures handleRowSelectForKeydown uses the current table instance.\n useEffect(() => {\n tableRef.current = table\n }, [table])\n\n const { rows } = table.getRowModel()\n\n //The virtualizer needs to know the scrollable container element\n const tableContainerRef = useRef<HTMLDivElement>(null)\n\n const rowVirtualizer = useVirtualizer({\n count: rows.length,\n estimateSize: () => rowHeight || 34, //estimate row height for accurate scrollbar dragging\n getScrollElement: () => tableContainerRef.current,\n //measure dynamic row height, except in firefox because it measures table border height incorrectly\n measureElement: rowHeight\n ? () => rowHeight\n : typeof window !== 'undefined' && navigator.userAgent.indexOf('Firefox') === -1\n ? (element) => element?.getBoundingClientRect().height\n : undefined,\n overscan: 5,\n })\n\n // Memoize the ref callback to prevent infinite re-renders\n const measureElementRef = useCallback(\n (node: HTMLElement | null) => {\n if (node) {\n rowVirtualizer.measureElement(node)\n }\n },\n [rowVirtualizer],\n )\n\n // Handle scroll to bottom detection\n const handleScroll = useCallback(\n (event: React.UIEvent<HTMLDivElement>) => {\n if (!onScrollBottom) return\n\n const target = event.currentTarget\n const { scrollTop, scrollHeight, clientHeight } = target\n\n // Check if we're near the bottom (within 100px)\n const isNearBottom = scrollHeight - scrollTop - clientHeight < 100\n\n if (isNearBottom && !isLoading) {\n onScrollBottom()\n }\n },\n [onScrollBottom, isLoading],\n )\n\n const handleContainerClick = (e: React.MouseEvent<HTMLDivElement>) => {\n // if the click is outside of any row, clear selection\n if (enableClickToDeselect && !(e.target as HTMLElement).closest('tr')) {\n table.setRowSelection({})\n lastSelectedIdRef.current = null\n }\n }\n\n return (\n <Styled.TableContainer\n ref={tableContainerRef}\n onScroll={handleScroll}\n onClick={handleContainerClick}\n {...props}\n className={clsx(props.className, { isLoading, fitContent })}\n >\n {!error && (\n <table>\n <tbody\n style={{\n height: `${rowVirtualizer?.getTotalSize()}px`, //tells scrollbar how big the table is\n }}\n >\n {rowVirtualizer?.getVirtualItems().map((virtualRow) => {\n const row = rows[virtualRow.index] as Row<SimpleTableRow>\n return (\n <tr\n data-index={virtualRow.index} //needed for dynamic row height measurement\n ref={measureElementRef} //measure dynamic row height\n key={row.id}\n id={row.id}\n {...pt?.row}\n style={{\n transform: `translateY(${virtualRow.start}px)`, //this should always be a `style` as it changes on scroll\n ...pt?.row?.style, // custom styles to be passed\n }}\n >\n {row.getVisibleCells().map((cell) => {\n return (\n <td key={cell.id}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </td>\n )\n })}\n </tr>\n )\n })}\n </tbody>\n </table>\n )}\n {!!error && <EmptyPlaceholder error={error} />}\n </Styled.TableContainer>\n )\n}\n\nexport default SimpleTable\n"],"names":["fuzzyFilter","row","columnId","searchValue","addMeta","cellValue","searchString","itemRank","rankItem","rankings","fuzzySort","rowA","rowB","dir","compareItems","sortingFns","getRowRange","rows","idA","idB","range","singleRow","indexA","indexB","i","start","end","SimpleTable","data","isLoading","error","isExpandable","isMultiSelect","enableClickToDeselect","enableNonFolderIndent","forceUpdateTable","globalFilter","meta","rowHeight","imgRatio","onScrollBottom","children","pt","fitContent","props","rowSelection","expanded","setExpanded","onExpandedChange","onRowSelectionChange","rowPinning","onRowPinningChange","useSimpleTableContext","lastSelectedIdRef","useRef","tableRef","tableData","useMemo","_","handleSelectionLogic","useCallback","tableInstance","rowId","isShift","isCtrlOrMeta","currentId","allProcessableRows","currentRow","r","lastId","rowsToToggle","newSelection","handleRowSelectForKeydown","event","selectedRow","isShiftKey","isCtrlKey","handleArrowNavigation","direction","visibleRows","currentIndex","nextIndex","nextRow","nextCell","handleRowKeyDown","useRowKeydown","columns","getValue","cellTableInstance","cellMeta","handleCellClick","clsx","e","jsx","SimpleTableCellTemplate","handleRowSelectionChangeCallback","updater","functionalUpdate","handleRowPinningChangeCallback","handleExpandedChange","old","newExpanded","table","useReactTable","getCoreRowModel","getFilteredRowModel","getExpandedRowModel","useEffect","tableContainerRef","rowVirtualizer","useVirtualizer","element","measureElementRef","node","handleScroll","target","scrollTop","scrollHeight","clientHeight","handleContainerClick","jsxs","Styled.TableContainer","virtualRow","cell","flexRender","EmptyPlaceholder"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA,MAAMA,KAA6B,CAACC,GAAKC,GAAUC,GAAaC,MAAY;AAC1E,QAAMC,IAAYJ,EAAI,SAASC,CAAQ;AAEvC,MAAII,IACF,OAAOD,KAAc,WACjBA,IACA,MAAM,QAAQA,CAAS,IACvBA,EAAU,KAAK,GAAG,IAClB,KAAK,UAAUA,CAAS;AAG9B,EAAIH,MAAa,YACfI,IAAe,CAACL,EAAI,SAAS,OAAOA,EAAI,SAAS,MAAM,GAAIA,EAAI,SAAS,WAAW,CAAA,CAAG,EAAE;AAAA,IACtF;AAAA,EAAA;AAMJ,QAAMM,IAAWC,GAASF,GAAcH,GAAa,EAAE,WAAWM,GAAS,UAAU;AAGrF,SAAAL,EAAQ;AAAA,IACN,UAAAG;AAAA,EAAA,CACD,GAGMA,EAAS;AAClB,GAGMG,KAA4B,CAACC,GAAMC,GAAMV,MAAa;AAC1D,MAAIW,IAAM;AAGV,SAAIF,EAAK,kBAAkBT,CAAQ,MACjCW,IAAMC;AAAA,IACJH,EAAK,kBAAkBT,CAAQ,GAAG;AAAA,IAClCU,EAAK,kBAAkBV,CAAQ,GAAG;AAAA,EAAA,IAK/BW,MAAQ,IAAIE,GAAW,aAAaJ,GAAMC,GAAMV,CAAQ,IAAIW;AACrE;AA0DA,SAASG,GACPC,GACAC,GACAC,GACmB;AACnB,QAAMC,IAA2B,CAAA;AAEjC,MAAIF,MAAQC,GAAK;AACf,UAAME,IAAYJ,EAAK,KAAK,CAAChB,MAAQA,EAAI,OAAOiB,CAAG;AACnD,WAAOG,IAAY,CAACA,CAAS,IAAI,CAAA;AAAA,EACnC;AAEA,MAAIC,IAAS,IACTC,IAAS;AAEb,WAASC,IAAI,GAAGA,IAAIP,EAAK,WACnBA,EAAKO,CAAC,EAAE,OAAON,MAAKI,IAASE,IAC7BP,EAAKO,CAAC,EAAE,OAAOL,MAAKI,IAASC,IAC7B,EAAAF,MAAW,MAAMC,MAAW,MAHDC;AAG/B;AAGF,MAAIF,MAAW,MAAMC,MAAW,WAAW,CAAA;AAE3C,QAAME,IAAQ,KAAK,IAAIH,GAAQC,CAAM,GAC/BG,IAAM,KAAK,IAAIJ,GAAQC,CAAM;AAEnC,WAASC,IAAIC,GAAOD,KAAKE,GAAKF;AAC5B,IAAAJ,EAAM,KAAKH,EAAKO,CAAC,CAAC;AAEpB,SAAOJ;AACT;AAEA,MAAMO,KAAoC,CAAC;AAAA,EACzC,MAAAC,IAAO,CAAA;AAAA,EACP,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,cAAAC;AAAA,EACA,eAAAC,IAAgB;AAAA,EAChB,uBAAAC,IAAwB;AAAA,EACxB,uBAAAC,IAAwB;AAAA,EACxB,kBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,MAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,IAAAC;AAAA,EACA,YAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAM;AAAA,IACJ,cAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,YAAAC;AAAA,IACA,oBAAAC;AAAA,EAAA,IACEC,GAAA,GACEC,IAAoBC,EAAsB,IAAI,GAC9CC,IAAWD,EAAqC,IAAI,GAGpDE,IAAYC,EAAQ,MACnB5B,IAGE,MAAM,KAAK,EAAE,QAAQ,MAAM,CAAC6B,GAAGlC,OAAO;AAAA,IAC3C,IAAI,eAAeA,CAAC;AAAA,IACpB,MAAM,eAAeA,CAAC;AAAA,IACtB,OAAO,eAAeA,CAAC;AAAA,IACvB,MAAM;AAAA,IACN,KAAK;AAAA,IACL,SAAS,CAAA;AAAA,IACT,MAAM;AAAA,MACJ,IAAI,eAAeA,CAAC;AAAA,IAAA;AAAA,EACtB,EACA,IAbqBI,GActB,CAACC,GAAWD,GAAMO,CAAgB,CAAC,GAGhCwB,IAAuBC;AAAA,IAC3B,CACEC,GACAC,GACAC,GACAC,MACG;AACH,YAAMC,IAAYH,GACZI,IAAqBL,EAAc,oBAAA,EAAsB,UACzDM,IAAaD,EAAmB,KAAK,CAACE,MAAMA,EAAE,OAAOH,CAAS;AAEpE,UAAKE,KAGD,CAAAA,EAAW,SAAS,YAGxB;AAAA,YACElC,KACA,CAAC8B,KACD,CAACC,KACD,OAAO,KAAKH,EAAc,SAAA,EAAW,YAAY,EAAE,WAAW,KAC9DA,EAAc,WAAW,aAAaI,CAAS,GAC/C;AACA,UAAAJ,EAAc,gBAAgB,EAAE,GAChCR,EAAkB,UAAU;AAC5B;AAAA,QACF;AAEA,YAAIrB,KAAiB+B,KAAWV,EAAkB,SAAS;AACzD,gBAAMgB,IAAShB,EAAkB;AAGjC,cAAI,CAFca,EAAmB,KAAK,CAACE,MAAMA,EAAE,OAAOC,CAAM;AAG9D,YAAAR,EAAc,gBAAgB,EAAE,CAACI,CAAS,GAAG,IAAM;AAAA,eAC9C;AACL,kBAAMK,IAAetD,GAAYkD,GAAoBD,GAAWI,CAAM,GAChEE,IAAkC,CAAA;AACxC,YAAAD,EAAa,QAAQ,CAACF,OAAOG,EAAaH,GAAE,EAAE,IAAI,EAAK,GACvDP,EAAc,gBAAgBU,CAAY;AAAA,UAC5C;AAAA,QACF,MAAA,CAAWvC,KAAiBgC,IAC1BG,EAAW,eAAA,IAEXN,EAAc,gBAAgB,EAAE,CAACI,CAAS,GAAG,IAAM;AAErD,QAAAZ,EAAkB,UAAUY;AAAA;AAAA,IAC9B;AAAA,IACA,CAACjC,GAAeC,CAAqB;AAAA,EAAA,GAKjCuC,IAA4BZ;AAAA,IAChC,CACEa,GACAC,MACG;AACH,UAAI,CAACnB,EAAS,SAAS;AACrB,gBAAQ,KAAK,yDAAyD;AACtE;AAAA,MACF;AAGA,YAAMoB,IAAaF,EAAM,UACnBG,IAAYH,EAAM,WAAWA,EAAM;AAEzC,MAAAd;AAAA,QACEJ,EAAS;AAAA;AAAA,QACTmB,EAAY;AAAA,QACZC;AAAA,QACAC;AAAA,MAAA;AAAA,IAEJ;AAAA,IACA,CAACjB,CAAoB;AAAA;AAAA,EAAA,GAIjBkB,IAAwBjB;AAAA,IAC5B,CAACkB,GAA0BX,GAAiCM,MAA4B;AACtF,UAAI,CAAClB,EAAS,QAAS;AAGvB,YAAMwB,IAAcxB,EAAS,QAAQ,YAAA,EAAc,MAC7CyB,IAAeD,EAAY,UAAU,CAACX,MAAMA,EAAE,OAAOD,EAAW,EAAE;AAExE,UAAIa,MAAiB,GAAI;AAEzB,UAAIC,IAAYH,MAAc,SAASE,IAAe,IAAIA,IAAe;AAGzE,UAAI,EAAAC,IAAY,KAAKA,KAAaF,EAAY;AAG9C,eAAOE,KAAa,KAAKA,IAAYF,EAAY,UAAQ;AACvD,gBAAMG,IAAUH,EAAYE,CAAS;AACrC,cAAI,CAACC,EAAQ,SAAS,YAAY;AAGhC,YAAAvB;AAAA,cACEJ,EAAS;AAAA,cACT2B,EAAQ;AAAA,cACRT,EAAM;AAAA,cACNA,EAAM,WAAWA,EAAM;AAAA,YAAA,GAIzB,sBAAsB,MAAM;AAE1B,oBAAMU,IADiB,SAAS,eAAeD,EAAQ,EAAE,GACxB,cAAc,gBAAgB;AAC/D,cAAIC,MACFA,EAAS,MAAA,GACTA,EAAS,eAAe,EAAE,OAAO,WAAW,UAAU,UAAU;AAAA,YAEpE,CAAC;AACD;AAAA,UACF;AAEA,UAAAF,IAAYH,MAAc,SAASG,IAAY,IAAIA,IAAY;AAAA,QACjE;AAAA,IACF;AAAA,IACA,CAACtB,CAAoB;AAAA,EAAA,GAGjB,EAAE,kBAAAyB,EAAA,IAAqBC,GAA8B;AAAA,IACzD,iBAAiBb;AAAA,IACjB,uBAAAK;AAAA,EAAA,CACD,GAEKS,IAAU7B;AAAA,IACd,MAAM;AAAA,MACJ;AAAA,QACE,aAAa;AAAA,QACb,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,WAAW/C;AAAA;AAAA,QACX,MAAM,CAAC,EAAE,KAAAT,GAAK,UAAAsF,GAAU,OAAOC,QAAwB;AACrD,gBAAMC,IAAWD,EAAkB,QAAQ,MAErCE,IAAkB,CAACjB,MAAoD;AAE3E,YACEA,EAAM,kBAAkB,oBACxBA,EAAM,kBAAkB,qBACxBA,EAAM,kBAAkB,uBACxBA,EAAM,kBAAkB,qBACxBA,EAAM,kBAAkB,qBACvBA,EAAM,OAAuB,QAAQ,oCAAoC,KAI5Ed;AAAA,cACE6B;AAAA;AAAA,cACAvF,EAAI;AAAA,cACJwE,EAAM;AAAA,cACNA,EAAM,WAAWA,EAAM;AAAA,YAAA;AAAA,UAE3B,GAEM7B,IAEF;AAAA,YACF,WAAW+C,EAAK;AAAA,cACd,UAAU1F,EAAI,cAAA;AAAA,cACd,SAASwF,GAAU;AAAA,cACnB,UAAUxF,EAAI,SAAS;AAAA;AAAA,cACvB,UAAUA,EAAI,SAAS;AAAA;AAAA,YAAA,CACxB;AAAA,YACD,WAAW,CAAC2F,MAAM;AAChB,cAAIA,EAAE,kBAAkB,oBAExBR,EAAiBQ,GAAG3F,CAAG;AAAA,YACzB;AAAA,YACA,OAAOA,EAAI;AAAA,YACX,UAAU;AAAA,YACV,OAAOsF,EAAA;AAAA,YACP,SAAStF,EAAI,SAAS;AAAA,YACtB,MAAMA,EAAI,SAAS,QAAQ;AAAA,YAC3B,WAAWA,EAAI,SAAS;AAAA,YACxB,YAAYA,EAAI,SAAS;AAAA,YACzB,KAAKA,EAAI,SAAS;AAAA,YAClB,UAAUA,EAAI,SAAS;AAAA,YACvB,UAAAsC;AAAA,YACA,iBAAiBtC,EAAI,aAAA;AAAA,YACrB,uBAAAiC;AAAA,YACA,eAAejC,EAAI,cAAA;AAAA,YACnB,mBAAmBwF,GAAU;AAAA,YAC7B,eAAexF,EAAI,yBAAA;AAAA,YACnB,cAAcA,EAAI,SAAS;AAAA,YAC3B,YAAYA,EAAI,SAAS;AAAA,YACzB,YAAYA,EAAI,SAAS;AAAA,YACzB,iBAAiBA,EAAI,SAAS;AAAA,YAC9B,GAAGyC,GAAI;AAAA,YACP,SAASgD;AAAA;AAAA,UAAA;AAIX,iBAAOD,GAAU,WACfA,EAAS,SAAS7C,GAAO3C,GAAKuF,CAAiB,IAE/CK,gBAAAA,EAAAA,IAACC,IAAA,EAAyB,GAAGlD,GAAQ,GAAGF,GAAI,MAAM;AAAA,QAEtD;AAAA,MAAA;AAAA,IACF;AAAA,IAEF;AAAA,MACEP;AAAA,MACAwB;AAAA,MACAyB;AAAA,MACAnD;AAAA,MACAC;AAAA,MACAK;AAAA,IAAA;AAAA;AAAA,EACF,GAGIwD,IAAkEnC;AAAA,IACtE,CAACoC,MAAY;AACX,MAAA/C,EAAqBgD,EAAiBD,GAASnD,CAAY,CAAC;AAAA,IAC9D;AAAA,IACA,CAACI,CAAoB;AAAA,EAAA,GAGjBiD,KAA8DtC;AAAA,IAClE,CAACoC,MAAY;AACX,MAAA7C,IAAqB8C,EAAiBD,GAAS9C,KAAc,CAAA,CAAE,CAAC;AAAA,IAClE;AAAA,IACA,CAACC,CAAkB;AAAA,EAAA,GAGfgD,KAAuBvC;AAAA,IAC3B,CAACoC,MAAiB;AAChB,MAAAjD,IAAc,CAACqD,MAAQ;AACrB,cAAMC,IAAcL,aAAmB,WAAWA,EAAQI,CAAG,IAAIJ;AACjE,eAAAhD,IAAmBqD,CAAW,GACvBA;AAAA,MACT,CAAC;AAAA,IACH;AAAA,IACA,CAACtD,CAAW;AAAA,EAAA,GAGRuD,IAAQC,GAAc;AAAA,IAC1B,MAAM/C;AAAA,IACN,SAAA8B;AAAA,IACA,OAAO;AAAA,MACL,UAAAxC;AAAA,MACA,cAAAD;AAAA,MACA,cAAAT;AAAA,MACA,YAAAc;AAAA,IAAA;AAAA,IAEF,sBAAsB6C;AAAA,IACtB,oBAAoBG;AAAA,IACpB,WAAW;AAAA,MACT,OAAOlG;AAAA,IAAA;AAAA,IAET,gBAAgB;AAAA,IAChB,oBAAoB;AAAA;AAAA,IACpB,kBAAkB,CAAC,CAACmD;AAAA,IACpB,UAAU,CAAClD,MAAQA,EAAI;AAAA,IACvB,uBAAuB;AAAA;AAAA,IACvB,kBAAkBkG;AAAA,IAClB,YAAY,CAAClG,MAAQA,EAAI;AAAA,IACzB,iBAAiBuG,GAAA;AAAA,IACjB,qBAAqBC,GAAA;AAAA,IACrB,qBAAqBC,GAAA;AAAA,IACrB,oBAAoB;AAAA;AAAA,IAEpB,MAAM;AAAA,MACJ,cAAc,CAAC,CAAC3E;AAAA,MAChB,WAAAF;AAAA,MACA,UAAAY;AAAA,MACA,GAAGJ;AAAA,IAAA;AAAA,EACL,CACD;AAID,EAAAsE,GAAU,MAAM;AACd,IAAApD,EAAS,UAAU+C;AAAA,EACrB,GAAG,CAACA,CAAK,CAAC;AAEV,QAAM,EAAE,MAAArF,EAAA,IAASqF,EAAM,YAAA,GAGjBM,IAAoBtD,EAAuB,IAAI,GAE/CuD,IAAiBC,GAAe;AAAA,IACpC,OAAO7F,EAAK;AAAA,IACZ,cAAc,MAAMqB,KAAa;AAAA;AAAA,IACjC,kBAAkB,MAAMsE,EAAkB;AAAA;AAAA,IAE1C,gBAAgBtE,IACZ,MAAMA,IACN,OAAO,SAAW,OAAe,UAAU,UAAU,QAAQ,SAAS,MAAM,KAC5E,CAACyE,MAAYA,GAAS,sBAAA,EAAwB,SAC9C;AAAA,IACJ,UAAU;AAAA,EAAA,CACX,GAGKC,KAAoBpD;AAAA,IACxB,CAACqD,MAA6B;AAC5B,MAAIA,KACFJ,EAAe,eAAeI,CAAI;AAAA,IAEtC;AAAA,IACA,CAACJ,CAAc;AAAA,EAAA,GAIXK,KAAetD;AAAA,IACnB,CAACa,MAAyC;AACxC,UAAI,CAACjC,EAAgB;AAErB,YAAM2E,IAAS1C,EAAM,eACf,EAAE,WAAA2C,GAAW,cAAAC,GAAc,cAAAC,EAAA,IAAiBH;AAKlD,MAFqBE,IAAeD,IAAYE,IAAe,OAE3C,CAACzF,KACnBW,EAAA;AAAA,IAEJ;AAAA,IACA,CAACA,GAAgBX,CAAS;AAAA,EAAA,GAGtB0F,KAAuB,CAAC3B,MAAwC;AAEpE,IAAI3D,KAAyB,CAAE2D,EAAE,OAAuB,QAAQ,IAAI,MAClEU,EAAM,gBAAgB,EAAE,GACxBjD,EAAkB,UAAU;AAAA,EAEhC;AAEA,SACEmE,gBAAAA,EAAAA;AAAAA,IAACC;AAAAA,IAAA;AAAA,MACC,KAAKb;AAAA,MACL,UAAUM;AAAA,MACV,SAASK;AAAA,MACR,GAAG3E;AAAA,MACJ,WAAW+C,EAAK/C,EAAM,WAAW,EAAE,WAAAf,GAAW,YAAAc,GAAY;AAAA,MAEzD,UAAA;AAAA,QAAA,CAACb,2BACC,SAAA,EACC,UAAA+D,gBAAAA,EAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAO;AAAA,cACL,QAAQ,GAAGgB,GAAgB,aAAA,CAAc;AAAA;AAAA,YAAA;AAAA,YAG1C,UAAAA,GAAgB,gBAAA,EAAkB,IAAI,CAACa,MAAe;AACrD,oBAAMzH,IAAMgB,EAAKyG,EAAW,KAAK;AACjC,qBACE7B,gBAAAA,EAAAA;AAAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,cAAY6B,EAAW;AAAA,kBACvB,KAAKV;AAAA,kBAEL,IAAI/G,EAAI;AAAA,kBACP,GAAGyC,GAAI;AAAA,kBACR,OAAO;AAAA,oBACL,WAAW,cAAcgF,EAAW,KAAK;AAAA;AAAA,oBACzC,GAAGhF,GAAI,KAAK;AAAA;AAAA,kBAAA;AAAA,kBAGb,UAAAzC,EAAI,gBAAA,EAAkB,IAAI,CAAC0H,MAExB9B,gBAAAA,EAAAA,IAAC,MAAA,EACE,UAAA+B,GAAWD,EAAK,OAAO,UAAU,MAAMA,EAAK,WAAA,CAAY,EAAA,GADlDA,EAAK,EAEd,CAEH;AAAA,gBAAA;AAAA,gBAdI1H,EAAI;AAAA,cAAA;AAAA,YAiBf,CAAC;AAAA,UAAA;AAAA,QAAA,GAEL;AAAA,QAED,CAAC,CAAC6B,KAAS+D,gBAAAA,EAAAA,IAACgC,MAAiB,OAAA/F,EAAA,CAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGlD;"}
@@ -1,7 +1,7 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../../../../_virtual/jsx-runtime.cjs.js"),i=require("react"),w=require("../../SimpleTable/SimpleTable.cjs.js"),D=require("../../SimpleTable/context/SimpleTableContext.cjs.js"),p=require("../../SimpleTable/SimpleTable.styled.cjs.js");require("../../SimpleTable/SimpleTableRowTemplate.cjs.js");const M=require("../hooks/useTableDataBySlice.cjs.js"),k=require("./SlicerSearch.cjs.js"),L=require("clsx"),O=require("../context/SlicerContext.cjs.js"),P=require("styled-components"),z=P.div`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../../../../_virtual/jsx-runtime.cjs.js"),i=require("react"),w=require("../../SimpleTable/SimpleTable.cjs.js"),D=require("../../SimpleTable/context/SimpleTableContext.cjs.js"),b=require("../../SimpleTable/SimpleTable.styled.cjs.js");require("../../SimpleTable/SimpleTableRowTemplate.cjs.js");const k=require("../hooks/useTableDataBySlice.cjs.js"),M=require("./SlicerSearch.cjs.js"),O=require("clsx"),L=require("../context/SlicerContext.cjs.js"),P=require("styled-components"),z=P.div`
2
2
  height: 28px;
3
3
  border-radius: 4px;
4
4
  background: var(--md-sys-color-surface-container);
5
5
  width: 100px;
6
- `,A=({sliceFields:n=[],entityTypes:l=["task"],persistFieldId:c})=>{const[u,S]=i.useState(""),{SlicerDropdown:m,rowSelection:b,setRowSelection:g,onRowSelectionChange:h,expanded:j,setExpanded:T,onExpandedChange:y,isViewSyncPending:o}=O.useSlicerContext(),E=i.useMemo(()=>n,[n]),R=i.useMemo(()=>l,[l]),{sliceOptions:a,sliceType:s,handleSliceTypeChange:d,table:{data:q,isExpandable:C},sliceMap:x,isLoading:f}=M.default({sliceFields:E,entityTypes:R}),v=e=>{g(e),h?.(e,x)};return i.useEffect(()=>{if(o)return;const e=s.startsWith("attrib.");!n.some(r=>r.value===s)&&!(e&&n.some(r=>r.value==="attributes"))&&d(n[0].value,!1,!1)},[o]),t.jsxRuntimeExports.jsxs(p.Container,{children:[t.jsxRuntimeExports.jsxs(p.Header,{children:[o?t.jsxRuntimeExports.jsx(z,{}):t.jsxRuntimeExports.jsx(m,{options:a||[],value:[s],sliceTypes:n.map(e=>e.value),onChange:e=>d(e[0],c===s,c===e[0]),className:L("slicer-dropdown",{"single-option":a.length===1}),disableOpen:a.length===1}),t.jsxRuntimeExports.jsx(k,{value:u,onChange:S})]}),t.jsxRuntimeExports.jsx(D.SimpleTableProvider,{rowSelection:b,onRowSelectionChange:v,expanded:j,setExpanded:T,onExpandedChange:y,data:x,children:t.jsxRuntimeExports.jsx(w,{data:q,isExpandable:C,isLoading:f||o,forceUpdateTable:s,globalFilter:u})})]})};exports.Slicer=A;
6
+ `,A=({sliceFields:n=[],entityTypes:d=["task"],persistFieldId:x})=>{const[p,g]=i.useState(""),{SlicerDropdown:h,rowSelection:r,setRowSelection:j,onRowSelectionChange:m,expanded:f,setExpanded:y,onExpandedChange:E,isViewSyncPending:s}=L.useSlicerContext(),T=i.useMemo(()=>n,[n]),R=i.useMemo(()=>d,[d]),{sliceOptions:l,sliceType:o,handleSliceTypeChange:S,table:{data:q,isExpandable:C},sliceMap:a,isLoading:c}=k.default({sliceFields:T,entityTypes:R}),v=e=>{j(e),m?.(e,a)};return i.useEffect(()=>{s||c||Object.keys(r).some(e=>r[e])&&m?.(r,a)},[a,s,c]),i.useEffect(()=>{if(s)return;const e=o.startsWith("attrib.");!n.some(u=>u.value===o)&&!(e&&n.some(u=>u.value==="attributes"))&&S(n[0].value,!1,!1)},[s]),t.jsxRuntimeExports.jsxs(b.Container,{children:[t.jsxRuntimeExports.jsxs(b.Header,{children:[s?t.jsxRuntimeExports.jsx(z,{}):t.jsxRuntimeExports.jsx(h,{options:l||[],value:[o],sliceTypes:n.map(e=>e.value),onChange:e=>S(e[0],x===o,x===e[0]),className:O("slicer-dropdown",{"single-option":l.length===1}),disableOpen:l.length===1}),t.jsxRuntimeExports.jsx(M,{value:p,onChange:g})]}),t.jsxRuntimeExports.jsx(D.SimpleTableProvider,{rowSelection:r,onRowSelectionChange:v,expanded:f,setExpanded:y,onExpandedChange:E,data:a,children:t.jsxRuntimeExports.jsx(w,{data:q,isExpandable:C,isLoading:c||s,forceUpdateTable:o,globalFilter:p})})]})};exports.Slicer=A;
7
7
  //# sourceMappingURL=Slicer.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Slicer.cjs.js","sources":["../../../../../../src/containers/Slicer/components/Slicer.tsx"],"sourcesContent":["import { FC, useEffect, useMemo, useState } from 'react'\nimport SimpleTable, { Container, Header } from '@shared/containers/SimpleTable'\n\nimport useTableDataBySlice from '../hooks/useTableDataBySlice'\nimport SlicerSearch from './SlicerSearch'\nimport clsx from 'clsx'\nimport { SliceType } from '@shared/containers/Slicer'\nimport { SimpleTableProvider } from '@shared/containers/SimpleTable'\nimport { RowSelectionState } from '@tanstack/react-table'\nimport { SliceTypeField } from '../types'\nimport { useSlicerContext } from '../context/SlicerContext'\nimport styled from 'styled-components'\n\nconst DropdownSkeleton = styled.div`\n height: 28px;\n border-radius: 4px;\n background: var(--md-sys-color-surface-container);\n width: 100px;\n`\n\nexport interface SlicerProps {\n sliceFields: SliceTypeField[]\n entityTypes?: string[] // entity types\n persistFieldId?: SliceType // when changing slice type, leavePersistentSlice the selected field\n}\n\nexport const Slicer: FC<SlicerProps> = ({\n sliceFields = [],\n entityTypes = ['task'],\n persistFieldId,\n}) => {\n const [globalFilter, setGlobalFilter] = useState('')\n const {\n SlicerDropdown,\n rowSelection,\n setRowSelection,\n onRowSelectionChange,\n expanded,\n setExpanded,\n onExpandedChange,\n isViewSyncPending,\n } = useSlicerContext()\n\n // Memoize props to prevent recreating dependency arrays on every render\n const memoizedSliceFields = useMemo(() => sliceFields, [sliceFields])\n const memoizedEntityTypes = useMemo(() => entityTypes, [entityTypes])\n\n const {\n sliceOptions,\n sliceType,\n handleSliceTypeChange,\n table: { data: sliceTableData, isExpandable },\n sliceMap,\n isLoading: isLoadingSliceTableData,\n } = useTableDataBySlice({ sliceFields: memoizedSliceFields, entityTypes: memoizedEntityTypes })\n\n const handleSelectionChange = (s: RowSelectionState) => {\n setRowSelection(s)\n onRowSelectionChange?.(s, sliceMap)\n }\n\n // on first mount, check that current sliceType is in sliceFields, if not, change to first option\n // Skip if view sync is pending — the view will set the correct type once loaded\n useEffect(() => {\n if (isViewSyncPending) return\n const isAttribute = sliceType.startsWith('attrib.')\n if (\n !sliceFields.some((field) => field.value === sliceType) &&\n !(isAttribute && sliceFields.some((field) => field.value === 'attributes'))\n ) {\n handleSliceTypeChange(sliceFields[0].value, false, false)\n }\n }, [isViewSyncPending])\n\n return (\n <Container>\n <Header>\n {isViewSyncPending ? (\n <DropdownSkeleton />\n ) : (\n <SlicerDropdown\n options={sliceOptions || []}\n value={[sliceType]}\n sliceTypes={sliceFields.map((field) => field.value)}\n onChange={(value: any) =>\n handleSliceTypeChange(\n value[0] as SliceType,\n persistFieldId === sliceType,\n persistFieldId === value[0],\n )\n }\n className={clsx('slicer-dropdown', { 'single-option': sliceOptions.length === 1 })}\n disableOpen={sliceOptions.length === 1}\n />\n )}\n <SlicerSearch value={globalFilter} onChange={setGlobalFilter} />\n </Header>\n <SimpleTableProvider\n {...{\n rowSelection,\n onRowSelectionChange: handleSelectionChange,\n expanded,\n setExpanded,\n onExpandedChange,\n data: sliceMap,\n }}\n >\n <SimpleTable\n data={sliceTableData}\n isExpandable={isExpandable}\n isLoading={isLoadingSliceTableData || isViewSyncPending}\n forceUpdateTable={sliceType}\n globalFilter={globalFilter}\n />\n </SimpleTableProvider>\n </Container>\n )\n}\n"],"names":["DropdownSkeleton","styled","Slicer","sliceFields","entityTypes","persistFieldId","globalFilter","setGlobalFilter","useState","SlicerDropdown","rowSelection","setRowSelection","onRowSelectionChange","expanded","setExpanded","onExpandedChange","isViewSyncPending","useSlicerContext","memoizedSliceFields","useMemo","memoizedEntityTypes","sliceOptions","sliceType","handleSliceTypeChange","sliceTableData","isExpandable","sliceMap","isLoadingSliceTableData","useTableDataBySlice","handleSelectionChange","s","useEffect","isAttribute","field","Container","jsxs","Header","jsx","value","clsx","SlicerSearch","SimpleTableProvider","SimpleTable"],"mappings":"gkBAaMA,EAAmBC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAanBC,EAA0B,CAAC,CACtC,YAAAC,EAAc,CAAA,EACd,YAAAC,EAAc,CAAC,MAAM,EACrB,eAAAC,CACF,IAAM,CACJ,KAAM,CAACC,EAAcC,CAAe,EAAIC,EAAAA,SAAS,EAAE,EAC7C,CACJ,eAAAC,EACA,aAAAC,EACA,gBAAAC,EACA,qBAAAC,EACA,SAAAC,EACA,YAAAC,EACA,iBAAAC,EACA,kBAAAC,CAAA,EACEC,mBAAA,EAGEC,EAAsBC,EAAAA,QAAQ,IAAMhB,EAAa,CAACA,CAAW,CAAC,EAC9DiB,EAAsBD,EAAAA,QAAQ,IAAMf,EAAa,CAACA,CAAW,CAAC,EAE9D,CACJ,aAAAiB,EACA,UAAAC,EACA,sBAAAC,EACA,MAAO,CAAE,KAAMC,EAAgB,aAAAC,CAAA,EAC/B,SAAAC,EACA,UAAWC,CAAA,EACTC,EAAAA,QAAoB,CAAE,YAAaV,EAAqB,YAAaE,EAAqB,EAExFS,EAAyBC,GAAyB,CACtDnB,EAAgBmB,CAAC,EACjBlB,IAAuBkB,EAAGJ,CAAQ,CACpC,EAIAK,OAAAA,EAAAA,UAAU,IAAM,CACd,GAAIf,EAAmB,OACvB,MAAMgB,EAAcV,EAAU,WAAW,SAAS,EAEhD,CAACnB,EAAY,KAAM8B,GAAUA,EAAM,QAAUX,CAAS,GACtD,EAAEU,GAAe7B,EAAY,KAAM8B,GAAUA,EAAM,QAAU,YAAY,IAEzEV,EAAsBpB,EAAY,CAAC,EAAE,MAAO,GAAO,EAAK,CAE5D,EAAG,CAACa,CAAiB,CAAC,2BAGnBkB,YAAA,CACC,SAAA,CAAAC,yBAACC,EAAAA,OAAA,CACE,SAAA,CAAApB,EACCqB,EAAAA,kBAAAA,IAACrC,IAAiB,EAElBqC,EAAAA,kBAAAA,IAAC5B,EAAA,CACC,QAASY,GAAgB,CAAA,EACzB,MAAO,CAACC,CAAS,EACjB,WAAYnB,EAAY,IAAK8B,GAAUA,EAAM,KAAK,EAClD,SAAWK,GACTf,EACEe,EAAM,CAAC,EACPjC,IAAmBiB,EACnBjB,IAAmBiC,EAAM,CAAC,CAAA,EAG9B,UAAWC,EAAK,kBAAmB,CAAE,gBAAiBlB,EAAa,SAAW,EAAG,EACjF,YAAaA,EAAa,SAAW,CAAA,CAAA,EAGzCgB,EAAAA,kBAAAA,IAACG,EAAA,CAAa,MAAOlC,EAAc,SAAUC,CAAA,CAAiB,CAAA,EAChE,EACA8B,EAAAA,kBAAAA,IAACI,EAAAA,oBAAA,CAEG,aAAA/B,EACA,qBAAsBmB,EACtB,SAAAhB,EACA,YAAAC,EACA,iBAAAC,EACA,KAAMW,EAGR,SAAAW,EAAAA,kBAAAA,IAACK,EAAA,CACC,KAAMlB,EACN,aAAAC,EACA,UAAWE,GAA2BX,EACtC,iBAAkBM,EAClB,aAAAhB,CAAA,CAAA,CACF,CAAA,CACF,EACF,CAEJ"}
1
+ {"version":3,"file":"Slicer.cjs.js","sources":["../../../../../../src/containers/Slicer/components/Slicer.tsx"],"sourcesContent":["import { FC, useEffect, useMemo, useState } from 'react'\nimport SimpleTable, { Container, Header } from '@shared/containers/SimpleTable'\n\nimport useTableDataBySlice from '../hooks/useTableDataBySlice'\nimport SlicerSearch from './SlicerSearch'\nimport clsx from 'clsx'\nimport { SliceType } from '@shared/containers/Slicer'\nimport { SimpleTableProvider } from '@shared/containers/SimpleTable'\nimport { RowSelectionState } from '@tanstack/react-table'\nimport { SliceTypeField } from '../types'\nimport { useSlicerContext } from '../context/SlicerContext'\nimport styled from 'styled-components'\n\nconst DropdownSkeleton = styled.div`\n height: 28px;\n border-radius: 4px;\n background: var(--md-sys-color-surface-container);\n width: 100px;\n`\n\nexport interface SlicerProps {\n sliceFields: SliceTypeField[]\n entityTypes?: string[] // entity types\n persistFieldId?: SliceType // when changing slice type, leavePersistentSlice the selected field\n}\n\nexport const Slicer: FC<SlicerProps> = ({\n sliceFields = [],\n entityTypes = ['task'],\n persistFieldId,\n}) => {\n const [globalFilter, setGlobalFilter] = useState('')\n const {\n SlicerDropdown,\n rowSelection,\n setRowSelection,\n onRowSelectionChange,\n expanded,\n setExpanded,\n onExpandedChange,\n isViewSyncPending,\n } = useSlicerContext()\n\n // Memoize props to prevent recreating dependency arrays on every render\n const memoizedSliceFields = useMemo(() => sliceFields, [sliceFields])\n const memoizedEntityTypes = useMemo(() => entityTypes, [entityTypes])\n\n const {\n sliceOptions,\n sliceType,\n handleSliceTypeChange,\n table: { data: sliceTableData, isExpandable },\n sliceMap,\n isLoading: isLoadingSliceTableData,\n } = useTableDataBySlice({ sliceFields: memoizedSliceFields, entityTypes: memoizedEntityTypes })\n\n const handleSelectionChange = (s: RowSelectionState) => {\n setRowSelection(s)\n onRowSelectionChange?.(s, sliceMap)\n }\n\n // selection ids are persisted, selection data is not — rebuild it once slice rows are loaded\n // keyed on sliceMap so it only fires when loaded rows actually match the current slice type\n useEffect(() => {\n if (isViewSyncPending || isLoadingSliceTableData) return\n if (!Object.keys(rowSelection).some((id) => rowSelection[id])) return\n onRowSelectionChange?.(rowSelection, sliceMap)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [sliceMap, isViewSyncPending, isLoadingSliceTableData])\n\n // on first mount, check that current sliceType is in sliceFields, if not, change to first option\n // Skip if view sync is pending — the view will set the correct type once loaded\n useEffect(() => {\n if (isViewSyncPending) return\n const isAttribute = sliceType.startsWith('attrib.')\n if (\n !sliceFields.some((field) => field.value === sliceType) &&\n !(isAttribute && sliceFields.some((field) => field.value === 'attributes'))\n ) {\n handleSliceTypeChange(sliceFields[0].value, false, false)\n }\n }, [isViewSyncPending])\n\n return (\n <Container>\n <Header>\n {isViewSyncPending ? (\n <DropdownSkeleton />\n ) : (\n <SlicerDropdown\n options={sliceOptions || []}\n value={[sliceType]}\n sliceTypes={sliceFields.map((field) => field.value)}\n onChange={(value: any) =>\n handleSliceTypeChange(\n value[0] as SliceType,\n persistFieldId === sliceType,\n persistFieldId === value[0],\n )\n }\n className={clsx('slicer-dropdown', { 'single-option': sliceOptions.length === 1 })}\n disableOpen={sliceOptions.length === 1}\n />\n )}\n <SlicerSearch value={globalFilter} onChange={setGlobalFilter} />\n </Header>\n <SimpleTableProvider\n {...{\n rowSelection,\n onRowSelectionChange: handleSelectionChange,\n expanded,\n setExpanded,\n onExpandedChange,\n data: sliceMap,\n }}\n >\n <SimpleTable\n data={sliceTableData}\n isExpandable={isExpandable}\n isLoading={isLoadingSliceTableData || isViewSyncPending}\n forceUpdateTable={sliceType}\n globalFilter={globalFilter}\n />\n </SimpleTableProvider>\n </Container>\n )\n}\n"],"names":["DropdownSkeleton","styled","Slicer","sliceFields","entityTypes","persistFieldId","globalFilter","setGlobalFilter","useState","SlicerDropdown","rowSelection","setRowSelection","onRowSelectionChange","expanded","setExpanded","onExpandedChange","isViewSyncPending","useSlicerContext","memoizedSliceFields","useMemo","memoizedEntityTypes","sliceOptions","sliceType","handleSliceTypeChange","sliceTableData","isExpandable","sliceMap","isLoadingSliceTableData","useTableDataBySlice","handleSelectionChange","s","useEffect","id","isAttribute","field","Container","jsxs","Header","jsx","value","clsx","SlicerSearch","SimpleTableProvider","SimpleTable"],"mappings":"gkBAaMA,EAAmBC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAanBC,EAA0B,CAAC,CACtC,YAAAC,EAAc,CAAA,EACd,YAAAC,EAAc,CAAC,MAAM,EACrB,eAAAC,CACF,IAAM,CACJ,KAAM,CAACC,EAAcC,CAAe,EAAIC,EAAAA,SAAS,EAAE,EAC7C,CACJ,eAAAC,EACA,aAAAC,EACA,gBAAAC,EACA,qBAAAC,EACA,SAAAC,EACA,YAAAC,EACA,iBAAAC,EACA,kBAAAC,CAAA,EACEC,mBAAA,EAGEC,EAAsBC,EAAAA,QAAQ,IAAMhB,EAAa,CAACA,CAAW,CAAC,EAC9DiB,EAAsBD,EAAAA,QAAQ,IAAMf,EAAa,CAACA,CAAW,CAAC,EAE9D,CACJ,aAAAiB,EACA,UAAAC,EACA,sBAAAC,EACA,MAAO,CAAE,KAAMC,EAAgB,aAAAC,CAAA,EAC/B,SAAAC,EACA,UAAWC,CAAA,EACTC,EAAAA,QAAoB,CAAE,YAAaV,EAAqB,YAAaE,EAAqB,EAExFS,EAAyBC,GAAyB,CACtDnB,EAAgBmB,CAAC,EACjBlB,IAAuBkB,EAAGJ,CAAQ,CACpC,EAIAK,OAAAA,EAAAA,UAAU,IAAM,CACVf,GAAqBW,GACpB,OAAO,KAAKjB,CAAY,EAAE,KAAMsB,GAAOtB,EAAasB,CAAE,CAAC,GAC5DpB,IAAuBF,EAAcgB,CAAQ,CAE/C,EAAG,CAACA,EAAUV,EAAmBW,CAAuB,CAAC,EAIzDI,EAAAA,UAAU,IAAM,CACd,GAAIf,EAAmB,OACvB,MAAMiB,EAAcX,EAAU,WAAW,SAAS,EAEhD,CAACnB,EAAY,KAAM+B,GAAUA,EAAM,QAAUZ,CAAS,GACtD,EAAEW,GAAe9B,EAAY,KAAM+B,GAAUA,EAAM,QAAU,YAAY,IAEzEX,EAAsBpB,EAAY,CAAC,EAAE,MAAO,GAAO,EAAK,CAE5D,EAAG,CAACa,CAAiB,CAAC,2BAGnBmB,YAAA,CACC,SAAA,CAAAC,yBAACC,EAAAA,OAAA,CACE,SAAA,CAAArB,EACCsB,EAAAA,kBAAAA,IAACtC,IAAiB,EAElBsC,EAAAA,kBAAAA,IAAC7B,EAAA,CACC,QAASY,GAAgB,CAAA,EACzB,MAAO,CAACC,CAAS,EACjB,WAAYnB,EAAY,IAAK+B,GAAUA,EAAM,KAAK,EAClD,SAAWK,GACThB,EACEgB,EAAM,CAAC,EACPlC,IAAmBiB,EACnBjB,IAAmBkC,EAAM,CAAC,CAAA,EAG9B,UAAWC,EAAK,kBAAmB,CAAE,gBAAiBnB,EAAa,SAAW,EAAG,EACjF,YAAaA,EAAa,SAAW,CAAA,CAAA,EAGzCiB,EAAAA,kBAAAA,IAACG,EAAA,CAAa,MAAOnC,EAAc,SAAUC,CAAA,CAAiB,CAAA,EAChE,EACA+B,EAAAA,kBAAAA,IAACI,EAAAA,oBAAA,CAEG,aAAAhC,EACA,qBAAsBmB,EACtB,SAAAhB,EACA,YAAAC,EACA,iBAAAC,EACA,KAAMW,EAGR,SAAAY,EAAAA,kBAAAA,IAACK,EAAA,CACC,KAAMnB,EACN,aAAAC,EACA,UAAWE,GAA2BX,EACtC,iBAAkBM,EAClB,aAAAhB,CAAA,CAAA,CACF,CAAA,CACF,EACF,CAEJ"}
@@ -1,10 +1,10 @@
1
1
  import { j as o } from "../../../../../_virtual/jsx-runtime.es.js";
2
- import { useState as D, useMemo as d, useEffect as R } from "react";
3
- import k from "../../SimpleTable/SimpleTable.es.js";
2
+ import { useState as k, useMemo as h, useEffect as x } from "react";
3
+ import R from "../../SimpleTable/SimpleTable.es.js";
4
4
  import { SimpleTableProvider as L } from "../../SimpleTable/context/SimpleTableContext.es.js";
5
- import { Container as z, Header as M } from "../../SimpleTable/SimpleTable.styled.es.js";
5
+ import { Container as O, Header as z } from "../../SimpleTable/SimpleTable.styled.es.js";
6
6
  import "../../SimpleTable/SimpleTableRowTemplate.es.js";
7
- import O from "../hooks/useTableDataBySlice.es.js";
7
+ import M from "../hooks/useTableDataBySlice.es.js";
8
8
  import P from "./SlicerSearch.es.js";
9
9
  import A from "clsx";
10
10
  import { useSlicerContext as B } from "../context/SlicerContext.es.js";
@@ -16,68 +16,70 @@ const H = G.div`
16
16
  width: 100px;
17
17
  `, _ = ({
18
18
  sliceFields: t = [],
19
- entityTypes: s = ["task"],
20
- persistFieldId: l
19
+ entityTypes: m = ["task"],
20
+ persistFieldId: p
21
21
  }) => {
22
- const [c, h] = D(""), {
23
- SlicerDropdown: x,
24
- rowSelection: S,
25
- setRowSelection: f,
26
- onRowSelectionChange: u,
27
- expanded: g,
28
- setExpanded: b,
22
+ const [d, S] = k(""), {
23
+ SlicerDropdown: b,
24
+ rowSelection: i,
25
+ setRowSelection: g,
26
+ onRowSelectionChange: f,
27
+ expanded: j,
28
+ setExpanded: y,
29
29
  onExpandedChange: T,
30
- isViewSyncPending: n
31
- } = B(), j = d(() => t, [t]), w = d(() => s, [s]), {
32
- sliceOptions: i,
33
- sliceType: a,
34
- handleSliceTypeChange: p,
35
- table: { data: y, isExpandable: C },
36
- sliceMap: m,
37
- isLoading: v
38
- } = O({ sliceFields: j, entityTypes: w }), E = (e) => {
39
- f(e), u?.(e, m);
30
+ isViewSyncPending: a
31
+ } = B(), w = h(() => t, [t]), C = h(() => m, [m]), {
32
+ sliceOptions: s,
33
+ sliceType: n,
34
+ handleSliceTypeChange: u,
35
+ table: { data: v, isExpandable: E },
36
+ sliceMap: r,
37
+ isLoading: l
38
+ } = M({ sliceFields: w, entityTypes: C }), D = (e) => {
39
+ g(e), f?.(e, r);
40
40
  };
41
- return R(() => {
42
- if (n) return;
43
- const e = a.startsWith("attrib.");
44
- !t.some((r) => r.value === a) && !(e && t.some((r) => r.value === "attributes")) && p(t[0].value, !1, !1);
45
- }, [n]), /* @__PURE__ */ o.jsxs(z, { children: [
46
- /* @__PURE__ */ o.jsxs(M, { children: [
47
- n ? /* @__PURE__ */ o.jsx(H, {}) : /* @__PURE__ */ o.jsx(
48
- x,
41
+ return x(() => {
42
+ a || l || Object.keys(i).some((e) => i[e]) && f?.(i, r);
43
+ }, [r, a, l]), x(() => {
44
+ if (a) return;
45
+ const e = n.startsWith("attrib.");
46
+ !t.some((c) => c.value === n) && !(e && t.some((c) => c.value === "attributes")) && u(t[0].value, !1, !1);
47
+ }, [a]), /* @__PURE__ */ o.jsxs(O, { children: [
48
+ /* @__PURE__ */ o.jsxs(z, { children: [
49
+ a ? /* @__PURE__ */ o.jsx(H, {}) : /* @__PURE__ */ o.jsx(
50
+ b,
49
51
  {
50
- options: i || [],
51
- value: [a],
52
+ options: s || [],
53
+ value: [n],
52
54
  sliceTypes: t.map((e) => e.value),
53
- onChange: (e) => p(
55
+ onChange: (e) => u(
54
56
  e[0],
55
- l === a,
56
- l === e[0]
57
+ p === n,
58
+ p === e[0]
57
59
  ),
58
- className: A("slicer-dropdown", { "single-option": i.length === 1 }),
59
- disableOpen: i.length === 1
60
+ className: A("slicer-dropdown", { "single-option": s.length === 1 }),
61
+ disableOpen: s.length === 1
60
62
  }
61
63
  ),
62
- /* @__PURE__ */ o.jsx(P, { value: c, onChange: h })
64
+ /* @__PURE__ */ o.jsx(P, { value: d, onChange: S })
63
65
  ] }),
64
66
  /* @__PURE__ */ o.jsx(
65
67
  L,
66
68
  {
67
- rowSelection: S,
68
- onRowSelectionChange: E,
69
- expanded: g,
70
- setExpanded: b,
69
+ rowSelection: i,
70
+ onRowSelectionChange: D,
71
+ expanded: j,
72
+ setExpanded: y,
71
73
  onExpandedChange: T,
72
- data: m,
74
+ data: r,
73
75
  children: /* @__PURE__ */ o.jsx(
74
- k,
76
+ R,
75
77
  {
76
- data: y,
77
- isExpandable: C,
78
- isLoading: v || n,
79
- forceUpdateTable: a,
80
- globalFilter: c
78
+ data: v,
79
+ isExpandable: E,
80
+ isLoading: l || a,
81
+ forceUpdateTable: n,
82
+ globalFilter: d
81
83
  }
82
84
  )
83
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Slicer.es.js","sources":["../../../../../../src/containers/Slicer/components/Slicer.tsx"],"sourcesContent":["import { FC, useEffect, useMemo, useState } from 'react'\nimport SimpleTable, { Container, Header } from '@shared/containers/SimpleTable'\n\nimport useTableDataBySlice from '../hooks/useTableDataBySlice'\nimport SlicerSearch from './SlicerSearch'\nimport clsx from 'clsx'\nimport { SliceType } from '@shared/containers/Slicer'\nimport { SimpleTableProvider } from '@shared/containers/SimpleTable'\nimport { RowSelectionState } from '@tanstack/react-table'\nimport { SliceTypeField } from '../types'\nimport { useSlicerContext } from '../context/SlicerContext'\nimport styled from 'styled-components'\n\nconst DropdownSkeleton = styled.div`\n height: 28px;\n border-radius: 4px;\n background: var(--md-sys-color-surface-container);\n width: 100px;\n`\n\nexport interface SlicerProps {\n sliceFields: SliceTypeField[]\n entityTypes?: string[] // entity types\n persistFieldId?: SliceType // when changing slice type, leavePersistentSlice the selected field\n}\n\nexport const Slicer: FC<SlicerProps> = ({\n sliceFields = [],\n entityTypes = ['task'],\n persistFieldId,\n}) => {\n const [globalFilter, setGlobalFilter] = useState('')\n const {\n SlicerDropdown,\n rowSelection,\n setRowSelection,\n onRowSelectionChange,\n expanded,\n setExpanded,\n onExpandedChange,\n isViewSyncPending,\n } = useSlicerContext()\n\n // Memoize props to prevent recreating dependency arrays on every render\n const memoizedSliceFields = useMemo(() => sliceFields, [sliceFields])\n const memoizedEntityTypes = useMemo(() => entityTypes, [entityTypes])\n\n const {\n sliceOptions,\n sliceType,\n handleSliceTypeChange,\n table: { data: sliceTableData, isExpandable },\n sliceMap,\n isLoading: isLoadingSliceTableData,\n } = useTableDataBySlice({ sliceFields: memoizedSliceFields, entityTypes: memoizedEntityTypes })\n\n const handleSelectionChange = (s: RowSelectionState) => {\n setRowSelection(s)\n onRowSelectionChange?.(s, sliceMap)\n }\n\n // on first mount, check that current sliceType is in sliceFields, if not, change to first option\n // Skip if view sync is pending — the view will set the correct type once loaded\n useEffect(() => {\n if (isViewSyncPending) return\n const isAttribute = sliceType.startsWith('attrib.')\n if (\n !sliceFields.some((field) => field.value === sliceType) &&\n !(isAttribute && sliceFields.some((field) => field.value === 'attributes'))\n ) {\n handleSliceTypeChange(sliceFields[0].value, false, false)\n }\n }, [isViewSyncPending])\n\n return (\n <Container>\n <Header>\n {isViewSyncPending ? (\n <DropdownSkeleton />\n ) : (\n <SlicerDropdown\n options={sliceOptions || []}\n value={[sliceType]}\n sliceTypes={sliceFields.map((field) => field.value)}\n onChange={(value: any) =>\n handleSliceTypeChange(\n value[0] as SliceType,\n persistFieldId === sliceType,\n persistFieldId === value[0],\n )\n }\n className={clsx('slicer-dropdown', { 'single-option': sliceOptions.length === 1 })}\n disableOpen={sliceOptions.length === 1}\n />\n )}\n <SlicerSearch value={globalFilter} onChange={setGlobalFilter} />\n </Header>\n <SimpleTableProvider\n {...{\n rowSelection,\n onRowSelectionChange: handleSelectionChange,\n expanded,\n setExpanded,\n onExpandedChange,\n data: sliceMap,\n }}\n >\n <SimpleTable\n data={sliceTableData}\n isExpandable={isExpandable}\n isLoading={isLoadingSliceTableData || isViewSyncPending}\n forceUpdateTable={sliceType}\n globalFilter={globalFilter}\n />\n </SimpleTableProvider>\n </Container>\n )\n}\n"],"names":["DropdownSkeleton","styled","Slicer","sliceFields","entityTypes","persistFieldId","globalFilter","setGlobalFilter","useState","SlicerDropdown","rowSelection","setRowSelection","onRowSelectionChange","expanded","setExpanded","onExpandedChange","isViewSyncPending","useSlicerContext","memoizedSliceFields","useMemo","memoizedEntityTypes","sliceOptions","sliceType","handleSliceTypeChange","sliceTableData","isExpandable","sliceMap","isLoadingSliceTableData","useTableDataBySlice","handleSelectionChange","s","useEffect","isAttribute","field","Container","jsxs","Header","jsx","value","clsx","SlicerSearch","SimpleTableProvider","SimpleTable"],"mappings":";;;;;;;;;;;AAaA,MAAMA,IAAmBC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,GAanBC,IAA0B,CAAC;AAAA,EACtC,aAAAC,IAAc,CAAA;AAAA,EACd,aAAAC,IAAc,CAAC,MAAM;AAAA,EACrB,gBAAAC;AACF,MAAM;AACJ,QAAM,CAACC,GAAcC,CAAe,IAAIC,EAAS,EAAE,GAC7C;AAAA,IACJ,gBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,mBAAAC;AAAA,EAAA,IACEC,EAAA,GAGEC,IAAsBC,EAAQ,MAAMhB,GAAa,CAACA,CAAW,CAAC,GAC9DiB,IAAsBD,EAAQ,MAAMf,GAAa,CAACA,CAAW,CAAC,GAE9D;AAAA,IACJ,cAAAiB;AAAA,IACA,WAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,OAAO,EAAE,MAAMC,GAAgB,cAAAC,EAAA;AAAA,IAC/B,UAAAC;AAAA,IACA,WAAWC;AAAA,EAAA,IACTC,EAAoB,EAAE,aAAaV,GAAqB,aAAaE,GAAqB,GAExFS,IAAwB,CAACC,MAAyB;AACtD,IAAAnB,EAAgBmB,CAAC,GACjBlB,IAAuBkB,GAAGJ,CAAQ;AAAA,EACpC;AAIA,SAAAK,EAAU,MAAM;AACd,QAAIf,EAAmB;AACvB,UAAMgB,IAAcV,EAAU,WAAW,SAAS;AAClD,IACE,CAACnB,EAAY,KAAK,CAAC8B,MAAUA,EAAM,UAAUX,CAAS,KACtD,EAAEU,KAAe7B,EAAY,KAAK,CAAC8B,MAAUA,EAAM,UAAU,YAAY,MAEzEV,EAAsBpB,EAAY,CAAC,EAAE,OAAO,IAAO,EAAK;AAAA,EAE5D,GAAG,CAACa,CAAiB,CAAC,0BAGnBkB,GAAA,EACC,UAAA;AAAA,IAAAC,gBAAAA,OAACC,GAAA,EACE,UAAA;AAAA,MAAApB,IACCqB,gBAAAA,EAAAA,IAACrC,KAAiB,IAElBqC,gBAAAA,EAAAA;AAAAA,QAAC5B;AAAA,QAAA;AAAA,UACC,SAASY,KAAgB,CAAA;AAAA,UACzB,OAAO,CAACC,CAAS;AAAA,UACjB,YAAYnB,EAAY,IAAI,CAAC8B,MAAUA,EAAM,KAAK;AAAA,UAClD,UAAU,CAACK,MACTf;AAAA,YACEe,EAAM,CAAC;AAAA,YACPjC,MAAmBiB;AAAA,YACnBjB,MAAmBiC,EAAM,CAAC;AAAA,UAAA;AAAA,UAG9B,WAAWC,EAAK,mBAAmB,EAAE,iBAAiBlB,EAAa,WAAW,GAAG;AAAA,UACjF,aAAaA,EAAa,WAAW;AAAA,QAAA;AAAA,MAAA;AAAA,MAGzCgB,gBAAAA,EAAAA,IAACG,GAAA,EAAa,OAAOlC,GAAc,UAAUC,EAAA,CAAiB;AAAA,IAAA,GAChE;AAAA,IACA8B,gBAAAA,EAAAA;AAAAA,MAACI;AAAA,MAAA;AAAA,QAEG,cAAA/B;AAAA,QACA,sBAAsBmB;AAAA,QACtB,UAAAhB;AAAA,QACA,aAAAC;AAAA,QACA,kBAAAC;AAAA,QACA,MAAMW;AAAA,QAGR,UAAAW,gBAAAA,EAAAA;AAAAA,UAACK;AAAA,UAAA;AAAA,YACC,MAAMlB;AAAA,YACN,cAAAC;AAAA,YACA,WAAWE,KAA2BX;AAAA,YACtC,kBAAkBM;AAAA,YAClB,cAAAhB;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;"}
1
+ {"version":3,"file":"Slicer.es.js","sources":["../../../../../../src/containers/Slicer/components/Slicer.tsx"],"sourcesContent":["import { FC, useEffect, useMemo, useState } from 'react'\nimport SimpleTable, { Container, Header } from '@shared/containers/SimpleTable'\n\nimport useTableDataBySlice from '../hooks/useTableDataBySlice'\nimport SlicerSearch from './SlicerSearch'\nimport clsx from 'clsx'\nimport { SliceType } from '@shared/containers/Slicer'\nimport { SimpleTableProvider } from '@shared/containers/SimpleTable'\nimport { RowSelectionState } from '@tanstack/react-table'\nimport { SliceTypeField } from '../types'\nimport { useSlicerContext } from '../context/SlicerContext'\nimport styled from 'styled-components'\n\nconst DropdownSkeleton = styled.div`\n height: 28px;\n border-radius: 4px;\n background: var(--md-sys-color-surface-container);\n width: 100px;\n`\n\nexport interface SlicerProps {\n sliceFields: SliceTypeField[]\n entityTypes?: string[] // entity types\n persistFieldId?: SliceType // when changing slice type, leavePersistentSlice the selected field\n}\n\nexport const Slicer: FC<SlicerProps> = ({\n sliceFields = [],\n entityTypes = ['task'],\n persistFieldId,\n}) => {\n const [globalFilter, setGlobalFilter] = useState('')\n const {\n SlicerDropdown,\n rowSelection,\n setRowSelection,\n onRowSelectionChange,\n expanded,\n setExpanded,\n onExpandedChange,\n isViewSyncPending,\n } = useSlicerContext()\n\n // Memoize props to prevent recreating dependency arrays on every render\n const memoizedSliceFields = useMemo(() => sliceFields, [sliceFields])\n const memoizedEntityTypes = useMemo(() => entityTypes, [entityTypes])\n\n const {\n sliceOptions,\n sliceType,\n handleSliceTypeChange,\n table: { data: sliceTableData, isExpandable },\n sliceMap,\n isLoading: isLoadingSliceTableData,\n } = useTableDataBySlice({ sliceFields: memoizedSliceFields, entityTypes: memoizedEntityTypes })\n\n const handleSelectionChange = (s: RowSelectionState) => {\n setRowSelection(s)\n onRowSelectionChange?.(s, sliceMap)\n }\n\n // selection ids are persisted, selection data is not — rebuild it once slice rows are loaded\n // keyed on sliceMap so it only fires when loaded rows actually match the current slice type\n useEffect(() => {\n if (isViewSyncPending || isLoadingSliceTableData) return\n if (!Object.keys(rowSelection).some((id) => rowSelection[id])) return\n onRowSelectionChange?.(rowSelection, sliceMap)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [sliceMap, isViewSyncPending, isLoadingSliceTableData])\n\n // on first mount, check that current sliceType is in sliceFields, if not, change to first option\n // Skip if view sync is pending — the view will set the correct type once loaded\n useEffect(() => {\n if (isViewSyncPending) return\n const isAttribute = sliceType.startsWith('attrib.')\n if (\n !sliceFields.some((field) => field.value === sliceType) &&\n !(isAttribute && sliceFields.some((field) => field.value === 'attributes'))\n ) {\n handleSliceTypeChange(sliceFields[0].value, false, false)\n }\n }, [isViewSyncPending])\n\n return (\n <Container>\n <Header>\n {isViewSyncPending ? (\n <DropdownSkeleton />\n ) : (\n <SlicerDropdown\n options={sliceOptions || []}\n value={[sliceType]}\n sliceTypes={sliceFields.map((field) => field.value)}\n onChange={(value: any) =>\n handleSliceTypeChange(\n value[0] as SliceType,\n persistFieldId === sliceType,\n persistFieldId === value[0],\n )\n }\n className={clsx('slicer-dropdown', { 'single-option': sliceOptions.length === 1 })}\n disableOpen={sliceOptions.length === 1}\n />\n )}\n <SlicerSearch value={globalFilter} onChange={setGlobalFilter} />\n </Header>\n <SimpleTableProvider\n {...{\n rowSelection,\n onRowSelectionChange: handleSelectionChange,\n expanded,\n setExpanded,\n onExpandedChange,\n data: sliceMap,\n }}\n >\n <SimpleTable\n data={sliceTableData}\n isExpandable={isExpandable}\n isLoading={isLoadingSliceTableData || isViewSyncPending}\n forceUpdateTable={sliceType}\n globalFilter={globalFilter}\n />\n </SimpleTableProvider>\n </Container>\n )\n}\n"],"names":["DropdownSkeleton","styled","Slicer","sliceFields","entityTypes","persistFieldId","globalFilter","setGlobalFilter","useState","SlicerDropdown","rowSelection","setRowSelection","onRowSelectionChange","expanded","setExpanded","onExpandedChange","isViewSyncPending","useSlicerContext","memoizedSliceFields","useMemo","memoizedEntityTypes","sliceOptions","sliceType","handleSliceTypeChange","sliceTableData","isExpandable","sliceMap","isLoadingSliceTableData","useTableDataBySlice","handleSelectionChange","s","useEffect","id","isAttribute","field","Container","jsxs","Header","jsx","value","clsx","SlicerSearch","SimpleTableProvider","SimpleTable"],"mappings":"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"}