@ynput/ayon-frontend-shared 0.2.26 → 0.2.28

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 (367) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +25 -22
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/Views.cjs.js +1 -1
  5. package/dist/Views.cjs.js.map +1 -1
  6. package/dist/Views.es.js +13 -11
  7. package/dist/Views.es.js.map +1 -1
  8. package/dist/api.cjs.js +1 -1
  9. package/dist/api.es.js +153 -151
  10. package/dist/components.cjs.js +1 -1
  11. package/dist/components.es.js +62 -51
  12. package/dist/components.es.js.map +1 -1
  13. package/dist/index.cjs.js +1 -1
  14. package/dist/index.es.js +12 -6
  15. package/dist/index.es.js.map +1 -1
  16. package/dist/shared/src/api/generated/entityLists.cjs.js.map +1 -1
  17. package/dist/shared/src/api/generated/entityLists.es.js.map +1 -1
  18. package/dist/shared/src/api/generated/users.cjs.js.map +1 -1
  19. package/dist/shared/src/api/generated/users.es.js.map +1 -1
  20. package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
  21. package/dist/shared/src/api/generated/views.es.js.map +1 -1
  22. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  23. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  24. package/dist/shared/src/api/queries/entityLists/getLists.es.js +142 -117
  25. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  26. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -1
  27. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
  28. package/dist/shared/src/api/queries/entityLists/updateLists.es.js +110 -95
  29. package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
  30. package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -1
  31. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  32. package/dist/shared/src/api/queries/users/getUsers.es.js +21 -17
  33. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  34. package/dist/shared/src/components/AccessUser/AccessUser.cjs.js +2 -0
  35. package/dist/shared/src/components/AccessUser/AccessUser.cjs.js.map +1 -0
  36. package/dist/shared/src/components/AccessUser/AccessUser.es.js +33 -0
  37. package/dist/shared/src/components/AccessUser/AccessUser.es.js.map +1 -0
  38. package/dist/shared/src/components/AccessUser/AccessUser.styled.cjs.js +42 -0
  39. package/dist/shared/src/components/AccessUser/AccessUser.styled.cjs.js.map +1 -0
  40. package/dist/shared/src/components/AccessUser/AccessUser.styled.es.js +46 -0
  41. package/dist/shared/src/components/AccessUser/AccessUser.styled.es.js.map +1 -0
  42. package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.cjs.js +34 -0
  43. package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.cjs.js.map +1 -0
  44. package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.es.js +46 -0
  45. package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.es.js.map +1 -0
  46. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +20 -10
  47. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
  48. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +81 -67
  49. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
  50. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +3 -3
  51. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  52. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +59 -52
  53. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  54. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  55. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  56. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +5 -2
  57. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  58. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  59. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  60. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +5 -2
  61. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  62. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  63. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  64. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +5 -2
  65. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  66. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +2 -0
  67. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -0
  68. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +205 -0
  69. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -0
  70. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +2 -0
  71. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -0
  72. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +25 -0
  73. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -0
  74. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +3 -3
  75. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  76. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +5 -5
  77. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  78. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  79. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  80. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +5 -2
  81. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  82. package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.cjs.js +9 -0
  83. package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.cjs.js.map +1 -0
  84. package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.es.js +25 -0
  85. package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.es.js.map +1 -0
  86. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  87. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  88. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +7 -4
  89. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  90. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  91. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  92. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +18 -21
  93. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  94. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  95. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  96. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +5 -2
  97. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  98. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  99. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  100. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +6 -3
  101. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  102. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  103. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  104. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +5 -2
  105. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  106. package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.cjs.js +2 -0
  107. package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.cjs.js.map +1 -0
  108. package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.es.js +17 -0
  109. package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.es.js.map +1 -0
  110. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +2 -2
  111. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  112. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +5 -2
  113. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  114. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  115. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  116. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +5 -2
  117. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  118. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  119. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  120. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +5 -2
  121. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  122. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  123. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  124. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +5 -2
  125. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  126. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  127. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  128. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +146 -157
  129. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  130. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js +7 -1
  131. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js.map +1 -1
  132. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js +13 -6
  133. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js.map +1 -1
  134. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  135. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  136. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +5 -2
  137. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  138. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  139. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  140. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +6 -3
  141. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  142. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  143. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  144. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +6 -3
  145. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  146. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  147. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  148. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +5 -2
  149. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  150. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  151. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  152. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +5 -2
  153. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  154. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  155. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  156. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +5 -2
  157. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  158. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  159. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  160. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +5 -2
  161. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  162. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  163. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  164. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +413 -396
  165. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  166. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +104 -25
  167. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
  168. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +131 -52
  169. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
  170. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  171. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  172. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +136 -129
  173. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  174. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +16 -53
  175. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  176. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +100 -120
  177. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  178. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  179. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  180. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +5 -2
  181. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  182. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js +7 -3
  183. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js.map +1 -1
  184. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js +12 -8
  185. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js.map +1 -1
  186. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  187. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  188. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +5 -2
  189. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  190. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +3 -3
  191. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  192. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +250 -235
  193. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  194. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  195. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  196. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +24 -21
  197. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  198. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  199. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  200. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +5 -2
  201. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  202. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.cjs.js.map +1 -1
  203. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.es.js.map +1 -1
  204. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js +1 -1
  205. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js.map +1 -1
  206. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js +10 -10
  207. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js.map +1 -1
  208. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  209. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  210. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +13 -9
  211. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  212. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  213. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  214. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +65 -60
  215. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  216. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  217. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  218. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +5 -2
  219. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  220. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  221. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  222. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +5 -2
  223. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  224. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  225. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  226. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +5 -2
  227. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  228. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  229. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  230. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +5 -2
  231. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  232. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  233. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  234. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +5 -2
  235. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  236. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  237. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  238. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +5 -2
  239. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  240. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  241. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  242. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +16 -13
  243. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  244. package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.cjs.js +1 -1
  245. package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.cjs.js.map +1 -1
  246. package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.es.js +41 -14
  247. package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.es.js.map +1 -1
  248. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  249. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  250. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +7 -7
  251. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  252. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
  253. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  254. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +110 -104
  255. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  256. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js +2 -2
  257. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js.map +1 -1
  258. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js +8 -8
  259. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js.map +1 -1
  260. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +2 -2
  261. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
  262. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +44 -43
  263. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
  264. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  265. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  266. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +7 -4
  267. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  268. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  269. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  270. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +5 -2
  271. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  272. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  273. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  274. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +118 -103
  275. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  276. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js +16 -4
  277. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js.map +1 -1
  278. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js +13 -1
  279. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js.map +1 -1
  280. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js +1 -1
  281. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js.map +1 -1
  282. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js +62 -50
  283. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js.map +1 -1
  284. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  285. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  286. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.cjs.js +2 -0
  287. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.cjs.js.map +1 -0
  288. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.es.js +64 -0
  289. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.es.js.map +1 -0
  290. package/dist/shared/src/context/MenuContext.cjs.js +2 -0
  291. package/dist/shared/src/context/MenuContext.cjs.js.map +1 -0
  292. package/dist/shared/src/context/MenuContext.es.js +28 -0
  293. package/dist/shared/src/context/MenuContext.es.js.map +1 -0
  294. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  295. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  296. package/dist/shared/src/context/PowerpackContext.es.js +20 -15
  297. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  298. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  299. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  300. package/dist/shared/src/context/RemoteModulesContext.es.js +19 -19
  301. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  302. package/dist/shared/src/hooks/useLoadModule.cjs.js.map +1 -1
  303. package/dist/shared/src/hooks/useLoadModule.es.js.map +1 -1
  304. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js +2 -0
  305. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js.map +1 -0
  306. package/dist/src/components/Menu/MenuComponents/Menu.es.js +55 -0
  307. package/dist/src/components/Menu/MenuComponents/Menu.es.js.map +1 -0
  308. package/dist/src/components/Menu/MenuComponents/Menu.styled.cjs.js +254 -0
  309. package/dist/src/components/Menu/MenuComponents/Menu.styled.cjs.js.map +1 -0
  310. package/dist/src/components/Menu/MenuComponents/Menu.styled.es.js +265 -0
  311. package/dist/src/components/Menu/MenuComponents/Menu.styled.es.js.map +1 -0
  312. package/dist/src/components/Menu/MenuComponents/MenuContainer2.cjs.js +2 -0
  313. package/dist/src/components/Menu/MenuComponents/MenuContainer2.cjs.js.map +1 -0
  314. package/dist/src/components/Menu/MenuComponents/MenuContainer2.es.js +80 -0
  315. package/dist/src/components/Menu/MenuComponents/MenuContainer2.es.js.map +1 -0
  316. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js +2 -0
  317. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js.map +1 -0
  318. package/dist/src/components/Menu/MenuComponents/MenuItem.es.js +59 -0
  319. package/dist/src/components/Menu/MenuComponents/MenuItem.es.js.map +1 -0
  320. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js +2 -0
  321. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js.map +1 -0
  322. package/dist/src/components/Menu/MenuComponents/MenuList.es.js +112 -0
  323. package/dist/src/components/Menu/MenuComponents/MenuList.es.js.map +1 -0
  324. package/dist/src/components/Menu/MenuComponents/useMenuPosition.cjs.js +2 -0
  325. package/dist/src/components/Menu/MenuComponents/useMenuPosition.cjs.js.map +1 -0
  326. package/dist/src/components/Menu/MenuComponents/useMenuPosition.es.js +35 -0
  327. package/dist/src/components/Menu/MenuComponents/useMenuPosition.es.js.map +1 -0
  328. package/dist/types/api/generated/entityLists.d.ts +8 -8
  329. package/dist/types/api/generated/users.d.ts +18 -14
  330. package/dist/types/api/generated/views.d.ts +47 -9
  331. package/dist/types/api/queries/entityLists/getLists.d.ts +133 -0
  332. package/dist/types/api/queries/entityLists/types.d.ts +2 -1
  333. package/dist/types/api/queries/permissions/getPermissions.d.ts +22 -22
  334. package/dist/types/api/queries/users/getUsers.d.ts +132 -0
  335. package/dist/types/api/queries/users/updateUsers.d.ts +3 -3
  336. package/dist/types/components/AccessUser/AccessUser.d.ts +22 -0
  337. package/dist/types/components/AccessUser/AccessUser.styled.d.ts +1 -0
  338. package/dist/types/components/AccessUser/index.d.ts +1 -0
  339. package/dist/types/components/DetailsMetaData/DetailsMetaData.d.ts +8 -0
  340. package/dist/types/components/DetailsMetaData/index.d.ts +1 -0
  341. package/dist/types/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.d.ts +4 -0
  342. package/dist/types/components/ListAttributeForm/ListAttributeForm.d.ts +13 -0
  343. package/dist/types/components/ListAttributeForm/index.d.ts +1 -0
  344. package/dist/types/components/ListMetaData/ListMetaData.d.ts +8 -0
  345. package/dist/types/components/ListMetaData/index.d.ts +1 -0
  346. package/dist/types/components/Powerpack/RequiredPowerpackVersion.d.ts +5 -0
  347. package/dist/types/components/Powerpack/index.d.ts +1 -0
  348. package/dist/types/components/ShareOptionIcon/ShareOptionIcon.d.ts +10 -0
  349. package/dist/types/components/ShareOptionIcon/index.d.ts +2 -0
  350. package/dist/types/components/index.d.ts +4 -0
  351. package/dist/types/containers/DetailsPanel/DetailsPanel.styled.d.ts +7 -0
  352. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.styled.d.ts +3 -1
  353. package/dist/types/containers/ProjectTreeTable/components/ColumnHeaderMenu.d.ts +4 -1
  354. package/dist/types/containers/ProjectTreeTable/context/ProjectDataContext.d.ts +1 -0
  355. package/dist/types/containers/ProjectTreeTable/context/clipboard/clipboardTypes.d.ts +3 -1
  356. package/dist/types/containers/ProjectTreeTable/hooks/useAttributesList.d.ts +1 -0
  357. package/dist/types/containers/ProjectTreeTable/utils/getReadOnlyLists.d.ts +1 -1
  358. package/dist/types/containers/ProjectTreeTable/widgets/BooleanWidget.d.ts +1 -0
  359. package/dist/types/containers/ProjectTreeTable/widgets/EnumCellValue.d.ts +2 -2
  360. package/dist/types/containers/SimpleTable/SimpleTable.d.ts +3 -0
  361. package/dist/types/containers/SimpleTable/SimpleTableRowTemplate.d.ts +5 -1
  362. package/dist/types/containers/Views/hooks/pages/useReportsViewSettings.d.ts +11 -0
  363. package/dist/types/containers/Views/index.d.ts +6 -2
  364. package/dist/types/context/MenuContext.d.ts +12 -0
  365. package/dist/types/context/PowerpackContext.d.ts +1 -1
  366. package/dist/types/index.d.ts +1 -0
  367. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import { j as c } from "../../../../../_virtual/jsx-runtime.es.js";
