@ynput/ayon-frontend-shared 0.2.45 → 0.3.0

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 (385) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +72 -65
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +104 -102
  6. package/dist/Slicer.cjs.js +1 -1
  7. package/dist/Slicer.es.js +113 -4
  8. package/dist/Slicer.es.js.map +1 -1
  9. package/dist/Views.cjs.js.map +1 -1
  10. package/dist/Views.es.js.map +1 -1
  11. package/dist/_virtual/index.cjs10.js +1 -1
  12. package/dist/_virtual/index.cjs11.js +1 -1
  13. package/dist/_virtual/index.cjs12.js +1 -1
  14. package/dist/_virtual/index.es10.js +3 -3
  15. package/dist/_virtual/index.es11.js +5 -5
  16. package/dist/_virtual/index.es12.js +5 -5
  17. package/dist/components.cjs.js +1 -1
  18. package/dist/components.es.js +141 -139
  19. package/dist/components.es.js.map +1 -1
  20. package/dist/index.cjs.js +1 -1
  21. package/dist/index.es.js +61 -54
  22. package/dist/index.es.js.map +1 -1
  23. package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.cjs.js +5 -5
  24. package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.cjs.js.map +1 -1
  25. package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.es.js +313 -305
  26. package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.es.js.map +1 -1
  27. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  28. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  29. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  30. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  31. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  32. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  33. package/dist/shared/src/api/queries/views/updateViews.cjs.js +1 -1
  34. package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -1
  35. package/dist/shared/src/api/queries/views/updateViews.es.js +1 -1
  36. package/dist/shared/src/api/queries/views/updateViews.es.js.map +1 -1
  37. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  38. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  39. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +57 -50
  40. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  41. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  42. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  43. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +45 -38
  44. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  45. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  46. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  47. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +47 -40
  48. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  49. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  50. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  51. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +49 -42
  52. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  53. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  54. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  55. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +44 -37
  56. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  57. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  58. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  59. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +48 -41
  60. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  61. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +2 -0
  62. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -0
  63. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +279 -0
  64. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -0
  65. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  66. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  67. package/dist/shared/src/components/RenameForm/RenameForm.es.js +48 -41
  68. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  69. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  70. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  71. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +64 -57
  72. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  73. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  74. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  75. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +54 -47
  76. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  77. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  78. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  79. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +53 -46
  80. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  81. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  82. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  83. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +52 -45
  84. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  85. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +2 -2
  86. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  87. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +56 -49
  88. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  89. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  90. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  91. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +53 -46
  92. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  93. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  94. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  95. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +54 -47
  96. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  97. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  98. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  99. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +70 -63
  100. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  101. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  102. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  103. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +49 -42
  104. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  105. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  106. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  107. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +68 -61
  108. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  109. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  110. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  111. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +93 -86
  112. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  113. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
  114. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
  115. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +47 -40
  116. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
  117. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  118. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  119. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +46 -43
  120. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  121. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  122. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  123. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +49 -46
  124. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  125. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  126. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  127. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +49 -46
  128. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  129. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  130. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  131. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +49 -46
  132. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  133. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  134. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  135. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +50 -42
  136. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  137. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  138. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  139. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +55 -48
  140. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  141. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  142. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  143. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +70 -63
  144. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  145. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  146. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  147. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +47 -40
  148. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  149. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  150. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  151. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +468 -448
  152. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  153. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  154. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  155. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +96 -89
  156. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  157. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  158. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  159. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +47 -40
  160. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  161. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  162. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  163. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +57 -50
  164. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  165. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  166. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  167. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +54 -47
  168. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  169. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  170. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  171. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
  172. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
  173. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +63 -68
  174. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
  175. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  176. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  177. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +49 -41
  178. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  179. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  180. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  181. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +51 -44
  182. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  183. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  184. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  185. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +48 -41
  186. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  187. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  188. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  189. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +55 -48
  190. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  191. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  192. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  193. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +54 -47
  194. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  195. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  196. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  197. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +51 -44
  198. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  199. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  200. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  201. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +51 -44
  202. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  203. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  204. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  205. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +51 -44
  206. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  207. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  208. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  209. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +54 -47
  210. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  211. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  212. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  213. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +46 -39
  214. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  215. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  216. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  217. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +46 -39
  218. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  219. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  220. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  221. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +48 -41
  222. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  223. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  224. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  225. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +62 -55
  226. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  227. package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.cjs.js +1 -1
  228. package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.cjs.js.map +1 -1
  229. package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.es.js +11 -6
  230. package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.es.js.map +1 -1
  231. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +2 -2
  232. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  233. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +16 -13
  234. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  235. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
  236. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  237. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +342 -116
  238. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  239. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.cjs.js +2 -2
  240. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.cjs.js.map +1 -1
  241. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.es.js +47 -40
  242. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.es.js.map +1 -1
  243. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +2 -2
  244. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
  245. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +7 -7
  246. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
  247. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  248. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  249. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +69 -62
  250. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  251. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  252. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  253. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +51 -44
  254. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  255. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js +2 -2
  256. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js.map +1 -1
  257. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js +29 -33
  258. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js.map +1 -1
  259. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  260. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  261. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +118 -111
  262. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  263. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  264. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  265. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +49 -46
  266. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  267. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +2 -0
  268. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -0
  269. package/dist/shared/src/containers/Slicer/components/Slicer.es.js +82 -0
  270. package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -0
  271. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +27 -0
  272. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -0
  273. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +71 -0
  274. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -0
  275. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +10 -0
  276. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -0
  277. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +294 -0
  278. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -0
  279. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +2 -0
  280. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -0
  281. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +215 -0
  282. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -0
  283. package/dist/shared/src/containers/Slicer/hooks/useFiltersWithHierarchy.cjs.js.map +1 -0
  284. package/dist/shared/src/containers/Slicer/hooks/useFiltersWithHierarchy.es.js.map +1 -0
  285. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +2 -0
  286. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -0
  287. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +25 -0
  288. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -0
  289. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +2 -0
  290. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -0
  291. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +28 -0
  292. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -0
  293. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +2 -0
  294. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -0
  295. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +304 -0
  296. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -0
  297. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js +2 -0
  298. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -0
  299. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js +99 -0
  300. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -0
  301. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.cjs.js.map +1 -0
  302. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.es.js.map +1 -0
  303. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  304. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  305. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +95 -88
  306. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  307. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +2 -2
  308. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  309. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +32 -31
  310. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  311. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  312. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  313. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +125 -121
  314. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  315. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -1
  316. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
  317. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +47 -49
  318. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
  319. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  320. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  321. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +6 -5
  322. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  323. package/dist/shared/src/context/AddonContext.cjs.js.map +1 -1
  324. package/dist/shared/src/context/AddonContext.es.js.map +1 -1
  325. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  326. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  327. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  328. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  329. package/dist/shared/src/context/WebsocketContext.es.js +51 -44
  330. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  331. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  332. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  333. package/dist/shared/src/hooks/useLoadModules.cjs.js +1 -1
  334. package/dist/shared/src/hooks/useLoadModules.cjs.js.map +1 -1
  335. package/dist/shared/src/hooks/useLoadModules.es.js +7 -7
  336. package/dist/shared/src/hooks/useLoadModules.es.js.map +1 -1
  337. package/dist/shared/src/util/columnConfigConverter.cjs.js +1 -1
  338. package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
  339. package/dist/shared/src/util/columnConfigConverter.es.js +69 -46
  340. package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
  341. package/dist/shared/src/util/getGroupByDataType.cjs.js +1 -1
  342. package/dist/shared/src/util/getGroupByDataType.cjs.js.map +1 -1
  343. package/dist/shared/src/util/getGroupByDataType.es.js +4 -4
  344. package/dist/shared/src/util/getGroupByDataType.es.js.map +1 -1
  345. package/dist/types/api/queries/activities/getActivities.d.ts +1 -1
  346. package/dist/types/api/queries/entityLists/getLists.d.ts +183 -183
  347. package/dist/types/api/queries/links/getLinks.d.ts +1 -1
  348. package/dist/types/api/queries/overview/getOverview.d.ts +1 -1
  349. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +2 -2
  350. package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +28 -0
  351. package/dist/types/components/RemotePage/index.d.ts +1 -0
  352. package/dist/types/components/index.d.ts +31 -30
  353. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +0 -2
  354. package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +1 -4
  355. package/dist/types/containers/ProjectTreeTable/utils/restrictedEntity.d.ts +3 -3
  356. package/dist/types/containers/Slicer/components/Slicer.d.ts +9 -0
  357. package/dist/types/containers/Slicer/components/SlicerDropdownFallback.d.ts +7 -0
  358. package/dist/types/containers/Slicer/components/SlicerSearch.d.ts +6 -0
  359. package/dist/types/containers/Slicer/context/SlicerContext.d.ts +48 -0
  360. package/dist/types/containers/Slicer/hooks/index.d.ts +5 -0
  361. package/dist/types/containers/Slicer/{useFiltersWithHierarchy.d.ts → hooks/useFiltersWithHierarchy.d.ts} +1 -1
  362. package/dist/types/containers/Slicer/hooks/useProjectAnatomySlices.d.ts +51 -0
  363. package/dist/types/containers/Slicer/hooks/useSlicerAttributesData.d.ts +7 -0
  364. package/dist/types/containers/Slicer/hooks/useTableDataBySlice.d.ts +8 -0
  365. package/dist/types/containers/Slicer/hooks/useUsersTable.d.ts +10 -0
  366. package/dist/types/containers/Slicer/index.d.ts +4 -2
  367. package/dist/types/containers/Slicer/types.d.ts +35 -0
  368. package/dist/types/containers/Slicer/{createFilterFromSlicer.d.ts → util/createFilterFromSlicer.d.ts} +2 -2
  369. package/dist/types/containers/Slicer/util/index.d.ts +1 -0
  370. package/dist/types/containers/Views/ViewsMenuContainer/BaseViewsTags.d.ts +4 -1
  371. package/dist/types/containers/Views/hooks/pages/useOverviewViewSettings.d.ts +7 -1
  372. package/dist/types/containers/Views/index.d.ts +1 -1
  373. package/dist/types/containers/Views/utils/viewUpdateHelper.d.ts +1 -1
  374. package/dist/types/context/AddonContext.d.ts +10 -2
  375. package/dist/types/context/AddonProjectContext.d.ts +7 -12
  376. package/dist/types/hooks/useGroupByRemoteModules.d.ts +2 -1
  377. package/package.json +1 -1
  378. package/dist/shared/src/containers/Slicer/createFilterFromSlicer.cjs.js.map +0 -1
  379. package/dist/shared/src/containers/Slicer/createFilterFromSlicer.es.js.map +0 -1
  380. package/dist/shared/src/containers/Slicer/useFiltersWithHierarchy.cjs.js.map +0 -1
  381. package/dist/shared/src/containers/Slicer/useFiltersWithHierarchy.es.js.map +0 -1
  382. /package/dist/shared/src/containers/Slicer/{useFiltersWithHierarchy.cjs.js → hooks/useFiltersWithHierarchy.cjs.js} +0 -0
  383. /package/dist/shared/src/containers/Slicer/{useFiltersWithHierarchy.es.js → hooks/useFiltersWithHierarchy.es.js} +0 -0
  384. /package/dist/shared/src/containers/Slicer/{createFilterFromSlicer.cjs.js → util/createFilterFromSlicer.cjs.js} +0 -0
  385. /package/dist/shared/src/containers/Slicer/{createFilterFromSlicer.es.js → util/createFilterFromSlicer.es.js} +0 -0
