@ynput/ayon-frontend-shared 0.2.39 → 0.2.41

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 (436) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +24 -22
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/api.cjs.js +1 -1
  5. package/dist/api.es.js +256 -248
  6. package/dist/api.es.js.map +1 -1
  7. package/dist/index.cjs.js +1 -1
  8. package/dist/index.es.js +11 -9
  9. package/dist/index.es.js.map +1 -1
  10. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
  11. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
  12. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +16 -16
  13. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
  14. package/dist/shared/src/api/queries/config/getConfig.cjs.js +2 -0
  15. package/dist/shared/src/api/queries/config/getConfig.cjs.js.map +1 -0
  16. package/dist/shared/src/api/queries/config/getConfig.es.js +111 -0
  17. package/dist/shared/src/api/queries/config/getConfig.es.js.map +1 -0
  18. package/dist/shared/src/api/queries/config/updateConfig.cjs.js +2 -0
  19. package/dist/shared/src/api/queries/config/updateConfig.cjs.js.map +1 -0
  20. package/dist/shared/src/api/queries/config/updateConfig.es.js +13 -0
  21. package/dist/shared/src/api/queries/config/updateConfig.es.js.map +1 -0
  22. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  23. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  24. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +5 -3
  25. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  26. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +1 -1
  27. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  28. package/dist/shared/src/api/queries/entities/updateEntity.es.js +5 -3
  29. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  30. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
  31. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
  32. package/dist/shared/src/api/queries/links/getEntityLinks.es.js +106 -86
  33. package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
  34. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  35. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  36. package/dist/shared/src/api/queries/overview/updateOverview.es.js +68 -66
  37. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  38. package/dist/shared/src/api/queries/users/getUsers.cjs.js +2 -2
  39. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  40. package/dist/shared/src/api/queries/users/getUsers.es.js +34 -32
  41. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  42. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.cjs.js +8 -7
  43. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.cjs.js.map +1 -1
  44. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.es.js +24 -20
  45. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.es.js.map +1 -1
  46. package/dist/shared/src/components/Chips/Chips.cjs.js +10 -6
  47. package/dist/shared/src/components/Chips/Chips.cjs.js.map +1 -1
  48. package/dist/shared/src/components/Chips/Chips.es.js +44 -38
  49. package/dist/shared/src/components/Chips/Chips.es.js.map +1 -1
  50. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  51. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  52. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +4 -2
  53. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  54. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  55. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  56. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +4 -2
  57. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  58. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  59. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  60. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +4 -2
  61. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  62. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  63. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  64. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +4 -2
  65. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  66. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  67. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  68. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +4 -2
  69. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  70. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  71. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  72. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +4 -2
  73. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  74. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  75. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  76. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +6 -4
  77. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  78. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  79. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  80. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +4 -2
  81. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  82. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  83. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  84. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +28 -25
  85. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  86. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
  87. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
  88. package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js +5 -0
  89. package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js.map +1 -1
  90. package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js +5 -0
  91. package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js.map +1 -1
  92. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  93. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  94. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +4 -2
  95. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  96. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  97. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  98. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +4 -2
  99. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  100. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  101. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  102. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +4 -2
  103. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  104. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  105. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  106. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +6 -4
  107. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  108. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  109. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  110. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +4 -2
  111. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  112. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  113. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  114. package/dist/shared/src/components/RenameForm/RenameForm.es.js +4 -2
  115. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  116. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  117. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  118. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +4 -2
  119. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  120. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  121. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  122. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +4 -2
  123. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  124. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  125. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  126. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +5 -3
  127. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  128. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  129. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  130. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +4 -2
  131. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  132. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  133. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  134. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +4 -2
  135. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  136. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  137. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  138. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +8 -6
  139. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  140. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  141. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  142. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +4 -2
  143. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  144. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  145. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  146. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +4 -2
  147. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  148. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  149. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  150. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +6 -4
  151. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  152. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  153. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  154. package/dist/shared/src/components/Watchers/Watchers.es.js +4 -2
  155. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  156. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  157. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  158. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +4 -2
  159. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  160. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  161. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  162. package/dist/shared/src/containers/Actions/Actions.es.js +4 -2
  163. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  164. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  165. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  166. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +4 -2
  167. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  168. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  169. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  170. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +4 -2
  171. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  172. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  173. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  174. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +4 -2
  175. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  176. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  177. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  178. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +5 -3
  179. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  180. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  181. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  182. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +4 -2
  183. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  184. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  185. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  186. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +4 -2
  187. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  188. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
  189. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
  190. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +4 -2
  191. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
  192. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  193. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  194. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +4 -2
  195. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  196. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  197. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  198. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +4 -2
  199. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  200. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  201. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  202. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +4 -2
  203. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  204. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  205. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  206. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +4 -2
  207. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  208. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  209. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  210. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +4 -2
  211. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  212. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  213. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  214. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +4 -2
  215. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  216. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  217. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  218. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +4 -2
  219. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  220. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  221. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  222. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +4 -2
  223. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  224. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  225. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  226. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +4 -2
  227. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  228. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  229. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  230. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +4 -2
  231. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  232. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  233. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  234. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +7 -5
  235. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  236. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  237. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  238. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +4 -2
  239. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  240. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  241. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  242. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +4 -2
  243. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  244. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  245. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  246. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +4 -2
  247. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  248. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  249. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  250. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +4 -2
  251. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  252. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  253. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  254. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +4 -2
  255. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  256. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  257. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  258. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +4 -2
  259. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  260. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  261. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  262. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +6 -4
  263. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  264. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  265. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  266. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +4 -2
  267. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  268. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  269. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  270. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +7 -5
  271. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  272. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  273. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  274. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +4 -2
  275. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  276. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  277. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  278. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +4 -2
  279. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  280. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  281. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  282. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +4 -2
  283. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  284. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  285. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  286. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +4 -2
  287. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  288. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  289. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  290. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +30 -28
  291. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  292. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  293. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  294. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +4 -2
  295. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  296. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  297. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  298. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +4 -2
  299. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  300. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  301. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  302. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +4 -2
  303. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  304. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  305. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  306. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +4 -2
  307. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  308. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  309. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  310. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +4 -2
  311. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  312. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  313. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  314. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +4 -2
  315. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  316. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  317. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  318. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +15 -13
  319. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  320. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.cjs.js +1 -1
  321. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.cjs.js.map +1 -1
  322. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.es.js +34 -21
  323. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.es.js.map +1 -1
  324. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  325. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  326. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +31 -28
  327. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  328. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  329. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  330. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +4 -2
  331. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  332. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  333. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  334. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +4 -2
  335. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  336. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  337. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  338. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +4 -2
  339. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  340. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  341. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  342. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +4 -2
  343. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  344. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  345. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  346. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +6 -4
  347. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  348. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  349. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  350. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +4 -2
  351. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  352. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
  353. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  354. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +4 -2
  355. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  356. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  357. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  358. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +4 -2
  359. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  360. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  361. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  362. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +4 -2
  363. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  364. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  365. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  366. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +4 -2
  367. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  368. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  369. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  370. package/dist/shared/src/context/AddonProjectContext.es.js +6 -4
  371. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  372. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  373. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  374. package/dist/shared/src/context/DetailsPanelContext.es.js +6 -4
  375. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  376. package/dist/shared/src/context/GlobalContext.cjs.js +1 -1
  377. package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -1
  378. package/dist/shared/src/context/GlobalContext.es.js +6 -4
  379. package/dist/shared/src/context/GlobalContext.es.js.map +1 -1
  380. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  381. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  382. package/dist/shared/src/context/PowerpackContext.es.js +8 -6
  383. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  384. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  385. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  386. package/dist/shared/src/context/ProjectContext.es.js +44 -38
  387. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  388. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  389. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  390. package/dist/shared/src/context/ProjectFoldersContext.es.js +6 -4
  391. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  392. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  393. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  394. package/dist/shared/src/context/RemoteModulesContext.es.js +6 -4
  395. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  396. package/dist/shared/src/context/UriContext.cjs.js +1 -1
  397. package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
  398. package/dist/shared/src/context/UriContext.es.js +7 -5
  399. package/dist/shared/src/context/UriContext.es.js.map +1 -1
  400. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  401. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  402. package/dist/shared/src/context/WebsocketContext.es.js +6 -4
  403. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  404. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  405. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  406. package/dist/shared/src/hooks/useActionTriggers.es.js +4 -2
  407. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  408. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  409. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  410. package/dist/shared/src/hooks/useEntityUpdate.es.js +4 -2
  411. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  412. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
  413. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
  414. package/dist/shared/src/hooks/useGetEntityGroups.es.js +4 -2
  415. package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
  416. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  417. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  418. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +4 -2
  419. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  420. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  421. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  422. package/dist/shared/src/hooks/useScopedStatuses.es.js +6 -4
  423. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  424. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  425. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  426. package/dist/shared/src/hooks/useUserProjectConfig.es.js +4 -2
  427. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  428. package/dist/types/api/queries/config/getConfig.d.ts +747 -0
  429. package/dist/types/api/queries/config/index.d.ts +2 -0
  430. package/dist/types/api/queries/config/updateConfig.d.ts +171 -0
  431. package/dist/types/api/queries/index.d.ts +1 -0
  432. package/dist/types/api/queries/links/getEntityLinks.d.ts +2 -1
  433. package/dist/types/components/AddonLoadingScreen/AddonLoadingScreen.d.ts +7 -2
  434. package/dist/types/components/Chips/Chips.d.ts +1 -0
  435. package/dist/types/components/LinksManager/LinksManager.d.ts +1 -0
  436. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- "use strict";const S=require("../../../../_virtual/jsx-runtime.cjs.js"),d=require("react"),ue=require("./SimpleTable.styled.cjs.js"),x=require("@tanstack/react-table"),te=require("@tanstack/react-virtual"),B=require("clsx"),ne=require("./hooks/useRowKeydown.cjs.js"),O=require("@tanstack/match-sorter-utils"),qe=require("./context/SimpleTableContext.cjs.js"),le=require("./SimpleTableRowTemplate.cjs.js");require("../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("@ynput/ayon-react-components");require("../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");const oe=require("../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("react-toastify");require("../../api/base/client.cjs.js");require("../../api/generated/graphql.cjs.js");require("../../api/generated/graphqlLinks.cjs.js");require("../../api/generated/access.cjs.js");require("../../api/generated/actions.cjs.js");require("../../api/generated/activityFeed.cjs.js");require("../../api/generated/addons.cjs.js");require("../../api/generated/anatomy.cjs.js");require("../../api/generated/attributes.cjs.js");require("../../api/generated/authentication.cjs.js");require("../../api/generated/bundles.cjs.js");require("../../api/generated/configuration.cjs.js");require("../../api/generated/desktop.cjs.js");require("../../api/generated/entityLists.cjs.js");require("../../api/generated/events.cjs.js");require("../../api/generated/files.cjs.js");require("../../api/generated/folders.cjs.js");require("../../api/generated/inbox.cjs.js");require("../../api/generated/links.cjs.js");require("../../api/generated/market.cjs.js");require("../../api/generated/onboarding.cjs.js");require("../../api/generated/operations.cjs.js");require("../../api/generated/products.cjs.js");require("../../api/generated/projectDashboard.cjs.js");require("../../api/generated/projects.cjs.js");require("../../api/generated/reviewables.cjs.js");require("../../api/generated/services.cjs.js");require("../../api/generated/system.cjs.js");require("../../api/generated/tasks.cjs.js");require("../../api/generated/teams.cjs.js");require("../../api/generated/thumbnails.cjs.js");require("../../api/generated/uRIs.cjs.js");require("../../api/generated/users.cjs.js");require("../../api/generated/versions.cjs.js");require("../../api/generated/workfiles.cjs.js");require("../../api/generated/ynputCloud.cjs.js");require("../../api/generated/grouping.cjs.js");require("../../api/generated/views.cjs.js");require("../../api/queries/actions/getActions.cjs.js");require("../../api/queries/activities/getActivities.cjs.js");require("../../api/queries/activities/updateActivities.cjs.js");require("../../api/queries/activities/updateReaction.cjs.js");require("../../api/queries/activities/getMentions.cjs.js");require("../../api/queries/activities/getCategories.cjs.js");require("../../api/queries/addons/getAddons.cjs.js");require("../../api/queries/addons/updateAddons.cjs.js");require("../../api/queries/attributes/getAttributes.cjs.js");require("../../api/queries/attributes/updateAttributes.cjs.js");require("../../api/queries/authentication/getAuthentication.cjs.js");require("../../api/queries/cloud/cloud.cjs.js");require("../../api/queries/entities/getEntity.cjs.js");require("../../api/queries/entities/getEntityPanel.cjs.js");require("../../api/queries/entities/updateEntity.cjs.js");require("../../api/queries/entityLists/getLists.cjs.js");require("../../api/queries/entityLists/updateLists.cjs.js");require("../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../api/queries/entityLists/listFolders.cjs.js");require("../../api/queries/folders/getFolders.cjs.js");require("../../api/queries/grouping/getGrouping.cjs.js");require("../../api/queries/links/updateLinks.cjs.js");require("../../api/queries/links/getLinks.cjs.js");require("../../api/queries/links/getEntityLinks.cjs.js");require("../../api/queries/overview/getOverview.cjs.js");require("../../api/queries/overview/updateOverview.cjs.js");require("../../api/queries/versions/getVersionsProducts.cjs.js");require("../../api/queries/permissions/getPermissions.cjs.js");require("../../api/queries/products/createProduct.cjs.js");require("../../api/queries/project/getProject.cjs.js");require("../../api/queries/project/updateProject.cjs.js");require("../../api/queries/review/getReview.cjs.js");require("../../api/queries/review/updateReview.cjs.js");require("../../api/queries/share/share.cjs.js");require("../../api/queries/system/getSystem.cjs.js");require("../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../api/queries/users/getUsers.cjs.js");require("../../api/queries/users/updateUsers.cjs.js");require("../../api/queries/users/guests.cjs.js");require("../../api/queries/versions/updateVersions.cjs.js");require("../../api/queries/views/getViews.cjs.js");require("../../api/queries/views/updateViews.cjs.js");require("../../api/queries/watchers/getWatchers.cjs.js");require("../../api/queries/uris/getUris.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("lodash");require("uuid");require("../../util/pubsub.cjs.js");require("../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../context/RemoteModulesContext.cjs.js");require("../../context/DetailsPanelContext.cjs.js");require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");require("../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");require("../../context/PowerpackContext.cjs.js");require("../../context/MoveEntityContext.cjs.js");require("../../context/MenuContext.cjs.js");require("../../context/WebsocketContext.cjs.js");require("../../context/GlobalContext.cjs.js");require("../../context/ProjectContext.cjs.js");require("../../context/ProjectFoldersContext.cjs.js");require("../../context/UriContext.cjs.js");require("../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../components/Thumbnail/StackedThumbnails.cjs.js");require("../Feed/context/FeedContext.cjs.js");require("../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../Feed/components/CommentInput/CommentInput.cjs.js");require("../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../Feed/components/ActivityDate.cjs.js");require("../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../Feed/Feed.styled.cjs.js");require("date-fns");require("../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../ProjectTreeTable/ProjectTreeTable.cjs.js");require("../ProjectTreeTable/context/CellEditingContext.cjs.js");require("short-uuid");require("../ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../ProjectTreeTable/widgets/DateWidget.cjs.js");require("../ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../ProjectTreeTable/widgets/TextWidget.cjs.js");require("../ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../ProjectTreeTable/widgets/CellWidget.cjs.js");require("../ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../../components/LinksManager/CellEditingDialog.cjs.js");require("../ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../components/LinksManager/LinksManager.styled.cjs.js");require("../ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../ProjectTreeTable/components/SelectionCell.cjs.js");require("../ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../ProjectTreeTable/context/ClipboardContext.cjs.js");require("../ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../ProjectTreeTable/context/ProjectDataContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../ProjectTreeTable/components/ColumnHeaderMenu.cjs.js");require("../DetailsPanel/DetailsPanel.styled.cjs.js");require("../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../components/PlayableIcon/PlayableIcon.cjs.js");require("../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../Actions/Actions.styled.cjs.js");require("../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../Actions/ActionIcon.cjs.js");require("../Views/context/ViewsContext.cjs.js");require("../Views/Views.styled.cjs.js");require("../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../components/EntityPath/EntityPath.styled.cjs.js");require("../../components/EntityPath/SegmentProvider.cjs.js");require("../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../components/Watchers/Watchers.cjs.js");require("../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../components/Powerpack/PowerpackButton.cjs.js");require("../../components/Powerpack/PricingLink.cjs.js");require("../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../components/Powerpack/CTAButton.cjs.js");require("../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../components/SizeSlider/SizeSlider.cjs.js");require("../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../components/SearchFilter/filterDates.cjs.js");require("../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../components/Badge/Badge.cjs.js");require("../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../components/Feedback/FeedbackContext.cjs.js");require("../../components/Feedback/SupportBubble.cjs.js");require("../../components/Chips/Chips.cjs.js");require("../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../components/StyledLink/StyledLink.cjs.js");require("../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../components/AccessUser/AccessUser.cjs.js");require("../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../components/Menu/Menu.styled.cjs.js");require("../../components/Menu/MenuItem.cjs.js");const se=(q,l,g,m)=>{const n=q.getValue(l);let o=typeof n=="string"?n:Array.isArray(n)?n.join(" "):JSON.stringify(n);l==="label"&&(o=[q.original.label,q.original.name,...q.original.parents||[]].join(" "));const b=O.rankItem(o,g);return m({itemRank:b}),b.passed},ae=(q,l,g)=>{var n,o;let m=0;return q.columnFiltersMeta[g]&&(m=O.compareItems((n=q.columnFiltersMeta[g])==null?void 0:n.itemRank,(o=l.columnFiltersMeta[g])==null?void 0:o.itemRank)),m===0?x.sortingFns.alphanumeric(q,l,g):m};function ce(q,l,g){const m=[];if(l===g){const a=q.find(j=>j.id===l);return a?[a]:[]}let n=-1,o=-1;for(let a=0;a<q.length&&(q[a].id===l&&(n=a),q[a].id===g&&(o=a),!(n!==-1&&o!==-1));a++);if(n===-1||o===-1)return[];const b=Math.min(n,o),w=Math.max(n,o);for(let a=b;a<=w;a++)m.push(q[a]);return m}const de=({data:q=[],isLoading:l,error:g,isExpandable:m,isMultiSelect:n=!0,enableClickToDeselect:o=!0,enableNonFolderIndent:b=!0,forceUpdateTable:w,globalFilter:a,meta:j,rowHeight:K,imgRatio:D,onScrollBottom:M,children:U,pt:f})=>{const{rowSelection:P,expanded:_,setExpanded:F,onExpandedChange:z,onRowSelectionChange:$,rowPinning:A,onRowPinningChange:C}=qe.useSimpleTableContext(),E=d.useRef(null),p=d.useRef(null),J=d.useMemo(()=>l?Array.from({length:10},(e,u)=>({id:`placeholder-${u}`,name:`placeholder-${u}`,label:`placeholder-${u}`,icon:null,img:null,subRows:[],data:{id:`placeholder-${u}`}})):q,[l,q,w]),y=d.useCallback((e,u,t,r)=>{const c=u,s=e.getFilteredRowModel().flatRows,i=s.find(h=>h.id===c);if(i&&!i.original.isDisabled){if(o&&!t&&!r&&Object.keys(e.getState().rowSelection).length===1&&e.getState().rowSelection[c]){e.setRowSelection({}),E.current=null;return}if(n&&t&&E.current){const h=E.current;if(!s.find(H=>H.id===h))e.setRowSelection({[c]:!0});else{const H=ce(s,c,h),V={};H.forEach(ie=>V[ie.id]=!0),e.setRowSelection(V)}}else n&&r?i.toggleSelected():e.setRowSelection({[c]:!0});E.current=c}},[n,o]),Y=d.useCallback((e,u)=>{if(!p.current){console.warn("tableRef not yet available in handleRowSelectForKeydown");return}const t=e.shiftKey,r=e.ctrlKey||e.metaKey;y(p.current,u.id,t,r)},[y]),G=d.useCallback((e,u,t)=>{if(!p.current)return;const r=p.current.getRowModel().rows,c=r.findIndex(i=>i.id===u.id);if(c===-1)return;let s=e==="down"?c+1:c-1;if(!(s<0||s>=r.length))for(;s>=0&&s<r.length;){const i=r[s];if(!i.original.isDisabled){y(p.current,i.id,t.shiftKey,t.ctrlKey||t.metaKey),requestAnimationFrame(()=>{const h=document.getElementById(i.id),T=h==null?void 0:h.querySelector('[tabindex="0"]');T&&(T.focus(),T.scrollIntoView({block:"nearest",behavior:"smooth"}))});return}s=e==="down"?s+1:s-1}},[y]),{handleRowKeyDown:N}=ne({handleRowSelect:Y,handleArrowNavigation:G}),Q=d.useMemo(()=>[{accessorKey:"label",header:void 0,filterFn:"fuzzy",sortingFn:ae,cell:({row:e,getValue:u,table:t})=>{const r=t.options.meta,c=i=>{i.target instanceof HTMLInputElement||i.target instanceof HTMLButtonElement||i.target instanceof HTMLTextAreaElement||i.target instanceof HTMLSelectElement||i.target instanceof HTMLAnchorElement||i.target.closest("button, a, input, textarea, select")||y(t,e.id,i.shiftKey,i.ctrlKey||i.metaKey)},s={className:B({selected:e.getIsSelected(),loading:r==null?void 0:r.isLoading,disabled:e.original.isDisabled,inactive:e.original.inactive}),onKeyDown:i=>{i.target instanceof HTMLInputElement||N(i,e)},depth:e.depth,tabIndex:0,value:u(),parents:e.original.parents,icon:e.original.icon||void 0,iconColor:e.original.iconColor,iconFilled:e.original.iconFilled,img:e.original.img,imgShape:e.original.imgShape,imgRatio:D,isRowExpandable:e.getCanExpand(),enableNonFolderIndent:b,isRowExpanded:e.getIsExpanded(),isTableExpandable:r==null?void 0:r.isExpandable,onExpandClick:e.getToggleExpandedHandler(),startContent:e.original.startContent,endContent:e.original.endContent,isDisabled:e.original.isDisabled,disabledMessage:e.original.disabledMessage,...f==null?void 0:f.cell,onClick:c};return r!=null&&r.children?r.children(s,e,t):S.jsxRuntimeExports.jsx(le.SimpleTableCellTemplate,{...s,...f==null?void 0:f.cell})}}],[w,y,N,o,b,D]),W=d.useCallback(e=>{$(x.functionalUpdate(e,P))},[$]),X=d.useCallback(e=>{C==null||C(x.functionalUpdate(e,A||{}))},[C]),Z=d.useCallback(e=>{F==null||F(u=>{const t=e instanceof Function?e(u):e;return z==null||z(t),t})},[F]),k=x.useReactTable({data:J,columns:Q,state:{expanded:_,rowSelection:P,globalFilter:a,rowPinning:A},onRowSelectionChange:W,onRowPinningChange:X,filterFns:{fuzzy:se},globalFilterFn:"fuzzy",enableRowSelection:!0,enableRowPinning:!!C,getRowId:e=>e.id,enableSubRowSelection:!1,onExpandedChange:Z,getSubRows:e=>e.subRows,getCoreRowModel:x.getCoreRowModel(),getFilteredRowModel:x.getFilteredRowModel(),getExpandedRowModel:x.getExpandedRowModel(),filterFromLeafRows:!0,meta:{isExpandable:!!m,isLoading:l,children:U,...j}});d.useEffect(()=>{p.current=k},[k]);const{rows:I}=k.getRowModel(),L=d.useRef(null),R=te.useVirtualizer({count:I.length,estimateSize:()=>K||34,getScrollElement:()=>L.current,measureElement:K?()=>K:typeof window<"u"&&navigator.userAgent.indexOf("Firefox")===-1?e=>e==null?void 0:e.getBoundingClientRect().height:void 0,overscan:5}),v=d.useCallback(e=>{e&&R.measureElement(e)},[R]),ee=d.useCallback(e=>{if(!M)return;const u=e.currentTarget,{scrollTop:t,scrollHeight:r,clientHeight:c}=u;r-t-c<100&&!l&&M()},[M,l]),re=e=>{o&&!e.target.closest("tr")&&(k.setRowSelection({}),E.current=null)};return S.jsxRuntimeExports.jsxs(ue.TableContainer,{ref:L,className:B({isLoading:l}),onScroll:ee,onClick:re,children:[!g&&S.jsxRuntimeExports.jsx("table",{children:S.jsxRuntimeExports.jsx("tbody",{style:{height:`${R==null?void 0:R.getTotalSize()}px`},children:R==null?void 0:R.getVirtualItems().map(e=>{var t;const u=I[e.index];return S.jsxRuntimeExports.jsx("tr",{"data-index":e.index,ref:v,id:u.id,...f==null?void 0:f.row,style:{transform:`translateY(${e.start}px)`,...(t=f==null?void 0:f.row)==null?void 0:t.style},children:u.getVisibleCells().map(r=>S.jsxRuntimeExports.jsx("td",{children:x.flexRender(r.column.columnDef.cell,r.getContext())},r.id))},u.id)})})}),!!g&&S.jsxRuntimeExports.jsx(oe.EmptyPlaceholder,{error:g})]})};module.exports=de;
1
+ "use strict";const S=require("../../../../_virtual/jsx-runtime.cjs.js"),d=require("react"),ue=require("./SimpleTable.styled.cjs.js"),x=require("@tanstack/react-table"),te=require("@tanstack/react-virtual"),B=require("clsx"),ne=require("./hooks/useRowKeydown.cjs.js"),O=require("@tanstack/match-sorter-utils"),qe=require("./context/SimpleTableContext.cjs.js"),le=require("./SimpleTableRowTemplate.cjs.js");require("../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("@ynput/ayon-react-components");require("../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");const oe=require("../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("react-toastify");require("../../api/base/client.cjs.js");require("../../api/generated/graphql.cjs.js");require("../../api/generated/graphqlLinks.cjs.js");require("../../api/generated/access.cjs.js");require("../../api/generated/actions.cjs.js");require("../../api/generated/activityFeed.cjs.js");require("../../api/generated/addons.cjs.js");require("../../api/generated/anatomy.cjs.js");require("../../api/generated/attributes.cjs.js");require("../../api/generated/authentication.cjs.js");require("../../api/generated/bundles.cjs.js");require("../../api/generated/configuration.cjs.js");require("../../api/generated/desktop.cjs.js");require("../../api/generated/entityLists.cjs.js");require("../../api/generated/events.cjs.js");require("../../api/generated/files.cjs.js");require("../../api/generated/folders.cjs.js");require("../../api/generated/inbox.cjs.js");require("../../api/generated/links.cjs.js");require("../../api/generated/market.cjs.js");require("../../api/generated/onboarding.cjs.js");require("../../api/generated/operations.cjs.js");require("../../api/generated/products.cjs.js");require("../../api/generated/projectDashboard.cjs.js");require("../../api/generated/projects.cjs.js");require("../../api/generated/reviewables.cjs.js");require("../../api/generated/services.cjs.js");require("../../api/generated/system.cjs.js");require("../../api/generated/tasks.cjs.js");require("../../api/generated/teams.cjs.js");require("../../api/generated/thumbnails.cjs.js");require("../../api/generated/uRIs.cjs.js");require("../../api/generated/users.cjs.js");require("../../api/generated/versions.cjs.js");require("../../api/generated/workfiles.cjs.js");require("../../api/generated/ynputCloud.cjs.js");require("../../api/generated/grouping.cjs.js");require("../../api/generated/views.cjs.js");require("../../api/queries/actions/getActions.cjs.js");require("../../api/queries/activities/getActivities.cjs.js");require("../../api/queries/activities/updateActivities.cjs.js");require("../../api/queries/activities/updateReaction.cjs.js");require("../../api/queries/activities/getMentions.cjs.js");require("../../api/queries/activities/getCategories.cjs.js");require("../../api/queries/addons/getAddons.cjs.js");require("../../api/queries/addons/updateAddons.cjs.js");require("../../api/queries/attributes/getAttributes.cjs.js");require("../../api/queries/attributes/updateAttributes.cjs.js");require("../../api/queries/authentication/getAuthentication.cjs.js");require("../../api/queries/cloud/cloud.cjs.js");require("../../api/queries/config/getConfig.cjs.js");require("../../api/queries/config/updateConfig.cjs.js");require("../../api/queries/entities/getEntity.cjs.js");require("../../api/queries/entities/getEntityPanel.cjs.js");require("../../api/queries/entities/updateEntity.cjs.js");require("../../api/queries/entityLists/getLists.cjs.js");require("../../api/queries/entityLists/updateLists.cjs.js");require("../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../api/queries/entityLists/listFolders.cjs.js");require("../../api/queries/folders/getFolders.cjs.js");require("../../api/queries/grouping/getGrouping.cjs.js");require("../../api/queries/links/updateLinks.cjs.js");require("../../api/queries/links/getLinks.cjs.js");require("../../api/queries/links/getEntityLinks.cjs.js");require("../../api/queries/overview/getOverview.cjs.js");require("../../api/queries/overview/updateOverview.cjs.js");require("../../api/queries/versions/getVersionsProducts.cjs.js");require("../../api/queries/permissions/getPermissions.cjs.js");require("../../api/queries/products/createProduct.cjs.js");require("../../api/queries/project/getProject.cjs.js");require("../../api/queries/project/updateProject.cjs.js");require("../../api/queries/review/getReview.cjs.js");require("../../api/queries/review/updateReview.cjs.js");require("../../api/queries/share/share.cjs.js");require("../../api/queries/system/getSystem.cjs.js");require("../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../api/queries/users/getUsers.cjs.js");require("../../api/queries/users/updateUsers.cjs.js");require("../../api/queries/users/guests.cjs.js");require("../../api/queries/versions/updateVersions.cjs.js");require("../../api/queries/views/getViews.cjs.js");require("../../api/queries/views/updateViews.cjs.js");require("../../api/queries/watchers/getWatchers.cjs.js");require("../../api/queries/uris/getUris.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("lodash");require("uuid");require("../../util/pubsub.cjs.js");require("../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../context/RemoteModulesContext.cjs.js");require("../../context/DetailsPanelContext.cjs.js");require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");require("../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");require("../../context/PowerpackContext.cjs.js");require("../../context/MoveEntityContext.cjs.js");require("../../context/MenuContext.cjs.js");require("../../context/WebsocketContext.cjs.js");require("../../context/GlobalContext.cjs.js");require("../../context/ProjectContext.cjs.js");require("../../context/ProjectFoldersContext.cjs.js");require("../../context/UriContext.cjs.js");require("../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../components/Thumbnail/StackedThumbnails.cjs.js");require("../Feed/context/FeedContext.cjs.js");require("../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../Feed/components/CommentInput/CommentInput.cjs.js");require("../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../Feed/components/ActivityDate.cjs.js");require("../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../Feed/Feed.styled.cjs.js");require("date-fns");require("../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../ProjectTreeTable/ProjectTreeTable.cjs.js");require("../ProjectTreeTable/context/CellEditingContext.cjs.js");require("short-uuid");require("../ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../ProjectTreeTable/widgets/DateWidget.cjs.js");require("../ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../ProjectTreeTable/widgets/TextWidget.cjs.js");require("../ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../ProjectTreeTable/widgets/CellWidget.cjs.js");require("../ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../../components/LinksManager/CellEditingDialog.cjs.js");require("../ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../components/LinksManager/LinksManager.styled.cjs.js");require("../ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../ProjectTreeTable/components/SelectionCell.cjs.js");require("../ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../ProjectTreeTable/context/ClipboardContext.cjs.js");require("../ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../ProjectTreeTable/context/ProjectDataContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../ProjectTreeTable/components/ColumnHeaderMenu.cjs.js");require("../DetailsPanel/DetailsPanel.styled.cjs.js");require("../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../components/PlayableIcon/PlayableIcon.cjs.js");require("../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../Actions/Actions.styled.cjs.js");require("../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../Actions/ActionIcon.cjs.js");require("../Views/context/ViewsContext.cjs.js");require("../Views/Views.styled.cjs.js");require("../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../components/EntityPath/EntityPath.styled.cjs.js");require("../../components/EntityPath/SegmentProvider.cjs.js");require("../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../components/Watchers/Watchers.cjs.js");require("../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../components/Powerpack/PowerpackButton.cjs.js");require("../../components/Powerpack/PricingLink.cjs.js");require("../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../components/Powerpack/CTAButton.cjs.js");require("../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../components/SizeSlider/SizeSlider.cjs.js");require("../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../components/SearchFilter/filterDates.cjs.js");require("../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../components/Badge/Badge.cjs.js");require("../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../components/Feedback/FeedbackContext.cjs.js");require("../../components/Feedback/SupportBubble.cjs.js");require("../../components/Chips/Chips.cjs.js");require("../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../components/StyledLink/StyledLink.cjs.js");require("../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../components/AccessUser/AccessUser.cjs.js");require("../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../components/Menu/Menu.styled.cjs.js");require("../../components/Menu/MenuItem.cjs.js");const se=(q,l,g,m)=>{const n=q.getValue(l);let o=typeof n=="string"?n:Array.isArray(n)?n.join(" "):JSON.stringify(n);l==="label"&&(o=[q.original.label,q.original.name,...q.original.parents||[]].join(" "));const b=O.rankItem(o,g);return m({itemRank:b}),b.passed},ae=(q,l,g)=>{var n,o;let m=0;return q.columnFiltersMeta[g]&&(m=O.compareItems((n=q.columnFiltersMeta[g])==null?void 0:n.itemRank,(o=l.columnFiltersMeta[g])==null?void 0:o.itemRank)),m===0?x.sortingFns.alphanumeric(q,l,g):m};function ce(q,l,g){const m=[];if(l===g){const a=q.find(j=>j.id===l);return a?[a]:[]}let n=-1,o=-1;for(let a=0;a<q.length&&(q[a].id===l&&(n=a),q[a].id===g&&(o=a),!(n!==-1&&o!==-1));a++);if(n===-1||o===-1)return[];const b=Math.min(n,o),w=Math.max(n,o);for(let a=b;a<=w;a++)m.push(q[a]);return m}const de=({data:q=[],isLoading:l,error:g,isExpandable:m,isMultiSelect:n=!0,enableClickToDeselect:o=!0,enableNonFolderIndent:b=!0,forceUpdateTable:w,globalFilter:a,meta:j,rowHeight:K,imgRatio:D,onScrollBottom:M,children:U,pt:f})=>{const{rowSelection:P,expanded:_,setExpanded:F,onExpandedChange:z,onRowSelectionChange:$,rowPinning:A,onRowPinningChange:C}=qe.useSimpleTableContext(),E=d.useRef(null),p=d.useRef(null),J=d.useMemo(()=>l?Array.from({length:10},(e,u)=>({id:`placeholder-${u}`,name:`placeholder-${u}`,label:`placeholder-${u}`,icon:null,img:null,subRows:[],data:{id:`placeholder-${u}`}})):q,[l,q,w]),y=d.useCallback((e,u,t,r)=>{const c=u,s=e.getFilteredRowModel().flatRows,i=s.find(h=>h.id===c);if(i&&!i.original.isDisabled){if(o&&!t&&!r&&Object.keys(e.getState().rowSelection).length===1&&e.getState().rowSelection[c]){e.setRowSelection({}),E.current=null;return}if(n&&t&&E.current){const h=E.current;if(!s.find(H=>H.id===h))e.setRowSelection({[c]:!0});else{const H=ce(s,c,h),V={};H.forEach(ie=>V[ie.id]=!0),e.setRowSelection(V)}}else n&&r?i.toggleSelected():e.setRowSelection({[c]:!0});E.current=c}},[n,o]),Y=d.useCallback((e,u)=>{if(!p.current){console.warn("tableRef not yet available in handleRowSelectForKeydown");return}const t=e.shiftKey,r=e.ctrlKey||e.metaKey;y(p.current,u.id,t,r)},[y]),G=d.useCallback((e,u,t)=>{if(!p.current)return;const r=p.current.getRowModel().rows,c=r.findIndex(i=>i.id===u.id);if(c===-1)return;let s=e==="down"?c+1:c-1;if(!(s<0||s>=r.length))for(;s>=0&&s<r.length;){const i=r[s];if(!i.original.isDisabled){y(p.current,i.id,t.shiftKey,t.ctrlKey||t.metaKey),requestAnimationFrame(()=>{const h=document.getElementById(i.id),T=h==null?void 0:h.querySelector('[tabindex="0"]');T&&(T.focus(),T.scrollIntoView({block:"nearest",behavior:"smooth"}))});return}s=e==="down"?s+1:s-1}},[y]),{handleRowKeyDown:N}=ne({handleRowSelect:Y,handleArrowNavigation:G}),Q=d.useMemo(()=>[{accessorKey:"label",header:void 0,filterFn:"fuzzy",sortingFn:ae,cell:({row:e,getValue:u,table:t})=>{const r=t.options.meta,c=i=>{i.target instanceof HTMLInputElement||i.target instanceof HTMLButtonElement||i.target instanceof HTMLTextAreaElement||i.target instanceof HTMLSelectElement||i.target instanceof HTMLAnchorElement||i.target.closest("button, a, input, textarea, select")||y(t,e.id,i.shiftKey,i.ctrlKey||i.metaKey)},s={className:B({selected:e.getIsSelected(),loading:r==null?void 0:r.isLoading,disabled:e.original.isDisabled,inactive:e.original.inactive}),onKeyDown:i=>{i.target instanceof HTMLInputElement||N(i,e)},depth:e.depth,tabIndex:0,value:u(),parents:e.original.parents,icon:e.original.icon||void 0,iconColor:e.original.iconColor,iconFilled:e.original.iconFilled,img:e.original.img,imgShape:e.original.imgShape,imgRatio:D,isRowExpandable:e.getCanExpand(),enableNonFolderIndent:b,isRowExpanded:e.getIsExpanded(),isTableExpandable:r==null?void 0:r.isExpandable,onExpandClick:e.getToggleExpandedHandler(),startContent:e.original.startContent,endContent:e.original.endContent,isDisabled:e.original.isDisabled,disabledMessage:e.original.disabledMessage,...f==null?void 0:f.cell,onClick:c};return r!=null&&r.children?r.children(s,e,t):S.jsxRuntimeExports.jsx(le.SimpleTableCellTemplate,{...s,...f==null?void 0:f.cell})}}],[w,y,N,o,b,D]),W=d.useCallback(e=>{$(x.functionalUpdate(e,P))},[$]),X=d.useCallback(e=>{C==null||C(x.functionalUpdate(e,A||{}))},[C]),Z=d.useCallback(e=>{F==null||F(u=>{const t=e instanceof Function?e(u):e;return z==null||z(t),t})},[F]),k=x.useReactTable({data:J,columns:Q,state:{expanded:_,rowSelection:P,globalFilter:a,rowPinning:A},onRowSelectionChange:W,onRowPinningChange:X,filterFns:{fuzzy:se},globalFilterFn:"fuzzy",enableRowSelection:!0,enableRowPinning:!!C,getRowId:e=>e.id,enableSubRowSelection:!1,onExpandedChange:Z,getSubRows:e=>e.subRows,getCoreRowModel:x.getCoreRowModel(),getFilteredRowModel:x.getFilteredRowModel(),getExpandedRowModel:x.getExpandedRowModel(),filterFromLeafRows:!0,meta:{isExpandable:!!m,isLoading:l,children:U,...j}});d.useEffect(()=>{p.current=k},[k]);const{rows:I}=k.getRowModel(),L=d.useRef(null),R=te.useVirtualizer({count:I.length,estimateSize:()=>K||34,getScrollElement:()=>L.current,measureElement:K?()=>K:typeof window<"u"&&navigator.userAgent.indexOf("Firefox")===-1?e=>e==null?void 0:e.getBoundingClientRect().height:void 0,overscan:5}),v=d.useCallback(e=>{e&&R.measureElement(e)},[R]),ee=d.useCallback(e=>{if(!M)return;const u=e.currentTarget,{scrollTop:t,scrollHeight:r,clientHeight:c}=u;r-t-c<100&&!l&&M()},[M,l]),re=e=>{o&&!e.target.closest("tr")&&(k.setRowSelection({}),E.current=null)};return S.jsxRuntimeExports.jsxs(ue.TableContainer,{ref:L,className:B({isLoading:l}),onScroll:ee,onClick:re,children:[!g&&S.jsxRuntimeExports.jsx("table",{children:S.jsxRuntimeExports.jsx("tbody",{style:{height:`${R==null?void 0:R.getTotalSize()}px`},children:R==null?void 0:R.getVirtualItems().map(e=>{var t;const u=I[e.index];return S.jsxRuntimeExports.jsx("tr",{"data-index":e.index,ref:v,id:u.id,...f==null?void 0:f.row,style:{transform:`translateY(${e.start}px)`,...(t=f==null?void 0:f.row)==null?void 0:t.style},children:u.getVisibleCells().map(r=>S.jsxRuntimeExports.jsx("td",{children:x.flexRender(r.column.columnDef.cell,r.getContext())},r.id))},u.id)})})}),!!g&&S.jsxRuntimeExports.jsx(oe.EmptyPlaceholder,{error:g})]})};module.exports=de;
2
2
  //# sourceMappingURL=SimpleTable.cjs.js.map
@@ -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 } 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\n const itemRank = rankItem(searchString, searchValue)\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 {\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 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}) => {\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 className={clsx({ isLoading })}\n onScroll={handleScroll}\n onClick={handleContainerClick}\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","fuzzySort","rowA","rowB","dir","compareItems","_a","_b","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","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","nextRowElement","nextCell","handleRowKeyDown","useRowKeydown","columns","getValue","cellTableInstance","cellMeta","handleCellClick","props","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 } 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\n const itemRank = rankItem(searchString, searchValue)\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 {\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 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}) => {\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 className={clsx({ isLoading })}\n onScroll={handleScroll}\n onClick={handleContainerClick}\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","fuzzySort","rowA","rowB","dir","compareItems","_a","_b","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","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","nextRowElement","nextCell","handleRowKeyDown","useRowKeydown","columns","getValue","cellTableInstance","cellMeta","handleCellClick","props","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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"}
@@ -64,6 +64,8 @@ import "../../api/queries/attributes/getAttributes.es.js";
64
64
  import "../../api/queries/attributes/updateAttributes.es.js";
65
65
  import "../../api/queries/authentication/getAuthentication.es.js";
66
66
  import "../../api/queries/cloud/cloud.es.js";
67
+ import "../../api/queries/config/getConfig.es.js";
68
+ import "../../api/queries/config/updateConfig.es.js";
67
69
  import "../../api/queries/entities/getEntity.es.js";
68
70
  import "../../api/queries/entities/getEntityPanel.es.js";
69
71
  import "../../api/queries/entities/updateEntity.es.js";
@@ -282,7 +284,7 @@ function St(n, p, d) {
282
284
  u.push(n[s]);
283
285
  return u;
284
286
  }
285
- const em = ({
287
+ const nm = ({
286
288
  data: n = [],
287
289
  isLoading: p,
288
290
  error: d,
@@ -571,6 +573,6 @@ const em = ({
571
573
  );
572
574
  };
573
575
  export {
574
- em as default
576
+ nm as default
575
577
  };
576
578
  //# 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 } 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\n const itemRank = rankItem(searchString, searchValue)\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 {\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 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}) => {\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 className={clsx({ isLoading })}\n onScroll={handleScroll}\n onClick={handleContainerClick}\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","fuzzySort","rowA","rowB","dir","compareItems","_a","_b","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","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","nextRowElement","nextCell","handleRowKeyDown","useRowKeydown","columns","getValue","cellTableInstance","cellMeta","handleCellClick","props","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 } 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\n const itemRank = rankItem(searchString, searchValue)\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 {\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 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}) => {\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 className={clsx({ isLoading })}\n onScroll={handleScroll}\n onClick={handleContainerClick}\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","fuzzySort","rowA","rowB","dir","compareItems","_a","_b","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","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","nextRowElement","nextCell","handleRowKeyDown","useRowKeydown","columns","getValue","cellTableInstance","cellMeta","handleCellClick","props","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,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("../../../../../_virtual/jsx-runtime.cjs.js"),S=require("../context/ViewsContext.cjs.js");require("react");const D=require("../../../hooks/useLoadModule.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("lodash");require("react-toastify");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");const j=require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");const C=require("./ViewFormDialogFallback.cjs.js"),k=require("@ynput/ayon-react-components"),t="views-dialog",v=({})=>{const{editingView:e,editingViewData:o,isLoadingEditingViewData:s,setEditingView:u,viewType:r,projectName:n,currentUser:a,viewSettings:d,shareOptions:l,setSelectedView:c,onCreateView:w,onUpdateView:p,onDeleteView:g,api:V,dispatch:m}=S.useViewsContext(),{powerLicense:x}=j.usePowerpack(),[L,{isLoading:E,outdated:q}]=D.useLoadModule({addon:"powerpack",remote:"views",module:"ViewFormDialog",fallback:C,minVersion:"1.1.1",skip:!r||!x});return!r||!e?null:e&&q?i.jsxRuntimeExports.jsx(k.Dialog,{isOpen:!0,header:"Powerpack Update Required",onClose:()=>u(null),size:"sm",children:i.jsxRuntimeExports.jsxs("p",{children:["Please update the Powerpack addon to at least ",q.required]})}):i.jsxRuntimeExports.jsx(L,{editingView:{viewId:e===!0?void 0:e,...o||{}},isLoading:s,viewSettings:d,setEditingView:u,viewType:r,projectName:n,shareOptions:l,setSelected:c,onCreateView:w,onUpdateView:p,onDeleteView:g,api:V,dispatch:m,currentUser:a,pt:{dialog:{className:t}}})};exports.VIEWS_DIALOG_CLASS=t;exports.default=v;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("../../../../../_virtual/jsx-runtime.cjs.js"),S=require("../context/ViewsContext.cjs.js");require("react");const D=require("../../../hooks/useLoadModule.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("lodash");require("react-toastify");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");const j=require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");const C=require("./ViewFormDialogFallback.cjs.js"),k=require("@ynput/ayon-react-components"),t="views-dialog",v=({})=>{const{editingView:e,editingViewData:o,isLoadingEditingViewData:s,setEditingView:u,viewType:r,projectName:n,currentUser:a,viewSettings:d,shareOptions:l,setSelectedView:c,onCreateView:w,onUpdateView:p,onDeleteView:g,api:V,dispatch:m}=S.useViewsContext(),{powerLicense:x}=j.usePowerpack(),[L,{isLoading:E,outdated:q}]=D.useLoadModule({addon:"powerpack",remote:"views",module:"ViewFormDialog",fallback:C,minVersion:"1.1.1",skip:!r||!x});return!r||!e?null:e&&q?i.jsxRuntimeExports.jsx(k.Dialog,{isOpen:!0,header:"Powerpack Update Required",onClose:()=>u(null),size:"sm",children:i.jsxRuntimeExports.jsxs("p",{children:["Please update the Powerpack addon to at least ",q.required]})}):i.jsxRuntimeExports.jsx(L,{editingView:{viewId:e===!0?void 0:e,...o||{}},isLoading:s,viewSettings:d,setEditingView:u,viewType:r,projectName:n,shareOptions:l,setSelected:c,onCreateView:w,onUpdateView:p,onDeleteView:g,api:V,dispatch:m,currentUser:a,pt:{dialog:{className:t}}})};exports.VIEWS_DIALOG_CLASS=t;exports.default=v;
2
2
  //# sourceMappingURL=ViewsDialogContainer.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ViewsDialogContainer.cjs.js","sources":["../../../../../../src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.tsx"],"sourcesContent":["import { FC } from 'react'\nimport { useViewsContext } from '../context/ViewsContext'\nimport { useLoadModule } from '@shared/hooks'\nimport ViewFormDialogFallback from './ViewFormDialogFallback'\nimport { Dialog } from '@ynput/ayon-react-components'\nimport { usePowerpack } from '@shared/context'\n\nexport const VIEWS_DIALOG_CLASS = 'views-dialog' as const\n\ninterface ViewsDialogContainerProps {}\n\nconst ViewsDialogContainer: FC<ViewsDialogContainerProps> = ({}) => {\n const {\n editingView,\n editingViewData,\n isLoadingEditingViewData,\n setEditingView,\n viewType,\n projectName,\n currentUser,\n viewSettings,\n shareOptions,\n setSelectedView,\n onCreateView,\n onUpdateView,\n onDeleteView,\n api,\n dispatch,\n } = useViewsContext()\n\n const { powerLicense } = usePowerpack()\n\n const [ViewFormDialog, { isLoading: isLoadingQueries, outdated }] = useLoadModule({\n addon: 'powerpack',\n remote: 'views',\n module: 'ViewFormDialog',\n fallback: ViewFormDialogFallback,\n minVersion: '1.1.1',\n skip: !viewType || !powerLicense,\n })\n\n if (!viewType || !editingView) return null\n\n if (editingView && outdated) {\n return (\n <Dialog\n isOpen\n header=\"Powerpack Update Required\"\n onClose={() => setEditingView(null)}\n size=\"sm\"\n >\n <p>Please update the Powerpack addon to at least {outdated.required}</p>\n </Dialog>\n )\n }\n\n return (\n <ViewFormDialog\n editingView={{\n viewId: editingView === true ? undefined : editingView,\n ...(editingViewData || {}),\n }}\n isLoading={isLoadingEditingViewData}\n viewSettings={viewSettings}\n setEditingView={setEditingView}\n viewType={viewType}\n projectName={projectName}\n shareOptions={shareOptions}\n setSelected={setSelectedView}\n onCreateView={onCreateView}\n onUpdateView={onUpdateView}\n onDeleteView={onDeleteView}\n api={api}\n dispatch={dispatch}\n currentUser={currentUser}\n pt={{\n dialog: {\n className: VIEWS_DIALOG_CLASS,\n },\n }}\n />\n )\n}\n\nexport default ViewsDialogContainer\n"],"names":["VIEWS_DIALOG_CLASS","ViewsDialogContainer","editingView","editingViewData","isLoadingEditingViewData","setEditingView","viewType","projectName","currentUser","viewSettings","shareOptions","setSelectedView","onCreateView","onUpdateView","onDeleteView","api","dispatch","useViewsContext","powerLicense","usePowerpack","ViewFormDialog","isLoadingQueries","outdated","useLoadModule","ViewFormDialogFallback","jsx","Dialog"],"mappings":"8/LAOaA,EAAqB,eAI5BC,EAAsD,CAAC,CAAA,IAAO,CAC5D,KAAA,CACJ,YAAAC,EACA,gBAAAC,EACA,yBAAAC,EACA,eAAAC,EACA,SAAAC,EACA,YAAAC,EACA,YAAAC,EACA,aAAAC,EACA,aAAAC,EACA,gBAAAC,EACA,aAAAC,EACA,aAAAC,EACA,aAAAC,EACA,IAAAC,EACA,SAAAC,GACEC,kBAAgB,EAEd,CAAE,aAAAC,CAAa,EAAIC,eAAa,EAEhC,CAACC,EAAgB,CAAE,UAAWC,EAAkB,SAAAC,CAAS,CAAC,EAAIC,gBAAc,CAChF,MAAO,YACP,OAAQ,QACR,OAAQ,iBACR,SAAUC,EACV,WAAY,QACZ,KAAM,CAAClB,GAAY,CAACY,CAAA,CACrB,EAED,MAAI,CAACZ,GAAY,CAACJ,EAAoB,KAElCA,GAAeoB,EAEfG,EAAA,kBAAA,IAACC,EAAA,OAAA,CACC,OAAM,GACN,OAAO,4BACP,QAAS,IAAMrB,EAAe,IAAI,EAClC,KAAK,KAEL,kCAAC,IAAE,CAAA,SAAA,CAAA,iDAA+CiB,EAAS,QAAA,CAAS,CAAA,CAAA,CACtE,EAKFG,EAAA,kBAAA,IAACL,EAAA,CACC,YAAa,CACX,OAAQlB,IAAgB,GAAO,OAAYA,EAC3C,GAAIC,GAAmB,CAAA,CACzB,EACA,UAAWC,EACX,aAAAK,EACA,eAAAJ,EACA,SAAAC,EACA,YAAAC,EACA,aAAAG,EACA,YAAaC,EACb,aAAAC,EACA,aAAAC,EACA,aAAAC,EACA,IAAAC,EACA,SAAAC,EACA,YAAAR,EACA,GAAI,CACF,OAAQ,CACN,UAAWR,CAAA,CACb,CACF,CACF,CAEJ"}
1
+ {"version":3,"file":"ViewsDialogContainer.cjs.js","sources":["../../../../../../src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.tsx"],"sourcesContent":["import { FC } from 'react'\nimport { useViewsContext } from '../context/ViewsContext'\nimport { useLoadModule } from '@shared/hooks'\nimport ViewFormDialogFallback from './ViewFormDialogFallback'\nimport { Dialog } from '@ynput/ayon-react-components'\nimport { usePowerpack } from '@shared/context'\n\nexport const VIEWS_DIALOG_CLASS = 'views-dialog' as const\n\ninterface ViewsDialogContainerProps {}\n\nconst ViewsDialogContainer: FC<ViewsDialogContainerProps> = ({}) => {\n const {\n editingView,\n editingViewData,\n isLoadingEditingViewData,\n setEditingView,\n viewType,\n projectName,\n currentUser,\n viewSettings,\n shareOptions,\n setSelectedView,\n onCreateView,\n onUpdateView,\n onDeleteView,\n api,\n dispatch,\n } = useViewsContext()\n\n const { powerLicense } = usePowerpack()\n\n const [ViewFormDialog, { isLoading: isLoadingQueries, outdated }] = useLoadModule({\n addon: 'powerpack',\n remote: 'views',\n module: 'ViewFormDialog',\n fallback: ViewFormDialogFallback,\n minVersion: '1.1.1',\n skip: !viewType || !powerLicense,\n })\n\n if (!viewType || !editingView) return null\n\n if (editingView && outdated) {\n return (\n <Dialog\n isOpen\n header=\"Powerpack Update Required\"\n onClose={() => setEditingView(null)}\n size=\"sm\"\n >\n <p>Please update the Powerpack addon to at least {outdated.required}</p>\n </Dialog>\n )\n }\n\n return (\n <ViewFormDialog\n editingView={{\n viewId: editingView === true ? undefined : editingView,\n ...(editingViewData || {}),\n }}\n isLoading={isLoadingEditingViewData}\n viewSettings={viewSettings}\n setEditingView={setEditingView}\n viewType={viewType}\n projectName={projectName}\n shareOptions={shareOptions}\n setSelected={setSelectedView}\n onCreateView={onCreateView}\n onUpdateView={onUpdateView}\n onDeleteView={onDeleteView}\n api={api}\n dispatch={dispatch}\n currentUser={currentUser}\n pt={{\n dialog: {\n className: VIEWS_DIALOG_CLASS,\n },\n }}\n />\n )\n}\n\nexport default ViewsDialogContainer\n"],"names":["VIEWS_DIALOG_CLASS","ViewsDialogContainer","editingView","editingViewData","isLoadingEditingViewData","setEditingView","viewType","projectName","currentUser","viewSettings","shareOptions","setSelectedView","onCreateView","onUpdateView","onDeleteView","api","dispatch","useViewsContext","powerLicense","usePowerpack","ViewFormDialog","isLoadingQueries","outdated","useLoadModule","ViewFormDialogFallback","jsx","Dialog"],"mappings":"inMAOaA,EAAqB,eAI5BC,EAAsD,CAAC,CAAA,IAAO,CAC5D,KAAA,CACJ,YAAAC,EACA,gBAAAC,EACA,yBAAAC,EACA,eAAAC,EACA,SAAAC,EACA,YAAAC,EACA,YAAAC,EACA,aAAAC,EACA,aAAAC,EACA,gBAAAC,EACA,aAAAC,EACA,aAAAC,EACA,aAAAC,EACA,IAAAC,EACA,SAAAC,GACEC,kBAAgB,EAEd,CAAE,aAAAC,CAAa,EAAIC,eAAa,EAEhC,CAACC,EAAgB,CAAE,UAAWC,EAAkB,SAAAC,CAAS,CAAC,EAAIC,gBAAc,CAChF,MAAO,YACP,OAAQ,QACR,OAAQ,iBACR,SAAUC,EACV,WAAY,QACZ,KAAM,CAAClB,GAAY,CAACY,CAAA,CACrB,EAED,MAAI,CAACZ,GAAY,CAACJ,EAAoB,KAElCA,GAAeoB,EAEfG,EAAA,kBAAA,IAACC,EAAA,OAAA,CACC,OAAM,GACN,OAAO,4BACP,QAAS,IAAMrB,EAAe,IAAI,EAClC,KAAK,KAEL,kCAAC,IAAE,CAAA,SAAA,CAAA,iDAA+CiB,EAAS,QAAA,CAAS,CAAA,CAAA,CACtE,EAKFG,EAAA,kBAAA,IAACL,EAAA,CACC,YAAa,CACX,OAAQlB,IAAgB,GAAO,OAAYA,EAC3C,GAAIC,GAAmB,CAAA,CACzB,EACA,UAAWC,EACX,aAAAK,EACA,eAAAJ,EACA,SAAAC,EACA,YAAAC,EACA,aAAAG,EACA,YAAaC,EACb,aAAAC,EACA,aAAAC,EACA,aAAAC,EACA,IAAAC,EACA,SAAAC,EACA,YAAAR,EACA,GAAI,CACF,OAAQ,CACN,UAAWR,CAAA,CACb,CACF,CACF,CAEJ"}
@@ -54,6 +54,8 @@ import "../../../api/queries/attributes/getAttributes.es.js";
54
54
  import "../../../api/queries/attributes/updateAttributes.es.js";
55
55
  import "../../../api/queries/authentication/getAuthentication.es.js";
56
56
  import "../../../api/queries/cloud/cloud.es.js";
57
+ import "../../../api/queries/config/getConfig.es.js";
58
+ import "../../../api/queries/config/updateConfig.es.js";
57
59
  import "../../../api/queries/entities/getEntity.es.js";
58
60
  import "../../../api/queries/entities/getEntityPanel.es.js";
59
61
  import "../../../api/queries/entities/updateEntity.es.js";
@@ -111,7 +113,7 @@ import "custom-protocol-check";
111
113
  import "../../ProjectTreeTable/components/GroupSettingsFallback.es.js";
112
114
  import h from "./ViewFormDialogFallback.es.js";
113
115
  import { Dialog as j } from "@ynput/ayon-react-components";
114
- const v = "views-dialog", Uo = ({}) => {
116
+ const v = "views-dialog", qo = ({}) => {
115
117
  const {
116
118
  editingView: i,
117
119
  editingViewData: m,
@@ -178,6 +180,6 @@ const v = "views-dialog", Uo = ({}) => {
178
180
  };
179
181
  export {
180
182
  v as VIEWS_DIALOG_CLASS,
181
- Uo as default
183
+ qo as default
182
184
  };
183
185
  //# sourceMappingURL=ViewsDialogContainer.es.js.map