2
2
  import { forwardRef as n } from "react";
3
3
  import i from "styled-components";
4
- const p = i.input`
4
+ const s = i.input`
5
5
  margin: auto;
6
6
  z-index: 1;
7
7
  cursor: pointer;
@@ -22,14 +22,14 @@ const p = i.input`
22
22
  border-color: var(--md-sys-color-primary);
23
23
  appearance: auto;
24
24
  }
25
- `, u = n(
26
- ({ value: o, onChange: e, isReadOnly: r, isEditing: s, onCancelEdit: l, ...a }, t) => /* @__PURE__ */ c.jsx(
27
- p,
25
+ `, b = n(
26
+ ({ value: o, onChange: e, isReadOnly: r, isEditing: p, onCancelEdit: l, isInherited: m, ...t }, a) => /* @__PURE__ */ c.jsx(
27
+ s,
28
28
  {
29
- ...a,
29
+ ...t,
30
30
  checked: o,
31
31
  onChange: (d) => e(d.target.checked),
32
- ref: t,
32
+ ref: a,
33
33
  type: "checkbox",
34
34
  disabled: r,
35
35
  readOnly: r
@@ -37,6 +37,6 @@ const p = i.input`
37
37
  )
38
38
  );
39
39
  export {
40
- u as BooleanWidget
40
+ b as BooleanWidget
41
41
  };
42
42
  //# sourceMappingURL=BooleanWidget.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BooleanWidget.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/BooleanWidget.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport styled from 'styled-components'\nimport { WidgetBaseProps } from './CellWidget'\n\nconst StyledCheckbox = styled.input`\n margin: auto;\n z-index: 1;\n cursor: pointer;\n\n width: 16px;\n height: 16px;\n background-color: transparent;\n border: 1px solid var(--md-sys-color-outline);\n appearance: none;\n border-radius: 2px;\n\n &:hover {\n border-color: hsl(212.31deg 16.83% 74.65%);\n }\n\n &:checked {\n background-color: var(--md-sys-color-primary);\n border-color: var(--md-sys-color-primary);\n appearance: auto;\n }\n`\n\nexport interface BooleanWidgetProps\n extends Omit<React.HTMLAttributes<HTMLInputElement>, 'onChange'>,\n WidgetBaseProps {\n value: boolean\n isReadOnly?: boolean\n}\n\nexport const BooleanWidget = forwardRef<HTMLInputElement, BooleanWidgetProps>(\n ({ value, onChange, isReadOnly, isEditing, onCancelEdit, ...props }, ref) => {\n return (\n <StyledCheckbox\n {...props}\n checked={value}\n onChange={(e) => onChange((e.target as HTMLInputElement).checked)}\n ref={ref}\n type=\"checkbox\"\n disabled={isReadOnly}\n readOnly={isReadOnly}\n />\n )\n },\n)\n"],"names":["StyledCheckbox","styled","BooleanWidget","forwardRef","value","onChange","isReadOnly","isEditing","onCancelEdit","props","ref","jsx","e"],"mappings":";;;AAIA,MAAMA,IAAiBC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GA8BjBC,IAAgBC;AAAA,EAC3B,CAAC,EAAE,OAAAC,GAAO,UAAAC,GAAU,YAAAC,GAAY,WAAAC,GAAW,cAAAC,GAAc,GAAGC,EAAM,GAAGC,MAEjEC,gBAAAA,EAAA;AAAA,IAACX;AAAA,IAAA;AAAA,MACE,GAAGS;AAAA,MACJ,SAASL;AAAA,MACT,UAAU,CAACQ,MAAMP,EAAUO,EAAE,OAA4B,OAAO;AAAA,MAChE,KAAAF;AAAA,MACA,MAAK;AAAA,MACL,UAAUJ;AAAA,MACV,UAAUA;AAAA,IAAA;AAAA,EACZ;AAGN;"}
1
+ {"version":3,"file":"BooleanWidget.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/BooleanWidget.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport styled from 'styled-components'\nimport { WidgetBaseProps } from './CellWidget'\n\nconst StyledCheckbox = styled.input`\n margin: auto;\n z-index: 1;\n cursor: pointer;\n\n width: 16px;\n height: 16px;\n background-color: transparent;\n border: 1px solid var(--md-sys-color-outline);\n appearance: none;\n border-radius: 2px;\n\n &:hover {\n border-color: hsl(212.31deg 16.83% 74.65%);\n }\n\n &:checked {\n background-color: var(--md-sys-color-primary);\n border-color: var(--md-sys-color-primary);\n appearance: auto;\n }\n`\n\nexport interface BooleanWidgetProps\n extends Omit<React.HTMLAttributes<HTMLInputElement>, 'onChange'>,\n WidgetBaseProps {\n value: boolean\n isReadOnly?: boolean\n isInherited?: boolean\n}\n\nexport const BooleanWidget = forwardRef<HTMLInputElement, BooleanWidgetProps>(\n ({ value, onChange, isReadOnly, isEditing, onCancelEdit, isInherited, ...props }, ref) => {\n return (\n <StyledCheckbox\n {...props}\n checked={value}\n onChange={(e) => onChange((e.target as HTMLInputElement).checked)}\n ref={ref}\n type=\"checkbox\"\n disabled={isReadOnly}\n readOnly={isReadOnly}\n />\n )\n },\n)\n"],"names":["StyledCheckbox","styled","BooleanWidget","forwardRef","value","onChange","isReadOnly","isEditing","onCancelEdit","isInherited","props","ref","jsx","e"],"mappings":";;;AAIA,MAAMA,IAAiBC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GA+BjBC,IAAgBC;AAAA,EAC3B,CAAC,EAAE,OAAAC,GAAO,UAAAC,GAAU,YAAAC,GAAY,WAAAC,GAAW,cAAAC,GAAc,aAAAC,GAAa,GAAGC,EAAM,GAAGC,MAE9EC,gBAAAA,EAAA;AAAA,IAACZ;AAAA,IAAA;AAAA,MACE,GAAGU;AAAA,MACJ,SAASN;AAAA,MACT,UAAU,CAACS,MAAMR,EAAUQ,EAAE,OAA4B,OAAO;AAAA,MAChE,KAAAF;AAAA,MACA,MAAK;AAAA,MACL,UAAUL;AAAA,MACV,UAAUA;AAAA,IAAA;AAAA,EACZ;AAGN;"}
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("../../../../../_virtual/jsx-runtime.cjs.js"),j=require("react"),z=require("styled-components"),H=require("./BooleanWidget.cjs.js"),J=require("./CollapsedWidget.cjs.js"),K=require("./DateWidget.cjs.js"),Q=require("./EnumWidget.cjs.js"),y=require("./TextWidget.cjs.js"),S=require("./LinksWidget.cjs.js"),X=require("../context/CellEditingContext.cjs.js"),w=require("../utils/cellUtils.cjs.js"),Y=require("clsx"),Z=require("../context/SelectionCellsContext.cjs.js");require("react-toastify");require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("@ynput/ayon-react-components");require("@tanstack/react-table");require("./EntityNameWidget.cjs.js");require("./GroupHeaderWidget.cjs.js");require("./ThumbnailWidget.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("./LoadMoreWidget.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");const $=require("../context/ProjectTableContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("../ProjectTreeTable.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");;/* empty css */require("../../ContextMenu/ContextMenuContext.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../context/ProjectDataContext.cjs.js");const O=z.div`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("../../../../../_virtual/jsx-runtime.cjs.js"),f=require("react"),U=require("styled-components"),z=require("./BooleanWidget.cjs.js"),H=require("./CollapsedWidget.cjs.js"),J=require("./DateWidget.cjs.js"),K=require("./EnumWidget.cjs.js"),Q=require("./TextWidget.cjs.js"),y=require("./LinksWidget.cjs.js"),X=require("../context/CellEditingContext.cjs.js"),S=require("../utils/cellUtils.cjs.js"),Y=require("clsx"),Z=require("../context/SelectionCellsContext.cjs.js");require("react-toastify");require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("@ynput/ayon-react-components");require("@tanstack/react-table");require("./EntityNameWidget.cjs.js");require("./GroupHeaderWidget.cjs.js");require("./ThumbnailWidget.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("./LoadMoreWidget.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");const $=require("../context/ProjectTableContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("../ProjectTreeTable.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");;/* empty css */require("../../ContextMenu/ContextMenuContext.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../context/ProjectDataContext.cjs.js");const O=require("./EnumCellValue.cjs.js"),V=U.div`
2
2
  position: absolute;
3
3
  inset: 0;
4
4
  padding: 4px 8px;
@@ -19,5 +19,5 @@
19
19
  border-radius: 4px;
20
20
  opacity: 1;
21
21
  }
