@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
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../_virtual/jsx-runtime.cjs.js"),p=require("react"),m=require("./AccessUser.styled.cjs.js"),d=require("../ShareOptionIcon/ShareOptionIcon.cjs.js"),l=require("clsx"),h={0:"No access",10:"Viewer",20:"Editor",30:"Admin"},S=p.forwardRef(({name:s,label:r,icon:t,shareType:c,isMe:n,isOwner:o,isCompact:i,children:x,className:a,...u},E)=>{const j=r&&r!==s&&!s.startsWith("__")&&!s.endsWith("__");return e.jsxRuntimeExports.jsxs(m.User,{...u,ref:E,className:l(a,{compact:i}),children:[e.jsxRuntimeExports.jsx(d.ShareOptionIcon,{shareType:c,name:s,label:r,icon:t}),e.jsxRuntimeExports.jsxs("span",{className:"label",children:[r||s,n?e.jsxRuntimeExports.jsx("span",{className:"name",children:"(you)"}):j&&e.jsxRuntimeExports.jsxs("span",{className:"name",children:["(",s,")"]})]}),o&&e.jsxRuntimeExports.jsx("span",{className:"owner",children:"Owner"}),x]})});exports.ACCESS_LEVEL_LABELS=h;exports.AccessUser=S;
2
+ //# sourceMappingURL=AccessUser.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccessUser.cjs.js","sources":["../../../../../src/components/AccessUser/AccessUser.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport * as Styled from './AccessUser.styled'\nimport { ShareOptionIcon } from '../ShareOptionIcon'\nimport clsx from 'clsx'\n\nexport const ACCESS_LEVEL_LABELS = {\n 0: 'No access',\n 10: 'Viewer',\n 20: 'Editor',\n 30: 'Admin',\n}\n\nexport type AccessLevel = 0 | 10 | 20 | 30\n\nexport interface AccessUser {\n value: string // unique identifier for the user or group\n name: string\n label?: string\n shareType?: string\n icon?: string // optional icon for the user\n accessLevel?: AccessLevel // access level (optional for display-only usage)\n isOwner?: boolean // if this user is the owner\n isMe?: boolean // if this user is the current user\n}\n\nexport interface AccessUserProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Pick<AccessUser, 'icon' | 'name' | 'label' | 'shareType' | 'isMe' | 'isOwner'> {\n children?: React.ReactNode // Allow children for controls like dropdown/buttons\n isCompact?: boolean // if true, use compact styling\n}\n\nexport const AccessUser = forwardRef<HTMLDivElement, AccessUserProps>(\n (\n { name, label, icon, shareType, isMe, isOwner, isCompact, children, className, ...props },\n ref,\n ) => {\n const showUsername = label && label !== name && !name.startsWith('__') && !name.endsWith('__')\n\n return (\n <Styled.User {...props} ref={ref} className={clsx(className, { compact: isCompact })}>\n <ShareOptionIcon shareType={shareType} name={name} label={label} icon={icon} />\n <span className=\"label\">\n {label || name}\n {isMe ? (\n <span className=\"name\">(you)</span>\n ) : (\n showUsername && <span className=\"name\">({name})</span>\n )}\n </span>\n {isOwner && <span className=\"owner\">Owner</span>}\n {children}\n </Styled.User>\n )\n },\n)\n"],"names":["ACCESS_LEVEL_LABELS","AccessUser","forwardRef","name","label","icon","shareType","isMe","isOwner","isCompact","children","className","props","ref","showUsername","jsxs","Styled.User","clsx","jsx","ShareOptionIcon"],"mappings":"+QAKaA,EAAsB,CACjC,EAAG,YACH,GAAI,SACJ,GAAI,SACJ,GAAI,OACN,EAsBaC,EAAaC,EAAA,WACxB,CACE,CAAE,KAAAC,EAAM,MAAAC,EAAO,KAAAC,EAAM,UAAAC,EAAW,KAAAC,EAAM,QAAAC,EAAS,UAAAC,EAAW,SAAAC,EAAU,UAAAC,EAAW,GAAGC,CAAA,EAClFC,IACG,CACH,MAAMC,EAAeV,GAASA,IAAUD,GAAQ,CAACA,EAAK,WAAW,IAAI,GAAK,CAACA,EAAK,SAAS,IAAI,EAE7F,OACGY,EAAA,kBAAA,KAAAC,EAAA,KAAA,CAAa,GAAGJ,EAAO,IAAAC,EAAU,UAAWI,EAAKN,EAAW,CAAE,QAASF,CAAW,CAAA,EACjF,SAAA,CAAAS,EAAA,kBAAA,IAACC,EAAgB,gBAAA,CAAA,UAAAb,EAAsB,KAAAH,EAAY,MAAAC,EAAc,KAAAC,EAAY,EAC7EU,EAAAA,kBAAAA,KAAC,OAAK,CAAA,UAAU,QACb,SAAA,CAASX,GAAAD,EACTI,EACEW,EAAA,kBAAA,IAAA,OAAA,CAAK,UAAU,OAAO,SAAK,OAAA,CAAA,EAE5BJ,GAAgBC,EAAAA,kBAAAA,KAAC,OAAK,CAAA,UAAU,OAAO,SAAA,CAAA,IAAEZ,EAAK,GAAA,CAAC,CAAA,CAAA,EAEnD,EACCK,GAAWU,EAAA,kBAAA,IAAC,OAAK,CAAA,UAAU,QAAQ,SAAK,QAAA,EACxCR,CAAA,EACH,CAAA,CAGN"}
@@ -0,0 +1,33 @@
1
+ import { j as r } from "../../../../_virtual/jsx-runtime.es.js";
2
+ import { forwardRef as h } from "react";
3
+ import { User as j } from "./AccessUser.styled.es.js";
4
+ import { ShareOptionIcon as f } from "../ShareOptionIcon/ShareOptionIcon.es.js";
5
+ import l from "clsx";
6
+ const L = {
7
+ 0: "No access",
8
+ 10: "Viewer",
9
+ 20: "Editor",
10
+ 30: "Admin"
11
+ }, S = h(
12
+ ({ name: s, label: o, icon: c, shareType: e, isMe: t, isOwner: n, isCompact: i, children: a, className: m, ...p }, x) => {
13
+ const d = o && o !== s && !s.startsWith("__") && !s.endsWith("__");
14
+ return /* @__PURE__ */ r.jsxs(j, { ...p, ref: x, className: l(m, { compact: i }), children: [
15
+ /* @__PURE__ */ r.jsx(f, { shareType: e, name: s, label: o, icon: c }),
16
+ /* @__PURE__ */ r.jsxs("span", { className: "label", children: [
17
+ o || s,
18
+ t ? /* @__PURE__ */ r.jsx("span", { className: "name", children: "(you)" }) : d && /* @__PURE__ */ r.jsxs("span", { className: "name", children: [
19
+ "(",
20
+ s,
21
+ ")"
22
+ ] })
23
+ ] }),
24
+ n && /* @__PURE__ */ r.jsx("span", { className: "owner", children: "Owner" }),
25
+ a
26
+ ] });
27
+ }
28
+ );
29
+ export {
30
+ L as ACCESS_LEVEL_LABELS,
31
+ S as AccessUser
32
+ };
33
+ //# sourceMappingURL=AccessUser.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccessUser.es.js","sources":["../../../../../src/components/AccessUser/AccessUser.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport * as Styled from './AccessUser.styled'\nimport { ShareOptionIcon } from '../ShareOptionIcon'\nimport clsx from 'clsx'\n\nexport const ACCESS_LEVEL_LABELS = {\n 0: 'No access',\n 10: 'Viewer',\n 20: 'Editor',\n 30: 'Admin',\n}\n\nexport type AccessLevel = 0 | 10 | 20 | 30\n\nexport interface AccessUser {\n value: string // unique identifier for the user or group\n name: string\n label?: string\n shareType?: string\n icon?: string // optional icon for the user\n accessLevel?: AccessLevel // access level (optional for display-only usage)\n isOwner?: boolean // if this user is the owner\n isMe?: boolean // if this user is the current user\n}\n\nexport interface AccessUserProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Pick<AccessUser, 'icon' | 'name' | 'label' | 'shareType' | 'isMe' | 'isOwner'> {\n children?: React.ReactNode // Allow children for controls like dropdown/buttons\n isCompact?: boolean // if true, use compact styling\n}\n\nexport const AccessUser = forwardRef<HTMLDivElement, AccessUserProps>(\n (\n { name, label, icon, shareType, isMe, isOwner, isCompact, children, className, ...props },\n ref,\n ) => {\n const showUsername = label && label !== name && !name.startsWith('__') && !name.endsWith('__')\n\n return (\n <Styled.User {...props} ref={ref} className={clsx(className, { compact: isCompact })}>\n <ShareOptionIcon shareType={shareType} name={name} label={label} icon={icon} />\n <span className=\"label\">\n {label || name}\n {isMe ? (\n <span className=\"name\">(you)</span>\n ) : (\n showUsername && <span className=\"name\">({name})</span>\n )}\n </span>\n {isOwner && <span className=\"owner\">Owner</span>}\n {children}\n </Styled.User>\n )\n },\n)\n"],"names":["ACCESS_LEVEL_LABELS","AccessUser","forwardRef","name","label","icon","shareType","isMe","isOwner","isCompact","children","className","props","ref","showUsername","jsxs","Styled.User","clsx","jsx","ShareOptionIcon"],"mappings":";;;;;AAKO,MAAMA,IAAsB;AAAA,EACjC,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GAsBaC,IAAaC;AAAA,EACxB,CACE,EAAE,MAAAC,GAAM,OAAAC,GAAO,MAAAC,GAAM,WAAAC,GAAW,MAAAC,GAAM,SAAAC,GAAS,WAAAC,GAAW,UAAAC,GAAU,WAAAC,GAAW,GAAGC,EAAA,GAClFC,MACG;AACH,UAAMC,IAAeV,KAASA,MAAUD,KAAQ,CAACA,EAAK,WAAW,IAAI,KAAK,CAACA,EAAK,SAAS,IAAI;AAE7F,WACGY,gBAAAA,EAAA,KAAAC,GAAA,EAAa,GAAGJ,GAAO,KAAAC,GAAU,WAAWI,EAAKN,GAAW,EAAE,SAASF,EAAW,CAAA,GACjF,UAAA;AAAA,MAAAS,gBAAAA,EAAA,IAACC,GAAgB,EAAA,WAAAb,GAAsB,MAAAH,GAAY,OAAAC,GAAc,MAAAC,GAAY;AAAA,MAC7EU,gBAAAA,EAAAA,KAAC,QAAK,EAAA,WAAU,SACb,UAAA;AAAA,QAASX,KAAAD;AAAA,QACTI,IACEW,gBAAAA,EAAA,IAAA,QAAA,EAAK,WAAU,QAAO,UAAK,QAAA,CAAA,IAE5BJ,KAAgBC,gBAAAA,EAAAA,KAAC,QAAK,EAAA,WAAU,QAAO,UAAA;AAAA,UAAA;AAAA,UAAEZ;AAAA,UAAK;AAAA,QAAA,EAAC,CAAA;AAAA,MAAA,GAEnD;AAAA,MACCK,KAAWU,gBAAAA,EAAA,IAAC,QAAK,EAAA,WAAU,SAAQ,UAAK,SAAA;AAAA,MACxCR;AAAA,IAAA,GACH;AAAA,EAAA;AAGN;"}
@@ -0,0 +1,42 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("styled-components"),r=e.div`
2
+ display: flex;
3
+ align-items: center;
4
+ gap: var(--base-gap-medium);
5
+ padding: var(--padding-s) var(--padding-m);
6
+ border-radius: var(--border-radius-m);
7
+ min-height: 40px;
8
+
9
+ &.compact {
10
+ min-height: 32px;
11
+ padding: var(--padding-s);
12
+ }
13
+
14
+ &:hover {
15
+ background-color: var(--md-sys-color-surface-container-high-hover);
16
+ }
17
+
18
+ .label {
19
+ flex: 1;
20
+ }
21
+
22
+ .name {
23
+ color: var(--md-sys-color-outline);
24
+ padding-left: var(--base-gap-small);
25
+ }
26
+
27
+ .owner,
28
+ .suffix {
29
+ color: var(--md-sys-color-outline);
30
+ }
31
+
32
+ .icon {
33
+ font-size: 24px;
34
+ user-select: none;
35
+ }
36
+
37
+ .remove.hasIcon {
38
+ padding: 2px;
39
+ font-size: 20px;
40
+ }
41
+ `;exports.User=r;
42
+ //# sourceMappingURL=AccessUser.styled.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccessUser.styled.cjs.js","sources":["../../../../../src/components/AccessUser/AccessUser.styled.ts"],"sourcesContent":["import styled from 'styled-components'\n\nexport const User = styled.div`\n display: flex;\n align-items: center;\n gap: var(--base-gap-medium);\n padding: var(--padding-s) var(--padding-m);\n border-radius: var(--border-radius-m);\n min-height: 40px;\n\n &.compact {\n min-height: 32px;\n padding: var(--padding-s);\n }\n\n &:hover {\n background-color: var(--md-sys-color-surface-container-high-hover);\n }\n\n .label {\n flex: 1;\n }\n\n .name {\n color: var(--md-sys-color-outline);\n padding-left: var(--base-gap-small);\n }\n\n .owner,\n .suffix {\n color: var(--md-sys-color-outline);\n }\n\n .icon {\n font-size: 24px;\n user-select: none;\n }\n\n .remove.hasIcon {\n padding: 2px;\n font-size: 20px;\n }\n`\n"],"names":["User","styled"],"mappings":"qHAEaA,EAAOC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA"}
@@ -0,0 +1,46 @@
1
+ import r from "styled-components";
2
+ const e = r.div`
3
+ display: flex;
4
+ align-items: center;
5
+ gap: var(--base-gap-medium);
6
+ padding: var(--padding-s) var(--padding-m);
7
+ border-radius: var(--border-radius-m);
8
+ min-height: 40px;
9
+
10
+ &.compact {
11
+ min-height: 32px;
12
+ padding: var(--padding-s);
13
+ }
14
+
15
+ &:hover {
16
+ background-color: var(--md-sys-color-surface-container-high-hover);
17
+ }
18
+
19
+ .label {
20
+ flex: 1;
21
+ }
22
+
23
+ .name {
24
+ color: var(--md-sys-color-outline);
25
+ padding-left: var(--base-gap-small);
26
+ }
27
+
28
+ .owner,
29
+ .suffix {
30
+ color: var(--md-sys-color-outline);
31
+ }
32
+
33
+ .icon {
34
+ font-size: 24px;
35
+ user-select: none;
36
+ }
37
+
38
+ .remove.hasIcon {
39
+ padding: 2px;
40
+ font-size: 20px;
41
+ }
42
+ `;
43
+ export {
44
+ e as User
45
+ };
46
+ //# sourceMappingURL=AccessUser.styled.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccessUser.styled.es.js","sources":["../../../../../src/components/AccessUser/AccessUser.styled.ts"],"sourcesContent":["import styled from 'styled-components'\n\nexport const User = styled.div`\n display: flex;\n align-items: center;\n gap: var(--base-gap-medium);\n padding: var(--padding-s) var(--padding-m);\n border-radius: var(--border-radius-m);\n min-height: 40px;\n\n &.compact {\n min-height: 32px;\n padding: var(--padding-s);\n }\n\n &:hover {\n background-color: var(--md-sys-color-surface-container-high-hover);\n }\n\n .label {\n flex: 1;\n }\n\n .name {\n color: var(--md-sys-color-outline);\n padding-left: var(--base-gap-small);\n }\n\n .owner,\n .suffix {\n color: var(--md-sys-color-outline);\n }\n\n .icon {\n font-size: 24px;\n user-select: none;\n }\n\n .remove.hasIcon {\n padding: 2px;\n font-size: 20px;\n }\n`\n"],"names":["User","styled"],"mappings":";AAEO,MAAMA,IAAOC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -0,0 +1,34 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../_virtual/jsx-runtime.cjs.js"),o=require("clsx"),r=require("styled-components"),n=r.div`
2
+ padding: var(--padding-l);
3
+ border-radius: var(--border-radius-xxl);
4
+ border: 1px solid var(--md-sys-color-outline-variant);
5
+
6
+ width: 100%;
7
+ display: flex;
8
+ flex-direction: column;
9
+ gap: 16px;
10
+
11
+ h3 {
12
+ margin: 0;
13
+ padding: 4px 0;
14
+ }
15
+ `,d=r.div`
16
+ display: flex;
17
+
18
+ .label {
19
+ width: 130px;
20
+ overflow: hidden;
21
+ text-overflow: ellipsis;
22
+ white-space: nowrap;
23
+ color: var(--md-sys-color-outline);
24
+ display: block;
25
+ }
26
+
27
+ .value {
28
+ flex: 1;
29
+ overflow: hidden;
30
+ text-overflow: ellipsis;
31
+ white-space: nowrap;
32
+ }
33
+ `,x=({data:l,title:s,isLoading:a})=>e.jsxRuntimeExports.jsxs(n,{children:[s&&e.jsxRuntimeExports.jsx("h3",{children:s}),Object.entries(l).map(([i,t])=>e.jsxRuntimeExports.jsxs(d,{className:o({loading:a}),children:[e.jsxRuntimeExports.jsx("label",{className:"label",children:i}),e.jsxRuntimeExports.jsx("span",{className:"value",children:String(t)})]},i))]});exports.DetailsMetaData=x;
34
+ //# sourceMappingURL=DetailsMetaData.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DetailsMetaData.cjs.js","sources":["../../../../../src/components/DetailsMetaData/DetailsMetaData.tsx"],"sourcesContent":["import clsx from 'clsx'\nimport { FC } from 'react'\nimport styled from 'styled-components'\n\nconst Container = styled.div`\n padding: var(--padding-l);\n border-radius: var(--border-radius-xxl);\n border: 1px solid var(--md-sys-color-outline-variant);\n\n width: 100%;\n display: flex;\n flex-direction: column;\n gap: 16px;\n\n h3 {\n margin: 0;\n padding: 4px 0;\n }\n`\n\nconst Row = styled.div`\n display: flex;\n\n .label {\n width: 130px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: var(--md-sys-color-outline);\n display: block;\n }\n\n .value {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n`\n\ninterface DetailsMetaDataProps {\n data: Record<string, any>\n title?: string\n isLoading?: boolean\n}\n\nexport const DetailsMetaData: FC<DetailsMetaDataProps> = ({ data, title, isLoading }) => {\n return (\n <Container>\n {title && <h3>{title}</h3>}\n {Object.entries(data).map(([key, value]) => (\n <Row key={key} className={clsx({ loading: isLoading })}>\n <label className=\"label\">{key}</label>\n <span className={'value'}>{String(value)}</span>\n </Row>\n ))}\n </Container>\n )\n}\n"],"names":["Container","styled","Row","DetailsMetaData","data","title","isLoading","jsx","key","value","jsxs","clsx"],"mappings":"4LAIMA,EAAYC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBnBC,EAAMD,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA0BNE,EAA4C,CAAC,CAAE,KAAAC,EAAM,MAAAC,EAAO,UAAAC,8BAEpEN,EACE,CAAA,SAAA,CAASK,GAAAE,EAAAA,kBAAAA,IAAC,MAAI,SAAMF,CAAA,CAAA,EACpB,OAAO,QAAQD,CAAI,EAAE,IAAI,CAAC,CAACI,EAAKC,CAAK,IACpCC,EAAA,kBAAA,KAACR,GAAc,UAAWS,EAAK,CAAE,QAASL,CAAA,CAAW,EACnD,SAAA,CAACC,EAAA,kBAAA,IAAA,QAAA,CAAM,UAAU,QAAS,SAAIC,EAAA,0BAC7B,OAAK,CAAA,UAAW,QAAU,SAAA,OAAOC,CAAK,CAAE,CAAA,CAAA,CAAA,EAFjCD,CAGV,CACD,CAAA,EACH"}
@@ -0,0 +1,46 @@
1
+ import { j as e } from "../../../../_virtual/jsx-runtime.es.js";
2
+ import d from "clsx";
3
+ import a from "styled-components";
4
+ const n = a.div`
5
+ padding: var(--padding-l);
6
+ border-radius: var(--border-radius-xxl);
7
+ border: 1px solid var(--md-sys-color-outline-variant);
8
+
9
+ width: 100%;
10
+ display: flex;
11
+ flex-direction: column;
12
+ gap: 16px;
13
+
14
+ h3 {
15
+ margin: 0;
16
+ padding: 4px 0;
17
+ }
18
+ `, t = a.div`
19
+ display: flex;
20
+
21
+ .label {
22
+ width: 130px;
23
+ overflow: hidden;
24
+ text-overflow: ellipsis;
25
+ white-space: nowrap;
26
+ color: var(--md-sys-color-outline);
27
+ display: block;
28
+ }
29
+
30
+ .value {
31
+ flex: 1;
32
+ overflow: hidden;
33
+ text-overflow: ellipsis;
34
+ white-space: nowrap;
35
+ }
36
+ `, m = ({ data: i, title: l, isLoading: s }) => /* @__PURE__ */ e.jsxs(n, { children: [
37
+ l && /* @__PURE__ */ e.jsx("h3", { children: l }),
38
+ Object.entries(i).map(([r, o]) => /* @__PURE__ */ e.jsxs(t, { className: d({ loading: s }), children: [
39
+ /* @__PURE__ */ e.jsx("label", { className: "label", children: r }),
40
+ /* @__PURE__ */ e.jsx("span", { className: "value", children: String(o) })
41
+ ] }, r))
42
+ ] });
43
+ export {
44
+ m as DetailsMetaData
45
+ };
46
+ //# sourceMappingURL=DetailsMetaData.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DetailsMetaData.es.js","sources":["../../../../../src/components/DetailsMetaData/DetailsMetaData.tsx"],"sourcesContent":["import clsx from 'clsx'\nimport { FC } from 'react'\nimport styled from 'styled-components'\n\nconst Container = styled.div`\n padding: var(--padding-l);\n border-radius: var(--border-radius-xxl);\n border: 1px solid var(--md-sys-color-outline-variant);\n\n width: 100%;\n display: flex;\n flex-direction: column;\n gap: 16px;\n\n h3 {\n margin: 0;\n padding: 4px 0;\n }\n`\n\nconst Row = styled.div`\n display: flex;\n\n .label {\n width: 130px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: var(--md-sys-color-outline);\n display: block;\n }\n\n .value {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n`\n\ninterface DetailsMetaDataProps {\n data: Record<string, any>\n title?: string\n isLoading?: boolean\n}\n\nexport const DetailsMetaData: FC<DetailsMetaDataProps> = ({ data, title, isLoading }) => {\n return (\n <Container>\n {title && <h3>{title}</h3>}\n {Object.entries(data).map(([key, value]) => (\n <Row key={key} className={clsx({ loading: isLoading })}>\n <label className=\"label\">{key}</label>\n <span className={'value'}>{String(value)}</span>\n </Row>\n ))}\n </Container>\n )\n}\n"],"names":["Container","styled","Row","DetailsMetaData","data","title","isLoading","jsx","key","value","jsxs","clsx"],"mappings":";;;AAIA,MAAMA,IAAYC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAgBnBC,IAAMD,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GA0BNE,IAA4C,CAAC,EAAE,MAAAC,GAAM,OAAAC,GAAO,WAAAC,+BAEpEN,GACE,EAAA,UAAA;AAAA,EAASK,KAAAE,gBAAAA,EAAAA,IAAC,QAAI,UAAMF,EAAA,CAAA;AAAA,EACpB,OAAO,QAAQD,CAAI,EAAE,IAAI,CAAC,CAACI,GAAKC,CAAK,MACpCC,gBAAAA,EAAA,KAACR,KAAc,WAAWS,EAAK,EAAE,SAASL,EAAA,CAAW,GACnD,UAAA;AAAA,IAACC,gBAAAA,EAAA,IAAA,SAAA,EAAM,WAAU,SAAS,UAAIC,GAAA;AAAA,0BAC7B,QAAK,EAAA,WAAW,SAAU,UAAA,OAAOC,CAAK,EAAE,CAAA;AAAA,EAAA,EAAA,GAFjCD,CAGV,CACD;AAAA,GACH;"}
@@ -1,16 +1,24 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../../../../_virtual/jsx-runtime.cjs.js");require("lodash");require("react-toastify");const b=require("../../util/copyToClipboard.cjs.js");require("uuid");require("../../util/pubsub.cjs.js");const w=require("react"),n=require("styled-components"),f=require("clsx"),q=require("@ynput/ayon-react-components"),S=require("./components/RenderFieldWidget.cjs.js"),u=n.div`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../_virtual/jsx-runtime.cjs.js");require("lodash");require("react-toastify");const w=require("../../util/copyToClipboard.cjs.js");require("uuid");require("../../util/pubsub.cjs.js");const f=require("react"),n=require("styled-components"),q=require("clsx"),S=require("@ynput/ayon-react-components"),k=require("./components/RenderFieldWidget.cjs.js"),p=n.div`
2
2
  display: flex;
3
3
  flex-direction: column;
4
4
  overflow-y: auto;
5
5
  height: 100%;
6
- `,p=n.div`
6
+
7
+ padding: var(--padding-l);
8
+ border-radius: var(--border-radius-xxl);
9
+ border: 1px solid var(--md-sys-color-outline-variant);
10
+
11
+ h3 {
12
+ margin: 0;
13
+ padding: 4px 0;
14
+ }
15
+ `,x=n.div`
7
16
  display: grid;
8
17
  grid-template-columns: 150px 1fr auto;
9
18
  gap: 0px;
10
19
  align-items: center;
11
20
  min-height: 37px;
12
21
  position: relative;
13
- border-bottom: 1px solid var(--md-sys-color-outline-variant);
14
22
 
15
23
  .copy-icon {
16
24
  opacity: 0;
@@ -23,13 +31,13 @@
23
31
  &:hover .copy-icon {
24
32
  opacity: 1;
25
33
  }
26
- `,k=n.div`
27
- color: var(--md-sys-color-on-surface-variant);
34
+ `,C=n.div`
35
+ color: var(--md-sys-color-outline);
28
36
  white-space: nowrap;
29
37
  overflow: hidden;
30
38
  text-overflow: ellipsis;
31
39
  margin-left: 4px;
32
- `,C=n.div`
40
+ `,P=n.div`
33
41
  height: 32px;
34
42
  overflow: hidden;
35
43
  width: fit-content;
@@ -58,11 +66,13 @@
58
66
  background-color: var(--md-sys-color-surface-container);
59
67
  cursor: default;
60
68
  }
61
- `,P=n(p)`
62
- .shimmer {
69
+ `,T=n(x)`
70
+ &.loading {
63
71
  width: 100%;
64
- height: 24px;
72
+ height: 33px;
73
+ min-height: unset;
65
74
  border-radius: 4px;
75
+ margin-bottom: 4px;
66
76
  }
67
- `,T=({isLoading:x,form:m,fields:c,enableEditing:l,mixedFields:i,onChange:s})=>{const[y,a]=w.useState(null),h=t=>{var e;l&&!((e=c.find(r=>r.name===t))!=null&&e.readonly)&&a(t)},v=(t,e)=>{a(null),s==null||s(t,e)},g=()=>{a(null)};return x?o.jsxRuntimeExports.jsx(u,{children:Array.from({length:10}).map((t,e)=>o.jsxRuntimeExports.jsxs(P,{children:[o.jsxRuntimeExports.jsx("div",{className:"loading"}),o.jsxRuntimeExports.jsx("div",{className:"loading"})]},e))}):o.jsxRuntimeExports.jsx(u,{children:c.filter(t=>!t.hidden).map(t=>{const e=m[t.name],r=y===t.name,d=t.readonly||!l,j=(i==null?void 0:i.includes(t.name))||!1;return o.jsxRuntimeExports.jsxs(p,{children:[o.jsxRuntimeExports.jsx(k,{title:t.data.description||t.data.title||t.name,children:t.data.title||t.name}),o.jsxRuntimeExports.jsx(C,{className:f({editing:r,readonly:d}),onClick:()=>!r&&h(t.name),children:o.jsxRuntimeExports.jsx(S,{field:t,value:e,isEditing:r,isReadOnly:d,isMixed:j,onChange:v,onCancelEdit:g})}),o.jsxRuntimeExports.jsx(q.Button,{className:"copy-icon",variant:"text",icon:"content_copy",onClick:R=>{R.stopPropagation();const E=e??"";b.copyToClipboard(E.toString(),!0)}})]},t.name)})})};exports.DetailsPanelAttributesEditor=T;
77
+ `,A=({title:i,isLoading:m,form:h,fields:s,enableEditing:d,mixedFields:a,onChange:c})=>{const[g,l]=f.useState(null),y=o=>{var t;d&&!((t=s.find(r=>r.name===o))!=null&&t.readonly)&&l(o)},v=(o,t)=>{l(null),c==null||c(o,t)},j=()=>{l(null)};return m?e.jsxRuntimeExports.jsxs(p,{children:[i&&e.jsxRuntimeExports.jsx("h3",{children:i}),Array.from({length:s.length??10}).map((o,t)=>e.jsxRuntimeExports.jsx(T,{className:"loading"},t))]}):e.jsxRuntimeExports.jsxs(p,{children:[i&&e.jsxRuntimeExports.jsx("h3",{children:i}),s.filter(o=>!o.hidden).map(o=>{const t=h[o.name],r=g===o.name,u=o.readonly||!d,b=(a==null?void 0:a.includes(o.name))||!1;return e.jsxRuntimeExports.jsxs(x,{children:[e.jsxRuntimeExports.jsx(C,{title:o.data.description||o.data.title||o.name,children:o.data.title||o.name}),e.jsxRuntimeExports.jsx(P,{className:q({editing:r,readonly:u}),onClick:()=>!r&&y(o.name),children:e.jsxRuntimeExports.jsx(k,{field:o,value:t,isEditing:r,isReadOnly:u,isMixed:b,onChange:v,onCancelEdit:j})}),e.jsxRuntimeExports.jsx(S.Button,{className:"copy-icon",variant:"text",icon:"content_copy",onClick:R=>{R.stopPropagation();const E=t??"";w.copyToClipboard(E.toString(),!0)}})]},o.name)})]})};exports.DetailsPanelAttributesEditor=A;
68
78
  //# sourceMappingURL=DetailsPanelAttributesEditor.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DetailsPanelAttributesEditor.cjs.js","sources":["../../../../../src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.tsx"],"sourcesContent":["import type { AttributeModel } from '@shared/api'\nimport { copyToClipboard } from '@shared/util'\nimport { FC, useState } from 'react'\nimport styled from 'styled-components'\nimport { CellValue } from '@shared/containers/ProjectTreeTable/widgets/CellWidget'\nimport clsx from 'clsx'\nimport { Button } from '@ynput/ayon-react-components'\nimport RenderFieldWidget from './components/RenderFieldWidget'\n\nconst StyledForm = styled.div`\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n height: 100%;\n`\n\nconst FormRow = styled.div`\n display: grid;\n grid-template-columns: 150px 1fr auto;\n gap: 0px;\n align-items: center;\n min-height: 37px;\n position: relative;\n border-bottom: 1px solid var(--md-sys-color-outline-variant);\n\n .copy-icon {\n opacity: 0;\n\n &:hover {\n background-color: var(--md-sys-color-surface-container-low-hover);\n }\n }\n\n &:hover .copy-icon {\n opacity: 1;\n }\n`\n\nconst FieldLabel = styled.div`\n color: var(--md-sys-color-on-surface-variant);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n margin-left: 4px;\n`\n\nconst FieldValue = styled.div`\n height: 32px;\n overflow: hidden;\n width: fit-content;\n min-width: 160px;\n max-width: 100%;\n justify-self: end;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n border-radius: 4px;\n padding: 0 4px;\n\n &:not(.readonly) {\n cursor: pointer;\n }\n\n &:hover:not(.readonly) {\n background-color: var(--md-sys-color-surface-container-low-hover);\n }\n\n .dropdown .button {\n background-color: unset;\n }\n\n &.editing {\n background-color: var(--md-sys-color-surface-container);\n cursor: default;\n }\n`\n\nconst ShimmerRow = styled(FormRow)`\n .shimmer {\n width: 100%;\n height: 24px;\n border-radius: 4px;\n }\n`\n\n// TODO: move styles to a separate file\n\nexport type AttributeField = Omit<AttributeModel, 'position' | 'scope' | 'builtin'> & {\n readonly?: boolean\n hidden?: boolean\n}\n\nexport interface DetailsPanelAttributesEditorProps {\n isLoading?: boolean // show loading shimmer for 20 placeholder items\n enableEditing?: boolean // if this is false, everything is readonly\n fields: AttributeField[] // the schema for the form\n form: Record<\n string,\n string | number | boolean | Date | any[] | Record<string, any> | undefined | null\n > // the form data\n mixedFields?: string[] // when multiple entities are selected, this is a list of fields that are mixed\n onChange?: (key: string, value: any) => void\n}\n\nexport const DetailsPanelAttributesEditor: FC<DetailsPanelAttributesEditorProps> = ({\n isLoading,\n form,\n fields,\n enableEditing,\n mixedFields,\n onChange,\n}) => {\n const [editingField, setEditingField] = useState<string | null>(null)\n\n // Handler for starting to edit a field\n const handleStartEditing = (fieldName: string) => {\n if (enableEditing && !fields.find((field) => field.name === fieldName)?.readonly) {\n setEditingField(fieldName)\n }\n }\n\n // Handler for field value changes\n const handleValueChange = (fieldName: string, value: CellValue | CellValue[]) => {\n setEditingField(null)\n onChange?.(fieldName, value)\n }\n\n const handleCancelEdit = () => {\n setEditingField(null)\n }\n\n if (isLoading) {\n return (\n <StyledForm>\n {Array.from({ length: 10 }).map((_, index) => (\n <ShimmerRow key={index}>\n <div className=\"loading\"></div>\n <div className=\"loading\"></div>\n </ShimmerRow>\n ))}\n </StyledForm>\n )\n }\n\n return (\n <StyledForm>\n {fields\n .filter((f) => !f.hidden)\n .map((field) => {\n const fieldValue = form[field.name]\n const isEditing = editingField === field.name\n const isReadOnly = field.readonly || !enableEditing\n const isMixed = mixedFields?.includes(field.name) || false\n\n return (\n <FormRow key={field.name}>\n <FieldLabel title={field.data.description || field.data.title || field.name}>\n {field.data.title || field.name}\n </FieldLabel>\n <FieldValue\n className={clsx({ editing: isEditing, readonly: isReadOnly })}\n onClick={() => !isEditing && handleStartEditing(field.name)}\n >\n <RenderFieldWidget\n field={field}\n value={fieldValue}\n isEditing={isEditing}\n isReadOnly={isReadOnly}\n isMixed={isMixed}\n onChange={handleValueChange}\n onCancelEdit={handleCancelEdit}\n />\n </FieldValue>\n <Button\n className=\"copy-icon\"\n variant=\"text\"\n icon=\"content_copy\"\n onClick={(e) => {\n e.stopPropagation()\n const valueToDisplay =\n fieldValue === null || fieldValue === undefined ? '' : fieldValue\n copyToClipboard(valueToDisplay.toString(), true)\n }}\n />\n </FormRow>\n )\n })}\n </StyledForm>\n )\n}\n"],"names":["StyledForm","styled","FormRow","FieldLabel","FieldValue","ShimmerRow","DetailsPanelAttributesEditor","isLoading","form","fields","enableEditing","mixedFields","onChange","editingField","setEditingField","useState","handleStartEditing","fieldName","_a","field","handleValueChange","value","handleCancelEdit","jsx","_","index","f","fieldValue","isEditing","isReadOnly","isMixed","clsx","RenderFieldWidget","Button","e","valueToDisplay","copyToClipboard"],"mappings":"ucASMA,EAAaC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAOpBC,EAAUD,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAsBjBE,EAAaF,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQpBG,EAAaH,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA+BpBI,EAAaJ,EAAOC,CAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA2BpBI,EAAsE,CAAC,CAClF,UAAAC,EACA,KAAAC,EACA,OAAAC,EACA,cAAAC,EACA,YAAAC,EACA,SAAAC,CACF,IAAM,CACJ,KAAM,CAACC,EAAcC,CAAe,EAAIC,EAAAA,SAAwB,IAAI,EAG9DC,EAAsBC,GAAsB,OAC5CP,GAAiB,GAACQ,EAAAT,EAAO,KAAMU,GAAUA,EAAM,OAASF,CAAS,IAA/C,MAAAC,EAAkD,WACtEJ,EAAgBG,CAAS,CAE7B,EAGMG,EAAoB,CAACH,EAAmBI,IAAmC,CAC/EP,EAAgB,IAAI,EACpBF,GAAA,MAAAA,EAAWK,EAAWI,EACxB,EAEMC,EAAmB,IAAM,CAC7BR,EAAgB,IAAI,CACtB,EAEA,OAAIP,EAECgB,EAAAA,kBAAAA,IAAAvB,EAAA,CACE,SAAM,MAAA,KAAK,CAAE,OAAQ,EAAI,CAAA,EAAE,IAAI,CAACwB,EAAGC,6BACjCpB,EACC,CAAA,SAAA,CAACkB,EAAAA,kBAAAA,IAAA,MAAA,CAAI,UAAU,SAAU,CAAA,EACzBA,EAAAA,kBAAAA,IAAC,MAAI,CAAA,UAAU,SAAU,CAAA,CAAA,GAFVE,CAGjB,CACD,EACH,EAKDF,EAAA,kBAAA,IAAAvB,EAAA,CACE,SACES,EAAA,OAAQiB,GAAM,CAACA,EAAE,MAAM,EACvB,IAAKP,GAAU,CACR,MAAAQ,EAAanB,EAAKW,EAAM,IAAI,EAC5BS,EAAYf,IAAiBM,EAAM,KACnCU,EAAaV,EAAM,UAAY,CAACT,EAChCoB,GAAUnB,GAAA,YAAAA,EAAa,SAASQ,EAAM,QAAS,GAErD,gCACGjB,EACC,CAAA,SAAA,CAAAqB,EAAA,kBAAA,IAACpB,EAAW,CAAA,MAAOgB,EAAM,KAAK,aAAeA,EAAM,KAAK,OAASA,EAAM,KACpE,SAAAA,EAAM,KAAK,OAASA,EAAM,KAC7B,EACAI,EAAA,kBAAA,IAACnB,EAAA,CACC,UAAW2B,EAAK,CAAE,QAASH,EAAW,SAAUC,EAAY,EAC5D,QAAS,IAAM,CAACD,GAAaZ,EAAmBG,EAAM,IAAI,EAE1D,SAAAI,EAAA,kBAAA,IAACS,EAAA,CACC,MAAAb,EACA,MAAOQ,EACP,UAAAC,EACA,WAAAC,EACA,QAAAC,EACA,SAAUV,EACV,aAAcE,CAAA,CAAA,CAChB,CACF,EACAC,EAAA,kBAAA,IAACU,EAAA,OAAA,CACC,UAAU,YACV,QAAQ,OACR,KAAK,eACL,QAAUC,GAAM,CACdA,EAAE,gBAAgB,EAClB,MAAMC,EACJR,GAAkD,GACpCS,EAAAA,gBAAAD,EAAe,SAAS,EAAG,EAAI,CAAA,CACjD,CAAA,CACF,CAAA,EA5BYhB,EAAM,IA6BpB,CAEH,CAAA,EACL,CAEJ"}
1
+ {"version":3,"file":"DetailsPanelAttributesEditor.cjs.js","sources":["../../../../../src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.tsx"],"sourcesContent":["import type { AttributeModel } from '@shared/api'\nimport { copyToClipboard } from '@shared/util'\nimport { FC, useState } from 'react'\nimport styled from 'styled-components'\nimport { CellValue } from '@shared/containers/ProjectTreeTable/widgets/CellWidget'\nimport clsx from 'clsx'\nimport { Button } from '@ynput/ayon-react-components'\nimport RenderFieldWidget from './components/RenderFieldWidget'\n\nconst StyledForm = styled.div`\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n height: 100%;\n\n padding: var(--padding-l);\n border-radius: var(--border-radius-xxl);\n border: 1px solid var(--md-sys-color-outline-variant);\n\n h3 {\n margin: 0;\n padding: 4px 0;\n }\n`\n\nconst FormRow = styled.div`\n display: grid;\n grid-template-columns: 150px 1fr auto;\n gap: 0px;\n align-items: center;\n min-height: 37px;\n position: relative;\n\n .copy-icon {\n opacity: 0;\n\n &:hover {\n background-color: var(--md-sys-color-surface-container-low-hover);\n }\n }\n\n &:hover .copy-icon {\n opacity: 1;\n }\n`\n\nconst FieldLabel = styled.div`\n color: var(--md-sys-color-outline);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n margin-left: 4px;\n`\n\nconst FieldValue = styled.div`\n height: 32px;\n overflow: hidden;\n width: fit-content;\n min-width: 160px;\n max-width: 100%;\n justify-self: end;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n border-radius: 4px;\n padding: 0 4px;\n\n &:not(.readonly) {\n cursor: pointer;\n }\n\n &:hover:not(.readonly) {\n background-color: var(--md-sys-color-surface-container-low-hover);\n }\n\n .dropdown .button {\n background-color: unset;\n }\n\n &.editing {\n background-color: var(--md-sys-color-surface-container);\n cursor: default;\n }\n`\n\nconst ShimmerRow = styled(FormRow)`\n &.loading {\n width: 100%;\n height: 33px;\n min-height: unset;\n border-radius: 4px;\n margin-bottom: 4px;\n }\n`\n\n// TODO: move styles to a separate file\n\nexport type AttributeField = Omit<AttributeModel, 'position' | 'scope' | 'builtin'> & {\n readonly?: boolean\n hidden?: boolean\n enableCustomValues?: boolean // Allow custom values in enum fields\n enableSearch?: boolean // Enable search functionality in enum fields\n allowNone?: boolean // Allow \"None\" option for enum fields that can be cleared\n}\n\nexport interface DetailsPanelAttributesEditorProps {\n title?: string\n isLoading?: boolean // show loading shimmer for 20 placeholder items\n enableEditing?: boolean // if this is false, everything is readonly\n fields: AttributeField[] // the schema for the form\n form: Record<\n string,\n string | number | boolean | Date | any[] | Record<string, any> | undefined | null\n > // the form data\n mixedFields?: string[] // when multiple entities are selected, this is a list of fields that are mixed\n onChange?: (key: string, value: any) => void\n}\n\nexport const DetailsPanelAttributesEditor: FC<DetailsPanelAttributesEditorProps> = ({\n title,\n isLoading,\n form,\n fields,\n enableEditing,\n mixedFields,\n onChange,\n}) => {\n const [editingField, setEditingField] = useState<string | null>(null)\n\n // Handler for starting to edit a field\n const handleStartEditing = (fieldName: string) => {\n if (enableEditing && !fields.find((field) => field.name === fieldName)?.readonly) {\n setEditingField(fieldName)\n }\n }\n\n // Handler for field value changes\n const handleValueChange = (fieldName: string, value: CellValue | CellValue[]) => {\n setEditingField(null)\n onChange?.(fieldName, value)\n }\n\n const handleCancelEdit = () => {\n setEditingField(null)\n }\n\n if (isLoading) {\n return (\n <StyledForm>\n {title && <h3>{title}</h3>}\n {Array.from({ length: fields.length ?? 10 }).map((_, index) => (\n <ShimmerRow key={index} className=\"loading\"></ShimmerRow>\n ))}\n </StyledForm>\n )\n }\n\n return (\n <StyledForm>\n {title && <h3>{title}</h3>}\n {fields\n .filter((f) => !f.hidden)\n .map((field) => {\n const fieldValue = form[field.name]\n const isEditing = editingField === field.name\n const isReadOnly = field.readonly || !enableEditing\n const isMixed = mixedFields?.includes(field.name) || false\n\n return (\n <FormRow key={field.name}>\n <FieldLabel title={field.data.description || field.data.title || field.name}>\n {field.data.title || field.name}\n </FieldLabel>\n <FieldValue\n className={clsx({ editing: isEditing, readonly: isReadOnly })}\n onClick={() => !isEditing && handleStartEditing(field.name)}\n >\n <RenderFieldWidget\n field={field}\n value={fieldValue}\n isEditing={isEditing}\n isReadOnly={isReadOnly}\n isMixed={isMixed}\n onChange={handleValueChange}\n onCancelEdit={handleCancelEdit}\n />\n </FieldValue>\n <Button\n className=\"copy-icon\"\n variant=\"text\"\n icon=\"content_copy\"\n onClick={(e) => {\n e.stopPropagation()\n const valueToDisplay =\n fieldValue === null || fieldValue === undefined ? '' : fieldValue\n copyToClipboard(valueToDisplay.toString(), true)\n }}\n />\n </FormRow>\n )\n })}\n </StyledForm>\n )\n}\n"],"names":["StyledForm","styled","FormRow","FieldLabel","FieldValue","ShimmerRow","DetailsPanelAttributesEditor","title","isLoading","form","fields","enableEditing","mixedFields","onChange","editingField","setEditingField","useState","handleStartEditing","fieldName","_a","field","handleValueChange","value","handleCancelEdit","jsx","_","index","f","fieldValue","isEditing","isReadOnly","isMixed","clsx","RenderFieldWidget","Button","e","valueToDisplay","copyToClipboard"],"mappings":"ucASMA,EAAaC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBpBC,EAAUD,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqBjBE,EAAaF,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQpBG,EAAaH,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA+BpBI,EAAaJ,EAAOC,CAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiCpBI,EAAsE,CAAC,CAClF,MAAAC,EACA,UAAAC,EACA,KAAAC,EACA,OAAAC,EACA,cAAAC,EACA,YAAAC,EACA,SAAAC,CACF,IAAM,CACJ,KAAM,CAACC,EAAcC,CAAe,EAAIC,EAAAA,SAAwB,IAAI,EAG9DC,EAAsBC,GAAsB,OAC5CP,GAAiB,GAACQ,EAAAT,EAAO,KAAMU,GAAUA,EAAM,OAASF,CAAS,IAA/C,MAAAC,EAAkD,WACtEJ,EAAgBG,CAAS,CAE7B,EAGMG,EAAoB,CAACH,EAAmBI,IAAmC,CAC/EP,EAAgB,IAAI,EACpBF,GAAA,MAAAA,EAAWK,EAAWI,EACxB,EAEMC,EAAmB,IAAM,CAC7BR,EAAgB,IAAI,CACtB,EAEA,OAAIP,2BAECR,EACE,CAAA,SAAA,CAASO,GAAAiB,EAAAA,kBAAAA,IAAC,MAAI,SAAMjB,CAAA,CAAA,EACpB,MAAM,KAAK,CAAE,OAAQG,EAAO,QAAU,GAAI,EAAE,IAAI,CAACe,EAAGC,IACnDF,wBAACnB,GAAuB,UAAU,SAAA,EAAjBqB,CAA2B,CAC7C,CAAA,EACH,2BAKD1B,EACE,CAAA,SAAA,CAASO,GAAAiB,EAAAA,kBAAAA,IAAC,MAAI,SAAMjB,CAAA,CAAA,EACpBG,EACE,OAAQiB,GAAM,CAACA,EAAE,MAAM,EACvB,IAAKP,GAAU,CACR,MAAAQ,EAAanB,EAAKW,EAAM,IAAI,EAC5BS,EAAYf,IAAiBM,EAAM,KACnCU,EAAaV,EAAM,UAAY,CAACT,EAChCoB,GAAUnB,GAAA,YAAAA,EAAa,SAASQ,EAAM,QAAS,GAErD,gCACGlB,EACC,CAAA,SAAA,CAAAsB,EAAA,kBAAA,IAACrB,EAAW,CAAA,MAAOiB,EAAM,KAAK,aAAeA,EAAM,KAAK,OAASA,EAAM,KACpE,SAAAA,EAAM,KAAK,OAASA,EAAM,KAC7B,EACAI,EAAA,kBAAA,IAACpB,EAAA,CACC,UAAW4B,EAAK,CAAE,QAASH,EAAW,SAAUC,EAAY,EAC5D,QAAS,IAAM,CAACD,GAAaZ,EAAmBG,EAAM,IAAI,EAE1D,SAAAI,EAAA,kBAAA,IAACS,EAAA,CACC,MAAAb,EACA,MAAOQ,EACP,UAAAC,EACA,WAAAC,EACA,QAAAC,EACA,SAAUV,EACV,aAAcE,CAAA,CAAA,CAChB,CACF,EACAC,EAAA,kBAAA,IAACU,EAAA,OAAA,CACC,UAAU,YACV,QAAQ,OACR,KAAK,eACL,QAAUC,GAAM,CACdA,EAAE,gBAAgB,EAClB,MAAMC,EACJR,GAAkD,GACpCS,EAAAA,gBAAAD,EAAe,SAAS,EAAG,EAAI,CAAA,CACjD,CAAA,CACF,CAAA,EA5BYhB,EAAM,IA6BpB,CAEH,CAAA,CAAA,EACL,CAEJ"}
@@ -1,27 +1,35 @@
1
- import { j as r } from "../../../../_virtual/jsx-runtime.es.js";
1
+ import { j as t } from "../../../../_virtual/jsx-runtime.es.js";
2
2
  import "lodash";
3
3
  import "react-toastify";
4
- import { copyToClipboard as j } from "../../util/copyToClipboard.es.js";
4
+ import { copyToClipboard as b } from "../../util/copyToClipboard.es.js";
5
5
  import "uuid";
6
6
  import "../../util/pubsub.es.js";
7
- import { useState as b } from "react";
8
- import e from "styled-components";
9
- import k from "clsx";
10
- import { Button as E } from "@ynput/ayon-react-components";
11
- import R from "./components/RenderFieldWidget.es.js";
12
- const p = e.div`
7
+ import { useState as k } from "react";
8
+ import i from "styled-components";
9
+ import E from "clsx";
10
+ import { Button as R } from "@ynput/ayon-react-components";
11
+ import S from "./components/RenderFieldWidget.es.js";
12
+ const m = i.div`
13
13
  display: flex;
14
14
  flex-direction: column;
15
15
  overflow-y: auto;
16
16
  height: 100%;
17
- `, m = e.div`
17
+
18
+ padding: var(--padding-l);
19
+ border-radius: var(--border-radius-xxl);
20
+ border: 1px solid var(--md-sys-color-outline-variant);
21
+
22
+ h3 {
23
+ margin: 0;
24
+ padding: 4px 0;
25
+ }
26
+ `, u = i.div`
18
27
  display: grid;
19
28
  grid-template-columns: 150px 1fr auto;
20
29
  gap: 0px;
21
30
  align-items: center;
22
31
  min-height: 37px;
23
32
  position: relative;
24
- border-bottom: 1px solid var(--md-sys-color-outline-variant);
25
33
 
26
34
  .copy-icon {
27
35
  opacity: 0;
@@ -34,13 +42,13 @@ const p = e.div`
34
42
  &:hover .copy-icon {
35
43
  opacity: 1;
36
44
  }
37
- `, S = e.div`
38
- color: var(--md-sys-color-on-surface-variant);
45
+ `, C = i.div`
46
+ color: var(--md-sys-color-outline);
39
47
  white-space: nowrap;
40
48
  overflow: hidden;
41
49
  text-overflow: ellipsis;
42
50
  margin-left: 4px;
43
- `, C = e.div`
51
+ `, D = i.div`
44
52
  height: 32px;
45
53
  overflow: hidden;
46
54
  width: fit-content;
@@ -69,69 +77,75 @@ const p = e.div`
69
77
  background-color: var(--md-sys-color-surface-container);
70
78
  cursor: default;
71
79
  }
72
- `, D = e(m)`
73
- .shimmer {
80
+ `, F = i(u)`
81
+ &.loading {
74
82
  width: 100%;
75
- height: 24px;
83
+ height: 33px;
84
+ min-height: unset;
76
85
  border-radius: 4px;
86
+ margin-bottom: 4px;
77
87
  }
78
- `, q = ({
79
- isLoading: u,
80
- form: h,
81
- fields: l,
88
+ `, z = ({
89
+ title: e,
90
+ isLoading: h,
91
+ form: x,
92
+ fields: a,
82
93
  enableEditing: c,
83
- mixedFields: i,
84
- onChange: a
94
+ mixedFields: s,
95
+ onChange: l
85
96
  }) => {
86
- const [x, s] = b(null), y = (o) => {
87
- var t;
88
- c && !((t = l.find((n) => n.name === o)) != null && t.readonly) && s(o);
89
- }, v = (o, t) => {
90
- s(null), a == null || a(o, t);
91
- }, g = () => {
92
- s(null);
97
+ const [g, d] = k(null), y = (o) => {
98
+ var r;
99
+ c && !((r = a.find((n) => n.name === o)) != null && r.readonly) && d(o);
100
+ }, v = (o, r) => {
101
+ d(null), l == null || l(o, r);
102
+ }, f = () => {
103
+ d(null);
93
104
  };
94
- return u ? /* @__PURE__ */ r.jsx(p, { children: Array.from({ length: 10 }).map((o, t) => /* @__PURE__ */ r.jsxs(D, { children: [
95
- /* @__PURE__ */ r.jsx("div", { className: "loading" }),
96
- /* @__PURE__ */ r.jsx("div", { className: "loading" })
97
- ] }, t)) }) : /* @__PURE__ */ r.jsx(p, { children: l.filter((o) => !o.hidden).map((o) => {
98
- const t = h[o.name], n = x === o.name, d = o.readonly || !c, f = (i == null ? void 0 : i.includes(o.name)) || !1;
99
- return /* @__PURE__ */ r.jsxs(m, { children: [
100
- /* @__PURE__ */ r.jsx(S, { title: o.data.description || o.data.title || o.name, children: o.data.title || o.name }),
101
- /* @__PURE__ */ r.jsx(
102
- C,
103
- {
104
- className: k({ editing: n, readonly: d }),
105
- onClick: () => !n && y(o.name),
106
- children: /* @__PURE__ */ r.jsx(
107
- R,
108
- {
109
- field: o,
110
- value: t,
111
- isEditing: n,
112
- isReadOnly: d,
113
- isMixed: f,
114
- onChange: v,
115
- onCancelEdit: g
105
+ return h ? /* @__PURE__ */ t.jsxs(m, { children: [
106
+ e && /* @__PURE__ */ t.jsx("h3", { children: e }),
107
+ Array.from({ length: a.length ?? 10 }).map((o, r) => /* @__PURE__ */ t.jsx(F, { className: "loading" }, r))
108
+ ] }) : /* @__PURE__ */ t.jsxs(m, { children: [
109
+ e && /* @__PURE__ */ t.jsx("h3", { children: e }),
110
+ a.filter((o) => !o.hidden).map((o) => {
111
+ const r = x[o.name], n = g === o.name, p = o.readonly || !c, w = (s == null ? void 0 : s.includes(o.name)) || !1;
112
+ return /* @__PURE__ */ t.jsxs(u, { children: [
113
+ /* @__PURE__ */ t.jsx(C, { title: o.data.description || o.data.title || o.name, children: o.data.title || o.name }),
114
+ /* @__PURE__ */ t.jsx(
115
+ D,
116
+ {
117
+ className: E({ editing: n, readonly: p }),
118
+ onClick: () => !n && y(o.name),
119
+ children: /* @__PURE__ */ t.jsx(
120
+ S,
121
+ {
122
+ field: o,
123
+ value: r,
124
+ isEditing: n,
125
+ isReadOnly: p,
126
+ isMixed: w,
127
+ onChange: v,
128
+ onCancelEdit: f
129
+ }
130
+ )
131
+ }
132
+ ),
133
+ /* @__PURE__ */ t.jsx(
134
+ R,
135
+ {
136
+ className: "copy-icon",
137
+ variant: "text",
138
+ icon: "content_copy",
139
+ onClick: (j) => {
140
+ j.stopPropagation(), b((r ?? "").toString(), !0);
116
141
  }
117
- )
118
- }
119
- ),
120
- /* @__PURE__ */ r.jsx(
121
- E,
122
- {
123
- className: "copy-icon",
124
- variant: "text",
125
- icon: "content_copy",
126
- onClick: (w) => {
127
- w.stopPropagation(), j((t ?? "").toString(), !0);
128
142
  }
129
- }
130
- )
131
- ] }, o.name);
132
- }) });
143
+ )
144
+ ] }, o.name);
145
+ })
146
+ ] });
133
147
  };
134
148
  export {
135
- q as DetailsPanelAttributesEditor
149
+ z as DetailsPanelAttributesEditor
136
150
  };
137
151
  //# sourceMappingURL=DetailsPanelAttributesEditor.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DetailsPanelAttributesEditor.es.js","sources":["../../../../../src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.tsx"],"sourcesContent":["import type { AttributeModel } from '@shared/api'\nimport { copyToClipboard } from '@shared/util'\nimport { FC, useState } from 'react'\nimport styled from 'styled-components'\nimport { CellValue } from '@shared/containers/ProjectTreeTable/widgets/CellWidget'\nimport clsx from 'clsx'\nimport { Button } from '@ynput/ayon-react-components'\nimport RenderFieldWidget from './components/RenderFieldWidget'\n\nconst StyledForm = styled.div`\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n height: 100%;\n`\n\nconst FormRow = styled.div`\n display: grid;\n grid-template-columns: 150px 1fr auto;\n gap: 0px;\n align-items: center;\n min-height: 37px;\n position: relative;\n border-bottom: 1px solid var(--md-sys-color-outline-variant);\n\n .copy-icon {\n opacity: 0;\n\n &:hover {\n background-color: var(--md-sys-color-surface-container-low-hover);\n }\n }\n\n &:hover .copy-icon {\n opacity: 1;\n }\n`\n\nconst FieldLabel = styled.div`\n color: var(--md-sys-color-on-surface-variant);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n margin-left: 4px;\n`\n\nconst FieldValue = styled.div`\n height: 32px;\n overflow: hidden;\n width: fit-content;\n min-width: 160px;\n max-width: 100%;\n justify-self: end;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n border-radius: 4px;\n padding: 0 4px;\n\n &:not(.readonly) {\n cursor: pointer;\n }\n\n &:hover:not(.readonly) {\n background-color: var(--md-sys-color-surface-container-low-hover);\n }\n\n .dropdown .button {\n background-color: unset;\n }\n\n &.editing {\n background-color: var(--md-sys-color-surface-container);\n cursor: default;\n }\n`\n\nconst ShimmerRow = styled(FormRow)`\n .shimmer {\n width: 100%;\n height: 24px;\n border-radius: 4px;\n }\n`\n\n// TODO: move styles to a separate file\n\nexport type AttributeField = Omit<AttributeModel, 'position' | 'scope' | 'builtin'> & {\n readonly?: boolean\n hidden?: boolean\n}\n\nexport interface DetailsPanelAttributesEditorProps {\n isLoading?: boolean // show loading shimmer for 20 placeholder items\n enableEditing?: boolean // if this is false, everything is readonly\n fields: AttributeField[] // the schema for the form\n form: Record<\n string,\n string | number | boolean | Date | any[] | Record<string, any> | undefined | null\n > // the form data\n mixedFields?: string[] // when multiple entities are selected, this is a list of fields that are mixed\n onChange?: (key: string, value: any) => void\n}\n\nexport const DetailsPanelAttributesEditor: FC<DetailsPanelAttributesEditorProps> = ({\n isLoading,\n form,\n fields,\n enableEditing,\n mixedFields,\n onChange,\n}) => {\n const [editingField, setEditingField] = useState<string | null>(null)\n\n // Handler for starting to edit a field\n const handleStartEditing = (fieldName: string) => {\n if (enableEditing && !fields.find((field) => field.name === fieldName)?.readonly) {\n setEditingField(fieldName)\n }\n }\n\n // Handler for field value changes\n const handleValueChange = (fieldName: string, value: CellValue | CellValue[]) => {\n setEditingField(null)\n onChange?.(fieldName, value)\n }\n\n const handleCancelEdit = () => {\n setEditingField(null)\n }\n\n if (isLoading) {\n return (\n <StyledForm>\n {Array.from({ length: 10 }).map((_, index) => (\n <ShimmerRow key={index}>\n <div className=\"loading\"></div>\n <div className=\"loading\"></div>\n </ShimmerRow>\n ))}\n </StyledForm>\n )\n }\n\n return (\n <StyledForm>\n {fields\n .filter((f) => !f.hidden)\n .map((field) => {\n const fieldValue = form[field.name]\n const isEditing = editingField === field.name\n const isReadOnly = field.readonly || !enableEditing\n const isMixed = mixedFields?.includes(field.name) || false\n\n return (\n <FormRow key={field.name}>\n <FieldLabel title={field.data.description || field.data.title || field.name}>\n {field.data.title || field.name}\n </FieldLabel>\n <FieldValue\n className={clsx({ editing: isEditing, readonly: isReadOnly })}\n onClick={() => !isEditing && handleStartEditing(field.name)}\n >\n <RenderFieldWidget\n field={field}\n value={fieldValue}\n isEditing={isEditing}\n isReadOnly={isReadOnly}\n isMixed={isMixed}\n onChange={handleValueChange}\n onCancelEdit={handleCancelEdit}\n />\n </FieldValue>\n <Button\n className=\"copy-icon\"\n variant=\"text\"\n icon=\"content_copy\"\n onClick={(e) => {\n e.stopPropagation()\n const valueToDisplay =\n fieldValue === null || fieldValue === undefined ? '' : fieldValue\n copyToClipboard(valueToDisplay.toString(), true)\n }}\n />\n </FormRow>\n )\n })}\n </StyledForm>\n )\n}\n"],"names":["StyledForm","styled","FormRow","FieldLabel","FieldValue","ShimmerRow","DetailsPanelAttributesEditor","isLoading","form","fields","enableEditing","mixedFields","onChange","editingField","setEditingField","useState","handleStartEditing","fieldName","_a","field","handleValueChange","value","handleCancelEdit","jsx","_","index","f","fieldValue","isEditing","isReadOnly","isMixed","clsx","RenderFieldWidget","Button","e","copyToClipboard"],"mappings":"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"}
1
+ {"version":3,"file":"DetailsPanelAttributesEditor.es.js","sources":["../../../../../src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.tsx"],"sourcesContent":["import type { AttributeModel } from '@shared/api'\nimport { copyToClipboard } from '@shared/util'\nimport { FC, useState } from 'react'\nimport styled from 'styled-components'\nimport { CellValue } from '@shared/containers/ProjectTreeTable/widgets/CellWidget'\nimport clsx from 'clsx'\nimport { Button } from '@ynput/ayon-react-components'\nimport RenderFieldWidget from './components/RenderFieldWidget'\n\nconst StyledForm = styled.div`\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n height: 100%;\n\n padding: var(--padding-l);\n border-radius: var(--border-radius-xxl);\n border: 1px solid var(--md-sys-color-outline-variant);\n\n h3 {\n margin: 0;\n padding: 4px 0;\n }\n`\n\nconst FormRow = styled.div`\n display: grid;\n grid-template-columns: 150px 1fr auto;\n gap: 0px;\n align-items: center;\n min-height: 37px;\n position: relative;\n\n .copy-icon {\n opacity: 0;\n\n &:hover {\n background-color: var(--md-sys-color-surface-container-low-hover);\n }\n }\n\n &:hover .copy-icon {\n opacity: 1;\n }\n`\n\nconst FieldLabel = styled.div`\n color: var(--md-sys-color-outline);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n margin-left: 4px;\n`\n\nconst FieldValue = styled.div`\n height: 32px;\n overflow: hidden;\n width: fit-content;\n min-width: 160px;\n max-width: 100%;\n justify-self: end;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n border-radius: 4px;\n padding: 0 4px;\n\n &:not(.readonly) {\n cursor: pointer;\n }\n\n &:hover:not(.readonly) {\n background-color: var(--md-sys-color-surface-container-low-hover);\n }\n\n .dropdown .button {\n background-color: unset;\n }\n\n &.editing {\n background-color: var(--md-sys-color-surface-container);\n cursor: default;\n }\n`\n\nconst ShimmerRow = styled(FormRow)`\n &.loading {\n width: 100%;\n height: 33px;\n min-height: unset;\n border-radius: 4px;\n margin-bottom: 4px;\n }\n`\n\n// TODO: move styles to a separate file\n\nexport type AttributeField = Omit<AttributeModel, 'position' | 'scope' | 'builtin'> & {\n readonly?: boolean\n hidden?: boolean\n enableCustomValues?: boolean // Allow custom values in enum fields\n enableSearch?: boolean // Enable search functionality in enum fields\n allowNone?: boolean // Allow \"None\" option for enum fields that can be cleared\n}\n\nexport interface DetailsPanelAttributesEditorProps {\n title?: string\n isLoading?: boolean // show loading shimmer for 20 placeholder items\n enableEditing?: boolean // if this is false, everything is readonly\n fields: AttributeField[] // the schema for the form\n form: Record<\n string,\n string | number | boolean | Date | any[] | Record<string, any> | undefined | null\n > // the form data\n mixedFields?: string[] // when multiple entities are selected, this is a list of fields that are mixed\n onChange?: (key: string, value: any) => void\n}\n\nexport const DetailsPanelAttributesEditor: FC<DetailsPanelAttributesEditorProps> = ({\n title,\n isLoading,\n form,\n fields,\n enableEditing,\n mixedFields,\n onChange,\n}) => {\n const [editingField, setEditingField] = useState<string | null>(null)\n\n // Handler for starting to edit a field\n const handleStartEditing = (fieldName: string) => {\n if (enableEditing && !fields.find((field) => field.name === fieldName)?.readonly) {\n setEditingField(fieldName)\n }\n }\n\n // Handler for field value changes\n const handleValueChange = (fieldName: string, value: CellValue | CellValue[]) => {\n setEditingField(null)\n onChange?.(fieldName, value)\n }\n\n const handleCancelEdit = () => {\n setEditingField(null)\n }\n\n if (isLoading) {\n return (\n <StyledForm>\n {title && <h3>{title}</h3>}\n {Array.from({ length: fields.length ?? 10 }).map((_, index) => (\n <ShimmerRow key={index} className=\"loading\"></ShimmerRow>\n ))}\n </StyledForm>\n )\n }\n\n return (\n <StyledForm>\n {title && <h3>{title}</h3>}\n {fields\n .filter((f) => !f.hidden)\n .map((field) => {\n const fieldValue = form[field.name]\n const isEditing = editingField === field.name\n const isReadOnly = field.readonly || !enableEditing\n const isMixed = mixedFields?.includes(field.name) || false\n\n return (\n <FormRow key={field.name}>\n <FieldLabel title={field.data.description || field.data.title || field.name}>\n {field.data.title || field.name}\n </FieldLabel>\n <FieldValue\n className={clsx({ editing: isEditing, readonly: isReadOnly })}\n onClick={() => !isEditing && handleStartEditing(field.name)}\n >\n <RenderFieldWidget\n field={field}\n value={fieldValue}\n isEditing={isEditing}\n isReadOnly={isReadOnly}\n isMixed={isMixed}\n onChange={handleValueChange}\n onCancelEdit={handleCancelEdit}\n />\n </FieldValue>\n <Button\n className=\"copy-icon\"\n variant=\"text\"\n icon=\"content_copy\"\n onClick={(e) => {\n e.stopPropagation()\n const valueToDisplay =\n fieldValue === null || fieldValue === undefined ? '' : fieldValue\n copyToClipboard(valueToDisplay.toString(), true)\n }}\n />\n </FormRow>\n )\n })}\n </StyledForm>\n )\n}\n"],"names":["StyledForm","styled","FormRow","FieldLabel","FieldValue","ShimmerRow","DetailsPanelAttributesEditor","title","isLoading","form","fields","enableEditing","mixedFields","onChange","editingField","setEditingField","useState","handleStartEditing","fieldName","_a","field","handleValueChange","value","handleCancelEdit","jsx","_","index","f","fieldValue","isEditing","isReadOnly","isMixed","clsx","RenderFieldWidget","Button","e","copyToClipboard"],"mappings":";;;;;;;;;;;AASA,MAAMA,IAAaC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAgBpBC,IAAUD,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAqBjBE,IAAaF,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQpBG,IAAaH,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GA+BpBI,IAAaJ,EAAOC,CAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAiCpBI,IAAsE,CAAC;AAAA,EAClF,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,MAAAC;AAAA,EACA,QAAAC;AAAA,EACA,eAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AACF,MAAM;AACJ,QAAM,CAACC,GAAcC,CAAe,IAAIC,EAAwB,IAAI,GAG9DC,IAAqB,CAACC,MAAsB;;AAC5C,IAAAP,KAAiB,GAACQ,IAAAT,EAAO,KAAK,CAACU,MAAUA,EAAM,SAASF,CAAS,MAA/C,QAAAC,EAAkD,aACtEJ,EAAgBG,CAAS;AAAA,EAE7B,GAGMG,IAAoB,CAACH,GAAmBI,MAAmC;AAC/E,IAAAP,EAAgB,IAAI,GACpBF,KAAA,QAAAA,EAAWK,GAAWI;AAAA,EACxB,GAEMC,IAAmB,MAAM;AAC7B,IAAAR,EAAgB,IAAI;AAAA,EACtB;AAEA,SAAIP,2BAECR,GACE,EAAA,UAAA;AAAA,IAASO,KAAAiB,gBAAAA,EAAAA,IAAC,QAAI,UAAMjB,EAAA,CAAA;AAAA,IACpB,MAAM,KAAK,EAAE,QAAQG,EAAO,UAAU,IAAI,EAAE,IAAI,CAACe,GAAGC,MACnDF,gBAAAA,MAACnB,KAAuB,WAAU,UAAA,GAAjBqB,CAA2B,CAC7C;AAAA,EAAA,GACH,2BAKD1B,GACE,EAAA,UAAA;AAAA,IAASO,KAAAiB,gBAAAA,EAAAA,IAAC,QAAI,UAAMjB,EAAA,CAAA;AAAA,IACpBG,EACE,OAAO,CAACiB,MAAM,CAACA,EAAE,MAAM,EACvB,IAAI,CAACP,MAAU;AACR,YAAAQ,IAAanB,EAAKW,EAAM,IAAI,GAC5BS,IAAYf,MAAiBM,EAAM,MACnCU,IAAaV,EAAM,YAAY,CAACT,GAChCoB,KAAUnB,KAAA,gBAAAA,EAAa,SAASQ,EAAM,UAAS;AAErD,oCACGlB,GACC,EAAA,UAAA;AAAA,QAAAsB,gBAAAA,EAAA,IAACrB,GAAW,EAAA,OAAOiB,EAAM,KAAK,eAAeA,EAAM,KAAK,SAASA,EAAM,MACpE,UAAAA,EAAM,KAAK,SAASA,EAAM,MAC7B;AAAA,QACAI,gBAAAA,EAAA;AAAA,UAACpB;AAAA,UAAA;AAAA,YACC,WAAW4B,EAAK,EAAE,SAASH,GAAW,UAAUC,GAAY;AAAA,YAC5D,SAAS,MAAM,CAACD,KAAaZ,EAAmBG,EAAM,IAAI;AAAA,YAE1D,UAAAI,gBAAAA,EAAA;AAAA,cAACS;AAAA,cAAA;AAAA,gBACC,OAAAb;AAAA,gBACA,OAAOQ;AAAA,gBACP,WAAAC;AAAA,gBACA,YAAAC;AAAA,gBACA,SAAAC;AAAA,gBACA,UAAUV;AAAA,gBACV,cAAcE;AAAA,cAAA;AAAA,YAAA;AAAA,UAChB;AAAA,QACF;AAAA,QACAC,gBAAAA,EAAA;AAAA,UAACU;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,SAAS,CAACC,MAAM;AACd,cAAAA,EAAE,gBAAgB,GAGFC,GADdR,KAAkD,IACrB,SAAS,GAAG,EAAI;AAAA,YAAA;AAAA,UACjD;AAAA,QAAA;AAAA,MACF,EAAA,GA5BYR,EAAM,IA6BpB;AAAA,IAEH,CAAA;AAAA,EAAA,GACL;AAEJ;"}