@@ -9,10 +9,18 @@ import { compareItems as ut, rankItem as ft } from "@tanstack/match-sorter-utils
9
9
  import { useSimpleTableContext as ht } from "./context/SimpleTableContext.es.js";
10
10
  import { SimpleTableCellTemplate as Rt } from "./SimpleTableRowTemplate.es.js";
11
11
  import "../../components/AddonLoadingScreen/AddonLoadingScreen.es.js";
12
+ import "../../../../node_modules/match-sorter/dist/match-sorter.esm.es.js";
12
13
  import "@ynput/ayon-react-components";
13
- import "../../components/ThumbnailSimple/ThumbnailSimple.es.js";
14
- import { EmptyPlaceholder as xt } from "../../components/EmptyPlaceholder/EmptyPlaceholder.es.js";
15
- import "../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.es.js";
14
+ import "../../components/AccessSearchInput/AccessSearchInput.styled.es.js";
15
+ import "../../components/AccessUser/AccessUser.es.js";
16
+ import "lodash";
17
+ import "../../components/AttributeEditor/components/MinMaxField.es.js";
18
+ import "react-dom";
19
+ import "@dnd-kit/core";
20
+ import "@dnd-kit/sortable";
21
+ import "../../components/EnumEditor/EnumEditor.styled.es.js";
22
+ import "../../components/Badge/Badge.es.js";
23
+ import "../../components/Chips/Chips.es.js";
16
24
  import "react-toastify";
17
25
  import "../../api/base/client.es.js";
18
26
  import "../../api/generated/graphql.es.js";
@@ -99,22 +107,23 @@ import "../../api/queries/views/getViews.es.js";
99
107
  import "../../api/queries/views/updateViews.es.js";
100
108
  import "../../api/queries/watchers/getWatchers.es.js";