22
- `,V="edit-trigger",ee=({rowId:f,columnId:m,value:i,valueData:A,attributeData:a,options:d=[],isCollapsed:T,isInherited:g,isPlaceholder:C,isReadOnly:o,enableCustomValues:h,folderId:v,onChange:E,pt:u,...W})=>{const b=j.useRef(null),q=a==null?void 0:a.type,{projectName:L}=$.useProjectTableContext(),{isEditing:k,setEditingCellId:l}=X.useCellEditing(),{isCellFocused:G,gridMap:R,selectCell:N,focusCell:_}=Z.useSelectionCellsContext(),n=w.getCellId(f,m),x=k(n),M=G(n),p=j.useCallback(()=>{C||o||l(n)},[n,l,C]),B=()=>{x||l(null)},D=()=>{const r=R.rowIdToIndex.get(f);if(r===void 0)return;const t=R.indexToRowId.get(r+1);if(t){const e=w.getCellId(t,m);N(e,!1,!1),_(e),l(e)}},F=(r,t)=>{l(null),!o&&(t==="Enter"&&D(),(r!==i||t==="Enter")&&(E==null||E(r,t)))},P=()=>{var t;l(null);const r=(t=b.current)==null?void 0:t.closest("td");r&&r.focus()},U=j.useMemo(()=>{const r={onChange:F,onCancelEdit:P,isEditing:x},t=["string","integer","float"];switch(!0){case T:{const e=q!=null&&q.includes("list")?d.find(I=>Array.isArray(i)?i.includes(I.value):i===I.value):void 0,c=e==null?void 0:e.color;return s.jsxRuntimeExports.jsx(J.CollapsedWidget,{color:c})}case q==="links":{const e=A,c=S.isLinkEditable((e==null?void 0:e.direction)||"out",(e==null?void 0:e.link.linkType)||"",(e==null?void 0:e.entityType)||"");return o=!c,s.jsxRuntimeExports.jsx(S.LinksWidget,{value:e,cellId:n,projectName:L,disabled:!c,folderId:v,...r})}case!!d.length:{const e=Array.isArray(i)?i:[i];return o?s.jsxRuntimeExports.jsx(y.TextWidget,{value:e.join(", "),option:e.length===1?d.find(c=>c.value===e[0]):void 0,...r}):s.jsxRuntimeExports.jsx(Q.EnumWidget,{value:e,options:d,type:q,onOpen:()=>!o&&l(n),enableCustomValues:h,...r,...u==null?void 0:u.enum})}case t.includes(q):return s.jsxRuntimeExports.jsx(y.TextWidget,{value:i,isInherited:g,...r,...u==null?void 0:u.text});case q==="datetime":return s.jsxRuntimeExports.jsx(K.DateWidget,{value:i||void 0,isInherited:g,...r,...u==null?void 0:u.date});case q==="boolean":return s.jsxRuntimeExports.jsx(H.BooleanWidget,{value:i,...r,...u==null?void 0:u.boolean});case C:return null;default:return null}},[n,i,q,x,d,T]);return s.jsxRuntimeExports.jsx(O,{...W,className:Y(W.className,{inherited:g&&!x,readonly:o,editable:!o}),ref:b,onDoubleClick:p,onClick:B,id:n,"data-tooltip":g&&!x&&M?"Inherited":void 0,"data-tooltip-delay":200,children:U})};exports.CellWidget=ee;exports.EDIT_TRIGGER_CLASS=V;
22
+ `,ee="edit-trigger",re=({rowId:j,columnId:T,value:i,valueData:w,attributeData:C,options:d=[],isCollapsed:R,isInherited:a,isPlaceholder:E,isReadOnly:o,enableCustomValues:h,folderId:A,onChange:m,pt:u,...W})=>{const b=f.useRef(null),t=C==null?void 0:C.type,{projectName:L}=$.useProjectTableContext(),{isEditing:M,setEditingCellId:l}=X.useCellEditing(),{isCellFocused:k,gridMap:I,selectCell:G,focusCell:N}=Z.useSelectionCellsContext(),n=S.getCellId(j,T),x=M(n),_=k(n),v=f.useCallback(()=>{E||o||l(n)},[n,l,E]),B=()=>{x||l(null)},D=()=>{const r=I.rowIdToIndex.get(j);if(r===void 0)return;const q=I.indexToRowId.get(r+1);if(q){const e=S.getCellId(q,T);G(e,!1,!1),N(e),l(e)}},F=(r,q)=>{l(null),!o&&(q==="Enter"&&D(),(r!==i||q==="Enter")&&(m==null||m(r,q)))},P=()=>{var q;l(null);const r=(q=b.current)==null?void 0:q.closest("td");r&&r.focus()},p=f.useMemo(()=>{const r={onChange:F,onCancelEdit:P,isEditing:x},q=["string","integer","float"];switch(!0){case R:{const e=t!=null&&t.includes("list")?d.find(g=>Array.isArray(i)?i.includes(g.value):i===g.value):void 0,c=e==null?void 0:e.color;return s.jsxRuntimeExports.jsx(H.CollapsedWidget,{color:c})}case t==="links":{const e=w,c=y.isLinkEditable((e==null?void 0:e.direction)||"out",(e==null?void 0:e.link.linkType)||"",(e==null?void 0:e.entityType)||"");return o=!c,s.jsxRuntimeExports.jsx(y.LinksWidget,{value:e,cellId:n,projectName:L,disabled:!c,folderId:A,...r})}case!!d.length:{const e=Array.isArray(i)?i:[i];if(o){const c=d.filter(g=>e.includes(g.value));return s.jsxRuntimeExports.jsx(O.EnumCellValue,{selectedOptions:c,isReadOnly:!0,hasMultipleValues:e.length>1,isMultiSelect:t==null?void 0:t.includes("list")})}return s.jsxRuntimeExports.jsx(K.EnumWidget,{value:e,options:d,type:t,onOpen:()=>l(n),enableCustomValues:h,...r,...u==null?void 0:u.enum})}case q.includes(t):return s.jsxRuntimeExports.jsx(Q.TextWidget,{value:i,isInherited:a,...r,...u==null?void 0:u.text});case t==="datetime":return s.jsxRuntimeExports.jsx(J.DateWidget,{value:i||void 0,isInherited:a,...r,...u==null?void 0:u.date});case t==="boolean":return s.jsxRuntimeExports.jsx(z.BooleanWidget,{value:i,...r,...u==null?void 0:u.boolean});case E:return null;default:return null}},[n,i,t,x,d,R]);return s.jsxRuntimeExports.jsx(V,{...W,className:Y(W.className,{inherited:a&&!x,readonly:o,editable:!o}),ref:b,onDoubleClick:v,onClick:B,id:n,"data-tooltip":a&&!x&&_?"Inherited":void 0,"data-tooltip-delay":200,children:p})};exports.CellWidget=re;exports.EDIT_TRIGGER_CLASS=ee;
23
23
  //# sourceMappingURL=CellWidget.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CellWidget.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/CellWidget.tsx"],"sourcesContent":["import { useMemo, useCallback, useRef, FC } from 'react'\nimport styled from 'styled-components'\n\n// Widgets\nimport { BooleanWidget, BooleanWidgetProps } from './BooleanWidget'\nimport { CollapsedWidget } from './CollapsedWidget'\nimport { DateWidget, DateWidgetProps } from './DateWidget'\nimport { EnumWidget, EnumWidgetProps } from './EnumWidget'\nimport { TextWidget, TextWidgetProps, TextWidgetType } from './TextWidget'\nimport { isLinkEditable, LinksWidget, LinkWidgetData } from './LinksWidget'\n\n// Contexts\nimport { useCellEditing } from '../context/CellEditingContext'\n\n// Utils\nimport { getCellId } from '../utils/cellUtils'\nimport clsx from 'clsx'\nimport { useSelectionCellsContext } from '../context/SelectionCellsContext'\nimport { AttributeData, AttributeEnumItem } from '../types'\nimport { useProjectTableContext } from '../context'\n\nconst Cell = styled.div`\n position: absolute;\n inset: 0;\n padding: 4px 8px;\n display: flex;\n align-items: center;\n\n &:focus-visible {\n outline: none;\n }\n\n &.inherited {\n opacity: 0.6;\n font-style: italic;\n }\n\n &.loading {\n inset: 4px;\n border-radius: 4px;\n opacity: 1;\n }\n`\n\n// use this class to trigger the editing mode on a single click\nexport const EDIT_TRIGGER_CLASS = 'edit-trigger'\n\ntype WidgetAttributeData = { type: AttributeData['type'] | 'links' }\n\nexport type CellValue = string | number | boolean\nexport type CellValueData = Record<string, any>\n\ninterface EditorCellProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n rowId: string\n columnId: string\n value: CellValue | CellValue[]\n valueData?: CellValueData | CellValueData[] // extra data for the value\n attributeData?: WidgetAttributeData\n options?: AttributeEnumItem[]\n isCollapsed?: boolean\n isInherited?: boolean\n isPlaceholder?: boolean\n isFocused?: boolean\n isReadOnly?: boolean\n enableCustomValues?: boolean\n folderId?: string | null\n onChange?: (value: CellValue | CellValue[], key?: 'Enter' | 'Click' | 'Escape') => void\n // options passthrough props\n pt?: {\n enum?: Partial<EnumWidgetProps>\n text?: Partial<TextWidgetProps>\n date?: Partial<DateWidgetProps>\n boolean?: Partial<BooleanWidgetProps>\n }\n}\n\nexport interface WidgetBaseProps {\n isEditing?: boolean\n onChange: Required<EditorCellProps>['onChange']\n onCancelEdit?: () => void\n}\n\nexport const CellWidget: FC<EditorCellProps> = ({\n rowId,\n columnId,\n value,\n valueData,\n attributeData,\n options = [],\n isCollapsed,\n isInherited,\n isPlaceholder,\n isReadOnly,\n enableCustomValues,\n folderId,\n onChange,\n pt,\n ...props\n}) => {\n const ref = useRef<HTMLDivElement>(null)\n const type = attributeData?.type\n\n const { projectName } = useProjectTableContext()\n const { isEditing, setEditingCellId } = useCellEditing()\n const { isCellFocused, gridMap, selectCell, focusCell } = useSelectionCellsContext()\n const cellId = getCellId(rowId, columnId)\n\n const isCurrentCellEditing = isEditing(cellId)\n const isCurrentCellFocused = isCellFocused(cellId)\n\n const handleDoubleClick = useCallback(() => {\n if (isPlaceholder || isReadOnly) return\n setEditingCellId(cellId)\n }, [cellId, setEditingCellId, isPlaceholder])\n\n const handleSingleClick = () => {\n // clicking a cell that is not editing will close the editor on this cell\n // NOTE: the selection of a cell is handled in ProjectTreeTable.tsx line 1079\n if (!isCurrentCellEditing) {\n setEditingCellId(null)\n }\n }\n\n const moveToNextRow = () => {\n const rowIndex = gridMap.rowIdToIndex.get(rowId)\n if (rowIndex === undefined) return\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, columnId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n setEditingCellId(newCellId)\n }\n }\n\n const handleOnChange: WidgetBaseProps['onChange'] = (newValue, key) => {\n setEditingCellId(null)\n if (isReadOnly) return\n // move to the next cell row\n key === 'Enter' && moveToNextRow()\n // make change if the value is different or if the key is 'Enter'\n if (newValue !== value || key === 'Enter') {\n onChange?.(newValue, key)\n }\n }\n\n const handleCancel = () => {\n setEditingCellId(null)\n // ensure the browser focus moves back to the parent <td>\n const td = ref.current?.closest('td') as HTMLElement | null\n if (td) td.focus()\n }\n\n const widget = useMemo(() => {\n // Common props shared across all widgets\n const sharedProps: WidgetBaseProps = {\n onChange: handleOnChange,\n onCancelEdit: handleCancel,\n isEditing: isCurrentCellEditing,\n }\n\n const textTypes: TextWidgetType[] = ['string', 'integer', 'float']\n\n // Determine widget type based on attribute type\n switch (true) {\n // this is showing the collapsed widget (dot)\n case isCollapsed: {\n // if enum, find the first selected option and get its color\n const firstSelectedOption = type?.includes('list')\n ? options.find((option) =>\n Array.isArray(value) ? value.includes(option.value) : value === option.value,\n )\n : undefined\n const color = firstSelectedOption?.color\n return <CollapsedWidget color={color} />\n }\n\n case type === 'links': {\n const linksValue = valueData as LinkWidgetData | undefined\n\n const isEditable = isLinkEditable(\n linksValue?.direction || 'out',\n linksValue?.link.linkType || '',\n linksValue?.entityType || '',\n )\n\n // overwrite readonly state if the cell is currently being edited\n isReadOnly = !isEditable\n return (\n <LinksWidget\n value={linksValue}\n cellId={cellId}\n projectName={projectName}\n disabled={!isEditable}\n folderId={folderId}\n {...sharedProps}\n />\n )\n }\n\n case !!options.length: {\n const enumValue = Array.isArray(value) ? value : [value]\n if (isReadOnly) {\n return (\n <TextWidget\n value={enumValue.join(', ')}\n option={\n enumValue.length === 1 ? options.find((o) => o.value === enumValue[0]) : undefined\n }\n {...sharedProps}\n />\n )\n }\n return (\n <EnumWidget\n value={enumValue}\n options={options}\n type={type}\n onOpen={() => !isReadOnly && setEditingCellId(cellId)}\n enableCustomValues={enableCustomValues}\n {...sharedProps}\n {...pt?.enum}\n />\n )\n }\n\n case textTypes.includes(type as TextWidgetType):\n return (\n <TextWidget\n value={value as string}\n isInherited={isInherited}\n {...sharedProps}\n {...pt?.text}\n />\n )\n\n case type === 'datetime':\n return (\n <DateWidget\n value={value ? (value as string) : undefined}\n isInherited={isInherited}\n {...sharedProps}\n {...pt?.date}\n />\n )\n\n case type === 'boolean':\n return <BooleanWidget value={value as boolean} {...sharedProps} {...pt?.boolean} />\n\n case isPlaceholder:\n return null\n\n default:\n // TODO: We should not allow editing unrecognized types\n // At this point, only list_of_strings without proper options is unrecognized\n // (tags if not tags are specified in anatomy) and in that case, validation\n // on the server fails with a string value. Unless we have a widget that\n // accepts a string value AND options at the same time we shouldn't show\n // any edit widget\n\n //console.log(`Unrecognized type \"${type}\" for cell ${cellId}.`)\n return null\n }\n }, [cellId, value, type, isCurrentCellEditing, options, isCollapsed])\n\n return (\n <Cell\n {...props}\n className={clsx(props.className, {\n inherited: isInherited && !isCurrentCellEditing,\n readonly: isReadOnly,\n editable: !isReadOnly,\n })}\n ref={ref}\n onDoubleClick={handleDoubleClick}\n onClick={handleSingleClick}\n id={cellId}\n data-tooltip={\n isInherited && !isCurrentCellEditing && isCurrentCellFocused ? 'Inherited' : undefined\n }\n data-tooltip-delay={200}\n >\n {widget}\n </Cell>\n )\n}\n"],"names":["Cell","styled","EDIT_TRIGGER_CLASS","CellWidget","rowId","columnId","value","valueData","attributeData","options","isCollapsed","isInherited","isPlaceholder","isReadOnly","enableCustomValues","folderId","onChange","pt","props","ref","useRef","type","projectName","useProjectTableContext","isEditing","setEditingCellId","useCellEditing","isCellFocused","gridMap","selectCell","focusCell","useSelectionCellsContext","cellId","getCellId","isCurrentCellEditing","isCurrentCellFocused","handleDoubleClick","useCallback","handleSingleClick","moveToNextRow","rowIndex","newRowId","newCellId","handleOnChange","newValue","key","handleCancel","td","_a","widget","useMemo","sharedProps","textTypes","firstSelectedOption","option","color","jsx","CollapsedWidget","linksValue","isEditable","isLinkEditable","LinksWidget","enumValue","TextWidget","o","EnumWidget","DateWidget","BooleanWidget","clsx"],"mappings":"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"}
1
+ {"version":3,"file":"CellWidget.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/CellWidget.tsx"],"sourcesContent":["import { useMemo, useCallback, useRef, FC } from 'react'\nimport styled from 'styled-components'\n\n// Widgets\nimport { BooleanWidget, BooleanWidgetProps } from './BooleanWidget'\nimport { CollapsedWidget } from './CollapsedWidget'\nimport { DateWidget, DateWidgetProps } from './DateWidget'\nimport { EnumWidget, EnumWidgetProps } from './EnumWidget'\nimport { TextWidget, TextWidgetProps, TextWidgetType } from './TextWidget'\nimport { isLinkEditable, LinksWidget, LinkWidgetData } from './LinksWidget'\n\n// Contexts\nimport { useCellEditing } from '../context/CellEditingContext'\n\n// Utils\nimport { getCellId } from '../utils/cellUtils'\nimport clsx from 'clsx'\nimport { useSelectionCellsContext } from '../context/SelectionCellsContext'\nimport { AttributeData, AttributeEnumItem } from '../types'\nimport { useProjectTableContext } from '../context'\nimport { EnumCellValue } from './EnumCellValue'\n\nconst Cell = styled.div`\n position: absolute;\n inset: 0;\n padding: 4px 8px;\n display: flex;\n align-items: center;\n\n &:focus-visible {\n outline: none;\n }\n\n &.inherited {\n opacity: 0.6;\n font-style: italic;\n }\n\n &.loading {\n inset: 4px;\n border-radius: 4px;\n opacity: 1;\n }\n`\n\n// use this class to trigger the editing mode on a single click\nexport const EDIT_TRIGGER_CLASS = 'edit-trigger'\n\ntype WidgetAttributeData = { type: AttributeData['type'] | 'links' }\n\nexport type CellValue = string | number | boolean\nexport type CellValueData = Record<string, any>\n\ninterface EditorCellProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n rowId: string\n columnId: string\n value: CellValue | CellValue[]\n valueData?: CellValueData | CellValueData[] // extra data for the value\n attributeData?: WidgetAttributeData\n options?: AttributeEnumItem[]\n isCollapsed?: boolean\n isInherited?: boolean\n isPlaceholder?: boolean\n isFocused?: boolean\n isReadOnly?: boolean\n enableCustomValues?: boolean\n folderId?: string | null\n onChange?: (value: CellValue | CellValue[], key?: 'Enter' | 'Click' | 'Escape') => void\n // options passthrough props\n pt?: {\n enum?: Partial<EnumWidgetProps>\n text?: Partial<TextWidgetProps>\n date?: Partial<DateWidgetProps>\n boolean?: Partial<BooleanWidgetProps>\n }\n}\n\nexport interface WidgetBaseProps {\n isEditing?: boolean\n onChange: Required<EditorCellProps>['onChange']\n onCancelEdit?: () => void\n}\n\nexport const CellWidget: FC<EditorCellProps> = ({\n rowId,\n columnId,\n value,\n valueData,\n attributeData,\n options = [],\n isCollapsed,\n isInherited,\n isPlaceholder,\n isReadOnly,\n enableCustomValues,\n folderId,\n onChange,\n pt,\n ...props\n}) => {\n const ref = useRef<HTMLDivElement>(null)\n const type = attributeData?.type\n\n const { projectName } = useProjectTableContext()\n const { isEditing, setEditingCellId } = useCellEditing()\n const { isCellFocused, gridMap, selectCell, focusCell } = useSelectionCellsContext()\n const cellId = getCellId(rowId, columnId)\n\n const isCurrentCellEditing = isEditing(cellId)\n const isCurrentCellFocused = isCellFocused(cellId)\n\n const handleDoubleClick = useCallback(() => {\n if (isPlaceholder || isReadOnly) return\n setEditingCellId(cellId)\n }, [cellId, setEditingCellId, isPlaceholder])\n\n const handleSingleClick = () => {\n // clicking a cell that is not editing will close the editor on this cell\n // NOTE: the selection of a cell is handled in ProjectTreeTable.tsx line 1079\n if (!isCurrentCellEditing) {\n setEditingCellId(null)\n }\n }\n\n const moveToNextRow = () => {\n const rowIndex = gridMap.rowIdToIndex.get(rowId)\n if (rowIndex === undefined) return\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, columnId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n setEditingCellId(newCellId)\n }\n }\n\n const handleOnChange: WidgetBaseProps['onChange'] = (newValue, key) => {\n setEditingCellId(null)\n if (isReadOnly) return\n // move to the next cell row\n key === 'Enter' && moveToNextRow()\n // make change if the value is different or if the key is 'Enter'\n if (newValue !== value || key === 'Enter') {\n onChange?.(newValue, key)\n }\n }\n\n const handleCancel = () => {\n setEditingCellId(null)\n // ensure the browser focus moves back to the parent <td>\n const td = ref.current?.closest('td') as HTMLElement | null\n if (td) td.focus()\n }\n\n const widget = useMemo(() => {\n // Common props shared across all widgets\n const sharedProps: WidgetBaseProps = {\n onChange: handleOnChange,\n onCancelEdit: handleCancel,\n isEditing: isCurrentCellEditing,\n }\n\n const textTypes: TextWidgetType[] = ['string', 'integer', 'float']\n\n // Determine widget type based on attribute type\n switch (true) {\n // this is showing the collapsed widget (dot)\n case isCollapsed: {\n // if enum, find the first selected option and get its color\n const firstSelectedOption = type?.includes('list')\n ? options.find((option) =>\n Array.isArray(value) ? value.includes(option.value) : value === option.value,\n )\n : undefined\n const color = firstSelectedOption?.color\n return <CollapsedWidget color={color} />\n }\n\n case type === 'links': {\n const linksValue = valueData as LinkWidgetData | undefined\n\n const isEditable = isLinkEditable(\n linksValue?.direction || 'out',\n linksValue?.link.linkType || '',\n linksValue?.entityType || '',\n )\n\n // overwrite readonly state if the cell is currently being edited\n isReadOnly = !isEditable\n return (\n <LinksWidget\n value={linksValue}\n cellId={cellId}\n projectName={projectName}\n disabled={!isEditable}\n folderId={folderId}\n {...sharedProps}\n />\n )\n }\n\n case !!options.length: {\n const enumValue = Array.isArray(value) ? value : [value]\n if (isReadOnly) {\n const selectedOptions = options.filter((option) => enumValue.includes(option.value))\n return (\n <EnumCellValue\n selectedOptions={selectedOptions}\n isReadOnly\n hasMultipleValues={enumValue.length > 1}\n isMultiSelect={type?.includes('list')}\n />\n )\n }\n return (\n <EnumWidget\n value={enumValue}\n options={options}\n type={type}\n onOpen={() => setEditingCellId(cellId)}\n enableCustomValues={enableCustomValues}\n {...sharedProps}\n {...pt?.enum}\n />\n )\n }\n\n case textTypes.includes(type as TextWidgetType):\n return (\n <TextWidget\n value={value as string}\n isInherited={isInherited}\n {...sharedProps}\n {...pt?.text}\n />\n )\n\n case type === 'datetime':\n return (\n <DateWidget\n value={value ? (value as string) : undefined}\n isInherited={isInherited}\n {...sharedProps}\n {...pt?.date}\n />\n )\n\n case type === 'boolean':\n return <BooleanWidget value={value as boolean} {...sharedProps} {...pt?.boolean} />\n\n case isPlaceholder:\n return null\n\n default:\n // TODO: We should not allow editing unrecognized types\n // At this point, only list_of_strings without proper options is unrecognized\n // (tags if not tags are specified in anatomy) and in that case, validation\n // on the server fails with a string value. Unless we have a widget that\n // accepts a string value AND options at the same time we shouldn't show\n // any edit widget\n\n //console.log(`Unrecognized type \"${type}\" for cell ${cellId}.`)\n return null\n }\n }, [cellId, value, type, isCurrentCellEditing, options, isCollapsed])\n\n return (\n <Cell\n {...props}\n className={clsx(props.className, {\n inherited: isInherited && !isCurrentCellEditing,\n readonly: isReadOnly,\n editable: !isReadOnly,\n })}\n ref={ref}\n onDoubleClick={handleDoubleClick}\n onClick={handleSingleClick}\n id={cellId}\n data-tooltip={\n isInherited && !isCurrentCellEditing && isCurrentCellFocused ? 'Inherited' : undefined\n }\n data-tooltip-delay={200}\n >\n {widget}\n </Cell>\n )\n}\n"],"names":["Cell","styled","EDIT_TRIGGER_CLASS","CellWidget","rowId","columnId","value","valueData","attributeData","options","isCollapsed","isInherited","isPlaceholder","isReadOnly","enableCustomValues","folderId","onChange","pt","props","ref","useRef","type","projectName","useProjectTableContext","isEditing","setEditingCellId","useCellEditing","isCellFocused","gridMap","selectCell","focusCell","useSelectionCellsContext","cellId","getCellId","isCurrentCellEditing","isCurrentCellFocused","handleDoubleClick","useCallback","handleSingleClick","moveToNextRow","rowIndex","newRowId","newCellId","handleOnChange","newValue","key","handleCancel","td","_a","widget","useMemo","sharedProps","textTypes","firstSelectedOption","option","color","jsx","CollapsedWidget","linksValue","isEditable","isLinkEditable","LinksWidget","enumValue","selectedOptions","EnumCellValue","EnumWidget","TextWidget","DateWidget","BooleanWidget","clsx"],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  import { j as n } from "../../../../../_virtual/jsx-runtime.es.js";
2
- import { useRef as D, useCallback as H, useMemo as J } from "react";
3
- import K from "styled-components";
4
- import { BooleanWidget as P } from "./BooleanWidget.es.js";
5
- import { CollapsedWidget as Q } from "./CollapsedWidget.es.js";
6
- import { DateWidget as U } from "./DateWidget.es.js";
7
- import { EnumWidget as X } from "./EnumWidget.es.js";
8
- import { TextWidget as I } from "./TextWidget.es.js";
2
+ import { useRef as z, useCallback as D, useMemo as H } from "react";
3
+ import J from "styled-components";
4
+ import { BooleanWidget as K } from "./BooleanWidget.es.js";
5
+ import { CollapsedWidget as P } from "./CollapsedWidget.es.js";
6
+ import { DateWidget as Q } from "./DateWidget.es.js";
7
+ import { EnumWidget as U } from "./EnumWidget.es.js";
8
+ import { TextWidget as X } from "./TextWidget.es.js";
9
9
  import { isLinkEditable as Y, LinksWidget as Z } from "./LinksWidget.es.js";