101
109
  import "../../api/queries/uris/getUris.es.js";
102
- import "@dnd-kit/core";
103
- import "@dnd-kit/sortable";
104
- import "../../components/ReviewablesList/ReviewablesList.styled.es.js";
110
+ import "../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js";
111
+ import "../../components/DetailsPanelDetails/DetailsPanelDetails.es.js";
112
+ import "../../components/DetailsPanelDetails/DetailsSection.es.js";
113
+ import "../../components/DetailsPanelDetails/FieldLabel.es.js";
114
+ import "../../components/EarlyPreview/EarlyPreview.es.js";
115
+ import { EmptyPlaceholder as xt } from "../../components/EmptyPlaceholder/EmptyPlaceholder.es.js";
116
+ import "../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.es.js";
105
117
  import "../ContextMenu/ContextMenuContext.es.js";
106
118
  /* empty css */
107
- import "lodash";
108
- import "uuid";
109
- import "../../util/pubsub.es.js";
110
- import "../../components/ReviewablesList/ReviewablesUpload.styled.es.js";
111
- import "axios";
119
+ import "../Feed/context/FeedContext.es.js";
120
+ import "../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.es.js";
121
+ import "../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.es.js";
112
122
  import "../../context/RemoteModulesContext.es.js";
113
123
  import "../../context/DetailsPanelContext.es.js";
114
124
  import "../../context/ThumbnailUploaderContext.es.js";
115
125
  import "../../context/SettingsPanelContext.es.js";
116
126
  import "../../context/pip/PiPProvider.es.js";
117
- import "react-dom";
118
127
  import "../../context/pip/PiPWrapper.es.js";
119
128
  import "../../context/AddonProjectContext.es.js";
120
129
  import "../../context/AddonContext.es.js";
@@ -126,14 +135,6 @@ import "../../context/GlobalContext.es.js";
126
135
  import "../../context/ProjectContext.es.js";
127
136
  import "../../context/ProjectFoldersContext.es.js";
128
137
  import "../../context/UriContext.es.js";
129
- import "../../components/ReviewableCard/ReviewableCard.es.js";
130
- import "../../components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
131
- import "../../components/FileThumbnail/FileThumbnail.es.js";
132
- import "../../components/Thumbnail/Thumbnail.styled.es.js";
133
- import "../../components/Thumbnail/StackedThumbnails.es.js";
134
- import "../Feed/context/FeedContext.es.js";
135
- import "../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.es.js";
136
- import "../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.es.js";
137
138
  import "../Feed/components/FileUploadPreview/FileUploadPreview.styled.es.js";
138
139
  import "../Feed/components/FileUploadPreview/Mimes/TextMime.es.js";
139
140
  import "react-markdown";
@@ -149,6 +150,8 @@ import "../Feed/components/CommentInput/quillToMarkdown.es.js";
149
150
  import "../Feed/components/ActivityComment/ActivityComment.styled.es.js";
150
151
  import "../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.es.js";
151
152
  import "../Feed/components/ActivityReference/ActivityReference.styled.es.js";
153
+ import "uuid";
154
+ import "../../util/pubsub.es.js";
152
155
  import "react-router-dom";
153
156
  import "../Feed/components/ActivityStatus/ActivityStatus.es.js";
154
157
  import "../Feed/components/ActivityHeader/ActivityHeader.styled.es.js";
@@ -197,6 +200,9 @@ import "../ProjectTreeTable/widgets/LoadMoreWidget.es.js";
197
200
  import "../ProjectTreeTable/components/HeaderActionButton.es.js";
198
201
  import "../ProjectTreeTable/components/ColumnHeaderMenu.es.js";
199
202
  import "../EntityPickerDialog/EntityPickerDialog.es.js";
203
+ import "../Slicer/hooks/useTableDataBySlice.es.js";
204
+ import "../Slicer/components/SlicerSearch.es.js";
205
+ import "../Slicer/context/SlicerContext.es.js";
200
206
  import "../DetailsPanel/DetailsPanel.styled.es.js";
201
207
  import "../DetailsPanel/FeedFilters/FeedFilters.styled.es.js";
202
208
  import "../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.es.js";
@@ -212,42 +218,39 @@ import "../Views/Views.styled.es.js";
212
218
  import "../Views/ViewsMenuContainer/ViewsMenuContainer.es.js";
213
219
  import "../Views/ViewsMenu/ViewsMenu.es.js";
214
220
  import "../../components/EntityPanelUploader/EntityPanelUploader.styled.es.js";
215
- import "../../components/SimpleFormDialog/SimpleFormDialog.es.js";
221
+ import "axios";
222
+ import "../../components/ReviewablesList/ReviewablesList.styled.es.js";
223
+ import "../../components/ReviewablesList/ReviewablesUpload.styled.es.js";
216
224
  import "../../components/EntityPath/EntityPath.styled.es.js";
217
225
  import "../../components/EntityPath/SegmentProvider.es.js";
218
- import "../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js";
219
- import "../../components/DetailsPanelDetails/DetailsPanelDetails.es.js";
220
- import "../../components/DetailsPanelDetails/DetailsSection.es.js";
221
- import "../../components/DetailsPanelDetails/FieldLabel.es.js";
222
- import "../../components/Watchers/Watchers.es.js";
223
- import "../../components/ProjectTableSettings/ProjectTableSettings.es.js";
226
+ import "../../components/FeaturedVersionOrder/FeaturedVersionOrder.es.js";
227
+ import "../../components/Feedback/FeedbackContext.es.js";
228
+ import "../../components/Feedback/SupportBubble.es.js";
229
+ import "../../components/FileThumbnail/FileThumbnail.es.js";
230
+ import "../../components/LegacyBadge/LegacyBadge.es.js";
224
231
  import "../../components/Powerpack/PowerpackButton.es.js";
225
232
  import "../../components/Powerpack/PricingLink.es.js";
226
233
  import "../../components/Powerpack/PowerpackDialog.styled.es.js";
227
234
  import "../../components/Powerpack/CTAButton.es.js";
228
235
  import "../../components/Powerpack/RequiredAddonVersion.es.js";
236
+ import "../../components/ProjectTableSettings/ProjectTableSettings.es.js";
229
237
  import "../../components/SizeSlider/SizeSlider.es.js";
238
+ import "../../components/ReviewableCard/ReviewableCard.es.js";
239
+ import "../../components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
240
+ import "../../components/SearchFilter/filterDates.es.js";
230
241
  import "../../components/SettingsPanel/SettingsPanel.es.js";
231
242
  import "../../components/SettingsPanel/SettingsPanelItemTemplate.es.js";