10
10
  import { useCellEditing as $ } from "../context/CellEditingContext.es.js";
11
- import { getCellId as W } from "../utils/cellUtils.es.js";
11
+ import { getCellId as I } from "../utils/cellUtils.es.js";
12
12
  import O from "clsx";
13
13
  import { useSelectionCellsContext as V } from "../context/SelectionCellsContext.es.js";
14
14
  import "react-toastify";
@@ -25,7 +25,7 @@ import "../components/SelectionCell.es.js";
25
25
  import "../components/RowSelectionHeader.es.js";
26
26
  import "./LoadMoreWidget.es.js";
27
27
  import "../context/ProjectTableQueriesContext.es.js";
28
- import { useProjectTableContext as oo } from "../context/ProjectTableContext.es.js";
28
+ import { useProjectTableContext as tt } from "../context/ProjectTableContext.es.js";
29
29
  import "../context/ClipboardContext.es.js";
30
30
  import "../ProjectTreeTable.es.js";
31
31
  import "../context/ColumnSettingsContext.es.js";
@@ -128,7 +128,8 @@ import "react-redux";
128
128
  import "custom-protocol-check";
129
129
  import "../components/GroupSettingsFallback.es.js";
130
130
  import "../context/ProjectDataContext.es.js";
131
- const to = K.div`
131
+ import { EnumCellValue as ot } from "./EnumCellValue.es.js";
132
+ const it = J.div`
132
133
  position: absolute;
133
134
  inset: 0;
134
135
  padding: 4px 8px;
@@ -149,145 +150,150 @@ const to = K.div`
149
150
  border-radius: 4px;
150
151
  opacity: 1;
151
152
  }
152
- `, Wi = "edit-trigger", hi = ({
153
- rowId: C,
154
- columnId: E,
153
+ `, Ai = "edit-trigger", Mi = ({
154
+ rowId: E,
155
+ columnId: j,
155
156
  value: i,
156
- valueData: h,
157
- attributeData: a,
157
+ valueData: W,
158
+ attributeData: x,
158
159
  options: d = [],
159
- isCollapsed: j,
160
- isInherited: u,
161
- isPlaceholder: x,
162
- isReadOnly: s,
163
- enableCustomValues: A,
164
- folderId: v,
165
- onChange: g,
160
+ isCollapsed: T,
161
+ isInherited: f,
162
+ isPlaceholder: g,
163
+ isReadOnly: l,
164
+ enableCustomValues: h,
165
+ folderId: A,
166
+ onChange: C,
166
167
  pt: r,
167
- ...T
168
+ ...b
168
169
  }) => {
169
- const b = D(null), p = a == null ? void 0 : a.type, { projectName: N } = oo(), { isEditing: k, setEditingCellId: l } = $(), { isCellFocused: L, gridMap: w, selectCell: S, focusCell: F } = V(), e = W(C, E), f = k(e), G = L(e), M = H(() => {
170
- x || s || l(e);
171
- }, [e, l, x]), _ = () => {
172
- f || l(null);
173
- }, B = () => {
174
- const t = w.rowIdToIndex.get(C);
175
- if (t === void 0) return;
176
- const m = w.indexToRowId.get(t + 1);
177
- if (m) {
178
- const o = W(m, E);
179
- S(o, !1, !1), F(o), l(o);
170
+ const w = z(null), m = x == null ? void 0 : x.type, { projectName: M } = tt(), { isEditing: N, setEditingCellId: s } = $(), { isCellFocused: S, gridMap: y, selectCell: k, focusCell: L } = V(), p = I(E, j), u = N(p), R = S(p), v = D(() => {
171
+ g || l || s(p);
172
+ }, [p, s, g]), F = () => {
173
+ u || s(null);
174
+ }, G = () => {
175
+ const o = y.rowIdToIndex.get(E);
176
+ if (o === void 0) return;
177
+ const e = y.indexToRowId.get(o + 1);
178
+ if (e) {
179
+ const t = I(e, j);
180
+ k(t, !1, !1), L(t), s(t);
180
181
  }
181
- }, R = (t, m) => {
182
- l(null), !s && (m === "Enter" && B(), (t !== i || m === "Enter") && (g == null || g(t, m)));
183
- }, q = () => {
184
- var m;
185
- l(null);
186
- const t = (m = b.current) == null ? void 0 : m.closest("td");
187
- t && t.focus();
188
- }, z = J(() => {
189
- const t = {
190
- onChange: R,
191
- onCancelEdit: q,
192
- isEditing: f
193
- }, m = ["string", "integer", "float"];
182
+ }, _ = (o, e) => {
183
+ s(null), !l && (e === "Enter" && G(), (o !== i || e === "Enter") && (C == null || C(o, e)));
184
+ }, B = () => {
185
+ var e;
186
+ s(null);
187
+ const o = (e = w.current) == null ? void 0 : e.closest("td");
188
+ o && o.focus();
189
+ }, q = H(() => {
190
+ const o = {
191
+ onChange: _,
192
+ onCancelEdit: B,
193
+ isEditing: u
194
+ }, e = ["string", "integer", "float"];
194
195
  switch (!0) {
195
196
  // this is showing the collapsed widget (dot)
196
- case j: {
197
- const o = p != null && p.includes("list") ? d.find(
198
- (y) => Array.isArray(i) ? i.includes(y.value) : i === y.value
199
- ) : void 0, c = o == null ? void 0 : o.color;
200
- return /* @__PURE__ */ n.jsx(Q, { color: c });
197
+ case T: {
198
+ const t = m != null && m.includes("list") ? d.find(
199
+ (a) => Array.isArray(i) ? i.includes(a.value) : i === a.value
200
+ ) : void 0, c = t == null ? void 0 : t.color;
201
+ return /* @__PURE__ */ n.jsx(P, { color: c });
201
202
  }
202
- case p === "links": {
203
- const o = h, c = Y(
204
- (o == null ? void 0 : o.direction) || "out",
205
- (o == null ? void 0 : o.link.linkType) || "",
206
- (o == null ? void 0 : o.entityType) || ""
203
+ case m === "links": {
204
+ const t = W, c = Y(
205
+ (t == null ? void 0 : t.direction) || "out",
206
+ (t == null ? void 0 : t.link.linkType) || "",
207
+ (t == null ? void 0 : t.entityType) || ""
207
208
  );
208
- return s = !c, /* @__PURE__ */ n.jsx(
209
+ return l = !c, /* @__PURE__ */ n.jsx(
209
210
  Z,
210
211
  {
211
- value: o,
212
- cellId: e,
213
- projectName: N,
212
+ value: t,
213
+ cellId: p,
214
+ projectName: M,
214
215
  disabled: !c,
215
- folderId: v,
216
- ...t
216
+ folderId: A,
217
+ ...o
217
218
  }
218
219
  );
219
220
  }
220
221
  case !!d.length: {
221
- const o = Array.isArray(i) ? i : [i];
222
- return s ? /* @__PURE__ */ n.jsx(
223
- I,
224
- {
225
- value: o.join(", "),
226
- option: o.length === 1 ? d.find((c) => c.value === o[0]) : void 0,
227
- ...t
228
- }
229
- ) : /* @__PURE__ */ n.jsx(
230
- X,
222
+ const t = Array.isArray(i) ? i : [i];
223
+ if (l) {
224
+ const c = d.filter((a) => t.includes(a.value));
225
+ return /* @__PURE__ */ n.jsx(
226
+ ot,
227
+ {
228
+ selectedOptions: c,
229
+ isReadOnly: !0,
230
+ hasMultipleValues: t.length > 1,
231
+ isMultiSelect: m == null ? void 0 : m.includes("list")
232
+ }
233
+ );
234
+ }
235
+ return /* @__PURE__ */ n.jsx(
236
+ U,
231
237
  {
232
- value: o,
238
+ value: t,
233
239
  options: d,
234
- type: p,
235
- onOpen: () => !s && l(e),
236
- enableCustomValues: A,
237
- ...t,
240
+ type: m,
241
+ onOpen: () => s(p),
242
+ enableCustomValues: h,
243
+ ...o,
238
244
  ...r == null ? void 0 : r.enum
239
245
  }
240
246
  );
241
247
  }
242
- case m.includes(p):
248
+ case e.includes(m):
243
249
  return /* @__PURE__ */ n.jsx(
244
- I,
250
+ X,
245
251
  {
246
252
  value: i,
247
- isInherited: u,
248
- ...t,
253
+ isInherited: f,
254
+ ...o,
249
255
  ...r == null ? void 0 : r.text
250
256
  }
251
257
  );
252
- case p === "datetime":
258
+ case m === "datetime":
253
259
  return /* @__PURE__ */ n.jsx(
254
- U,
260
+ Q,
255
261
  {
256
262
  value: i || void 0,
257
- isInherited: u,
258
- ...t,
263
+ isInherited: f,
264
+ ...o,
259
265
  ...r == null ? void 0 : r.date
260
266
  }
261
267
  );
262
- case p === "boolean":
263
- return /* @__PURE__ */ n.jsx(P, { value: i, ...t, ...r == null ? void 0 : r.boolean });
264
- case x:
268
+ case m === "boolean":
269
+ return /* @__PURE__ */ n.jsx(K, { value: i, ...o, ...r == null ? void 0 : r.boolean });
270
+ case g:
265
271
  return null;
266
272
  default:
267
273
  return null;
268
274
  }
269
- }, [e, i, p, f, d, j]);
275
+ }, [p, i, m, u, d, T]);
270
276
  return /* @__PURE__ */ n.jsx(
271
- to,
277
+ it,
272
278
  {
273
- ...T,
274
- className: O(T.className, {
275
- inherited: u && !f,
276
- readonly: s,
277
- editable: !s
279
+ ...b,
280
+ className: O(b.className, {
281
+ inherited: f && !u,
282
+ readonly: l,
283
+ editable: !l
278
284
  }),
279
- ref: b,
280
- onDoubleClick: M,
281
- onClick: _,
282
- id: e,
283
- "data-tooltip": u && !f && G ? "Inherited" : void 0,
285
+ ref: w,
286
+ onDoubleClick: v,
287
+ onClick: F,
288
+ id: p,
289
+ "data-tooltip": f && !u && R ? "Inherited" : void 0,
284
290
  "data-tooltip-delay": 200,
285
- children: z
291
+ children: q
286
292
  }
287
293
  );
288
294
  };
289
295
  export {
290
- hi as CellWidget,
291
- Wi as EDIT_TRIGGER_CLASS
296
+ Mi as CellWidget,
297
+ Ai as EDIT_TRIGGER_CLASS
292
298
  };
293
299
  //# sourceMappingURL=CellWidget.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CellWidget.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/CellWidget.tsx"],"sourcesContent":["import { useMemo, useCallback, useRef, FC } from 'react'\nimport styled from 'styled-components'\n\n// Widgets\nimport { BooleanWidget, BooleanWidgetProps } from './BooleanWidget'\nimport { CollapsedWidget } from './CollapsedWidget'\nimport { DateWidget, DateWidgetProps } from './DateWidget'\nimport { EnumWidget, EnumWidgetProps } from './EnumWidget'\nimport { TextWidget, TextWidgetProps, TextWidgetType } from './TextWidget'\nimport { isLinkEditable, LinksWidget, LinkWidgetData } from './LinksWidget'\n\n// Contexts\nimport { useCellEditing } from '../context/CellEditingContext'\n\n// Utils\nimport { getCellId } from '../utils/cellUtils'\nimport clsx from 'clsx'\nimport { useSelectionCellsContext } from '../context/SelectionCellsContext'\nimport { AttributeData, AttributeEnumItem } from '../types'\nimport { useProjectTableContext } from '../context'\n\nconst Cell = styled.div`\n position: absolute;\n inset: 0;\n padding: 4px 8px;\n display: flex;\n align-items: center;\n\n &:focus-visible {\n outline: none;\n }\n\n &.inherited {\n opacity: 0.6;\n font-style: italic;\n }\n\n &.loading {\n inset: 4px;\n border-radius: 4px;\n opacity: 1;\n }\n`\n\n// use this class to trigger the editing mode on a single click\nexport const EDIT_TRIGGER_CLASS = 'edit-trigger'\n\ntype WidgetAttributeData = { type: AttributeData['type'] | 'links' }\n\nexport type CellValue = string | number | boolean\nexport type CellValueData = Record<string, any>\n\ninterface EditorCellProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n rowId: string\n columnId: string\n value: CellValue | CellValue[]\n valueData?: CellValueData | CellValueData[] // extra data for the value\n attributeData?: WidgetAttributeData\n options?: AttributeEnumItem[]\n isCollapsed?: boolean\n isInherited?: boolean\n isPlaceholder?: boolean\n isFocused?: boolean\n isReadOnly?: boolean\n enableCustomValues?: boolean\n folderId?: string | null\n onChange?: (value: CellValue | CellValue[], key?: 'Enter' | 'Click' | 'Escape') => void\n // options passthrough props\n pt?: {\n enum?: Partial<EnumWidgetProps>\n text?: Partial<TextWidgetProps>\n date?: Partial<DateWidgetProps>\n boolean?: Partial<BooleanWidgetProps>\n }\n}\n\nexport interface WidgetBaseProps {\n isEditing?: boolean\n onChange: Required<EditorCellProps>['onChange']\n onCancelEdit?: () => void\n}\n\nexport const CellWidget: FC<EditorCellProps> = ({\n rowId,\n columnId,\n value,\n valueData,\n attributeData,\n options = [],\n isCollapsed,\n isInherited,\n isPlaceholder,\n isReadOnly,\n enableCustomValues,\n folderId,\n onChange,\n pt,\n ...props\n}) => {\n const ref = useRef<HTMLDivElement>(null)\n const type = attributeData?.type\n\n const { projectName } = useProjectTableContext()\n const { isEditing, setEditingCellId } = useCellEditing()\n const { isCellFocused, gridMap, selectCell, focusCell } = useSelectionCellsContext()\n const cellId = getCellId(rowId, columnId)\n\n const isCurrentCellEditing = isEditing(cellId)\n const isCurrentCellFocused = isCellFocused(cellId)\n\n const handleDoubleClick = useCallback(() => {\n if (isPlaceholder || isReadOnly) return\n setEditingCellId(cellId)\n }, [cellId, setEditingCellId, isPlaceholder])\n\n const handleSingleClick = () => {\n // clicking a cell that is not editing will close the editor on this cell\n // NOTE: the selection of a cell is handled in ProjectTreeTable.tsx line 1079\n if (!isCurrentCellEditing) {\n setEditingCellId(null)\n }\n }\n\n const moveToNextRow = () => {\n const rowIndex = gridMap.rowIdToIndex.get(rowId)\n if (rowIndex === undefined) return\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, columnId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n setEditingCellId(newCellId)\n }\n }\n\n const handleOnChange: WidgetBaseProps['onChange'] = (newValue, key) => {\n setEditingCellId(null)\n if (isReadOnly) return\n // move to the next cell row\n key === 'Enter' && moveToNextRow()\n // make change if the value is different or if the key is 'Enter'\n if (newValue !== value || key === 'Enter') {\n onChange?.(newValue, key)\n }\n }\n\n const handleCancel = () => {\n setEditingCellId(null)\n // ensure the browser focus moves back to the parent <td>\n const td = ref.current?.closest('td') as HTMLElement | null\n if (td) td.focus()\n }\n\n const widget = useMemo(() => {\n // Common props shared across all widgets\n const sharedProps: WidgetBaseProps = {\n onChange: handleOnChange,\n onCancelEdit: handleCancel,\n isEditing: isCurrentCellEditing,\n }\n\n const textTypes: TextWidgetType[] = ['string', 'integer', 'float']\n\n // Determine widget type based on attribute type\n switch (true) {\n // this is showing the collapsed widget (dot)\n case isCollapsed: {\n // if enum, find the first selected option and get its color\n const firstSelectedOption = type?.includes('list')\n ? options.find((option) =>\n Array.isArray(value) ? value.includes(option.value) : value === option.value,\n )\n : undefined\n const color = firstSelectedOption?.color\n return <CollapsedWidget color={color} />\n }\n\n case type === 'links': {\n const linksValue = valueData as LinkWidgetData | undefined\n\n const isEditable = isLinkEditable(\n linksValue?.direction || 'out',\n linksValue?.link.linkType || '',\n linksValue?.entityType || '',\n )\n\n // overwrite readonly state if the cell is currently being edited\n isReadOnly = !isEditable\n return (\n <LinksWidget\n value={linksValue}\n cellId={cellId}\n projectName={projectName}\n disabled={!isEditable}\n folderId={folderId}\n {...sharedProps}\n />\n )\n }\n\n case !!options.length: {\n const enumValue = Array.isArray(value) ? value : [value]\n if (isReadOnly) {\n return (\n <TextWidget\n value={enumValue.join(', ')}\n option={\n enumValue.length === 1 ? options.find((o) => o.value === enumValue[0]) : undefined\n }\n {...sharedProps}\n />\n )\n }\n return (\n <EnumWidget\n value={enumValue}\n options={options}\n type={type}\n onOpen={() => !isReadOnly && setEditingCellId(cellId)}\n enableCustomValues={enableCustomValues}\n {...sharedProps}\n {...pt?.enum}\n />\n )\n }\n\n case textTypes.includes(type as TextWidgetType):\n return (\n <TextWidget\n value={value as string}\n isInherited={isInherited}\n {...sharedProps}\n {...pt?.text}\n />\n )\n\n case type === 'datetime':\n return (\n <DateWidget\n value={value ? (value as string) : undefined}\n isInherited={isInherited}\n {...sharedProps}\n {...pt?.date}\n />\n )\n\n case type === 'boolean':\n return <BooleanWidget value={value as boolean} {...sharedProps} {...pt?.boolean} />\n\n case isPlaceholder:\n return null\n\n default:\n // TODO: We should not allow editing unrecognized types\n // At this point, only list_of_strings without proper options is unrecognized\n // (tags if not tags are specified in anatomy) and in that case, validation\n // on the server fails with a string value. Unless we have a widget that\n // accepts a string value AND options at the same time we shouldn't show\n // any edit widget\n\n //console.log(`Unrecognized type \"${type}\" for cell ${cellId}.`)\n return null\n }\n }, [cellId, value, type, isCurrentCellEditing, options, isCollapsed])\n\n return (\n <Cell\n {...props}\n className={clsx(props.className, {\n inherited: isInherited && !isCurrentCellEditing,\n readonly: isReadOnly,\n editable: !isReadOnly,\n })}\n ref={ref}\n onDoubleClick={handleDoubleClick}\n onClick={handleSingleClick}\n id={cellId}\n data-tooltip={\n isInherited && !isCurrentCellEditing && isCurrentCellFocused ? 'Inherited' : undefined\n }\n data-tooltip-delay={200}\n >\n {widget}\n </Cell>\n )\n}\n"],"names":["Cell","styled","EDIT_TRIGGER_CLASS","CellWidget","rowId","columnId","value","valueData","attributeData","options","isCollapsed","isInherited","isPlaceholder","isReadOnly","enableCustomValues","folderId","onChange","pt","props","ref","useRef","type","projectName","useProjectTableContext","isEditing","setEditingCellId","useCellEditing","isCellFocused","gridMap","selectCell","focusCell","useSelectionCellsContext","cellId","getCellId","isCurrentCellEditing","isCurrentCellFocused","handleDoubleClick","useCallback","handleSingleClick","moveToNextRow","rowIndex","newRowId","newCellId","handleOnChange","newValue","key","handleCancel","td","_a","widget","useMemo","sharedProps","textTypes","firstSelectedOption","option","color","jsx","CollapsedWidget","linksValue","isEditable","isLinkEditable","LinksWidget","enumValue","TextWidget","o","EnumWidget","DateWidget","BooleanWidget","clsx"],"mappings":"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"}