232
- import "../../components/AttributeEditor/components/MinMaxField.es.js";
233
- import "../../components/EnumEditor/EnumEditor.styled.es.js";
234
- import "../../components/SearchFilter/filterDates.es.js";
235
- import "../../components/FeaturedVersionOrder/FeaturedVersionOrder.es.js";
236
- import "../../components/Badge/Badge.es.js";
237
- import "../../components/VersionUploader/components/UploadVersionDialog.es.js";
238
- import "../../components/VersionUploader/context/VersionUploadContext.es.js";
239
- import "../../components/Feedback/FeedbackContext.es.js";
240
- import "../../components/Feedback/SupportBubble.es.js";
241
- import "../../components/Chips/Chips.es.js";
242
- import "../../components/StyledLink/StyledLink.es.js";
243
243
  import "../../components/ShareOptionIcon/ShareOptionIcon.es.js";
244
- import "../../components/AccessUser/AccessUser.es.js";
245
- import "../../../../node_modules/match-sorter/dist/match-sorter.esm.es.js";
246
- import "../../components/AccessSearchInput/AccessSearchInput.styled.es.js";
247
- import "../../components/TableGridSwitch/TableGridSwitch.es.js";
244
+ import "../../components/SimpleFormDialog/SimpleFormDialog.es.js";
248
245
  import "../../components/SortingSetting/SortingSetting.styled.es.js";
249
- import "../../components/EarlyPreview/EarlyPreview.es.js";
250
- import "../../components/LegacyBadge/LegacyBadge.es.js";
246
+ import "../../components/StyledLink/StyledLink.es.js";
247
+ import "../../components/TableGridSwitch/TableGridSwitch.es.js";
248
+ import "../../components/Thumbnail/Thumbnail.styled.es.js";
249
+ import "../../components/Thumbnail/StackedThumbnails.es.js";
250
+ import "../../components/ThumbnailSimple/ThumbnailSimple.es.js";
251
+ import "../../components/VersionUploader/components/UploadVersionDialog.es.js";
252
+ import "../../components/VersionUploader/context/VersionUploadContext.es.js";
253
+ import "../../components/Watchers/Watchers.es.js";
251
254
  import "../../components/Menu/Menu.styled.es.js";
252
255
  import "../../components/Menu/MenuItem.es.js";