1
+ {"version":3,"file":"CellWidget.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/CellWidget.tsx"],"sourcesContent":["import { useMemo, useCallback, useRef, FC } from 'react'\nimport styled from 'styled-components'\n\n// Widgets\nimport { BooleanWidget, BooleanWidgetProps } from './BooleanWidget'\nimport { CollapsedWidget } from './CollapsedWidget'\nimport { DateWidget, DateWidgetProps } from './DateWidget'\nimport { EnumWidget, EnumWidgetProps } from './EnumWidget'\nimport { TextWidget, TextWidgetProps, TextWidgetType } from './TextWidget'\nimport { isLinkEditable, LinksWidget, LinkWidgetData } from './LinksWidget'\n\n// Contexts\nimport { useCellEditing } from '../context/CellEditingContext'\n\n// Utils\nimport { getCellId } from '../utils/cellUtils'\nimport clsx from 'clsx'\nimport { useSelectionCellsContext } from '../context/SelectionCellsContext'\nimport { AttributeData, AttributeEnumItem } from '../types'\nimport { useProjectTableContext } from '../context'\nimport { EnumCellValue } from './EnumCellValue'\n\nconst Cell = styled.div`\n position: absolute;\n inset: 0;\n padding: 4px 8px;\n display: flex;\n align-items: center;\n\n &:focus-visible {\n outline: none;\n }\n\n &.inherited {\n opacity: 0.6;\n font-style: italic;\n }\n\n &.loading {\n inset: 4px;\n border-radius: 4px;\n opacity: 1;\n }\n`\n\n// use this class to trigger the editing mode on a single click\nexport const EDIT_TRIGGER_CLASS = 'edit-trigger'\n\ntype WidgetAttributeData = { type: AttributeData['type'] | 'links' }\n\nexport type CellValue = string | number | boolean\nexport type CellValueData = Record<string, any>\n\ninterface EditorCellProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n rowId: string\n columnId: string\n value: CellValue | CellValue[]\n valueData?: CellValueData | CellValueData[] // extra data for the value\n attributeData?: WidgetAttributeData\n options?: AttributeEnumItem[]\n isCollapsed?: boolean\n isInherited?: boolean\n isPlaceholder?: boolean\n isFocused?: boolean\n isReadOnly?: boolean\n enableCustomValues?: boolean\n folderId?: string | null\n onChange?: (value: CellValue | CellValue[], key?: 'Enter' | 'Click' | 'Escape') => void\n // options passthrough props\n pt?: {\n enum?: Partial<EnumWidgetProps>\n text?: Partial<TextWidgetProps>\n date?: Partial<DateWidgetProps>\n boolean?: Partial<BooleanWidgetProps>\n }\n}\n\nexport interface WidgetBaseProps {\n isEditing?: boolean\n onChange: Required<EditorCellProps>['onChange']\n onCancelEdit?: () => void\n}\n\nexport const CellWidget: FC<EditorCellProps> = ({\n rowId,\n columnId,\n value,\n valueData,\n attributeData,\n options = [],\n isCollapsed,\n isInherited,\n isPlaceholder,\n isReadOnly,\n enableCustomValues,\n folderId,\n onChange,\n pt,\n ...props\n}) => {\n const ref = useRef<HTMLDivElement>(null)\n const type = attributeData?.type\n\n const { projectName } = useProjectTableContext()\n const { isEditing, setEditingCellId } = useCellEditing()\n const { isCellFocused, gridMap, selectCell, focusCell } = useSelectionCellsContext()\n const cellId = getCellId(rowId, columnId)\n\n const isCurrentCellEditing = isEditing(cellId)\n const isCurrentCellFocused = isCellFocused(cellId)\n\n const handleDoubleClick = useCallback(() => {\n if (isPlaceholder || isReadOnly) return\n setEditingCellId(cellId)\n }, [cellId, setEditingCellId, isPlaceholder])\n\n const handleSingleClick = () => {\n // clicking a cell that is not editing will close the editor on this cell\n // NOTE: the selection of a cell is handled in ProjectTreeTable.tsx line 1079\n if (!isCurrentCellEditing) {\n setEditingCellId(null)\n }\n }\n\n const moveToNextRow = () => {\n const rowIndex = gridMap.rowIdToIndex.get(rowId)\n if (rowIndex === undefined) return\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, columnId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n setEditingCellId(newCellId)\n }\n }\n\n const handleOnChange: WidgetBaseProps['onChange'] = (newValue, key) => {\n setEditingCellId(null)\n if (isReadOnly) return\n // move to the next cell row\n key === 'Enter' && moveToNextRow()\n // make change if the value is different or if the key is 'Enter'\n if (newValue !== value || key === 'Enter') {\n onChange?.(newValue, key)\n }\n }\n\n const handleCancel = () => {\n setEditingCellId(null)\n // ensure the browser focus moves back to the parent <td>\n const td = ref.current?.closest('td') as HTMLElement | null\n if (td) td.focus()\n }\n\n const widget = useMemo(() => {\n // Common props shared across all widgets\n const sharedProps: WidgetBaseProps = {\n onChange: handleOnChange,\n onCancelEdit: handleCancel,\n isEditing: isCurrentCellEditing,\n }\n\n const textTypes: TextWidgetType[] = ['string', 'integer', 'float']\n\n // Determine widget type based on attribute type\n switch (true) {\n // this is showing the collapsed widget (dot)\n case isCollapsed: {\n // if enum, find the first selected option and get its color\n const firstSelectedOption = type?.includes('list')\n ? options.find((option) =>\n Array.isArray(value) ? value.includes(option.value) : value === option.value,\n )\n : undefined\n const color = firstSelectedOption?.color\n return <CollapsedWidget color={color} />\n }\n\n case type === 'links': {\n const linksValue = valueData as LinkWidgetData | undefined\n\n const isEditable = isLinkEditable(\n linksValue?.direction || 'out',\n linksValue?.link.linkType || '',\n linksValue?.entityType || '',\n )\n\n // overwrite readonly state if the cell is currently being edited\n isReadOnly = !isEditable\n return (\n <LinksWidget\n value={linksValue}\n cellId={cellId}\n projectName={projectName}\n disabled={!isEditable}\n folderId={folderId}\n {...sharedProps}\n />\n )\n }\n\n case !!options.length: {\n const enumValue = Array.isArray(value) ? value : [value]\n if (isReadOnly) {\n const selectedOptions = options.filter((option) => enumValue.includes(option.value))\n return (\n <EnumCellValue\n selectedOptions={selectedOptions}\n isReadOnly\n hasMultipleValues={enumValue.length > 1}\n isMultiSelect={type?.includes('list')}\n />\n )\n }\n return (\n <EnumWidget\n value={enumValue}\n options={options}\n type={type}\n onOpen={() => setEditingCellId(cellId)}\n enableCustomValues={enableCustomValues}\n {...sharedProps}\n {...pt?.enum}\n />\n )\n }\n\n case textTypes.includes(type as TextWidgetType):\n return (\n <TextWidget\n value={value as string}\n isInherited={isInherited}\n {...sharedProps}\n {...pt?.text}\n />\n )\n\n case type === 'datetime':\n return (\n <DateWidget\n value={value ? (value as string) : undefined}\n isInherited={isInherited}\n {...sharedProps}\n {...pt?.date}\n />\n )\n\n case type === 'boolean':\n return <BooleanWidget value={value as boolean} {...sharedProps} {...pt?.boolean} />\n\n case isPlaceholder:\n return null\n\n default:\n // TODO: We should not allow editing unrecognized types\n // At this point, only list_of_strings without proper options is unrecognized\n // (tags if not tags are specified in anatomy) and in that case, validation\n // on the server fails with a string value. Unless we have a widget that\n // accepts a string value AND options at the same time we shouldn't show\n // any edit widget\n\n //console.log(`Unrecognized type \"${type}\" for cell ${cellId}.`)\n return null\n }\n }, [cellId, value, type, isCurrentCellEditing, options, isCollapsed])\n\n return (\n <Cell\n {...props}\n className={clsx(props.className, {\n inherited: isInherited && !isCurrentCellEditing,\n readonly: isReadOnly,\n editable: !isReadOnly,\n })}\n ref={ref}\n onDoubleClick={handleDoubleClick}\n onClick={handleSingleClick}\n id={cellId}\n data-tooltip={\n isInherited && !isCurrentCellEditing && isCurrentCellFocused ? 'Inherited' : undefined\n }\n data-tooltip-delay={200}\n >\n {widget}\n </Cell>\n )\n}\n"],"names":["Cell","styled","EDIT_TRIGGER_CLASS","CellWidget","rowId","columnId","value","valueData","attributeData","options","isCollapsed","isInherited","isPlaceholder","isReadOnly","enableCustomValues","folderId","onChange","pt","props","ref","useRef","type","projectName","useProjectTableContext","isEditing","setEditingCellId","useCellEditing","isCellFocused","gridMap","selectCell","focusCell","useSelectionCellsContext","cellId","getCellId","isCurrentCellEditing","isCurrentCellFocused","handleDoubleClick","useCallback","handleSingleClick","moveToNextRow","rowIndex","newRowId","newCellId","handleOnChange","newValue","key","handleCancel","td","_a","widget","useMemo","sharedProps","textTypes","firstSelectedOption","option","color","jsx","CollapsedWidget","linksValue","isEditable","isLinkEditable","LinksWidget","enumValue","selectedOptions","EnumCellValue","EnumWidget","TextWidget","DateWidget","BooleanWidget","clsx"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../../../../../_virtual/jsx-runtime.cjs.js"),o=require("@ynput/ayon-react-components"),t=require("clsx"),r=require("styled-components"),F=require("./CellWidget.cjs.js"),H=r.div`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("../../../../../_virtual/jsx-runtime.cjs.js"),o=require("@ynput/ayon-react-components"),t=require("clsx"),r=require("styled-components"),F="edit-trigger",H=r.div`
2
2
  display: flex;
3
3
  gap: var(--base-gap-small);
4
4
  align-items: center;
@@ -77,5 +77,5 @@
77
77
  }