253
256
  const bt = (e, m, c, g) => {
@@ -282,7 +285,7 @@ function yt(e, m, c) {
282
285
  g.push(e[a]);
283
286
  return g;
284
287
  }
285
- const mm = ({
288
+ const lm = ({
286
289
  data: e = [],
287
290
  isLoading: m,
288
291
  error: c,
@@ -570,6 +573,6 @@ const mm = ({
570
573
  );
571
574
  };
572
575
  export {
573
- mm as default
576
+ lm as default
574
577
  };
575
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","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","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","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","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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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../../../../_virtual/jsx-runtime.cjs.js"),u=require("react"),f=require("../../SimpleTable/SimpleTable.cjs.js"),v=require("../../SimpleTable/context/SimpleTableContext.cjs.js"),x=require("../../SimpleTable/SimpleTable.styled.cjs.js");require("../../SimpleTable/SimpleTableRowTemplate.cjs.js");const y=require("../hooks/useTableDataBySlice.cjs.js"),w=require("./SlicerSearch.cjs.js"),D=require("clsx"),L=require("../context/SlicerContext.cjs.js"),O=({sliceFields:n=[],entityTypes:p=["task"],persistFieldId:i})=>{const[r,d]=u.useState(""),{SlicerDropdown:S,rowSelection:b,setRowSelection:g,onRowSelectionChange:h,expanded:m,setExpanded:j,onExpandedChange:T}=L.useSlicerContext(),{sliceOptions:s,sliceType:a,handleSliceTypeChange:l,table:{data:C,isExpandable:R},sliceMap:c,isLoading:q}=y.default({sliceFields:n,entityTypes:p}),E=e=>{g(e),h?.(e,c)};return u.useEffect(()=>{const e=a.startsWith("attrib.");!n.some(o=>o.value===a)&&!(e&&n.some(o=>o.value==="attributes"))&&l(n[0].value,!1,!1)},[]),t.jsxRuntimeExports.jsxs(x.Container,{children:[t.jsxRuntimeExports.jsxs(x.Header,{children:[t.jsxRuntimeExports.jsx(S,{options:s||[],value:[a],sliceTypes:n.map(e=>e.value),onChange:e=>l(e[0],i===a,i===e[0]),className:D("slicer-dropdown",{"single-option":s.length===1}),disableOpen:s.length===1}),t.jsxRuntimeExports.jsx(w,{value:r,onChange:d})]}),t.jsxRuntimeExports.jsx(v.SimpleTableProvider,{rowSelection:b,onRowSelectionChange:E,expanded:m,setExpanded:j,onExpandedChange:T,data:c,children:t.jsxRuntimeExports.jsx(f,{data:C,isExpandable:R,isLoading:q,forceUpdateTable:a,globalFilter:r})})]})};exports.Slicer=O;
2
+ //# sourceMappingURL=Slicer.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Slicer.cjs.js","sources":["../../../../../../src/containers/Slicer/components/Slicer.tsx"],"sourcesContent":["import { FC, useEffect, useState } from 'react'\nimport SimpleTable, { Container, Header } from '@shared/containers/SimpleTable'\n\nimport useTableDataBySlice from '../hooks/useTableDataBySlice'\nimport SlicerSearch from './SlicerSearch'\nimport clsx from 'clsx'\nimport { SliceType } from '@shared/containers/Slicer'\nimport { SimpleTableProvider } from '@shared/containers/SimpleTable'\nimport { RowSelectionState } from '@tanstack/react-table'\nimport { SliceTypeField } from '../types'\nimport { useSlicerContext } from '../context/SlicerContext'\n\nexport interface SlicerProps {\n sliceFields: SliceTypeField[]\n entityTypes?: string[] // entity types\n persistFieldId?: SliceType // when changing slice type, leavePersistentSlice the selected field\n}\n\nexport const Slicer: FC<SlicerProps> = ({\n sliceFields = [],\n entityTypes = ['task'],\n persistFieldId,\n}) => {\n const [globalFilter, setGlobalFilter] = useState('')\n const {\n SlicerDropdown,\n rowSelection,\n setRowSelection,\n onRowSelectionChange,\n expanded,\n setExpanded,\n onExpandedChange,\n } = useSlicerContext()\n\n const {\n sliceOptions,\n sliceType,\n handleSliceTypeChange,\n table: { data: sliceTableData, isExpandable },\n sliceMap,\n isLoading: isLoadingSliceTableData,\n } = useTableDataBySlice({ sliceFields, entityTypes })\n\n const handleSelectionChange = (s: RowSelectionState) => {\n setRowSelection(s)\n onRowSelectionChange?.(s, sliceMap)\n }\n\n // on first mount, check that current sliceType is in sliceFields, if not, change to first option\n useEffect(() => {\n const isAttribute = sliceType.startsWith('attrib.')\n if (\n !sliceFields.some((field) => field.value === sliceType) &&\n !(isAttribute && sliceFields.some((field) => field.value === 'attributes'))\n ) {\n handleSliceTypeChange(sliceFields[0].value, false, false)\n }\n }, [])\n\n return (\n <Container>\n <Header>\n <SlicerDropdown\n options={sliceOptions || []}\n value={[sliceType]}\n sliceTypes={sliceFields.map((field) => field.value)}\n onChange={(value: any) =>\n handleSliceTypeChange(\n value[0] as SliceType,\n persistFieldId === sliceType,\n persistFieldId === value[0],\n )\n }\n className={clsx('slicer-dropdown', { 'single-option': sliceOptions.length === 1 })}\n disableOpen={sliceOptions.length === 1}\n />\n <SlicerSearch value={globalFilter} onChange={setGlobalFilter} />\n </Header>\n <SimpleTableProvider\n {...{\n rowSelection,\n onRowSelectionChange: handleSelectionChange,\n expanded,\n setExpanded,\n onExpandedChange,\n data: sliceMap,\n }}\n >\n <SimpleTable\n data={sliceTableData}\n isExpandable={isExpandable}\n isLoading={isLoadingSliceTableData}\n forceUpdateTable={sliceType}\n globalFilter={globalFilter}\n />\n </SimpleTableProvider>\n </Container>\n )\n}\n"],"names":["Slicer","sliceFields","entityTypes","persistFieldId","globalFilter","setGlobalFilter","useState","SlicerDropdown","rowSelection","setRowSelection","onRowSelectionChange","expanded","setExpanded","onExpandedChange","useSlicerContext","sliceOptions","sliceType","handleSliceTypeChange","sliceTableData","isExpandable","sliceMap","isLoadingSliceTableData","useTableDataBySlice","handleSelectionChange","s","useEffect","isAttribute","field","Container","jsxs","Header","jsx","value","clsx","SlicerSearch","SimpleTableProvider","SimpleTable"],"mappings":"iiBAkBaA,EAA0B,CAAC,CACtC,YAAAC,EAAc,CAAA,EACd,YAAAC,EAAc,CAAC,MAAM,EACrB,eAAAC,CACF,IAAM,CACJ,KAAM,CAACC,EAAcC,CAAe,EAAIC,EAAAA,SAAS,EAAE,EAC7C,CACJ,eAAAC,EACA,aAAAC,EACA,gBAAAC,EACA,qBAAAC,EACA,SAAAC,EACA,YAAAC,EACA,iBAAAC,CAAA,EACEC,mBAAA,EAEE,CACJ,aAAAC,EACA,UAAAC,EACA,sBAAAC,EACA,MAAO,CAAE,KAAMC,EAAgB,aAAAC,CAAA,EAC/B,SAAAC,EACA,UAAWC,CAAA,EACTC,UAAoB,CAAE,YAAArB,EAAa,YAAAC,EAAa,EAE9CqB,EAAyBC,GAAyB,CACtDf,EAAgBe,CAAC,EACjBd,IAAuBc,EAAGJ,CAAQ,CACpC,EAGAK,OAAAA,EAAAA,UAAU,IAAM,CACd,MAAMC,EAAcV,EAAU,WAAW,SAAS,EAEhD,CAACf,EAAY,KAAM0B,GAAUA,EAAM,QAAUX,CAAS,GACtD,EAAEU,GAAezB,EAAY,KAAM0B,GAAUA,EAAM,QAAU,YAAY,IAEzEV,EAAsBhB,EAAY,CAAC,EAAE,MAAO,GAAO,EAAK,CAE5D,EAAG,CAAA,CAAE,2BAGF2B,YAAA,CACC,SAAA,CAAAC,yBAACC,EAAAA,OAAA,CACC,SAAA,CAAAC,EAAAA,kBAAAA,IAACxB,EAAA,CACC,QAASQ,GAAgB,CAAA,EACzB,MAAO,CAACC,CAAS,EACjB,WAAYf,EAAY,IAAK0B,GAAUA,EAAM,KAAK,EAClD,SAAWK,GACTf,EACEe,EAAM,CAAC,EACP7B,IAAmBa,EACnBb,IAAmB6B,EAAM,CAAC,CAAA,EAG9B,UAAWC,EAAK,kBAAmB,CAAE,gBAAiBlB,EAAa,SAAW,EAAG,EACjF,YAAaA,EAAa,SAAW,CAAA,CAAA,EAEvCgB,EAAAA,kBAAAA,IAACG,EAAA,CAAa,MAAO9B,EAAc,SAAUC,CAAA,CAAiB,CAAA,EAChE,EACA0B,EAAAA,kBAAAA,IAACI,EAAAA,oBAAA,CAEG,aAAA3B,EACA,qBAAsBe,EACtB,SAAAZ,EACA,YAAAC,EACA,iBAAAC,EACA,KAAMO,EAGR,SAAAW,EAAAA,kBAAAA,IAACK,EAAA,CACC,KAAMlB,EACN,aAAAC,EACA,UAAWE,EACX,iBAAkBL,EAClB,aAAAZ,CAAA,CAAA,CACF,CAAA,CACF,EACF,CAEJ"}
@@ -0,0 +1,82 @@
1
+ import { j as o } from "../../../../../_virtual/jsx-runtime.es.js";
2
+ import { useState as v, useEffect as w } from "react";
3
+ import E from "../../SimpleTable/SimpleTable.es.js";
4
+ import { SimpleTableProvider as y } from "../../SimpleTable/context/SimpleTableContext.es.js";
5
+ import { Container as D, Header as R } from "../../SimpleTable/SimpleTable.styled.es.js";
6
+ import "../../SimpleTable/SimpleTableRowTemplate.es.js";
7
+ import L from "../hooks/useTableDataBySlice.es.js";
8
+ import O from "./SlicerSearch.es.js";
9
+ import k from "clsx";
10
+ import { useSlicerContext as A } from "../context/SlicerContext.es.js";
11
+ const J = ({
12
+ sliceFields: a = [],
13
+ entityTypes: c = ["task"],
14
+ persistFieldId: r
15
+ }) => {
16
+ const [l, m] = v(""), {
17
+ SlicerDropdown: d,
18
+ rowSelection: h,
19
+ setRowSelection: S,
20
+ onRowSelectionChange: f,
21
+ expanded: x,
22
+ setExpanded: b,
23
+ onExpandedChange: g
24
+ } = A(), {
25
+ sliceOptions: n,
26
+ sliceType: t,
27
+ handleSliceTypeChange: s,
28
+ table: { data: u, isExpandable: C },
29
+ sliceMap: p,
30
+ isLoading: T
31
+ } = L({ sliceFields: a, entityTypes: c }), j = (e) => {
32
+ S(e), f?.(e, p);
33
+ };
34
+ return w(() => {
35
+ const e = t.startsWith("attrib.");
36
+ !a.some((i) => i.value === t) && !(e && a.some((i) => i.value === "attributes")) && s(a[0].value, !1, !1);
37
+ }, []), /* @__PURE__ */ o.jsxs(D, { children: [
38
+ /* @__PURE__ */ o.jsxs(R, { children: [
39
+ /* @__PURE__ */ o.jsx(
40
+ d,
41
+ {
42
+ options: n || [],
43
+ value: [t],
44
+ sliceTypes: a.map((e) => e.value),
45
+ onChange: (e) => s(
46
+ e[0],
47
+ r === t,
48
+ r === e[0]
49
+ ),
50
+ className: k("slicer-dropdown", { "single-option": n.length === 1 }),
51
+ disableOpen: n.length === 1
52
+ }
53
+ ),
54
+ /* @__PURE__ */ o.jsx(O, { value: l, onChange: m })
55
+ ] }),
56
+ /* @__PURE__ */ o.jsx(
57
+ y,
58
+ {
59
+ rowSelection: h,
60
+ onRowSelectionChange: j,
61
+ expanded: x,
62
+ setExpanded: b,
63
+ onExpandedChange: g,
64
+ data: p,
65
+ children: /* @__PURE__ */ o.jsx(
66
+ E,
67
+ {
68
+ data: u,
69
+ isExpandable: C,
70
+ isLoading: T,
71
+ forceUpdateTable: t,
72
+ globalFilter: l
73
+ }
74
+ )
75
+ }
76
+ )
77
+ ] });
78
+ };
79
+ export {
80
+ J as Slicer
81
+ };
82
+ //# sourceMappingURL=Slicer.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Slicer.es.js","sources":["../../../../../../src/containers/Slicer/components/Slicer.tsx"],"sourcesContent":["import { FC, useEffect, useState } from 'react'\nimport SimpleTable, { Container, Header } from '@shared/containers/SimpleTable'\n\nimport useTableDataBySlice from '../hooks/useTableDataBySlice'\nimport SlicerSearch from './SlicerSearch'\nimport clsx from 'clsx'\nimport { SliceType } from '@shared/containers/Slicer'\nimport { SimpleTableProvider } from '@shared/containers/SimpleTable'\nimport { RowSelectionState } from '@tanstack/react-table'\nimport { SliceTypeField } from '../types'\nimport { useSlicerContext } from '../context/SlicerContext'\n\nexport interface SlicerProps {\n sliceFields: SliceTypeField[]\n entityTypes?: string[] // entity types\n persistFieldId?: SliceType // when changing slice type, leavePersistentSlice the selected field\n}\n\nexport const Slicer: FC<SlicerProps> = ({\n sliceFields = [],\n entityTypes = ['task'],\n persistFieldId,\n}) => {\n const [globalFilter, setGlobalFilter] = useState('')\n const {\n SlicerDropdown,\n rowSelection,\n setRowSelection,\n onRowSelectionChange,\n expanded,\n setExpanded,\n onExpandedChange,\n } = useSlicerContext()\n\n const {\n sliceOptions,\n sliceType,\n handleSliceTypeChange,\n table: { data: sliceTableData, isExpandable },\n sliceMap,\n isLoading: isLoadingSliceTableData,\n } = useTableDataBySlice({ sliceFields, entityTypes })\n\n const handleSelectionChange = (s: RowSelectionState) => {\n setRowSelection(s)\n onRowSelectionChange?.(s, sliceMap)\n }\n\n // on first mount, check that current sliceType is in sliceFields, if not, change to first option\n useEffect(() => {\n const isAttribute = sliceType.startsWith('attrib.')\n if (\n !sliceFields.some((field) => field.value === sliceType) &&\n !(isAttribute && sliceFields.some((field) => field.value === 'attributes'))\n ) {\n handleSliceTypeChange(sliceFields[0].value, false, false)\n }\n }, [])\n\n return (\n <Container>\n <Header>\n <SlicerDropdown\n options={sliceOptions || []}\n value={[sliceType]}\n sliceTypes={sliceFields.map((field) => field.value)}\n onChange={(value: any) =>\n handleSliceTypeChange(\n value[0] as SliceType,\n persistFieldId === sliceType,\n persistFieldId === value[0],\n )\n }\n className={clsx('slicer-dropdown', { 'single-option': sliceOptions.length === 1 })}\n disableOpen={sliceOptions.length === 1}\n />\n <SlicerSearch value={globalFilter} onChange={setGlobalFilter} />\n </Header>\n <SimpleTableProvider\n {...{\n rowSelection,\n onRowSelectionChange: handleSelectionChange,\n expanded,\n setExpanded,\n onExpandedChange,\n data: sliceMap,\n }}\n >\n <SimpleTable\n data={sliceTableData}\n isExpandable={isExpandable}\n isLoading={isLoadingSliceTableData}\n forceUpdateTable={sliceType}\n globalFilter={globalFilter}\n />\n </SimpleTableProvider>\n </Container>\n )\n}\n"],"names":["Slicer","sliceFields","entityTypes","persistFieldId","globalFilter","setGlobalFilter","useState","SlicerDropdown","rowSelection","setRowSelection","onRowSelectionChange","expanded","setExpanded","onExpandedChange","useSlicerContext","sliceOptions","sliceType","handleSliceTypeChange","sliceTableData","isExpandable","sliceMap","isLoadingSliceTableData","useTableDataBySlice","handleSelectionChange","s","useEffect","isAttribute","field","Container","jsxs","Header","jsx","value","clsx","SlicerSearch","SimpleTableProvider","SimpleTable"],"mappings":";;;;;;;;;;AAkBO,MAAMA,IAA0B,CAAC;AAAA,EACtC,aAAAC,IAAc,CAAA;AAAA,EACd,aAAAC,IAAc,CAAC,MAAM;AAAA,EACrB,gBAAAC;AACF,MAAM;AACJ,QAAM,CAACC,GAAcC,CAAe,IAAIC,EAAS,EAAE,GAC7C;AAAA,IACJ,gBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC;AAAA,IACA,kBAAAC;AAAA,EAAA,IACEC,EAAA,GAEE;AAAA,IACJ,cAAAC;AAAA,IACA,WAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,OAAO,EAAE,MAAMC,GAAgB,cAAAC,EAAA;AAAA,IAC/B,UAAAC;AAAA,IACA,WAAWC;AAAA,EAAA,IACTC,EAAoB,EAAE,aAAArB,GAAa,aAAAC,GAAa,GAE9CqB,IAAwB,CAACC,MAAyB;AACtD,IAAAf,EAAgBe,CAAC,GACjBd,IAAuBc,GAAGJ,CAAQ;AAAA,EACpC;AAGA,SAAAK,EAAU,MAAM;AACd,UAAMC,IAAcV,EAAU,WAAW,SAAS;AAClD,IACE,CAACf,EAAY,KAAK,CAAC0B,MAAUA,EAAM,UAAUX,CAAS,KACtD,EAAEU,KAAezB,EAAY,KAAK,CAAC0B,MAAUA,EAAM,UAAU,YAAY,MAEzEV,EAAsBhB,EAAY,CAAC,EAAE,OAAO,IAAO,EAAK;AAAA,EAE5D,GAAG,CAAA,CAAE,0BAGF2B,GAAA,EACC,UAAA;AAAA,IAAAC,gBAAAA,OAACC,GAAA,EACC,UAAA;AAAA,MAAAC,gBAAAA,EAAAA;AAAAA,QAACxB;AAAA,QAAA;AAAA,UACC,SAASQ,KAAgB,CAAA;AAAA,UACzB,OAAO,CAACC,CAAS;AAAA,UACjB,YAAYf,EAAY,IAAI,CAAC0B,MAAUA,EAAM,KAAK;AAAA,UAClD,UAAU,CAACK,MACTf;AAAA,YACEe,EAAM,CAAC;AAAA,YACP7B,MAAmBa;AAAA,YACnBb,MAAmB6B,EAAM,CAAC;AAAA,UAAA;AAAA,UAG9B,WAAWC,EAAK,mBAAmB,EAAE,iBAAiBlB,EAAa,WAAW,GAAG;AAAA,UACjF,aAAaA,EAAa,WAAW;AAAA,QAAA;AAAA,MAAA;AAAA,MAEvCgB,gBAAAA,EAAAA,IAACG,GAAA,EAAa,OAAO9B,GAAc,UAAUC,EAAA,CAAiB;AAAA,IAAA,GAChE;AAAA,IACA0B,gBAAAA,EAAAA;AAAAA,MAACI;AAAA,MAAA;AAAA,QAEG,cAAA3B;AAAA,QACA,sBAAsBe;AAAA,QACtB,UAAAZ;AAAA,QACA,aAAAC;AAAA,QACA,kBAAAC;AAAA,QACA,MAAMO;AAAA,QAGR,UAAAW,gBAAAA,EAAAA;AAAAA,UAACK;AAAA,UAAA;AAAA,YACC,MAAMlB;AAAA,YACN,cAAAC;AAAA,YACA,WAAWE;AAAA,YACX,kBAAkBL;AAAA,YAClB,cAAAZ;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;"}
@@ -0,0 +1,27 @@
1
+ "use strict";const a=require("../../../../../_virtual/jsx-runtime.cjs.js");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 c=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");const s=require("@ynput/ayon-react-components"),l=require("react"),q=require("styled-components"),d=q(s.Dropdown)`
2
+ height: 28px;
3
+
4
+ .template-value {
5
+ border: 0;
6
+
7
+ .icon:not(.control) {
8
+ display: none;
9
+ }
10
+ }
11
+
12
+ &.single-option {
13
+ .control {
14
+ display: none;
15
+ }
16
+
17
+ .button {
18
+ .template-value {
19
+ cursor: default;
20
+ }
21
+ &:hover {
22
+ background-color: unset;
23
+ }
24
+ }
25
+ }
26
+ `,p=l.forwardRef(({sliceTypes:h,...r},o)=>{const{setPowerpackDialog:t}=c.usePowerpack(),i=[...r.options].map(e=>e.value==="hierarchy"?e:{...e,icon:"bolt"}),n=(e,u)=>{e[0]!=="hierarchy"&&t("slicer"),r?.onChange?.(["hierarchy"],u)};return a.jsxRuntimeExports.jsx(d,{...r,"data-tooltip":"Power feature - Slicer","data-tooltip-delay":0,onChange:n,options:i,ref:o})});module.exports=p;
27
+ //# sourceMappingURL=SlicerDropdownFallback.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlicerDropdownFallback.cjs.js","sources":["../../../../../../src/containers/Slicer/components/SlicerDropdownFallback.tsx"],"sourcesContent":["import { usePowerpack } from '@shared/context'\nimport { SliceType } from '@shared/containers'\nimport { Dropdown, DropdownProps, DropdownRef } from '@ynput/ayon-react-components'\nimport { forwardRef } from 'react'\nimport styled from 'styled-components'\n\nconst StyledDropdown = styled(Dropdown)`\n height: 28px;\n\n .template-value {\n border: 0;\n\n .icon:not(.control) {\n display: none;\n }\n }\n\n &.single-option {\n .control {\n display: none;\n }\n\n .button {\n .template-value {\n cursor: default;\n }\n &:hover {\n background-color: unset;\n }\n }\n }\n`\n\nexport interface SlicerDropdownFallbackProps extends DropdownProps {\n sliceTypes: SliceType[]\n}\n\nconst SlicerDropdownFallback = forwardRef<DropdownRef, SlicerDropdownFallbackProps>(\n ({ sliceTypes, ...props }, ref) => {\n const { setPowerpackDialog } = usePowerpack()\n\n const options = [...props.options].map((option) => {\n if (option.value === 'hierarchy') return option\n else\n return {\n ...option,\n icon: 'bolt',\n }\n })\n\n const handleOnChange: DropdownProps['onChange'] = (value, r) => {\n if (value[0] !== 'hierarchy') {\n setPowerpackDialog('slicer')\n }\n props?.onChange?.(['hierarchy'], r)\n }\n\n return (\n <StyledDropdown\n {...props}\n data-tooltip=\"Power feature - Slicer\"\n data-tooltip-delay={0}\n onChange={handleOnChange}\n options={options}\n ref={ref}\n />\n )\n },\n)\n\nexport default SlicerDropdownFallback\n"],"names":["StyledDropdown","styled","Dropdown","SlicerDropdownFallback","forwardRef","sliceTypes","props","ref","setPowerpackDialog","usePowerpack","options","option","handleOnChange","value","r","jsx"],"mappings":"+gCAMMA,EAAiBC,EAAOC,UAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA+BhCC,EAAyBC,EAAAA,WAC7B,CAAC,CAAE,WAAAC,EAAY,GAAGC,CAAA,EAASC,IAAQ,CACjC,KAAM,CAAE,mBAAAC,CAAA,EAAuBC,eAAA,EAEzBC,EAAU,CAAC,GAAGJ,EAAM,OAAO,EAAE,IAAKK,GAClCA,EAAO,QAAU,YAAoBA,EAEhC,CACL,GAAGA,EACH,KAAM,MAAA,CAEX,EAEKC,EAA4C,CAACC,EAAOC,IAAM,CAC1DD,EAAM,CAAC,IAAM,aACfL,EAAmB,QAAQ,EAE7BF,GAAO,WAAW,CAAC,WAAW,EAAGQ,CAAC,CACpC,EAEA,OACEC,EAAAA,kBAAAA,IAACf,EAAA,CACE,GAAGM,EACJ,eAAa,yBACb,qBAAoB,EACpB,SAAUM,EACV,QAAAF,EACA,IAAAH,CAAA,CAAA,CAGN,CACF"}
@@ -0,0 +1,71 @@
1
+ import { j as a } from "../../../../../_virtual/jsx-runtime.es.js";
2
+ import "../../../context/RemoteModulesContext.es.js";
3
+ import "../../../context/DetailsPanelContext.es.js";
4
+ import "../../../context/ThumbnailUploaderContext.es.js";
5
+ import "../../../context/SettingsPanelContext.es.js";
6
+ import "../../../context/pip/PiPProvider.es.js";
7
+ import "react-dom";
8
+ import "../../../context/pip/PiPWrapper.es.js";
9
+ import "../../../context/AddonProjectContext.es.js";
10
+ import "../../../context/AddonContext.es.js";
11
+ import { usePowerpack as m } from "../../../context/PowerpackContext.es.js";
12
+ import "../../../context/MoveEntityContext.es.js";
13
+ import "../../../context/MenuContext.es.js";
14
+ import "../../../context/WebsocketContext.es.js";
15
+ import "../../../context/GlobalContext.es.js";
16
+ import "../../../context/ProjectContext.es.js";
17
+ import "../../../context/ProjectFoldersContext.es.js";
18
+ import "../../../context/UriContext.es.js";
19
+ import { Dropdown as l } from "@ynput/ayon-react-components";
20
+ import { forwardRef as c } from "react";
21
+ import s from "styled-components";
22
+ const d = s(l)`
23
+ height: 28px;
24
+
25
+ .template-value {
26
+ border: 0;
27
+
28
+ .icon:not(.control) {
29
+ display: none;
30
+ }
31
+ }
32
+
33
+ &.single-option {
34
+ .control {
35
+ display: none;
36
+ }
37
+
38
+ .button {
39
+ .template-value {
40
+ cursor: default;
41
+ }
42
+ &:hover {
43
+ background-color: unset;
44
+ }
45
+ }
46
+ }
47
+ `, A = c(
48
+ ({ sliceTypes: u, ...r }, t) => {
49
+ const { setPowerpackDialog: e } = m(), i = [...r.options].map((o) => o.value === "hierarchy" ? o : {
50
+ ...o,
51
+ icon: "bolt"
52
+ }), p = (o, n) => {
53
+ o[0] !== "hierarchy" && e("slicer"), r?.onChange?.(["hierarchy"], n);
54
+ };
55
+ return /* @__PURE__ */ a.jsx(
56
+ d,
57
+ {
58
+ ...r,
59
+ "data-tooltip": "Power feature - Slicer",
60
+ "data-tooltip-delay": 0,
61
+ onChange: p,
62
+ options: i,
63
+ ref: t
64
+ }
65
+ );
66
+ }
67
+ );
68
+ export {
69
+ A as default
70
+ };
71
+ //# sourceMappingURL=SlicerDropdownFallback.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlicerDropdownFallback.es.js","sources":["../../../../../../src/containers/Slicer/components/SlicerDropdownFallback.tsx"],"sourcesContent":["import { usePowerpack } from '@shared/context'\nimport { SliceType } from '@shared/containers'\nimport { Dropdown, DropdownProps, DropdownRef } from '@ynput/ayon-react-components'\nimport { forwardRef } from 'react'\nimport styled from 'styled-components'\n\nconst StyledDropdown = styled(Dropdown)`\n height: 28px;\n\n .template-value {\n border: 0;\n\n .icon:not(.control) {\n display: none;\n }\n }\n\n &.single-option {\n .control {\n display: none;\n }\n\n .button {\n .template-value {\n cursor: default;\n }\n &:hover {\n background-color: unset;\n }\n }\n }\n`\n\nexport interface SlicerDropdownFallbackProps extends DropdownProps {\n sliceTypes: SliceType[]\n}\n\nconst SlicerDropdownFallback = forwardRef<DropdownRef, SlicerDropdownFallbackProps>(\n ({ sliceTypes, ...props }, ref) => {\n const { setPowerpackDialog } = usePowerpack()\n\n const options = [...props.options].map((option) => {\n if (option.value === 'hierarchy') return option\n else\n return {\n ...option,\n icon: 'bolt',\n }\n })\n\n const handleOnChange: DropdownProps['onChange'] = (value, r) => {\n if (value[0] !== 'hierarchy') {\n setPowerpackDialog('slicer')\n }\n props?.onChange?.(['hierarchy'], r)\n }\n\n return (\n <StyledDropdown\n {...props}\n data-tooltip=\"Power feature - Slicer\"\n data-tooltip-delay={0}\n onChange={handleOnChange}\n options={options}\n ref={ref}\n />\n )\n },\n)\n\nexport default SlicerDropdownFallback\n"],"names":["StyledDropdown","styled","Dropdown","SlicerDropdownFallback","forwardRef","sliceTypes","props","ref","setPowerpackDialog","usePowerpack","options","option","handleOnChange","value","r","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAMA,MAAMA,IAAiBC,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GA+BhCC,IAAyBC;AAAA,EAC7B,CAAC,EAAE,YAAAC,GAAY,GAAGC,EAAA,GAASC,MAAQ;AACjC,UAAM,EAAE,oBAAAC,EAAA,IAAuBC,EAAA,GAEzBC,IAAU,CAAC,GAAGJ,EAAM,OAAO,EAAE,IAAI,CAACK,MAClCA,EAAO,UAAU,cAAoBA,IAEhC;AAAA,MACL,GAAGA;AAAA,MACH,MAAM;AAAA,IAAA,CAEX,GAEKC,IAA4C,CAACC,GAAOC,MAAM;AAC9D,MAAID,EAAM,CAAC,MAAM,eACfL,EAAmB,QAAQ,GAE7BF,GAAO,WAAW,CAAC,WAAW,GAAGQ,CAAC;AAAA,IACpC;AAEA,WACEC,gBAAAA,EAAAA;AAAAA,MAACf;AAAA,MAAA;AAAA,QACE,GAAGM;AAAA,QACJ,gBAAa;AAAA,QACb,sBAAoB;AAAA,QACpB,UAAUM;AAAA,QACV,SAAAF;AAAA,QACA,KAAAH;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;"}