78
78
  `,U=r(o.Icon)`
79
79
  transition: rotate 0.2s;
80
- `,X=({selectedOptions:s,placeholder:n,hasMultipleValues:p,isMultiSelect:c,isOpen:i,isItem:l,isSelected:d,isReadOnly:h,className:g,pt:v,...y})=>{const{icon:b={},img:j={},value:f={},expand:R={},close:E={}}=v||{},{style:N,className:S,...w}=b,{style:C,className:k,...I}=j,{style:W,className:V,...q}=f,{style:L,className:T,..._}=R,{style:A,className:D,...G}=E,m=s.every(e=>e.icon),P=!p||!m,u=!m&&c&&!l,x=!s.length&&n;return x&&(s=[{label:n,value:""}]),a.jsxRuntimeExports.jsxs(H,{className:t(g,{selected:d,item:l}),...y,children:[a.jsxRuntimeExports.jsx(z,{children:s.map((e,B)=>a.jsxRuntimeExports.jsxs(J,{children:[e.icon&&Y(e.icon)?a.jsxRuntimeExports.jsx(M,{src:e.icon,className:t({avatar:Z(e.icon)},k),style:C,...I}):e.icon?a.jsxRuntimeExports.jsx(o.Icon,{icon:e.icon,style:{color:e.color,...N},className:S,...w}):null,(P||!e.icon)&&a.jsxRuntimeExports.jsx(K,{style:{color:u?"inherit":e.color,backgroundColor:u?e.color||"var(--md-sys-color-surface-container)":"transparent",...W},className:t({placeholder:x},V),"aria-label":e.label,...q,children:e.label})]},e.value.toString()+B))}),!l&&!h&&a.jsxRuntimeExports.jsx(Q,{className:t("expand",F.EDIT_TRIGGER_CLASS,{open:i},T),children:a.jsxRuntimeExports.jsx(U,{icon:"expand_more",style:{rotate:i?"180deg":"0",...L},"aria-label":"Expand options",..._})}),l&&d&&c&&a.jsxRuntimeExports.jsx(o.Icon,{icon:"close",style:{marginLeft:"auto",marginRight:4,...A},"aria-label":"Deselect item",className:t("close",D),...G})]})},Y=(s="")=>s.startsWith("/")||s.startsWith("./")||s.startsWith("../")||s.startsWith("http://")||s.startsWith("https://"),Z=s=>s.includes("avatar");exports.EnumCellValue=X;
80
+ `,X=({selectedOptions:a,placeholder:n,hasMultipleValues:p,isMultiSelect:c,isOpen:i,isItem:l,isSelected:d,isReadOnly:g,className:h,pt:v,...y})=>{const{icon:b={},img:j={},value:f={},expand:R={},close:E={}}=v||{},{style:N,className:S,...w}=b,{style:C,className:k,...I}=j,{style:W,className:V,...q}=f,{style:L,className:T,..._}=R,{style:A,className:D,...G}=E,m=a.every(e=>e.icon),P=!p||!m,u=!m&&c&&!l,x=!a.length&&n;return x&&(a=[{label:n,value:""}]),s.jsxRuntimeExports.jsxs(H,{className:t(h,{selected:d,item:l}),...y,children:[s.jsxRuntimeExports.jsx(z,{children:a.map((e,B)=>s.jsxRuntimeExports.jsxs(J,{children:[e.icon&&Y(e.icon)?s.jsxRuntimeExports.jsx(M,{src:e.icon,className:t({avatar:Z(e.icon)},k),style:C,"data-tooltip":e.label,...I}):e.icon?s.jsxRuntimeExports.jsx(o.Icon,{icon:e.icon,style:{color:e.color,...N},className:S,...w}):null,(P||!e.icon)&&s.jsxRuntimeExports.jsx(K,{style:{color:u?"inherit":e.color,backgroundColor:u?e.color||"var(--md-sys-color-surface-container)":"transparent",...W},className:t({placeholder:x},V),"aria-label":e.label,...q,children:e.label})]},e.value.toString()+B))}),!l&&!g&&s.jsxRuntimeExports.jsx(Q,{className:t("expand",F,{open:i},T),children:s.jsxRuntimeExports.jsx(U,{icon:"expand_more",style:{rotate:i?"180deg":"0",...L},"aria-label":"Expand options",..._})}),l&&d&&c&&s.jsxRuntimeExports.jsx(o.Icon,{icon:"close",style:{marginLeft:"auto",marginRight:4,...A},"aria-label":"Deselect item",className:t("close",D),...G})]})},Y=(a="")=>a.startsWith("/")||a.startsWith("./")||a.startsWith("../")||a.startsWith("http://")||a.startsWith("https://"),Z=a=>a.includes("avatar");exports.EnumCellValue=X;
81
81
  //# sourceMappingURL=EnumCellValue.cjs.js.map