@ynput/ayon-frontend-shared 0.2.29 → 0.2.30

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 (629) 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/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +51 -49
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/api.cjs.js +1 -1
  8. package/dist/api.es.js +220 -213
  9. package/dist/api.es.js.map +1 -1
  10. package/dist/components.cjs.js +1 -1
  11. package/dist/components.es.js +82 -74
  12. package/dist/components.es.js.map +1 -1
  13. package/dist/context.cjs.js +1 -1
  14. package/dist/context.es.js +23 -19
  15. package/dist/context.es.js.map +1 -1
  16. package/dist/hooks.cjs.js +1 -1
  17. package/dist/hooks.es.js +12 -10
  18. package/dist/hooks.es.js.map +1 -1
  19. package/dist/index.cjs.js +1 -1
  20. package/dist/index.es.js +11 -9
  21. package/dist/index.es.js.map +1 -1
  22. package/dist/shared/src/api/base/client.cjs.js +1 -1
  23. package/dist/shared/src/api/base/client.cjs.js.map +1 -1
  24. package/dist/shared/src/api/base/client.es.js +8 -7
  25. package/dist/shared/src/api/base/client.es.js.map +1 -1
  26. package/dist/shared/src/api/generated/anatomy.cjs.js.map +1 -1
  27. package/dist/shared/src/api/generated/anatomy.es.js.map +1 -1
  28. package/dist/shared/src/api/generated/attributes.cjs.js +1 -1
  29. package/dist/shared/src/api/generated/attributes.cjs.js.map +1 -1
  30. package/dist/shared/src/api/generated/attributes.es.js +9 -2
  31. package/dist/shared/src/api/generated/attributes.es.js.map +1 -1
  32. package/dist/shared/src/api/generated/entityLists.cjs.js +1 -1
  33. package/dist/shared/src/api/generated/entityLists.cjs.js.map +1 -1
  34. package/dist/shared/src/api/generated/entityLists.es.js +46 -0
  35. package/dist/shared/src/api/generated/entityLists.es.js.map +1 -1
  36. package/dist/shared/src/api/generated/graphql.cjs.js +10 -5
  37. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  38. package/dist/shared/src/api/generated/graphql.es.js +23 -18
  39. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  40. package/dist/shared/src/api/generated/projects.cjs.js.map +1 -1
  41. package/dist/shared/src/api/generated/projects.es.js.map +1 -1
  42. package/dist/shared/src/api/queries/attributes/updateAttributes.cjs.js +1 -1
  43. package/dist/shared/src/api/queries/attributes/updateAttributes.cjs.js.map +1 -1
  44. package/dist/shared/src/api/queries/attributes/updateAttributes.es.js +12 -5
  45. package/dist/shared/src/api/queries/attributes/updateAttributes.es.js.map +1 -1
  46. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  47. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  48. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +4 -3
  49. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  50. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +1 -1
  51. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  52. package/dist/shared/src/api/queries/entities/updateEntity.es.js +33 -32
  53. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  54. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  55. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  56. package/dist/shared/src/api/queries/entityLists/getLists.es.js +151 -125
  57. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  58. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js +2 -0
  59. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js.map +1 -0
  60. package/dist/shared/src/api/queries/entityLists/listFolders.es.js +111 -0
  61. package/dist/shared/src/api/queries/entityLists/listFolders.es.js.map +1 -0
  62. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -1
  63. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
  64. package/dist/shared/src/api/queries/entityLists/updateLists.es.js +104 -88
  65. package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
  66. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  67. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  68. package/dist/shared/src/api/queries/overview/updateOverview.es.js +7 -6
  69. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  70. package/dist/shared/src/api/queries/project/getProject.cjs.js +1 -19
  71. package/dist/shared/src/api/queries/project/getProject.cjs.js.map +1 -1
  72. package/dist/shared/src/api/queries/project/getProject.es.js +10 -70
  73. package/dist/shared/src/api/queries/project/getProject.es.js.map +1 -1
  74. package/dist/shared/src/api/queries/project/updateProject.cjs.js +1 -1
  75. package/dist/shared/src/api/queries/project/updateProject.cjs.js.map +1 -1
  76. package/dist/shared/src/api/queries/project/updateProject.es.js +35 -61
  77. package/dist/shared/src/api/queries/project/updateProject.es.js.map +1 -1
  78. package/dist/shared/src/api/queries/system/getSystem.cjs.js +1 -1
  79. package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
  80. package/dist/shared/src/api/queries/system/getSystem.es.js +14 -8
  81. package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
  82. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
  83. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  84. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +23 -23
  85. package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -1
  86. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  87. package/dist/shared/src/api/queries/users/getUsers.es.js +18 -17
  88. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  89. package/dist/shared/src/api/queries/users/updateUsers.cjs.js +1 -1
  90. package/dist/shared/src/api/queries/users/updateUsers.cjs.js.map +1 -1
  91. package/dist/shared/src/api/queries/users/updateUsers.es.js +19 -11
  92. package/dist/shared/src/api/queries/users/updateUsers.es.js.map +1 -1
  93. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +1 -1
  94. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
  95. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +30 -29
  96. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
  97. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  98. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  99. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +3 -2
  100. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  101. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +5 -3
  102. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
  103. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +64 -51
  104. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
  105. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +3 -3
  106. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  107. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +66 -59
  108. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  109. package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.cjs.js +4 -5
  110. package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.cjs.js.map +1 -1
  111. package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.es.js +46 -41
  112. package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.es.js.map +1 -1
  113. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  114. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  115. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +4 -2
  116. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  117. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.styles.cjs.js +76 -5
  118. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.styles.cjs.js.map +1 -1
  119. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.styles.es.js +76 -5
  120. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.styles.es.js.map +1 -1
  121. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -2
  122. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  123. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +11 -11
  124. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  125. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js +4 -4
  126. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js.map +1 -1
  127. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js +32 -32
  128. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js.map +1 -1
  129. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js +2 -2
  130. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js.map +1 -1
  131. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js +15 -8
  132. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js.map +1 -1
  133. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js +1 -1
  134. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js.map +1 -1
  135. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js +3 -2
  136. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js.map +1 -1
  137. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  138. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  139. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +3 -2
  140. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  141. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  142. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  143. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +5 -2
  144. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  145. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  146. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  147. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +3 -2
  148. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  149. package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.cjs.js +1 -1
  150. package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.cjs.js.map +1 -1
  151. package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.es.js +51 -152
  152. package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.es.js.map +1 -1
  153. package/dist/shared/src/components/EnumEditor/EnumEditor.styled.cjs.js +3 -1
  154. package/dist/shared/src/components/EnumEditor/EnumEditor.styled.cjs.js.map +1 -1
  155. package/dist/shared/src/components/EnumEditor/EnumEditor.styled.es.js +3 -1
  156. package/dist/shared/src/components/EnumEditor/EnumEditor.styled.es.js.map +1 -1
  157. package/dist/shared/src/components/EnumEditor/EnumEditorItem.cjs.js +2 -0
  158. package/dist/shared/src/components/EnumEditor/EnumEditorItem.cjs.js.map +1 -0
  159. package/dist/shared/src/components/EnumEditor/EnumEditorItem.es.js +141 -0
  160. package/dist/shared/src/components/EnumEditor/EnumEditorItem.es.js.map +1 -0
  161. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  162. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  163. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +5 -4
  164. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  165. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  166. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  167. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +5 -2
  168. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  169. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  170. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  171. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +3 -2
  172. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  173. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  174. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  175. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +5 -2
  176. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  177. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +2 -0
  178. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -0
  179. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +177 -0
  180. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -0
  181. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +2 -0
  182. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -0
  183. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +31 -0
  184. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -0
  185. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +3 -3
  186. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  187. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +8 -7
  188. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  189. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  190. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  191. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +42 -31
  192. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  193. package/dist/shared/src/components/Powerpack/PowerpackDialog.styled.cjs.js +12 -2
  194. package/dist/shared/src/components/Powerpack/PowerpackDialog.styled.cjs.js.map +1 -1
  195. package/dist/shared/src/components/Powerpack/PowerpackDialog.styled.es.js +15 -4
  196. package/dist/shared/src/components/Powerpack/PowerpackDialog.styled.es.js.map +1 -1
  197. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  198. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  199. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +7 -4
  200. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  201. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  202. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  203. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +6 -3
  204. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  205. package/dist/shared/src/components/QuillListStyles/QuillListStyles.cjs.js +2 -1
  206. package/dist/shared/src/components/QuillListStyles/QuillListStyles.cjs.js.map +1 -1
  207. package/dist/shared/src/components/QuillListStyles/QuillListStyles.es.js +2 -1
  208. package/dist/shared/src/components/QuillListStyles/QuillListStyles.es.js.map +1 -1
  209. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +5 -5
  210. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  211. package/dist/shared/src/components/RenameForm/RenameForm.es.js +116 -105
  212. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  213. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  214. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  215. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +3 -2
  216. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  217. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  218. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  219. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +5 -2
  220. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  221. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  222. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  223. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +6 -3
  224. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  225. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  226. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  227. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +5 -2
  228. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  229. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  230. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  231. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +3 -2
  232. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  233. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  234. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  235. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +3 -2
  236. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  237. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +3 -3
  238. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  239. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +6 -5
  240. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  241. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  242. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  243. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +5 -2
  244. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  245. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
  246. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  247. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +12 -11
  248. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  249. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  250. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  251. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +5 -2
  252. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  253. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  254. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  255. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +5 -4
  256. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  257. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  258. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  259. package/dist/shared/src/components/Watchers/Watchers.es.js +3 -2
  260. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  261. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  262. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  263. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +5 -2
  264. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  265. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  266. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  267. package/dist/shared/src/containers/Actions/Actions.es.js +4 -2
  268. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  269. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  270. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  271. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +5 -2
  272. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  273. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  274. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  275. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +149 -160
  276. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  277. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js +7 -1
  278. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js.map +1 -1
  279. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js +13 -6
  280. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js.map +1 -1
  281. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  282. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  283. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +5 -2
  284. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  285. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  286. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  287. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +6 -3
  288. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  289. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  290. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  291. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +5 -2
  292. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  293. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  294. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  295. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +4 -2
  296. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  297. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
  298. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
  299. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +3 -2
  300. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
  301. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js +1 -1
  302. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js.map +1 -1
  303. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js +3 -2
  304. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js.map +1 -1
  305. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  306. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  307. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +3 -2
  308. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  309. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  310. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  311. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +5 -2
  312. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  313. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  314. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  315. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +5 -2
  316. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  317. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  318. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  319. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +5 -2
  320. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  321. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  322. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  323. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +5 -2
  324. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  325. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  326. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  327. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +4 -2
  328. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  329. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  330. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  331. package/dist/shared/src/containers/Feed/Feed.es.js +20 -19
  332. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  333. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  334. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  335. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +3 -2
  336. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  337. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js +18 -3
  338. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js.map +1 -1
  339. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.es.js +24 -9
  340. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.es.js.map +1 -1
  341. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  342. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  343. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +3 -2
  344. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  345. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js +7 -0
  346. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js.map +1 -1
  347. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js +7 -0
  348. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js.map +1 -1
  349. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  350. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  351. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +3 -2
  352. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  353. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  354. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  355. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +3 -2
  356. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  357. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  358. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  359. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +3 -2
  360. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  361. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  362. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  363. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +3 -2
  364. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  365. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  366. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  367. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +7 -5
  368. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  369. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  370. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  371. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +3 -2
  372. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  373. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  374. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  375. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +8 -4
  376. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  377. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  378. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  379. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +191 -183
  380. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  381. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +3 -3
  382. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  383. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +280 -57
  384. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  385. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  386. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  387. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +5 -2
  388. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  389. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  390. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  391. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +5 -2
  392. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  393. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  394. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  395. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +34 -32
  396. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  397. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  398. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  399. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +5 -2
  400. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  401. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  402. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  403. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +10 -9
  404. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  405. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  406. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  407. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +7 -5
  408. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  409. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  410. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +20 -18
  412. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  413. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  414. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +48 -45
  416. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  417. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  418. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +5 -2
  420. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  421. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +2 -0
  422. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -0
  423. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +239 -0
  424. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -0
  425. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  426. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +3 -2
  428. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  429. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  430. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  431. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +5 -2
  432. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  433. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js +1 -1
  434. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js +3 -2
  436. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js.map +1 -1
  437. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  438. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +25 -22
  440. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  441. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  442. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  443. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +5 -2
  444. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  445. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  446. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  447. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +5 -2
  448. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  449. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js +1 -1
  450. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js.map +1 -1
  451. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js +4 -2
  452. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js.map +1 -1
  453. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  454. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  455. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +5 -2
  456. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  457. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  458. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  459. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +16 -13
  460. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  461. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  462. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  463. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +5 -3
  464. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  465. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +2 -2
  466. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
  467. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +57 -55
  468. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
  469. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  470. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  471. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +7 -4
  472. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  473. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  474. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  475. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +5 -2
  476. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  477. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  478. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  479. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +5 -2
  480. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  481. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  482. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  483. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +169 -148
  484. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  485. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js +23 -4
  486. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js.map +1 -1
  487. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js +24 -5
  488. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js.map +1 -1
  489. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js +1 -1
  490. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js.map +1 -1
  491. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js +62 -50
  492. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js.map +1 -1
  493. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  494. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  495. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +4 -2
  496. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  497. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +2 -2
  498. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  499. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +9 -8
  500. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  501. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  502. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  503. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +6 -4
  504. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  505. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  506. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  507. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +4 -2
  508. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  509. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
  510. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  511. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +4 -2
  512. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  513. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  514. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  515. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +3 -2
  516. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  517. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  518. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  519. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +3 -2
  520. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  521. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  522. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  523. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +3 -2
  524. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  525. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  526. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  527. package/dist/shared/src/context/AddonProjectContext.es.js +13 -12
  528. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  529. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  530. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  531. package/dist/shared/src/context/DetailsPanelContext.es.js +6 -4
  532. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  533. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  534. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  535. package/dist/shared/src/context/PowerpackContext.es.js +61 -41
  536. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  537. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  538. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  539. package/dist/shared/src/context/RemoteModulesContext.es.js +5 -4
  540. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  541. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  542. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  543. package/dist/shared/src/hooks/useActionTriggers.es.js +3 -2
  544. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  545. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  546. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  547. package/dist/shared/src/hooks/useEntityUpdate.es.js +4 -2
  548. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  549. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  550. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  551. package/dist/shared/src/hooks/useHierarchyTable.es.js +3 -2
  552. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  553. package/dist/shared/src/hooks/useQueryArgumentChangeLoading.cjs.js +2 -0
  554. package/dist/shared/src/hooks/useQueryArgumentChangeLoading.cjs.js.map +1 -0
  555. package/dist/shared/src/hooks/useQueryArgumentChangeLoading.es.js +12 -0
  556. package/dist/shared/src/hooks/useQueryArgumentChangeLoading.es.js.map +1 -0
  557. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  558. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  559. package/dist/shared/src/hooks/useScopedStatuses.es.js +5 -4
  560. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  561. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  562. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  563. package/dist/shared/src/hooks/useUserProjectConfig.es.js +3 -2
  564. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  565. package/dist/shared/src/util/checkName.cjs.js +1 -1
  566. package/dist/shared/src/util/checkName.cjs.js.map +1 -1
  567. package/dist/shared/src/util/checkName.es.js +35 -5
  568. package/dist/shared/src/util/checkName.es.js.map +1 -1
  569. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js +1 -1
  570. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js.map +1 -1
  571. package/dist/src/components/Menu/MenuComponents/Menu.es.js +59 -35
  572. package/dist/src/components/Menu/MenuComponents/Menu.es.js.map +1 -1
  573. package/dist/src/components/Menu/MenuComponents/Menu.styled.cjs.js +13 -0
  574. package/dist/src/components/Menu/MenuComponents/Menu.styled.cjs.js.map +1 -1
  575. package/dist/src/components/Menu/MenuComponents/Menu.styled.es.js +13 -0
  576. package/dist/src/components/Menu/MenuComponents/Menu.styled.es.js.map +1 -1
  577. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js +1 -1
  578. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js.map +1 -1
  579. package/dist/src/components/Menu/MenuComponents/MenuItem.es.js +52 -36
  580. package/dist/src/components/Menu/MenuComponents/MenuItem.es.js.map +1 -1
  581. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js +1 -1
  582. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js.map +1 -1
  583. package/dist/src/components/Menu/MenuComponents/MenuList.es.js +103 -83
  584. package/dist/src/components/Menu/MenuComponents/MenuList.es.js.map +1 -1
  585. package/dist/types/api/generated/anatomy.d.ts +23 -0
  586. package/dist/types/api/generated/attributes.d.ts +15 -4
  587. package/dist/types/api/generated/entityLists.d.ts +102 -9
  588. package/dist/types/api/generated/graphql.d.ts +9 -1
  589. package/dist/types/api/generated/projects.d.ts +8 -0
  590. package/dist/types/api/queries/attributes/getAttributes.d.ts +1 -0
  591. package/dist/types/api/queries/attributes/updateAttributes.d.ts +162 -0
  592. package/dist/types/api/queries/entityLists/getLists.d.ts +152 -0
  593. package/dist/types/api/queries/entityLists/getListsAttributes.d.ts +5 -0
  594. package/dist/types/api/queries/entityLists/index.d.ts +1 -0
  595. package/dist/types/api/queries/entityLists/listFolders.d.ts +613 -0
  596. package/dist/types/api/queries/entityLists/types.d.ts +3 -1
  597. package/dist/types/api/queries/entityLists/updateLists.d.ts +5 -0
  598. package/dist/types/api/queries/entityLists/updateListsAttributes.d.ts +5 -0
  599. package/dist/types/api/queries/project/getProject.d.ts +4 -305
  600. package/dist/types/api/queries/project/updateProject.d.ts +803 -0
  601. package/dist/types/api/queries/users/updateUsers.d.ts +160 -0
  602. package/dist/types/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.d.ts +4 -0
  603. package/dist/types/components/DetailsPanelDetails/BorderedSection.d.ts +5 -3
  604. package/dist/types/components/DetailsPanelDetails/DetailsSection.d.ts +3 -2
  605. package/dist/types/components/DetailsPanelDetails/index.d.ts +1 -0
  606. package/dist/types/components/EnumEditor/EnumEditorItem.d.ts +13 -0
  607. package/dist/types/components/EnumEditor/index.d.ts +1 -0
  608. package/dist/types/components/ListAttributeForm/ListAttributeForm.d.ts +11 -0
  609. package/dist/types/components/ListAttributeForm/index.d.ts +1 -0
  610. package/dist/types/components/ListMetaData/ListMetaData.d.ts +8 -0
  611. package/dist/types/components/ListMetaData/index.d.ts +1 -0
  612. package/dist/types/components/Powerpack/PowerpackDialog.styled.d.ts +1 -0
  613. package/dist/types/components/index.d.ts +2 -0
  614. package/dist/types/containers/DetailsPanel/DetailsPanel.styled.d.ts +7 -0
  615. package/dist/types/containers/ProjectTreeTable/context/ProjectDataContext.d.ts +2 -0
  616. package/dist/types/containers/ProjectTreeTable/hooks/index.d.ts +1 -0
  617. package/dist/types/containers/ProjectTreeTable/hooks/useAttributesList.d.ts +1 -2
  618. package/dist/types/containers/ProjectTreeTable/hooks/useColumnGroupBy.d.ts +10 -0
  619. package/dist/types/containers/SimpleTable/SimpleTable.d.ts +3 -0
  620. package/dist/types/containers/SimpleTable/SimpleTableRowTemplate.d.ts +5 -1
  621. package/dist/types/context/AddonProjectContext.d.ts +2 -1
  622. package/dist/types/context/PowerpackContext.d.ts +4 -2
  623. package/dist/types/context/index.d.ts +1 -0
  624. package/dist/types/hooks/index.d.ts +1 -0
  625. package/dist/types/hooks/useQueryArgumentChangeLoading.d.ts +9 -0
  626. package/dist/types/util/checkName.d.ts +9 -1
  627. package/dist/util.cjs.js +1 -1
  628. package/dist/util.es.js +34 -32
  629. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"EntityPanelUploader.es.js","sources":["../../../../../src/components/EntityPanelUploader/EntityPanelUploader.tsx"],"sourcesContent":["import { ChangeEvent, useRef, useState } from 'react'\nimport clsx from 'clsx'\n\nimport { ThumbnailWrapper } from '@shared/containers'\nimport {\n useCreateVersionMutation,\n useUpdateEntitiesMutation,\n useCreateProductMutation,\n} from '@shared/api'\nimport * as Styled from './EntityPanelUploader.styled'\nimport { ThumbnailUploadProvider } from '../../context/ThumbnailUploaderContext'\nimport Dropzone, { DropzoneType } from './Dropzone'\nimport axios from 'axios'\nimport { toast } from 'react-toastify'\nimport { useReviewablesUpload } from '../ReviewablesList'\nimport { useDetailsPanelContext } from '@shared/context'\nimport EntityPanelUploaderDialog from './EntityPanelUploaderDialog'\nimport {\n sanitizeProductName,\n createProductHelper,\n createVersionHelper,\n getNextVersionNumber,\n handleUploadError,\n} from '@shared/util'\n\ntype Operation = {\n id: string\n projectName: string\n currentAssignees: any[]\n data: { updatedAt: string }\n}\nexport type EntityPanelUploaderProps = {\n entityType: string\n entities: any[]\n projectName: any\n children?: JSX.Element | JSX.Element[]\n onUploaded?: (operations: Operation[]) => void\n resetFileUploadState?: () => void\n onVersionCreated?: (versionId: string) => void\n}\n\ntype UploadType = 'thumbnail' | 'version'\nconst dropZones: (DropzoneType & { id: UploadType })[] = [\n { id: 'thumbnail', label: 'Upload thumbnail', icon: 'add_photo_alternate' },\n { id: 'version', label: 'Upload version', icon: 'layers' },\n]\n\nexport const EntityPanelUploader = ({\n children = [],\n entityType,\n entities = [],\n projectName,\n onUploaded,\n onVersionCreated,\n}: EntityPanelUploaderProps) => {\n const { dispatch } = useDetailsPanelContext()\n // Dragging and dropping state\n const [isDraggingFile, setIsDraggingFile] = useState(false)\n const [draggingZone, setDraggingZone] = useState<UploadType | null>(null)\n const dragCounterRef = useRef(0)\n\n // Uploading state\n const [uploadingType, setUploadingType] = useState<UploadType | null>(null)\n const [progress, setProgress] = useState(0)\n\n // Dialog state for product creation\n const [showProductDialog, setShowProductDialog] = useState(false)\n const [pendingFiles, setPendingFiles] = useState<FileList | null>(null)\n\n // Check if we have exactly one entity selected\n const singleEntity = entities.length === 1 ? entities[0] : null\n // extra all entity IDs for the single version entity\n const taskId: string | undefined = singleEntity?.task?.id\n const folderId: string | undefined = singleEntity?.folder?.id\n const productId: string | undefined = singleEntity?.product?.id\n const versionId: string | undefined = singleEntity?.id\n const canUploadVersions = Boolean(singleEntity && entityType !== 'representation')\n\n // Use the custom hook for reviewable upload logic (only when single version)\n const { handleFileUpload: uploadReviewableFiles } = useReviewablesUpload({\n projectName,\n versionId: versionId,\n taskId: taskId,\n folderId: folderId,\n productId: productId,\n dispatch,\n onUpload: () => {\n setUploadingType(null)\n setProgress(0)\n },\n onProgress: (progress) => {\n setProgress(progress)\n },\n })\n\n // Filter drop zones based on whether we can upload reviewables\n const availableDropZones = dropZones.filter((zone) => {\n if (zone.id === 'version') {\n return canUploadVersions\n }\n return true\n })\n\n const resetState = () => {\n setUploadingType(null)\n setIsDraggingFile(false)\n setDraggingZone(null)\n dragCounterRef.current = 0\n setProgress(0)\n setShowProductDialog(false)\n setPendingFiles(null)\n }\n\n // Handle dialog submission - create product and upload version\n const handleDialogSubmit = async (productName: string) => {\n if (!pendingFiles || !singleEntity) {\n setShowProductDialog(false)\n setPendingFiles(null)\n return\n }\n\n const sanitizedName = sanitizeProductName(productName)\n\n if (!sanitizedName.trim()) {\n toast.error(\n 'Product name must contain valid characters (letters, numbers, underscore, or hyphen)',\n )\n return\n }\n\n try {\n if (!folderId) {\n throw new Error('Folder ID is required to create a product')\n }\n setUploadingType('version')\n\n // Create the product\n const productRes = await createProductHelper(createProduct, projectName, {\n folderId: folderId,\n name: sanitizedName,\n productType: 'review', // default product type for uploaded files\n })\n\n // Close dialog and proceed with version upload\n setShowProductDialog(false)\n await uploadVersionWithProduct(pendingFiles, productRes.id)\n setPendingFiles(null)\n } catch (error: any) {\n handleUploadError(error, 'creating product')\n resetState()\n }\n }\n\n // Handle dialog cancellation\n const handleDialogCancel = () => {\n setShowProductDialog(false)\n setPendingFiles(null)\n resetState()\n }\n\n const [createVersion] = useCreateVersionMutation()\n const [createProduct] = useCreateProductMutation()\n // Handle version/reviewable file upload\n const handleVersionUpload = async (files: FileList) => {\n if (!canUploadVersions || !singleEntity) {\n toast.error('Please select exactly one version to upload reviewables')\n return resetState()\n }\n\n const productId = singleEntity.product?.id\n if (!productId) {\n // Show dialog to create product first\n setPendingFiles(files)\n setShowProductDialog(true)\n return\n }\n\n // If we have a productId, proceed with upload\n await uploadVersionWithProduct(files, productId)\n }\n\n // Helper function to handle the actual version upload\n const uploadVersionWithProduct = async (files: FileList, productId: string) => {\n try {\n const nextVersion = getNextVersionNumber(singleEntity!.product?.latestVersion)\n\n // create a new version\n const versionRes = await createVersionHelper(createVersion, projectName, {\n productId,\n taskId, // previous version could have a taskId or we are uploading on a task\n version: nextVersion,\n })\n\n await uploadReviewableFiles(files, versionRes.id)\n // The hook handles success callbacks, just reset our local state\n resetState()\n\n // update entity panel to focus the new version\n onVersionCreated?.(versionRes.id)\n } catch (error: any) {\n handleUploadError(error, 'uploading version')\n resetState()\n }\n }\n\n // once the file has been uploaded, we need to patch the entities with the new thumbnail\n const handleThumbnailFileUploaded = async (thumbnails: any[] = []) => {\n // always set isDragginle to false\n setIsDraggingFile(false)\n\n // check something was actually uploaded\n if (!entities.length) {\n return\n }\n\n // patching the updatedAt will force a refresh of the thumbnail url\n const newUpdatedAt = new Date().toISOString()\n\n let operations: Operation[] = []\n let versionPatches = []\n\n for (const entity of thumbnails) {\n const entityToPatch = entities.find((e) => e.id === entity.id)\n if (!entityToPatch) continue\n const thumbnailId = entity.thumbnailId\n const currentAssignees = entity.users || []\n\n operations.push({\n id: entityToPatch.id,\n projectName: entityToPatch.projectName,\n data: { updatedAt: newUpdatedAt },\n currentAssignees,\n })\n\n const versionPatch = {\n productId: entityToPatch.productId,\n versionUpdatedAt: newUpdatedAt,\n versionThumbnailId: thumbnailId,\n }\n\n versionPatches.push(versionPatch)\n }\n\n try {\n await updateEntities({ operations, entityType })\n onUploaded && onUploaded(operations)\n } catch (error) {\n console.error('Error uploading thumbnail:', error)\n }\n }\n\n const handleUploadThumbnail = async (file: File) => {\n if (!file) return resetState()\n\n try {\n // check file is an image\n if (!file.type.includes('image')) {\n throw new Error('File is not an image')\n }\n\n let promises = []\n for (const entity of entities) {\n const { id, entityType, projectName } = entity\n\n if (!projectName) throw new Error('Project name is required')\n\n const promise = axios.post(\n projectName && `/api/projects/${projectName}/${entityType}s/${id}/thumbnail`,\n file,\n {\n onUploadProgress: (e) => {\n setProgress(Math.round((100 * e.loaded) / (e.total || file.size)))\n },\n headers: {\n 'Content-Type': file.type,\n },\n },\n )\n\n promises.push(promise)\n }\n\n const res = await Promise.all(promises)\n\n const updatedEntities = res.map((res, i) => ({\n thumbnailId: res.data.id as string,\n id: entities[i].id,\n }))\n\n handleThumbnailFileUploaded(updatedEntities)\n resetState()\n } catch (error: any) {\n console.error(error)\n toast.error(error.message)\n resetState()\n }\n }\n\n const [updateEntities] = useUpdateEntitiesMutation()\n\n const handleDragEnter = (e: React.DragEvent) => {\n e.preventDefault()\n dragCounterRef.current++\n if (dragCounterRef.current === 1) {\n setIsDraggingFile(true)\n }\n }\n\n const handleDragLeave = (e: React.DragEvent) => {\n e.preventDefault()\n dragCounterRef.current--\n if (dragCounterRef.current === 0) {\n setIsDraggingFile(false)\n setDraggingZone(null)\n }\n }\n\n const handleDragOver = (e: React.DragEvent) => {\n e.preventDefault()\n }\n\n const handleDrop = (e: React.DragEvent) => {\n e.preventDefault()\n dragCounterRef.current = 0\n setIsDraggingFile(false)\n setDraggingZone(null)\n\n if (!e.dataTransfer.files || e.dataTransfer.files.length === 0) {\n return\n }\n\n if (draggingZone === 'thumbnail') {\n setUploadingType('thumbnail')\n const file = e.dataTransfer.files[0]\n // try to upload the thumbnail\n handleUploadThumbnail(file)\n }\n\n if (draggingZone === 'version') {\n setUploadingType('version')\n const files = e.dataTransfer.files\n // try to upload the reviewables using the hook\n handleVersionUpload(files)\n }\n }\n\n // upload thumbnail from input (right click on thumbnail)\n const handleInputUpload = async (event: ChangeEvent<HTMLInputElement>, type: UploadType) => {\n const files = event.target.files\n if (!files || files.length === 0) {\n return\n }\n\n if (type === 'version') {\n setUploadingType('version')\n handleVersionUpload(files)\n }\n if (type === 'thumbnail') {\n setUploadingType('thumbnail')\n handleUploadThumbnail(files[0])\n }\n }\n\n const thumbnailInputRef = useRef<HTMLInputElement>(null)\n const versionsInputRef = useRef<HTMLInputElement>(null)\n\n return (\n <ThumbnailUploadProvider\n entities={entities}\n handleThumbnailUpload={handleThumbnailFileUploaded}\n thumbnailInputRef={thumbnailInputRef}\n versionsInputRef={canUploadVersions ? versionsInputRef : undefined}\n >\n <Styled.DragAndDropWrapper\n className={clsx({ dragging: isDraggingFile })}\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n >\n <ThumbnailWrapper>\n <div>{children}</div>\n </ThumbnailWrapper>\n {isDraggingFile && (\n <Styled.DropZones>\n {availableDropZones.map((zone) => (\n <Dropzone\n key={zone.id}\n id={zone.id}\n label={zone.label}\n icon={zone.icon}\n isActive={draggingZone === zone.id}\n onDragOver={() => setDraggingZone(zone.id)}\n onDragLeave={() => setDraggingZone(null)}\n />\n ))}\n </Styled.DropZones>\n )}\n {(uploadingType === 'thumbnail' || uploadingType === 'version') && (\n <Styled.DropZones>\n <Styled.UploadingProgress>\n <Styled.Progress\n style={{\n right: `${100 - progress}%`,\n }}\n />\n <span className=\"label\">{`Uploading ${uploadingType}...`}</span>\n </Styled.UploadingProgress>\n <Styled.CancelButton icon={'close'} variant=\"text\" onClick={resetState} />\n </Styled.DropZones>\n )}\n <input\n type=\"file\"\n onChange={(e) => handleInputUpload(e, 'thumbnail')}\n ref={thumbnailInputRef}\n />\n <input\n type=\"file\"\n onChange={(e) => handleInputUpload(e, 'version')}\n ref={versionsInputRef}\n />\n </Styled.DragAndDropWrapper>\n\n {/* Product creation dialog */}\n <EntityPanelUploaderDialog\n isOpen={showProductDialog}\n files={pendingFiles}\n onSubmit={handleDialogSubmit}\n onCancel={handleDialogCancel}\n />\n </ThumbnailUploadProvider>\n )\n}\n"],"names":["dropZones","EntityPanelUploader","children","entityType","entities","projectName","onUploaded","onVersionCreated","dispatch","useDetailsPanelContext","isDraggingFile","setIsDraggingFile","useState","draggingZone","setDraggingZone","dragCounterRef","useRef","uploadingType","setUploadingType","progress","setProgress","showProductDialog","setShowProductDialog","pendingFiles","setPendingFiles","singleEntity","taskId","_a","folderId","_b","productId","_c","versionId","canUploadVersions","uploadReviewableFiles","useReviewablesUpload","availableDropZones","zone","resetState","handleDialogSubmit","productName","sanitizedName","sanitizeProductName","toast","productRes","createProductHelper","createProduct","uploadVersionWithProduct","error","handleUploadError","handleDialogCancel","createVersion","useCreateVersionMutation","useCreateProductMutation","handleVersionUpload","files","nextVersion","getNextVersionNumber","versionRes","createVersionHelper","handleThumbnailFileUploaded","thumbnails","newUpdatedAt","operations","entity","entityToPatch","e","currentAssignees","updateEntities","handleUploadThumbnail","file","promises","id","promise","axios","updatedEntities","res","i","useUpdateEntitiesMutation","handleDragEnter","handleDragLeave","handleDragOver","handleDrop","handleInputUpload","event","type","thumbnailInputRef","versionsInputRef","jsxs","ThumbnailUploadProvider","Styled.DragAndDropWrapper","clsx","jsx","ThumbnailWrapper","Styled.DropZones","Dropzone","Styled.UploadingProgress","Styled.Progress","Styled.CancelButton","EntityPanelUploaderDialog"],"mappings":"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"}
1
+ {"version":3,"file":"EntityPanelUploader.es.js","sources":["../../../../../src/components/EntityPanelUploader/EntityPanelUploader.tsx"],"sourcesContent":["import { ChangeEvent, useRef, useState } from 'react'\nimport clsx from 'clsx'\n\nimport { ThumbnailWrapper } from '@shared/containers'\nimport {\n useCreateVersionMutation,\n useUpdateEntitiesMutation,\n useCreateProductMutation,\n} from '@shared/api'\nimport * as Styled from './EntityPanelUploader.styled'\nimport { ThumbnailUploadProvider } from '../../context/ThumbnailUploaderContext'\nimport Dropzone, { DropzoneType } from './Dropzone'\nimport axios from 'axios'\nimport { toast } from 'react-toastify'\nimport { useReviewablesUpload } from '../ReviewablesList'\nimport { useDetailsPanelContext } from '@shared/context'\nimport EntityPanelUploaderDialog from './EntityPanelUploaderDialog'\nimport {\n sanitizeProductName,\n createProductHelper,\n createVersionHelper,\n getNextVersionNumber,\n handleUploadError,\n} from '@shared/util'\n\ntype Operation = {\n id: string\n projectName: string\n currentAssignees: any[]\n data: { updatedAt: string }\n}\nexport type EntityPanelUploaderProps = {\n entityType: string\n entities: any[]\n projectName: any\n children?: JSX.Element | JSX.Element[]\n onUploaded?: (operations: Operation[]) => void\n resetFileUploadState?: () => void\n onVersionCreated?: (versionId: string) => void\n}\n\ntype UploadType = 'thumbnail' | 'version'\nconst dropZones: (DropzoneType & { id: UploadType })[] = [\n { id: 'thumbnail', label: 'Upload thumbnail', icon: 'add_photo_alternate' },\n { id: 'version', label: 'Upload version', icon: 'layers' },\n]\n\nexport const EntityPanelUploader = ({\n children = [],\n entityType,\n entities = [],\n projectName,\n onUploaded,\n onVersionCreated,\n}: EntityPanelUploaderProps) => {\n const { dispatch } = useDetailsPanelContext()\n // Dragging and dropping state\n const [isDraggingFile, setIsDraggingFile] = useState(false)\n const [draggingZone, setDraggingZone] = useState<UploadType | null>(null)\n const dragCounterRef = useRef(0)\n\n // Uploading state\n const [uploadingType, setUploadingType] = useState<UploadType | null>(null)\n const [progress, setProgress] = useState(0)\n\n // Dialog state for product creation\n const [showProductDialog, setShowProductDialog] = useState(false)\n const [pendingFiles, setPendingFiles] = useState<FileList | null>(null)\n\n // Check if we have exactly one entity selected\n const singleEntity = entities.length === 1 ? entities[0] : null\n // extra all entity IDs for the single version entity\n const taskId: string | undefined = singleEntity?.task?.id\n const folderId: string | undefined = singleEntity?.folder?.id\n const productId: string | undefined = singleEntity?.product?.id\n const versionId: string | undefined = singleEntity?.id\n const canUploadVersions = Boolean(singleEntity && entityType !== 'representation')\n\n // Use the custom hook for reviewable upload logic (only when single version)\n const { handleFileUpload: uploadReviewableFiles } = useReviewablesUpload({\n projectName,\n versionId: versionId,\n taskId: taskId,\n folderId: folderId,\n productId: productId,\n dispatch,\n onUpload: () => {\n setUploadingType(null)\n setProgress(0)\n },\n onProgress: (progress) => {\n setProgress(progress)\n },\n })\n\n // Filter drop zones based on whether we can upload reviewables\n const availableDropZones = dropZones.filter((zone) => {\n if (zone.id === 'version') {\n return canUploadVersions\n }\n return true\n })\n\n const resetState = () => {\n setUploadingType(null)\n setIsDraggingFile(false)\n setDraggingZone(null)\n dragCounterRef.current = 0\n setProgress(0)\n setShowProductDialog(false)\n setPendingFiles(null)\n }\n\n // Handle dialog submission - create product and upload version\n const handleDialogSubmit = async (productName: string) => {\n if (!pendingFiles || !singleEntity) {\n setShowProductDialog(false)\n setPendingFiles(null)\n return\n }\n\n const sanitizedName = sanitizeProductName(productName)\n\n if (!sanitizedName.trim()) {\n toast.error(\n 'Product name must contain valid characters (letters, numbers, underscore, or hyphen)',\n )\n return\n }\n\n try {\n if (!folderId) {\n throw new Error('Folder ID is required to create a product')\n }\n setUploadingType('version')\n\n // Create the product\n const productRes = await createProductHelper(createProduct, projectName, {\n folderId: folderId,\n name: sanitizedName,\n productType: 'review', // default product type for uploaded files\n })\n\n // Close dialog and proceed with version upload\n setShowProductDialog(false)\n await uploadVersionWithProduct(pendingFiles, productRes.id)\n setPendingFiles(null)\n } catch (error: any) {\n handleUploadError(error, 'creating product')\n resetState()\n }\n }\n\n // Handle dialog cancellation\n const handleDialogCancel = () => {\n setShowProductDialog(false)\n setPendingFiles(null)\n resetState()\n }\n\n const [createVersion] = useCreateVersionMutation()\n const [createProduct] = useCreateProductMutation()\n // Handle version/reviewable file upload\n const handleVersionUpload = async (files: FileList) => {\n if (!canUploadVersions || !singleEntity) {\n toast.error('Please select exactly one version to upload reviewables')\n return resetState()\n }\n\n const productId = singleEntity.product?.id\n if (!productId) {\n // Show dialog to create product first\n setPendingFiles(files)\n setShowProductDialog(true)\n return\n }\n\n // If we have a productId, proceed with upload\n await uploadVersionWithProduct(files, productId)\n }\n\n // Helper function to handle the actual version upload\n const uploadVersionWithProduct = async (files: FileList, productId: string) => {\n try {\n const nextVersion = getNextVersionNumber(singleEntity!.product?.latestVersion)\n\n // create a new version\n const versionRes = await createVersionHelper(createVersion, projectName, {\n productId,\n taskId, // previous version could have a taskId or we are uploading on a task\n version: nextVersion,\n })\n\n await uploadReviewableFiles(files, versionRes.id)\n // The hook handles success callbacks, just reset our local state\n resetState()\n\n // update entity panel to focus the new version\n onVersionCreated?.(versionRes.id)\n } catch (error: any) {\n handleUploadError(error, 'uploading version')\n resetState()\n }\n }\n\n // once the file has been uploaded, we need to patch the entities with the new thumbnail\n const handleThumbnailFileUploaded = async (thumbnails: any[] = []) => {\n // always set isDragginle to false\n setIsDraggingFile(false)\n\n // check something was actually uploaded\n if (!entities.length) {\n return\n }\n\n // patching the updatedAt will force a refresh of the thumbnail url\n const newUpdatedAt = new Date().toISOString()\n\n let operations: Operation[] = []\n let versionPatches = []\n\n for (const entity of thumbnails) {\n const entityToPatch = entities.find((e) => e.id === entity.id)\n if (!entityToPatch) continue\n const thumbnailId = entity.thumbnailId\n const currentAssignees = entity.users || []\n\n operations.push({\n id: entityToPatch.id,\n projectName: entityToPatch.projectName,\n data: { updatedAt: newUpdatedAt },\n currentAssignees,\n })\n\n const versionPatch = {\n productId: entityToPatch.productId,\n versionUpdatedAt: newUpdatedAt,\n versionThumbnailId: thumbnailId,\n }\n\n versionPatches.push(versionPatch)\n }\n\n try {\n await updateEntities({ operations, entityType })\n onUploaded && onUploaded(operations)\n } catch (error) {\n console.error('Error uploading thumbnail:', error)\n }\n }\n\n const handleUploadThumbnail = async (file: File) => {\n if (!file) return resetState()\n\n try {\n // check file is an image\n if (!file.type.includes('image')) {\n throw new Error('File is not an image')\n }\n\n let promises = []\n for (const entity of entities) {\n const { id, entityType, projectName } = entity\n\n if (!projectName) throw new Error('Project name is required')\n\n const promise = axios.post(\n projectName && `/api/projects/${projectName}/${entityType}s/${id}/thumbnail`,\n file,\n {\n onUploadProgress: (e) => {\n setProgress(Math.round((100 * e.loaded) / (e.total || file.size)))\n },\n headers: {\n 'Content-Type': file.type,\n },\n },\n )\n\n promises.push(promise)\n }\n\n const res = await Promise.all(promises)\n\n const updatedEntities = res.map((res, i) => ({\n thumbnailId: res.data.id as string,\n id: entities[i].id,\n }))\n\n handleThumbnailFileUploaded(updatedEntities)\n resetState()\n } catch (error: any) {\n console.error(error)\n toast.error(error.message)\n resetState()\n }\n }\n\n const [updateEntities] = useUpdateEntitiesMutation()\n\n const handleDragEnter = (e: React.DragEvent) => {\n e.preventDefault()\n dragCounterRef.current++\n if (dragCounterRef.current === 1) {\n setIsDraggingFile(true)\n }\n }\n\n const handleDragLeave = (e: React.DragEvent) => {\n e.preventDefault()\n dragCounterRef.current--\n if (dragCounterRef.current === 0) {\n setIsDraggingFile(false)\n setDraggingZone(null)\n }\n }\n\n const handleDragOver = (e: React.DragEvent) => {\n e.preventDefault()\n }\n\n const handleDrop = (e: React.DragEvent) => {\n e.preventDefault()\n dragCounterRef.current = 0\n setIsDraggingFile(false)\n setDraggingZone(null)\n\n if (!e.dataTransfer.files || e.dataTransfer.files.length === 0) {\n return\n }\n\n if (draggingZone === 'thumbnail') {\n setUploadingType('thumbnail')\n const file = e.dataTransfer.files[0]\n // try to upload the thumbnail\n handleUploadThumbnail(file)\n }\n\n if (draggingZone === 'version') {\n setUploadingType('version')\n const files = e.dataTransfer.files\n // try to upload the reviewables using the hook\n handleVersionUpload(files)\n }\n }\n\n // upload thumbnail from input (right click on thumbnail)\n const handleInputUpload = async (event: ChangeEvent<HTMLInputElement>, type: UploadType) => {\n const files = event.target.files\n if (!files || files.length === 0) {\n return\n }\n\n if (type === 'version') {\n setUploadingType('version')\n handleVersionUpload(files)\n }\n if (type === 'thumbnail') {\n setUploadingType('thumbnail')\n handleUploadThumbnail(files[0])\n }\n }\n\n const thumbnailInputRef = useRef<HTMLInputElement>(null)\n const versionsInputRef = useRef<HTMLInputElement>(null)\n\n return (\n <ThumbnailUploadProvider\n entities={entities}\n handleThumbnailUpload={handleThumbnailFileUploaded}\n thumbnailInputRef={thumbnailInputRef}\n versionsInputRef={canUploadVersions ? versionsInputRef : undefined}\n >\n <Styled.DragAndDropWrapper\n className={clsx({ dragging: isDraggingFile })}\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n >\n <ThumbnailWrapper>\n <div>{children}</div>\n </ThumbnailWrapper>\n {isDraggingFile && (\n <Styled.DropZones>\n {availableDropZones.map((zone) => (\n <Dropzone\n key={zone.id}\n id={zone.id}\n label={zone.label}\n icon={zone.icon}\n isActive={draggingZone === zone.id}\n onDragOver={() => setDraggingZone(zone.id)}\n onDragLeave={() => setDraggingZone(null)}\n />\n ))}\n </Styled.DropZones>\n )}\n {(uploadingType === 'thumbnail' || uploadingType === 'version') && (\n <Styled.DropZones>\n <Styled.UploadingProgress>\n <Styled.Progress\n style={{\n right: `${100 - progress}%`,\n }}\n />\n <span className=\"label\">{`Uploading ${uploadingType}...`}</span>\n </Styled.UploadingProgress>\n <Styled.CancelButton icon={'close'} variant=\"text\" onClick={resetState} />\n </Styled.DropZones>\n )}\n <input\n type=\"file\"\n onChange={(e) => handleInputUpload(e, 'thumbnail')}\n ref={thumbnailInputRef}\n />\n <input\n type=\"file\"\n onChange={(e) => handleInputUpload(e, 'version')}\n ref={versionsInputRef}\n />\n </Styled.DragAndDropWrapper>\n\n {/* Product creation dialog */}\n <EntityPanelUploaderDialog\n isOpen={showProductDialog}\n files={pendingFiles}\n onSubmit={handleDialogSubmit}\n onCancel={handleDialogCancel}\n />\n </ThumbnailUploadProvider>\n )\n}\n"],"names":["dropZones","EntityPanelUploader","children","entityType","entities","projectName","onUploaded","onVersionCreated","dispatch","useDetailsPanelContext","isDraggingFile","setIsDraggingFile","useState","draggingZone","setDraggingZone","dragCounterRef","useRef","uploadingType","setUploadingType","progress","setProgress","showProductDialog","setShowProductDialog","pendingFiles","setPendingFiles","singleEntity","taskId","_a","folderId","_b","productId","_c","versionId","canUploadVersions","uploadReviewableFiles","useReviewablesUpload","availableDropZones","zone","resetState","handleDialogSubmit","productName","sanitizedName","sanitizeProductName","toast","productRes","createProductHelper","createProduct","uploadVersionWithProduct","error","handleUploadError","handleDialogCancel","createVersion","useCreateVersionMutation","useCreateProductMutation","handleVersionUpload","files","nextVersion","getNextVersionNumber","versionRes","createVersionHelper","handleThumbnailFileUploaded","thumbnails","newUpdatedAt","operations","entity","entityToPatch","e","currentAssignees","updateEntities","handleUploadThumbnail","file","promises","id","promise","axios","updatedEntities","res","i","useUpdateEntitiesMutation","handleDragEnter","handleDragLeave","handleDragOver","handleDrop","handleInputUpload","event","type","thumbnailInputRef","versionsInputRef","jsxs","ThumbnailUploadProvider","Styled.DragAndDropWrapper","clsx","jsx","ThumbnailWrapper","Styled.DropZones","Dropzone","Styled.UploadingProgress","Styled.Progress","Styled.CancelButton","EntityPanelUploaderDialog"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const x=require("../../../../_virtual/jsx-runtime.cjs.js"),C=require("react"),y=require("./EntityPath.styled.cjs.js"),b=require("../../../node_modules/primereact/utils/utils.esm.cjs.js");require("../../containers/ContextMenu/ContextMenuContext.cjs.js");require("@ynput/ayon-react-components");;/* empty css */require("clsx");const f=require("../../containers/ContextMenu/useCreateContextMenu.cjs.js");require("lodash");require("react-toastify");const j=require("../../util/copyToClipboard.cjs.js");require("uuid");require("../../util/pubsub.cjs.js");require("../../context/RemoteModulesContext.cjs.js");const M=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");const h=C.forwardRef(({children:o,segment:e,isOpen:u,scope:k,projectName:n,...c},s)=>{const{openSlideOut:q}=M.useDetailsPanelContext(),i=(e==null?void 0:e.type)!=="product"&&(e==null?void 0:e.type)!=="project",a=()=>{if(!i)return;const{type:r,id:t}=e||{};!r||r==="project"||r==="product"||!t||q({entityType:r,entityId:t,projectName:n})},l=r=>[{label:`ID: ${r}`,icon:"content_copy",command:()=>j.copyToClipboard(r)}],[p]=f.useCreateContextMenu(),d=r=>{if(!e)return;const t=l(e.id);p(r,t)};return x.jsxRuntimeExports.jsx(y.ActiveSegment,{onClick:a,onContextMenu:d,className:b.classNames({link:i,open:u}),...c,ref:s,children:o})});module.exports=h;
1
+ "use strict";const x=require("../../../../_virtual/jsx-runtime.cjs.js"),C=require("react"),y=require("./EntityPath.styled.cjs.js"),b=require("../../../node_modules/primereact/utils/utils.esm.cjs.js");require("../../containers/ContextMenu/ContextMenuContext.cjs.js");require("@ynput/ayon-react-components");;/* empty css */require("clsx");const f=require("../../containers/ContextMenu/useCreateContextMenu.cjs.js");require("lodash");require("react-toastify");const j=require("../../util/copyToClipboard.cjs.js");require("uuid");require("../../util/pubsub.cjs.js");require("../../context/RemoteModulesContext.cjs.js");const M=require("../../context/DetailsPanelContext.cjs.js");require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");require("../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");require("../../context/PowerpackContext.cjs.js");require("../../context/MoveEntityContext.cjs.js");require("../../context/MenuContext.cjs.js");const h=C.forwardRef(({children:o,segment:e,isOpen:u,scope:k,projectName:n,...c},q)=>{const{openSlideOut:s}=M.useDetailsPanelContext(),i=(e==null?void 0:e.type)!=="product"&&(e==null?void 0:e.type)!=="project",a=()=>{if(!i)return;const{type:r,id:t}=e||{};!r||r==="project"||r==="product"||!t||s({entityType:r,entityId:t,projectName:n})},l=r=>[{label:`ID: ${r}`,icon:"content_copy",command:()=>j.copyToClipboard(r)}],[p]=f.useCreateContextMenu(),d=r=>{if(!e)return;const t=l(e.id);p(r,t)};return x.jsxRuntimeExports.jsx(y.ActiveSegment,{onClick:a,onContextMenu:d,className:b.classNames({link:i,open:u}),...c,ref:q,children:o})});module.exports=h;
2
2
  //# sourceMappingURL=SegmentProvider.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentProvider.cjs.js","sources":["../../../../../src/components/EntityPath/SegmentProvider.tsx"],"sourcesContent":["import { forwardRef, MouseEvent } from 'react'\nimport { ActiveSegment } from './EntityPath.styled'\nimport { classNames } from 'primereact/utils'\nimport { PathSegment } from './EntityPath'\nimport { useCreateContextMenu } from '@shared/containers/ContextMenu'\nimport { copyToClipboard } from '@shared/util'\nimport { useDetailsPanelContext } from '@shared/context'\n\ninterface SegmentProviderProps extends React.HTMLAttributes<HTMLDivElement> {\n segment?: PathSegment\n isOpen?: boolean\n scope: string\n projectName: string\n}\n\nconst SegmentProvider = forwardRef<HTMLDivElement, SegmentProviderProps>(\n ({ children, segment, isOpen, scope, projectName, ...props }, ref) => {\n const { openSlideOut } = useDetailsPanelContext()\n // is the segment NOT a product || project?\n const isLinkable = segment?.type !== 'product' && segment?.type !== 'project'\n\n const handleClick = () => {\n if (!isLinkable) return\n\n const { type: entityType, id: entityId } = segment || {}\n\n if (!entityType || entityType === 'project' || entityType === 'product' || !entityId) return\n\n openSlideOut({\n entityType,\n entityId,\n projectName,\n })\n }\n\n const buildContextMenu = (id: string) => [\n {\n label: `ID: ${id}`,\n icon: 'content_copy',\n command: () => copyToClipboard(id),\n },\n ]\n\n const [contextMenuShow] = useCreateContextMenu()\n\n const handleOnContext = (e: MouseEvent<HTMLDivElement>) => {\n if (!segment) return\n const menu = buildContextMenu(segment.id)\n\n contextMenuShow(e, menu)\n }\n\n return (\n <ActiveSegment\n onClick={handleClick}\n onContextMenu={handleOnContext}\n className={classNames({ link: isLinkable, open: isOpen })}\n {...props}\n ref={ref}\n >\n {children}\n </ActiveSegment>\n )\n },\n)\n\nexport default SegmentProvider\n"],"names":["SegmentProvider","forwardRef","children","segment","isOpen","scope","projectName","props","ref","openSlideOut","useDetailsPanelContext","isLinkable","handleClick","entityType","entityId","buildContextMenu","id","copyToClipboard","contextMenuShow","useCreateContextMenu","handleOnContext","e","menu","jsx","ActiveSegment","classNames"],"mappings":"0nCAeA,MAAMA,EAAkBC,EAAA,WACtB,CAAC,CAAE,SAAAC,EAAU,QAAAC,EAAS,OAAAC,EAAQ,MAAAC,EAAO,YAAAC,EAAa,GAAGC,CAAM,EAAGC,IAAQ,CAC9D,KAAA,CAAE,aAAAC,CAAa,EAAIC,yBAAuB,EAE1CC,GAAaR,GAAA,YAAAA,EAAS,QAAS,YAAaA,GAAA,YAAAA,EAAS,QAAS,UAE9DS,EAAc,IAAM,CACxB,GAAI,CAACD,EAAY,OAEjB,KAAM,CAAE,KAAME,EAAY,GAAIC,CAAS,EAAIX,GAAW,CAAC,EAEnD,CAACU,GAAcA,IAAe,WAAaA,IAAe,WAAa,CAACC,GAE/DL,EAAA,CACX,WAAAI,EACA,SAAAC,EACA,YAAAR,CAAA,CACD,CACH,EAEMS,EAAoBC,GAAe,CACvC,CACE,MAAO,OAAOA,CAAE,GAChB,KAAM,eACN,QAAS,IAAMC,EAAAA,gBAAgBD,CAAE,CAAA,CAErC,EAEM,CAACE,CAAe,EAAIC,uBAAqB,EAEzCC,EAAmBC,GAAkC,CACzD,GAAI,CAAClB,EAAS,OACR,MAAAmB,EAAOP,EAAiBZ,EAAQ,EAAE,EAExCe,EAAgBG,EAAGC,CAAI,CACzB,EAGE,OAAAC,EAAA,kBAAA,IAACC,EAAA,cAAA,CACC,QAASZ,EACT,cAAeQ,EACf,UAAWK,EAAW,WAAA,CAAE,KAAMd,EAAY,KAAMP,EAAQ,EACvD,GAAGG,EACJ,IAAAC,EAEC,SAAAN,CAAA,CACH,CAAA,CAGN"}
1
+ {"version":3,"file":"SegmentProvider.cjs.js","sources":["../../../../../src/components/EntityPath/SegmentProvider.tsx"],"sourcesContent":["import { forwardRef, MouseEvent } from 'react'\nimport { ActiveSegment } from './EntityPath.styled'\nimport { classNames } from 'primereact/utils'\nimport { PathSegment } from './EntityPath'\nimport { useCreateContextMenu } from '@shared/containers/ContextMenu'\nimport { copyToClipboard } from '@shared/util'\nimport { useDetailsPanelContext } from '@shared/context'\n\ninterface SegmentProviderProps extends React.HTMLAttributes<HTMLDivElement> {\n segment?: PathSegment\n isOpen?: boolean\n scope: string\n projectName: string\n}\n\nconst SegmentProvider = forwardRef<HTMLDivElement, SegmentProviderProps>(\n ({ children, segment, isOpen, scope, projectName, ...props }, ref) => {\n const { openSlideOut } = useDetailsPanelContext()\n // is the segment NOT a product || project?\n const isLinkable = segment?.type !== 'product' && segment?.type !== 'project'\n\n const handleClick = () => {\n if (!isLinkable) return\n\n const { type: entityType, id: entityId } = segment || {}\n\n if (!entityType || entityType === 'project' || entityType === 'product' || !entityId) return\n\n openSlideOut({\n entityType,\n entityId,\n projectName,\n })\n }\n\n const buildContextMenu = (id: string) => [\n {\n label: `ID: ${id}`,\n icon: 'content_copy',\n command: () => copyToClipboard(id),\n },\n ]\n\n const [contextMenuShow] = useCreateContextMenu()\n\n const handleOnContext = (e: MouseEvent<HTMLDivElement>) => {\n if (!segment) return\n const menu = buildContextMenu(segment.id)\n\n contextMenuShow(e, menu)\n }\n\n return (\n <ActiveSegment\n onClick={handleClick}\n onContextMenu={handleOnContext}\n className={classNames({ link: isLinkable, open: isOpen })}\n {...props}\n ref={ref}\n >\n {children}\n </ActiveSegment>\n )\n },\n)\n\nexport default SegmentProvider\n"],"names":["SegmentProvider","forwardRef","children","segment","isOpen","scope","projectName","props","ref","openSlideOut","useDetailsPanelContext","isLinkable","handleClick","entityType","entityId","buildContextMenu","id","copyToClipboard","contextMenuShow","useCreateContextMenu","handleOnContext","e","menu","jsx","ActiveSegment","classNames"],"mappings":"sqCAeA,MAAMA,EAAkBC,EAAA,WACtB,CAAC,CAAE,SAAAC,EAAU,QAAAC,EAAS,OAAAC,EAAQ,MAAAC,EAAO,YAAAC,EAAa,GAAGC,CAAM,EAAGC,IAAQ,CAC9D,KAAA,CAAE,aAAAC,CAAa,EAAIC,yBAAuB,EAE1CC,GAAaR,GAAA,YAAAA,EAAS,QAAS,YAAaA,GAAA,YAAAA,EAAS,QAAS,UAE9DS,EAAc,IAAM,CACxB,GAAI,CAACD,EAAY,OAEjB,KAAM,CAAE,KAAME,EAAY,GAAIC,CAAS,EAAIX,GAAW,CAAC,EAEnD,CAACU,GAAcA,IAAe,WAAaA,IAAe,WAAa,CAACC,GAE/DL,EAAA,CACX,WAAAI,EACA,SAAAC,EACA,YAAAR,CAAA,CACD,CACH,EAEMS,EAAoBC,GAAe,CACvC,CACE,MAAO,OAAOA,CAAE,GAChB,KAAM,eACN,QAAS,IAAMC,EAAAA,gBAAgBD,CAAE,CAAA,CAErC,EAEM,CAACE,CAAe,EAAIC,uBAAqB,EAEzCC,EAAmBC,GAAkC,CACzD,GAAI,CAAClB,EAAS,OACR,MAAAmB,EAAOP,EAAiBZ,EAAQ,EAAE,EAExCe,EAAgBG,EAAGC,CAAI,CACzB,EAGE,OAAAC,EAAA,kBAAA,IAACC,EAAA,cAAA,CACC,QAASZ,EACT,cAAeQ,EACf,UAAWK,EAAW,WAAA,CAAE,KAAMd,EAAY,KAAMP,EAAQ,EACvD,GAAGG,EACJ,IAAAC,EAEC,SAAAN,CAAA,CACH,CAAA,CAGN"}
@@ -23,7 +23,8 @@ import "../../context/AddonProjectContext.es.js";
23
23
  import "../../context/AddonContext.es.js";
24
24
  import "../../context/PowerpackContext.es.js";
25
25
  import "../../context/MoveEntityContext.es.js";
26
- const U = x(
26
+ import "../../context/MenuContext.es.js";
27
+ const V = x(
27
28
  ({ children: p, segment: o, isOpen: n, scope: M, projectName: m, ...e }, c) => {
28
29
  const { openSlideOut: a } = k(), i = (o == null ? void 0 : o.type) !== "product" && (o == null ? void 0 : o.type) !== "project", u = () => {
29
30
  if (!i) return;
@@ -58,6 +59,6 @@ const U = x(
58
59
  }
59
60
  );
60
61
  export {
61
- U as default
62
+ V as default
62
63
  };
63
64
  //# sourceMappingURL=SegmentProvider.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentProvider.es.js","sources":["../../../../../src/components/EntityPath/SegmentProvider.tsx"],"sourcesContent":["import { forwardRef, MouseEvent } from 'react'\nimport { ActiveSegment } from './EntityPath.styled'\nimport { classNames } from 'primereact/utils'\nimport { PathSegment } from './EntityPath'\nimport { useCreateContextMenu } from '@shared/containers/ContextMenu'\nimport { copyToClipboard } from '@shared/util'\nimport { useDetailsPanelContext } from '@shared/context'\n\ninterface SegmentProviderProps extends React.HTMLAttributes<HTMLDivElement> {\n segment?: PathSegment\n isOpen?: boolean\n scope: string\n projectName: string\n}\n\nconst SegmentProvider = forwardRef<HTMLDivElement, SegmentProviderProps>(\n ({ children, segment, isOpen, scope, projectName, ...props }, ref) => {\n const { openSlideOut } = useDetailsPanelContext()\n // is the segment NOT a product || project?\n const isLinkable = segment?.type !== 'product' && segment?.type !== 'project'\n\n const handleClick = () => {\n if (!isLinkable) return\n\n const { type: entityType, id: entityId } = segment || {}\n\n if (!entityType || entityType === 'project' || entityType === 'product' || !entityId) return\n\n openSlideOut({\n entityType,\n entityId,\n projectName,\n })\n }\n\n const buildContextMenu = (id: string) => [\n {\n label: `ID: ${id}`,\n icon: 'content_copy',\n command: () => copyToClipboard(id),\n },\n ]\n\n const [contextMenuShow] = useCreateContextMenu()\n\n const handleOnContext = (e: MouseEvent<HTMLDivElement>) => {\n if (!segment) return\n const menu = buildContextMenu(segment.id)\n\n contextMenuShow(e, menu)\n }\n\n return (\n <ActiveSegment\n onClick={handleClick}\n onContextMenu={handleOnContext}\n className={classNames({ link: isLinkable, open: isOpen })}\n {...props}\n ref={ref}\n >\n {children}\n </ActiveSegment>\n )\n },\n)\n\nexport default SegmentProvider\n"],"names":["SegmentProvider","forwardRef","children","segment","isOpen","scope","projectName","props","ref","openSlideOut","useDetailsPanelContext","isLinkable","handleClick","entityType","entityId","buildContextMenu","id","copyToClipboard","contextMenuShow","useCreateContextMenu","handleOnContext","e","menu","jsx","ActiveSegment","classNames"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAeA,MAAMA,IAAkBC;AAAA,EACtB,CAAC,EAAE,UAAAC,GAAU,SAAAC,GAAS,QAAAC,GAAQ,OAAAC,GAAO,aAAAC,GAAa,GAAGC,EAAM,GAAGC,MAAQ;AAC9D,UAAA,EAAE,cAAAC,EAAa,IAAIC,EAAuB,GAE1CC,KAAaR,KAAA,gBAAAA,EAAS,UAAS,cAAaA,KAAA,gBAAAA,EAAS,UAAS,WAE9DS,IAAc,MAAM;AACxB,UAAI,CAACD,EAAY;AAEjB,YAAM,EAAE,MAAME,GAAY,IAAIC,EAAS,IAAIX,KAAW,CAAC;AAEvD,MAAI,CAACU,KAAcA,MAAe,aAAaA,MAAe,aAAa,CAACC,KAE/DL,EAAA;AAAA,QACX,YAAAI;AAAA,QACA,UAAAC;AAAA,QACA,aAAAR;AAAA,MAAA,CACD;AAAA,IACH,GAEMS,IAAmB,CAACC,MAAe;AAAA,MACvC;AAAA,QACE,OAAO,OAAOA,CAAE;AAAA,QAChB,MAAM;AAAA,QACN,SAAS,MAAMC,EAAgBD,CAAE;AAAA,MAAA;AAAA,IAErC,GAEM,CAACE,CAAe,IAAIC,EAAqB,GAEzCC,IAAkB,CAACC,MAAkC;AACzD,UAAI,CAAClB,EAAS;AACR,YAAAmB,IAAOP,EAAiBZ,EAAQ,EAAE;AAExC,MAAAe,EAAgBG,GAAGC,CAAI;AAAA,IACzB;AAGE,WAAAC,gBAAAA,EAAA;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,SAASZ;AAAA,QACT,eAAeQ;AAAA,QACf,WAAWK,EAAW,EAAE,MAAMd,GAAY,MAAMP,GAAQ;AAAA,QACvD,GAAGG;AAAA,QACJ,KAAAC;AAAA,QAEC,UAAAN;AAAA,MAAA;AAAA,IACH;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"SegmentProvider.es.js","sources":["../../../../../src/components/EntityPath/SegmentProvider.tsx"],"sourcesContent":["import { forwardRef, MouseEvent } from 'react'\nimport { ActiveSegment } from './EntityPath.styled'\nimport { classNames } from 'primereact/utils'\nimport { PathSegment } from './EntityPath'\nimport { useCreateContextMenu } from '@shared/containers/ContextMenu'\nimport { copyToClipboard } from '@shared/util'\nimport { useDetailsPanelContext } from '@shared/context'\n\ninterface SegmentProviderProps extends React.HTMLAttributes<HTMLDivElement> {\n segment?: PathSegment\n isOpen?: boolean\n scope: string\n projectName: string\n}\n\nconst SegmentProvider = forwardRef<HTMLDivElement, SegmentProviderProps>(\n ({ children, segment, isOpen, scope, projectName, ...props }, ref) => {\n const { openSlideOut } = useDetailsPanelContext()\n // is the segment NOT a product || project?\n const isLinkable = segment?.type !== 'product' && segment?.type !== 'project'\n\n const handleClick = () => {\n if (!isLinkable) return\n\n const { type: entityType, id: entityId } = segment || {}\n\n if (!entityType || entityType === 'project' || entityType === 'product' || !entityId) return\n\n openSlideOut({\n entityType,\n entityId,\n projectName,\n })\n }\n\n const buildContextMenu = (id: string) => [\n {\n label: `ID: ${id}`,\n icon: 'content_copy',\n command: () => copyToClipboard(id),\n },\n ]\n\n const [contextMenuShow] = useCreateContextMenu()\n\n const handleOnContext = (e: MouseEvent<HTMLDivElement>) => {\n if (!segment) return\n const menu = buildContextMenu(segment.id)\n\n contextMenuShow(e, menu)\n }\n\n return (\n <ActiveSegment\n onClick={handleClick}\n onContextMenu={handleOnContext}\n className={classNames({ link: isLinkable, open: isOpen })}\n {...props}\n ref={ref}\n >\n {children}\n </ActiveSegment>\n )\n },\n)\n\nexport default SegmentProvider\n"],"names":["SegmentProvider","forwardRef","children","segment","isOpen","scope","projectName","props","ref","openSlideOut","useDetailsPanelContext","isLinkable","handleClick","entityType","entityId","buildContextMenu","id","copyToClipboard","contextMenuShow","useCreateContextMenu","handleOnContext","e","menu","jsx","ActiveSegment","classNames"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,MAAMA,IAAkBC;AAAA,EACtB,CAAC,EAAE,UAAAC,GAAU,SAAAC,GAAS,QAAAC,GAAQ,OAAAC,GAAO,aAAAC,GAAa,GAAGC,EAAM,GAAGC,MAAQ;AAC9D,UAAA,EAAE,cAAAC,EAAa,IAAIC,EAAuB,GAE1CC,KAAaR,KAAA,gBAAAA,EAAS,UAAS,cAAaA,KAAA,gBAAAA,EAAS,UAAS,WAE9DS,IAAc,MAAM;AACxB,UAAI,CAACD,EAAY;AAEjB,YAAM,EAAE,MAAME,GAAY,IAAIC,EAAS,IAAIX,KAAW,CAAC;AAEvD,MAAI,CAACU,KAAcA,MAAe,aAAaA,MAAe,aAAa,CAACC,KAE/DL,EAAA;AAAA,QACX,YAAAI;AAAA,QACA,UAAAC;AAAA,QACA,aAAAR;AAAA,MAAA,CACD;AAAA,IACH,GAEMS,IAAmB,CAACC,MAAe;AAAA,MACvC;AAAA,QACE,OAAO,OAAOA,CAAE;AAAA,QAChB,MAAM;AAAA,QACN,SAAS,MAAMC,EAAgBD,CAAE;AAAA,MAAA;AAAA,IAErC,GAEM,CAACE,CAAe,IAAIC,EAAqB,GAEzCC,IAAkB,CAACC,MAAkC;AACzD,UAAI,CAAClB,EAAS;AACR,YAAAmB,IAAOP,EAAiBZ,EAAQ,EAAE;AAExC,MAAAe,EAAgBG,GAAGC,CAAI;AAAA,IACzB;AAGE,WAAAC,gBAAAA,EAAA;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,SAASZ;AAAA,QACT,eAAeQ;AAAA,QACf,WAAWK,EAAW,EAAE,MAAMd,GAAY,MAAMP,GAAQ;AAAA,QACvD,GAAGG;AAAA,QACJ,KAAAC;AAAA,QAEC,UAAAN;AAAA,MAAA;AAAA,IACH;AAAA,EAAA;AAGN;"}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("../../../../_virtual/jsx-runtime.cjs.js"),n=require("clsx"),b=require("lodash"),c=require("react"),S=require("@dnd-kit/sortable"),_=require("../../../../node_modules/@dnd-kit/utilities/dist/utilities.esm.cjs.js"),u=require("@ynput/ayon-react-components"),s=require("./EnumEditor.styled.cjs.js"),B=({item:p,isBeingDragged:f,onChange:t,onRemove:v,onDuplicate:h})=>{var E;const{id:k,label:j,value:y,icon:o,color:i,isExpanded:l,isNewAttribute:d}=p,a=c.useRef(null),x=c.useRef(null),m=c.useRef(null),R=c.useRef(null),I=()=>{l||setTimeout(()=>a.current.focus(),250)};c.useEffect(()=>{p.isNewAttribute&&a.current.select()},[]);const{attributes:N,listeners:g,setNodeRef:q,transform:w,transition:L}=S.useSortable({id:k,animateLayoutChanges:()=>!1}),P={transition:L,transform:_.CSS.Translate.toString(w)};return e.jsxRuntimeExports.jsxs(s.EnumItemWrapper,{ref:q,style:P,className:n({dragged:f}),children:[e.jsxRuntimeExports.jsxs(s.EnumItemHeader,{className:n({expanded:l}),onClick:()=>{t&&t(["isExpanded"],[!l]),I()},children:[i&&e.jsxRuntimeExports.jsx(s.LabelColor,{style:{backgroundColor:i}}),o&&e.jsxRuntimeExports.jsx(u.Icon,{className:"icon",icon:o}),e.jsxRuntimeExports.jsxs("span",{children:[" ",j," "]}),e.jsxRuntimeExports.jsx("span",{className:"spacer"}),e.jsxRuntimeExports.jsx(u.Icon,{className:"icon toggle-expand",icon:l?"collapse_all":"expand_all"}),e.jsxRuntimeExports.jsx(u.Icon,{...g,...N,className:"icon draggable",icon:"drag_indicator",id:"icon"})]}),e.jsxRuntimeExports.jsx(s.EnumItemBodyExpander,{className:n({expanded:l}),children:e.jsxRuntimeExports.jsxs(s.EnumItemBody,{className:n(l?"expanded":"collapsed"),children:[e.jsxRuntimeExports.jsxs(s.Row,{children:[e.jsxRuntimeExports.jsx(s.Label,{children:" Label "}),e.jsxRuntimeExports.jsx(s.InputText,{ref:a,value:j,autoFocus:d,onChange:r=>{if(!d)return t&&t(["label"],[r.target.value]);x.current.value=b.kebabCase(r.target.value),t&&t(["label","value"],[r.target.value,b.kebabCase(r.target.value)])}})]},"label"),e.jsxRuntimeExports.jsxs(s.Row,{children:[e.jsxRuntimeExports.jsx(s.Label,{children:" Value "}),e.jsxRuntimeExports.jsx(s.InputText,{ref:x,value:((E=x.current)==null?void 0:E.value)||y,onChange:r=>t&&t(["value"],[r.target.value])})]},"value"),e.jsxRuntimeExports.jsxs(s.Row,{children:[e.jsxRuntimeExports.jsx(s.Label,{children:" Icon "}),e.jsxRuntimeExports.jsxs(s.PlaceholderWrapper,{style:{position:"relative"},children:[e.jsxRuntimeExports.jsx(s.Placeholder,{style:{display:o?"none":"flex"},onClick:()=>{R.current.open()},children:"Pick an icon..."}),e.jsxRuntimeExports.jsx(s.IconSelect,{ref:R,value:[o||"question_mark"],widthExpand:!0,style:{position:o?"relative":"absolute",visibility:o?"visible":"hidden"},onChange:r=>t&&t(["icon"],[r[0]])}),o&&e.jsxRuntimeExports.jsx(s.Button,{icon:"close",variant:"text",onClick:()=>{t&&t(["icon"],[void 0])}})]})]},"icon"),e.jsxRuntimeExports.jsxs(s.Row,{children:[e.jsxRuntimeExports.jsx(s.Label,{children:" Color "}),e.jsxRuntimeExports.jsxs(s.PlaceholderWrapper,{style:{position:"relative"},children:[e.jsxRuntimeExports.jsxs(s.ColorPicker,{className:n({active:i}),style:{backgroundColor:i||void 0},onClick:()=>m.current.click(),children:[i?"":"Pick a color...",e.jsxRuntimeExports.jsx("input",{type:"color",ref:m,value:i||"#000000",onChange:r=>t&&t(["color"],[r==null?void 0:r.target.value.toString()])})]}),i&&e.jsxRuntimeExports.jsx(s.Button,{icon:"close",variant:"text",onClick:()=>{t&&t(["color"],[void 0])}})]})]},"color"),e.jsxRuntimeExports.jsxs(s.Row,{className:"footer",children:[e.jsxRuntimeExports.jsx(s.ActionWrapper,{children:e.jsxRuntimeExports.jsx(s.Button,{icon:"close",variant:"text",onClick:v,children:"Remove"})}),e.jsxRuntimeExports.jsx(s.ActionWrapper,{children:e.jsxRuntimeExports.jsx(s.Button,{icon:"content_copy",variant:"text",onClick:h,children:"Duplicate"})})]})]})})]})};module.exports=B;
1
+ "use strict";const s=require("../../../../_virtual/jsx-runtime.cjs.js"),o=require("clsx"),I=require("@dnd-kit/sortable"),N=require("../../../../node_modules/@dnd-kit/utilities/dist/utilities.esm.cjs.js"),r=require("@ynput/ayon-react-components"),t=require("./EnumEditor.styled.cjs.js"),q=require("./EnumEditorItem.cjs.js"),f=({item:a,isBeingDragged:x,onChange:n,onRemove:l,onDuplicate:u})=>{const{id:m,label:d,icon:i,color:c,isExpanded:e}=a,{attributes:p,listeners:E,setNodeRef:j,transform:R,transition:g}=I.useSortable({id:m,animateLayoutChanges:()=>!1}),b={transition:g,transform:N.CSS.Translate.toString(R)};return s.jsxRuntimeExports.jsxs(t.EnumItemWrapper,{ref:j,style:b,className:o({dragged:x}),children:[s.jsxRuntimeExports.jsxs(t.EnumItemHeader,{className:o({expanded:e}),onClick:()=>{n&&n(["isExpanded"],[!e])},children:[c&&s.jsxRuntimeExports.jsx(t.LabelColor,{style:{backgroundColor:c}}),i&&s.jsxRuntimeExports.jsx(r.Icon,{className:"icon",icon:i}),s.jsxRuntimeExports.jsxs("span",{children:[" ",d," "]}),s.jsxRuntimeExports.jsx("span",{className:"spacer"}),s.jsxRuntimeExports.jsx(r.Icon,{className:"icon toggle-expand",icon:e?"collapse_all":"expand_all"}),s.jsxRuntimeExports.jsx(r.Icon,{...E,...p,className:"icon draggable",icon:"drag_indicator",id:"icon"})]}),s.jsxRuntimeExports.jsx(t.EnumItemBodyExpander,{className:o({expanded:e}),children:s.jsxRuntimeExports.jsx(q,{item:a,onChange:n,onRemove:l,onDuplicate:u,showRemoveButton:!0,showDuplicateButton:!0,autoFocus:!1,isExpanded:e})})]})};module.exports=f;
2
2
  //# sourceMappingURL=DraggableEnumEditorItem.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DraggableEnumEditorItem.cjs.js","sources":["../../../../../src/components/EnumEditor/DraggableEnumEditorItem.tsx"],"sourcesContent":["import clsx from 'clsx'\nimport { kebabCase } from 'lodash'\nimport { useEffect, useRef } from 'react'\nimport { useSortable } from '@dnd-kit/sortable'\nimport { CSS } from '@dnd-kit/utilities'\n\nimport { DropdownRef, Icon } from '@ynput/ayon-react-components'\n\nimport * as Styled from './EnumEditor.styled'\nimport { AttributeData } from './EnumEditor'\n\ntype Props = {\n item: AttributeData\n isBeingDragged?: boolean\n onChange?: (attr: (keyof AttributeData)[], value: (boolean | string | undefined)[]) => void\n onRemove?: () => void\n onDuplicate?: () => void\n}\n\nconst DraggableEnumEditorItem = ({\n item,\n isBeingDragged,\n onChange,\n onRemove,\n onDuplicate,\n}: Props) => {\n const { id, label, value, icon, color, isExpanded, isNewAttribute } = item\n const labelRef = useRef<HTMLInputElement>(null)\n const valueRef = useRef<HTMLInputElement>(null)\n const colorPickerRef = useRef<HTMLInputElement>(null)\n const iconSelectRef = useRef<DropdownRef>(null)\n\n const focusLabelIfExpanded = () => {\n if (!isExpanded) {\n // Avoids jittery expand animation\n setTimeout(() => labelRef.current!.focus(), 250)\n }\n }\n\n useEffect(() => {\n if (item.isNewAttribute) {\n labelRef.current!.select()\n }\n }, [])\n\n const { attributes, listeners, setNodeRef, transform, transition } = useSortable({\n id: id,\n animateLayoutChanges: () => false,\n })\n\n const style = {\n transition,\n transform: CSS.Translate.toString(transform),\n }\n\n return (\n <Styled.EnumItemWrapper\n ref={setNodeRef}\n style={style}\n className={clsx({ dragged: isBeingDragged })}\n >\n <Styled.EnumItemHeader\n className={clsx({ expanded: isExpanded })}\n onClick={() => {\n onChange && onChange(['isExpanded'], [!isExpanded])\n focusLabelIfExpanded()\n }}\n >\n {color && <Styled.LabelColor style={{ backgroundColor: color }} />}\n {icon && <Icon className=\"icon\" icon={icon} />}\n <span> {label} </span>\n <span className=\"spacer\" />\n\n <Icon className=\"icon toggle-expand\" icon={isExpanded ? 'collapse_all' : 'expand_all'} />\n <Icon\n {...listeners}\n {...attributes}\n className=\"icon draggable\"\n icon=\"drag_indicator\"\n id=\"icon\"\n />\n </Styled.EnumItemHeader>\n\n <Styled.EnumItemBodyExpander className={clsx({ expanded: isExpanded })}>\n <Styled.EnumItemBody className={clsx(isExpanded ? 'expanded' : 'collapsed')}>\n <Styled.Row key=\"label\">\n <Styled.Label> Label </Styled.Label>\n <Styled.InputText\n ref={labelRef}\n value={label}\n autoFocus={isNewAttribute}\n onChange={(event) => {\n if (!isNewAttribute) {\n return onChange && onChange(['label'], [event.target.value])\n }\n valueRef.current!.value = kebabCase(event.target.value)\n onChange &&\n onChange(['label', 'value'], [event.target.value, kebabCase(event.target.value)])\n }}\n />\n </Styled.Row>\n\n <Styled.Row key=\"value\">\n <Styled.Label> Value </Styled.Label>\n <Styled.InputText\n ref={valueRef}\n value={valueRef.current?.value || value}\n onChange={(event) => onChange && onChange(['value'], [event.target.value])}\n />\n </Styled.Row>\n\n <Styled.Row key=\"icon\">\n <Styled.Label> Icon </Styled.Label>\n\n <Styled.PlaceholderWrapper style={{ position: 'relative' }}>\n {\n <Styled.Placeholder\n style={{ display: icon ? 'none' : 'flex' }}\n onClick={() => {\n iconSelectRef.current!.open()\n }}\n >\n Pick an icon...\n </Styled.Placeholder>\n }\n\n <Styled.IconSelect\n ref={iconSelectRef}\n value={[icon || 'question_mark']}\n widthExpand\n style={{\n position: icon ? 'relative' : 'absolute',\n visibility: icon ? 'visible' : 'hidden',\n }}\n onChange={(value) => {\n return onChange && onChange(['icon'], [value[0]])\n }}\n />\n {icon && (\n <Styled.Button\n icon=\"close\"\n variant=\"text\"\n onClick={() => {\n onChange && onChange(['icon'], [undefined])\n }}\n />\n )}\n </Styled.PlaceholderWrapper>\n </Styled.Row>\n\n <Styled.Row key=\"color\">\n <Styled.Label> Color </Styled.Label>\n\n <Styled.PlaceholderWrapper style={{ position: 'relative' }}>\n <Styled.ColorPicker\n className={clsx({ active: color })}\n style={{ backgroundColor: color || undefined }}\n onClick={() => colorPickerRef.current!.click()}\n >\n {!color ? 'Pick a color...' : ''}\n <input\n type=\"color\"\n ref={colorPickerRef}\n value={color || '#000000'}\n onChange={(event) =>\n onChange && onChange(['color'], [event?.target.value.toString()])\n }\n />\n </Styled.ColorPicker>\n {color && (\n <Styled.Button\n icon=\"close\"\n variant=\"text\"\n onClick={() => {\n onChange && onChange(['color'], [undefined])\n }}\n />\n )}\n </Styled.PlaceholderWrapper>\n </Styled.Row>\n\n <Styled.Row className=\"footer\">\n <Styled.ActionWrapper>\n <Styled.Button icon=\"close\" variant=\"text\" onClick={onRemove}>\n Remove\n </Styled.Button>\n </Styled.ActionWrapper>\n <Styled.ActionWrapper>\n <Styled.Button icon=\"content_copy\" variant=\"text\" onClick={onDuplicate}>\n Duplicate\n </Styled.Button>\n </Styled.ActionWrapper>\n </Styled.Row>\n </Styled.EnumItemBody>\n </Styled.EnumItemBodyExpander>\n </Styled.EnumItemWrapper>\n )\n}\n\nexport default DraggableEnumEditorItem\n"],"names":["DraggableEnumEditorItem","item","isBeingDragged","onChange","onRemove","onDuplicate","id","label","value","icon","color","isExpanded","isNewAttribute","labelRef","useRef","valueRef","colorPickerRef","iconSelectRef","focusLabelIfExpanded","useEffect","attributes","listeners","setNodeRef","transform","transition","useSortable","style","CSS","jsxs","Styled.EnumItemWrapper","clsx","Styled.EnumItemHeader","jsx","Styled.LabelColor","Icon","Styled.EnumItemBodyExpander","Styled.EnumItemBody","Styled.Row","Styled.Label","Styled.InputText","event","kebabCase","_a","Styled.PlaceholderWrapper","Styled.Placeholder","Styled.IconSelect","Styled.Button","Styled.ColorPicker","Styled.ActionWrapper"],"mappings":"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"}
1
+ {"version":3,"file":"DraggableEnumEditorItem.cjs.js","sources":["../../../../../src/components/EnumEditor/DraggableEnumEditorItem.tsx"],"sourcesContent":["import clsx from 'clsx'\nimport { useSortable } from '@dnd-kit/sortable'\nimport { CSS } from '@dnd-kit/utilities'\n\nimport { Icon } from '@ynput/ayon-react-components'\n\nimport * as Styled from './EnumEditor.styled'\nimport { AttributeData } from './EnumEditor'\nimport EnumEditorItem from './EnumEditorItem'\n\ntype Props = {\n item: AttributeData\n isBeingDragged?: boolean\n onChange?: (attr: (keyof AttributeData)[], value: (boolean | string | undefined)[]) => void\n onRemove?: () => void\n onDuplicate?: () => void\n}\n\nconst DraggableEnumEditorItem = ({\n item,\n isBeingDragged,\n onChange,\n onRemove,\n onDuplicate,\n}: Props) => {\n const { id, label, icon, color, isExpanded } = item\n\n const { attributes, listeners, setNodeRef, transform, transition } = useSortable({\n id: id,\n animateLayoutChanges: () => false,\n })\n\n const style = {\n transition,\n transform: CSS.Translate.toString(transform),\n }\n\n return (\n <Styled.EnumItemWrapper\n ref={setNodeRef}\n style={style}\n className={clsx({ dragged: isBeingDragged })}\n >\n <Styled.EnumItemHeader\n className={clsx({ expanded: isExpanded })}\n onClick={() => {\n onChange && onChange(['isExpanded'], [!isExpanded])\n }}\n >\n {color && <Styled.LabelColor style={{ backgroundColor: color }} />}\n {icon && <Icon className=\"icon\" icon={icon} />}\n <span> {label} </span>\n <span className=\"spacer\" />\n\n <Icon className=\"icon toggle-expand\" icon={isExpanded ? 'collapse_all' : 'expand_all'} />\n <Icon\n {...listeners}\n {...attributes}\n className=\"icon draggable\"\n icon=\"drag_indicator\"\n id=\"icon\"\n />\n </Styled.EnumItemHeader>\n\n <Styled.EnumItemBodyExpander className={clsx({ expanded: isExpanded })}>\n <EnumEditorItem\n item={item}\n onChange={onChange}\n onRemove={onRemove}\n onDuplicate={onDuplicate}\n showRemoveButton={true}\n showDuplicateButton={true}\n autoFocus={false}\n isExpanded={isExpanded}\n />\n </Styled.EnumItemBodyExpander>\n </Styled.EnumItemWrapper>\n )\n}\n\nexport default DraggableEnumEditorItem\n"],"names":["DraggableEnumEditorItem","item","isBeingDragged","onChange","onRemove","onDuplicate","id","label","icon","color","isExpanded","attributes","listeners","setNodeRef","transform","transition","useSortable","style","CSS","jsxs","Styled.EnumItemWrapper","clsx","Styled.EnumItemHeader","jsx","Styled.LabelColor","Icon","Styled.EnumItemBodyExpander","EnumEditorItem"],"mappings":"mUAkBMA,EAA0B,CAAC,CAC/B,KAAAC,EACA,eAAAC,EACA,SAAAC,EACA,SAAAC,EACA,YAAAC,CACF,IAAa,CACX,KAAM,CAAE,GAAAC,EAAI,MAAAC,EAAO,KAAAC,EAAM,MAAAC,EAAO,WAAAC,GAAeT,EAEzC,CAAE,WAAAU,EAAY,UAAAC,EAAW,WAAAC,EAAY,UAAAC,EAAW,WAAAC,GAAeC,cAAY,CAC/E,GAAAV,EACA,qBAAsB,IAAM,EAAA,CAC7B,EAEKW,EAAQ,CACZ,WAAAF,EACA,UAAWG,EAAA,IAAI,UAAU,SAASJ,CAAS,CAC7C,EAGE,OAAAK,EAAA,kBAAA,KAACC,EAAO,gBAAP,CACC,IAAKP,EACL,MAAAI,EACA,UAAWI,EAAK,CAAE,QAASnB,EAAgB,EAE3C,SAAA,CAAAiB,EAAA,kBAAA,KAACG,EAAO,eAAP,CACC,UAAWD,EAAK,CAAE,SAAUX,EAAY,EACxC,QAAS,IAAM,CACbP,GAAYA,EAAS,CAAC,YAAY,EAAG,CAAC,CAACO,CAAU,CAAC,CACpD,EAEC,SAAA,CAASD,GAAAc,EAAA,kBAAA,IAACC,aAAA,CAAkB,MAAO,CAAE,gBAAiBf,GAAS,EAC/DD,GAAQe,EAAA,kBAAA,IAACE,EAAK,KAAA,CAAA,UAAU,OAAO,KAAAjB,EAAY,2BAC3C,OAAK,CAAA,SAAA,CAAA,IAAED,EAAM,GAAA,EAAC,EACfgB,EAAAA,kBAAAA,IAAC,OAAK,CAAA,UAAU,QAAS,CAAA,0BAExBE,EAAAA,KAAK,CAAA,UAAU,qBAAqB,KAAMf,EAAa,eAAiB,aAAc,EACvFa,EAAA,kBAAA,IAACE,EAAA,KAAA,CACE,GAAGb,EACH,GAAGD,EACJ,UAAU,iBACV,KAAK,iBACL,GAAG,MAAA,CAAA,CACL,CAAA,CACF,EAEAY,wBAACG,EAAAA,qBAAA,CAA4B,UAAWL,EAAK,CAAE,SAAUX,CAAW,CAAC,EACnE,SAAAa,EAAA,kBAAA,IAACI,EAAA,CACC,KAAA1B,EACA,SAAAE,EACA,SAAAC,EACA,YAAAC,EACA,iBAAkB,GAClB,oBAAqB,GACrB,UAAW,GACX,WAAAK,CAAA,CAAA,CAEJ,CAAA,CAAA,CAAA,CACF,CAEJ"}
@@ -1,61 +1,53 @@
1
- import { j as e } from "../../../../_virtual/jsx-runtime.es.js";
2
- import a from "clsx";
3
- import { kebabCase as k } from "lodash";
4
- import { useRef as i, useEffect as W } from "react";
5
- import { useSortable as D } from "@dnd-kit/sortable";
6
- import { CSS as q } from "../../../../node_modules/@dnd-kit/utilities/dist/utilities.esm.es.js";
7
- import { Icon as m } from "@ynput/ayon-react-components";
8
- import { EnumItemWrapper as F, EnumItemHeader as H, LabelColor as V, EnumItemBodyExpander as z, EnumItemBody as G, Row as c, Label as n, InputText as y, PlaceholderWrapper as E, Placeholder as J, IconSelect as K, Button as d, ColorPicker as M, ActionWrapper as N } from "./EnumEditor.styled.es.js";
9
- const le = ({
10
- item: p,
11
- isBeingDragged: I,
12
- onChange: l,
13
- onRemove: g,
14
- onDuplicate: R
1
+ import { j as s } from "../../../../_virtual/jsx-runtime.es.js";
2
+ import o from "clsx";
3
+ import { useSortable as N } from "@dnd-kit/sortable";
4
+ import { CSS as b } from "../../../../node_modules/@dnd-kit/utilities/dist/utilities.esm.es.js";
5
+ import { Icon as r } from "@ynput/ayon-react-components";
6
+ import { EnumItemWrapper as I, EnumItemHeader as h, LabelColor as y, EnumItemBodyExpander as S } from "./EnumEditor.styled.es.js";
7
+ import B from "./EnumEditorItem.es.js";
8
+ const v = ({
9
+ item: t,
10
+ isBeingDragged: m,
11
+ onChange: a,
12
+ onRemove: i,
13
+ onDuplicate: c
15
14
  }) => {
16
- var h;
17
- const { id: S, label: j, value: P, icon: s, color: o, isExpanded: t, isNewAttribute: f } = p, u = i(null), x = i(null), v = i(null), b = i(null), L = () => {
18
- t || setTimeout(() => u.current.focus(), 250);
19
- };
20
- W(() => {
21
- p.isNewAttribute && u.current.select();
22
- }, []);
23
- const { attributes: _, listeners: w, setNodeRef: C, transform: A, transition: B } = D({
24
- id: S,
15
+ const { id: d, label: p, icon: n, color: l, isExpanded: e } = t, { attributes: x, listeners: u, setNodeRef: f, transform: j, transition: E } = N({
16
+ id: d,
25
17
  animateLayoutChanges: () => !1
26
- }), T = {
27
- transition: B,
28
- transform: q.Translate.toString(A)
18
+ }), g = {
19
+ transition: E,
20
+ transform: b.Translate.toString(j)
29
21
  };
30
- return /* @__PURE__ */ e.jsxs(
31
- F,
22
+ return /* @__PURE__ */ s.jsxs(
23
+ I,
32
24
  {
33
- ref: C,
34
- style: T,
35
- className: a({ dragged: I }),
25
+ ref: f,
26
+ style: g,
27
+ className: o({ dragged: m }),
36
28
  children: [
37
- /* @__PURE__ */ e.jsxs(
38
- H,
29
+ /* @__PURE__ */ s.jsxs(
30
+ h,
39
31
  {
40
- className: a({ expanded: t }),
32
+ className: o({ expanded: e }),
41
33
  onClick: () => {
42
- l && l(["isExpanded"], [!t]), L();
34
+ a && a(["isExpanded"], [!e]);
43
35
  },
44
36
  children: [
45
- o && /* @__PURE__ */ e.jsx(V, { style: { backgroundColor: o } }),
46
- s && /* @__PURE__ */ e.jsx(m, { className: "icon", icon: s }),
47
- /* @__PURE__ */ e.jsxs("span", { children: [
37
+ l && /* @__PURE__ */ s.jsx(y, { style: { backgroundColor: l } }),
38
+ n && /* @__PURE__ */ s.jsx(r, { className: "icon", icon: n }),
39
+ /* @__PURE__ */ s.jsxs("span", { children: [
48
40
  " ",
49
- j,
41
+ p,
50
42
  " "
51
43
  ] }),
52
- /* @__PURE__ */ e.jsx("span", { className: "spacer" }),
53
- /* @__PURE__ */ e.jsx(m, { className: "icon toggle-expand", icon: t ? "collapse_all" : "expand_all" }),
54
- /* @__PURE__ */ e.jsx(
55
- m,
44
+ /* @__PURE__ */ s.jsx("span", { className: "spacer" }),
45
+ /* @__PURE__ */ s.jsx(r, { className: "icon toggle-expand", icon: e ? "collapse_all" : "expand_all" }),
46
+ /* @__PURE__ */ s.jsx(
47
+ r,
56
48
  {
57
- ...w,
58
- ..._,
49
+ ...u,
50
+ ...x,
59
51
  className: "icon draggable",
60
52
  icon: "drag_indicator",
61
53
  id: "icon"
@@ -64,117 +56,24 @@ const le = ({
64
56
  ]
65
57
  }
66
58
  ),
67
- /* @__PURE__ */ e.jsx(z, { className: a({ expanded: t }), children: /* @__PURE__ */ e.jsxs(G, { className: a(t ? "expanded" : "collapsed"), children: [
68
- /* @__PURE__ */ e.jsxs(c, { children: [
69
- /* @__PURE__ */ e.jsx(n, { children: " Label " }),
70
- /* @__PURE__ */ e.jsx(
71
- y,
72
- {
73
- ref: u,
74
- value: j,
75
- autoFocus: f,
76
- onChange: (r) => {
77
- if (!f)
78
- return l && l(["label"], [r.target.value]);
79
- x.current.value = k(r.target.value), l && l(["label", "value"], [r.target.value, k(r.target.value)]);
80
- }
81
- }
82
- )
83
- ] }, "label"),
84
- /* @__PURE__ */ e.jsxs(c, { children: [
85
- /* @__PURE__ */ e.jsx(n, { children: " Value " }),
86
- /* @__PURE__ */ e.jsx(
87
- y,
88
- {
89
- ref: x,
90
- value: ((h = x.current) == null ? void 0 : h.value) || P,
91
- onChange: (r) => l && l(["value"], [r.target.value])
92
- }
93
- )
94
- ] }, "value"),
95
- /* @__PURE__ */ e.jsxs(c, { children: [
96
- /* @__PURE__ */ e.jsx(n, { children: " Icon " }),
97
- /* @__PURE__ */ e.jsxs(E, { style: { position: "relative" }, children: [
98
- /* @__PURE__ */ e.jsx(
99
- J,
100
- {
101
- style: { display: s ? "none" : "flex" },
102
- onClick: () => {
103
- b.current.open();
104
- },
105
- children: "Pick an icon..."
106
- }
107
- ),
108
- /* @__PURE__ */ e.jsx(
109
- K,
110
- {
111
- ref: b,
112
- value: [s || "question_mark"],
113
- widthExpand: !0,
114
- style: {
115
- position: s ? "relative" : "absolute",
116
- visibility: s ? "visible" : "hidden"
117
- },
118
- onChange: (r) => l && l(["icon"], [r[0]])
119
- }
120
- ),
121
- s && /* @__PURE__ */ e.jsx(
122
- d,
123
- {
124
- icon: "close",
125
- variant: "text",
126
- onClick: () => {
127
- l && l(["icon"], [void 0]);
128
- }
129
- }
130
- )
131
- ] })
132
- ] }, "icon"),
133
- /* @__PURE__ */ e.jsxs(c, { children: [
134
- /* @__PURE__ */ e.jsx(n, { children: " Color " }),
135
- /* @__PURE__ */ e.jsxs(E, { style: { position: "relative" }, children: [
136
- /* @__PURE__ */ e.jsxs(
137
- M,
138
- {
139
- className: a({ active: o }),
140
- style: { backgroundColor: o || void 0 },
141
- onClick: () => v.current.click(),
142
- children: [
143
- o ? "" : "Pick a color...",
144
- /* @__PURE__ */ e.jsx(
145
- "input",
146
- {
147
- type: "color",
148
- ref: v,
149
- value: o || "#000000",
150
- onChange: (r) => l && l(["color"], [r == null ? void 0 : r.target.value.toString()])
151
- }
152
- )
153
- ]
154
- }
155
- ),
156
- o && /* @__PURE__ */ e.jsx(
157
- d,
158
- {
159
- icon: "close",
160
- variant: "text",
161
- onClick: () => {
162
- l && l(["color"], [void 0]);
163
- }
164
- }
165
- )
166
- ] })
167
- ] }, "color"),
168
- /* @__PURE__ */ e.jsxs(c, { className: "footer", children: [
169
- /* @__PURE__ */ e.jsx(N, { children: /* @__PURE__ */ e.jsx(d, { icon: "close", variant: "text", onClick: g, children: "Remove" }) }),
170
- /* @__PURE__ */ e.jsx(N, { children: /* @__PURE__ */ e.jsx(d, { icon: "content_copy", variant: "text", onClick: R, children: "Duplicate" }) })
171
- ] })
172
- ] }) })
59
+ /* @__PURE__ */ s.jsx(S, { className: o({ expanded: e }), children: /* @__PURE__ */ s.jsx(
60
+ B,
61
+ {
62
+ item: t,
63
+ onChange: a,
64
+ onRemove: i,
65
+ onDuplicate: c,
66
+ showRemoveButton: !0,
67
+ showDuplicateButton: !0,
68
+ autoFocus: !1,
69
+ isExpanded: e
70
+ }
71
+ ) })
173
72
  ]
174
73
  }
175
74
  );
176
75
  };
177
76
  export {
178
- le as default
77
+ v as default
179
78
  };
180
79
  //# sourceMappingURL=DraggableEnumEditorItem.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DraggableEnumEditorItem.es.js","sources":["../../../../../src/components/EnumEditor/DraggableEnumEditorItem.tsx"],"sourcesContent":["import clsx from 'clsx'\nimport { kebabCase } from 'lodash'\nimport { useEffect, useRef } from 'react'\nimport { useSortable } from '@dnd-kit/sortable'\nimport { CSS } from '@dnd-kit/utilities'\n\nimport { DropdownRef, Icon } from '@ynput/ayon-react-components'\n\nimport * as Styled from './EnumEditor.styled'\nimport { AttributeData } from './EnumEditor'\n\ntype Props = {\n item: AttributeData\n isBeingDragged?: boolean\n onChange?: (attr: (keyof AttributeData)[], value: (boolean | string | undefined)[]) => void\n onRemove?: () => void\n onDuplicate?: () => void\n}\n\nconst DraggableEnumEditorItem = ({\n item,\n isBeingDragged,\n onChange,\n onRemove,\n onDuplicate,\n}: Props) => {\n const { id, label, value, icon, color, isExpanded, isNewAttribute } = item\n const labelRef = useRef<HTMLInputElement>(null)\n const valueRef = useRef<HTMLInputElement>(null)\n const colorPickerRef = useRef<HTMLInputElement>(null)\n const iconSelectRef = useRef<DropdownRef>(null)\n\n const focusLabelIfExpanded = () => {\n if (!isExpanded) {\n // Avoids jittery expand animation\n setTimeout(() => labelRef.current!.focus(), 250)\n }\n }\n\n useEffect(() => {\n if (item.isNewAttribute) {\n labelRef.current!.select()\n }\n }, [])\n\n const { attributes, listeners, setNodeRef, transform, transition } = useSortable({\n id: id,\n animateLayoutChanges: () => false,\n })\n\n const style = {\n transition,\n transform: CSS.Translate.toString(transform),\n }\n\n return (\n <Styled.EnumItemWrapper\n ref={setNodeRef}\n style={style}\n className={clsx({ dragged: isBeingDragged })}\n >\n <Styled.EnumItemHeader\n className={clsx({ expanded: isExpanded })}\n onClick={() => {\n onChange && onChange(['isExpanded'], [!isExpanded])\n focusLabelIfExpanded()\n }}\n >\n {color && <Styled.LabelColor style={{ backgroundColor: color }} />}\n {icon && <Icon className=\"icon\" icon={icon} />}\n <span> {label} </span>\n <span className=\"spacer\" />\n\n <Icon className=\"icon toggle-expand\" icon={isExpanded ? 'collapse_all' : 'expand_all'} />\n <Icon\n {...listeners}\n {...attributes}\n className=\"icon draggable\"\n icon=\"drag_indicator\"\n id=\"icon\"\n />\n </Styled.EnumItemHeader>\n\n <Styled.EnumItemBodyExpander className={clsx({ expanded: isExpanded })}>\n <Styled.EnumItemBody className={clsx(isExpanded ? 'expanded' : 'collapsed')}>\n <Styled.Row key=\"label\">\n <Styled.Label> Label </Styled.Label>\n <Styled.InputText\n ref={labelRef}\n value={label}\n autoFocus={isNewAttribute}\n onChange={(event) => {\n if (!isNewAttribute) {\n return onChange && onChange(['label'], [event.target.value])\n }\n valueRef.current!.value = kebabCase(event.target.value)\n onChange &&\n onChange(['label', 'value'], [event.target.value, kebabCase(event.target.value)])\n }}\n />\n </Styled.Row>\n\n <Styled.Row key=\"value\">\n <Styled.Label> Value </Styled.Label>\n <Styled.InputText\n ref={valueRef}\n value={valueRef.current?.value || value}\n onChange={(event) => onChange && onChange(['value'], [event.target.value])}\n />\n </Styled.Row>\n\n <Styled.Row key=\"icon\">\n <Styled.Label> Icon </Styled.Label>\n\n <Styled.PlaceholderWrapper style={{ position: 'relative' }}>\n {\n <Styled.Placeholder\n style={{ display: icon ? 'none' : 'flex' }}\n onClick={() => {\n iconSelectRef.current!.open()\n }}\n >\n Pick an icon...\n </Styled.Placeholder>\n }\n\n <Styled.IconSelect\n ref={iconSelectRef}\n value={[icon || 'question_mark']}\n widthExpand\n style={{\n position: icon ? 'relative' : 'absolute',\n visibility: icon ? 'visible' : 'hidden',\n }}\n onChange={(value) => {\n return onChange && onChange(['icon'], [value[0]])\n }}\n />\n {icon && (\n <Styled.Button\n icon=\"close\"\n variant=\"text\"\n onClick={() => {\n onChange && onChange(['icon'], [undefined])\n }}\n />\n )}\n </Styled.PlaceholderWrapper>\n </Styled.Row>\n\n <Styled.Row key=\"color\">\n <Styled.Label> Color </Styled.Label>\n\n <Styled.PlaceholderWrapper style={{ position: 'relative' }}>\n <Styled.ColorPicker\n className={clsx({ active: color })}\n style={{ backgroundColor: color || undefined }}\n onClick={() => colorPickerRef.current!.click()}\n >\n {!color ? 'Pick a color...' : ''}\n <input\n type=\"color\"\n ref={colorPickerRef}\n value={color || '#000000'}\n onChange={(event) =>\n onChange && onChange(['color'], [event?.target.value.toString()])\n }\n />\n </Styled.ColorPicker>\n {color && (\n <Styled.Button\n icon=\"close\"\n variant=\"text\"\n onClick={() => {\n onChange && onChange(['color'], [undefined])\n }}\n />\n )}\n </Styled.PlaceholderWrapper>\n </Styled.Row>\n\n <Styled.Row className=\"footer\">\n <Styled.ActionWrapper>\n <Styled.Button icon=\"close\" variant=\"text\" onClick={onRemove}>\n Remove\n </Styled.Button>\n </Styled.ActionWrapper>\n <Styled.ActionWrapper>\n <Styled.Button icon=\"content_copy\" variant=\"text\" onClick={onDuplicate}>\n Duplicate\n </Styled.Button>\n </Styled.ActionWrapper>\n </Styled.Row>\n </Styled.EnumItemBody>\n </Styled.EnumItemBodyExpander>\n </Styled.EnumItemWrapper>\n )\n}\n\nexport default DraggableEnumEditorItem\n"],"names":["DraggableEnumEditorItem","item","isBeingDragged","onChange","onRemove","onDuplicate","id","label","value","icon","color","isExpanded","isNewAttribute","labelRef","useRef","valueRef","colorPickerRef","iconSelectRef","focusLabelIfExpanded","useEffect","attributes","listeners","setNodeRef","transform","transition","useSortable","style","CSS","jsxs","Styled.EnumItemWrapper","clsx","Styled.EnumItemHeader","jsx","Styled.LabelColor","Icon","Styled.EnumItemBodyExpander","Styled.EnumItemBody","Styled.Row","Styled.Label","Styled.InputText","event","kebabCase","_a","Styled.PlaceholderWrapper","Styled.Placeholder","Styled.IconSelect","Styled.Button","Styled.ColorPicker","Styled.ActionWrapper"],"mappings":"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"}
1
+ {"version":3,"file":"DraggableEnumEditorItem.es.js","sources":["../../../../../src/components/EnumEditor/DraggableEnumEditorItem.tsx"],"sourcesContent":["import clsx from 'clsx'\nimport { useSortable } from '@dnd-kit/sortable'\nimport { CSS } from '@dnd-kit/utilities'\n\nimport { Icon } from '@ynput/ayon-react-components'\n\nimport * as Styled from './EnumEditor.styled'\nimport { AttributeData } from './EnumEditor'\nimport EnumEditorItem from './EnumEditorItem'\n\ntype Props = {\n item: AttributeData\n isBeingDragged?: boolean\n onChange?: (attr: (keyof AttributeData)[], value: (boolean | string | undefined)[]) => void\n onRemove?: () => void\n onDuplicate?: () => void\n}\n\nconst DraggableEnumEditorItem = ({\n item,\n isBeingDragged,\n onChange,\n onRemove,\n onDuplicate,\n}: Props) => {\n const { id, label, icon, color, isExpanded } = item\n\n const { attributes, listeners, setNodeRef, transform, transition } = useSortable({\n id: id,\n animateLayoutChanges: () => false,\n })\n\n const style = {\n transition,\n transform: CSS.Translate.toString(transform),\n }\n\n return (\n <Styled.EnumItemWrapper\n ref={setNodeRef}\n style={style}\n className={clsx({ dragged: isBeingDragged })}\n >\n <Styled.EnumItemHeader\n className={clsx({ expanded: isExpanded })}\n onClick={() => {\n onChange && onChange(['isExpanded'], [!isExpanded])\n }}\n >\n {color && <Styled.LabelColor style={{ backgroundColor: color }} />}\n {icon && <Icon className=\"icon\" icon={icon} />}\n <span> {label} </span>\n <span className=\"spacer\" />\n\n <Icon className=\"icon toggle-expand\" icon={isExpanded ? 'collapse_all' : 'expand_all'} />\n <Icon\n {...listeners}\n {...attributes}\n className=\"icon draggable\"\n icon=\"drag_indicator\"\n id=\"icon\"\n />\n </Styled.EnumItemHeader>\n\n <Styled.EnumItemBodyExpander className={clsx({ expanded: isExpanded })}>\n <EnumEditorItem\n item={item}\n onChange={onChange}\n onRemove={onRemove}\n onDuplicate={onDuplicate}\n showRemoveButton={true}\n showDuplicateButton={true}\n autoFocus={false}\n isExpanded={isExpanded}\n />\n </Styled.EnumItemBodyExpander>\n </Styled.EnumItemWrapper>\n )\n}\n\nexport default DraggableEnumEditorItem\n"],"names":["DraggableEnumEditorItem","item","isBeingDragged","onChange","onRemove","onDuplicate","id","label","icon","color","isExpanded","attributes","listeners","setNodeRef","transform","transition","useSortable","style","CSS","jsxs","Styled.EnumItemWrapper","clsx","Styled.EnumItemHeader","jsx","Styled.LabelColor","Icon","Styled.EnumItemBodyExpander","EnumEditorItem"],"mappings":";;;;;;;AAkBA,MAAMA,IAA0B,CAAC;AAAA,EAC/B,MAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC;AACF,MAAa;AACX,QAAM,EAAE,IAAAC,GAAI,OAAAC,GAAO,MAAAC,GAAM,OAAAC,GAAO,YAAAC,MAAeT,GAEzC,EAAE,YAAAU,GAAY,WAAAC,GAAW,YAAAC,GAAY,WAAAC,GAAW,YAAAC,MAAeC,EAAY;AAAA,IAC/E,IAAAV;AAAA,IACA,sBAAsB,MAAM;AAAA,EAAA,CAC7B,GAEKW,IAAQ;AAAA,IACZ,YAAAF;AAAA,IACA,WAAWG,EAAI,UAAU,SAASJ,CAAS;AAAA,EAC7C;AAGE,SAAAK,gBAAAA,EAAA;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,KAAKP;AAAA,MACL,OAAAI;AAAA,MACA,WAAWI,EAAK,EAAE,SAASnB,GAAgB;AAAA,MAE3C,UAAA;AAAA,QAAAiB,gBAAAA,EAAA;AAAA,UAACG;AAAAA,UAAA;AAAA,YACC,WAAWD,EAAK,EAAE,UAAUX,GAAY;AAAA,YACxC,SAAS,MAAM;AACb,cAAAP,KAAYA,EAAS,CAAC,YAAY,GAAG,CAAC,CAACO,CAAU,CAAC;AAAA,YACpD;AAAA,YAEC,UAAA;AAAA,cAASD,KAAAc,gBAAAA,EAAA,IAACC,GAAA,EAAkB,OAAO,EAAE,iBAAiBf,KAAS;AAAA,cAC/DD,KAAQe,gBAAAA,EAAA,IAACE,GAAK,EAAA,WAAU,QAAO,MAAAjB,GAAY;AAAA,qCAC3C,QAAK,EAAA,UAAA;AAAA,gBAAA;AAAA,gBAAED;AAAA,gBAAM;AAAA,cAAA,GAAC;AAAA,cACfgB,gBAAAA,EAAAA,IAAC,QAAK,EAAA,WAAU,SAAS,CAAA;AAAA,oCAExBE,GAAK,EAAA,WAAU,sBAAqB,MAAMf,IAAa,iBAAiB,cAAc;AAAA,cACvFa,gBAAAA,EAAA;AAAA,gBAACE;AAAA,gBAAA;AAAA,kBACE,GAAGb;AAAA,kBACH,GAAGD;AAAA,kBACJ,WAAU;AAAA,kBACV,MAAK;AAAA,kBACL,IAAG;AAAA,gBAAA;AAAA,cAAA;AAAA,YACL;AAAA,UAAA;AAAA,QACF;AAAA,QAEAY,gBAAAA,MAACG,GAAA,EAA4B,WAAWL,EAAK,EAAE,UAAUX,EAAW,CAAC,GACnE,UAAAa,gBAAAA,EAAA;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,MAAA1B;AAAA,YACA,UAAAE;AAAA,YACA,UAAAC;AAAA,YACA,aAAAC;AAAA,YACA,kBAAkB;AAAA,YAClB,qBAAqB;AAAA,YACrB,WAAW;AAAA,YACX,YAAAK;AAAA,UAAA;AAAA,QAAA,EAEJ,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACF;AAEJ;"}
@@ -27,6 +27,7 @@
27
27
  justify-content: stretch;
28
28
  border-radius: 4px;
29
29
  overflow: hidden;
30
+ background-color: var(--md-sys-color-surface-container-high);
30
31
  &.dragged {
31
32
  opacity: 0;
32
33
  }
@@ -81,7 +82,6 @@
81
82
  }
82
83
  `,l=e.div`
83
84
  ${i}
84
- background-color: var(--md-sys-color-surface-container-high);
85
85
  align-items: stretch;
86
86
  padding: 0 8px;
87
87
  min-height: 0;
@@ -107,6 +107,7 @@
107
107
  height: 14px;
108
108
  `,v=e(o.IconSelect)`
109
109
  flex-grow: 1;
110
+ width: 100%;
110
111
  button div {
111
112
  width: 100%;
112
113
  }
@@ -124,6 +125,7 @@
124
125
  justify-content: start;
125
126
  flex-grow: 1;
126
127
  gap: var(--base-gap-small);
128
+ width: 100%;
127
129
  `,n=e.div`
128
130
  ${t}
129
131
  cursor: pointer;
@@ -1 +1 @@
1
- {"version":3,"file":"EnumEditor.styled.cjs.js","sources":["../../../../../src/components/EnumEditor/EnumEditor.styled.ts"],"sourcesContent":["import {\n InputText as BaseInputText,\n IconSelect as BaseIconSelect,\n Button as BaseButton,\n} from '@ynput/ayon-react-components'\nimport styled, { css } from 'styled-components'\n\nconst centeredContentFlexColumn = css`\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n`\n\nconst centeredContentFlexRow = css`\n display: flex;\n align-items: center;\n gap: 8px;\n`\nconst inputLikeColorsAndBorder = css`\n min-height: var(--base-input-size);\n max-height: var(--base-input-size);\n background-color: var(--md-sys-color-surface-container-low);\n border-radius: var(--border-radius-m);\n border: 1px solid;\n border-color: var(--md-sys-color-outline-variant);\n\n &:hover {\n background-color: var(--md-sys-color-surface-container-low-hover);\n }\n`\n\nexport const EnumListWrapper = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: stretch;\n gap: 4px;\n`\n\nexport const EnumItemWrapper = styled.div`\n justify-content: stretch;\n border-radius: 4px;\n overflow: hidden;\n &.dragged {\n opacity: 0;\n }\n`\n\nexport const EnumItemHeader = styled.div`\n ${centeredContentFlexRow}\n cursor: pointer;\n user-select: none;\n padding: 8px;\n height: 36px;\n font-size: 14px;\n line-height: 17px;\n background-color: var(--md-sys-color-surface-container-high);\n &:hover {\n background-color: var(--md-sys-color-surface-container-high-hover);\n .icon.toggle-expand {\n visibility: visible;\n }\n }\n .icon {\n width: 20px;\n height: 20px;\n &.draggable {\n cursor: grab;\n }\n &.toggle-expand {\n visibility: hidden;\n }\n }\n &.collapsed {\n color: red;\n height: 0;\n }\n &.expanded {\n background-color: var(--md-sys-color-surface-container-highest);\n &:hover {\n background-color: var(--md-sys-color-surface-container-highest-hover);\n }\n .icon.toggle-expand {\n visibility: visible;\n }\n }\n .spacer {\n flex-grow: 1;\n }\n`\n\nexport const EnumItemBodyExpander = styled.div`\n display: grid;\n grid-template-rows: 0fr;\n overflow: hidden;\n transition: grid-template-rows 0.25s;\n &.expanded {\n grid-template-rows: 1fr;\n }\n`\n\nexport const EnumItemBody = styled.div`\n ${centeredContentFlexColumn}\n background-color: var(--md-sys-color-surface-container-high);\n align-items: stretch;\n padding: 0 8px;\n min-height: 0;\n transition: padding 0.25s;\n &.expanded {\n padding: 8px;\n }\n`\n\nexport const Label = styled.div`\n user-select: none;\n min-width: 80px;\n`\n\nexport const Row = styled.div`\n ${centeredContentFlexRow}\n &.footer {\n justify-content: space-between;\n padding: 0 8px;\n }\n`\n\nexport const ActionWrapper = styled.div`\n ${centeredContentFlexRow}\n gap: 4px;\n`\n\nexport const LabelColor = styled.div`\n border-radius: 4px;\n width: 14px;\n height: 14px;\n`\n\nexport const IconSelect = styled(BaseIconSelect)`\n flex-grow: 1;\n button div {\n width: 100%;\n }\n`\n\nexport const Button = styled(BaseButton)`\n &:hover {\n background-color: var(--md-sys-color-surface-container-high-hover);\n }\n`\n\nexport const InputText = styled(BaseInputText)`\n background-color: var(--md-sys-color-surface-container-low);\n border-color: var(--md-sys-color-outline-variant);\n flex-grow: 1;\n padding: 4px 8px;\n`\n\nexport const PlaceholderWrapper = styled.div`\n display: flex;\n justify-content: start;\n flex-grow: 1;\n gap: var(--base-gap-small);\n`\nexport const Placeholder = styled.div`\n ${inputLikeColorsAndBorder}\n cursor: pointer;\n display: flex;\n justify-content: start;\n flex-grow: 1;\n align-items: center;\n width: 100%;\n padding-left: 8px;\n user-select: none;\n`\n\nexport const ColorPicker = styled(Placeholder)`\n ${inputLikeColorsAndBorder}\n position: relative;\n cursor: pointer;\n &.active:hover {\n filter: brightness(1.4);\n }\n input {\n position: absolute;\n visibility: hidden;\n }\n`\n"],"names":["centeredContentFlexColumn","css","centeredContentFlexRow","inputLikeColorsAndBorder","EnumListWrapper","styled","EnumItemWrapper","EnumItemHeader","EnumItemBodyExpander","EnumItemBody","Label","Row","ActionWrapper","LabelColor","IconSelect","BaseIconSelect","Button","BaseButton","InputText","BaseInputText","PlaceholderWrapper","Placeholder","ColorPicker"],"mappings":"+JAOMA,EAA4BC,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO5BC,EAAyBD,EAAA;AAAA;AAAA;AAAA;AAAA,EAKzBE,EAA2BF,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAapBG,EAAkBC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAOzBC,EAAkBD,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASzBE,EAAiBF,EAAO;AAAA,IACjCH,CAAsB;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,EA0CbM,EAAuBH,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAU9BI,EAAeJ,EAAO;AAAA,IAC/BL,CAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWhBU,EAAQL,EAAO;AAAA;AAAA;AAAA,EAKfM,EAAMN,EAAO;AAAA,IACtBH,CAAsB;AAAA;AAAA;AAAA;AAAA;AAAA,EAObU,EAAgBP,EAAO;AAAA,IAChCH,CAAsB;AAAA;AAAA,EAIbW,EAAaR,EAAO;AAAA;AAAA;AAAA;AAAA,EAMpBS,EAAaT,EAAOU,YAAc;AAAA;AAAA;AAAA;AAAA;AAAA,EAOlCC,EAASX,EAAOY,QAAU;AAAA;AAAA;AAAA;AAAA,EAM1BC,EAAYb,EAAOc,WAAa;AAAA;AAAA;AAAA;AAAA;AAAA,EAOhCC,EAAqBf,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAM5BgB,EAAchB,EAAO;AAAA,IAC9BF,CAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWfmB,EAAcjB,EAAOgB,CAAW;AAAA,IACzClB,CAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA"}
1
+ {"version":3,"file":"EnumEditor.styled.cjs.js","sources":["../../../../../src/components/EnumEditor/EnumEditor.styled.ts"],"sourcesContent":["import {\n InputText as BaseInputText,\n IconSelect as BaseIconSelect,\n Button as BaseButton,\n} from '@ynput/ayon-react-components'\nimport styled, { css } from 'styled-components'\n\nconst centeredContentFlexColumn = css`\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n`\n\nconst centeredContentFlexRow = css`\n display: flex;\n align-items: center;\n gap: 8px;\n`\nconst inputLikeColorsAndBorder = css`\n min-height: var(--base-input-size);\n max-height: var(--base-input-size);\n background-color: var(--md-sys-color-surface-container-low);\n border-radius: var(--border-radius-m);\n border: 1px solid;\n border-color: var(--md-sys-color-outline-variant);\n\n &:hover {\n background-color: var(--md-sys-color-surface-container-low-hover);\n }\n`\n\nexport const EnumListWrapper = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: stretch;\n gap: 4px;\n`\n\nexport const EnumItemWrapper = styled.div`\n justify-content: stretch;\n border-radius: 4px;\n overflow: hidden;\n background-color: var(--md-sys-color-surface-container-high);\n &.dragged {\n opacity: 0;\n }\n`\n\nexport const EnumItemHeader = styled.div`\n ${centeredContentFlexRow}\n cursor: pointer;\n user-select: none;\n padding: 8px;\n height: 36px;\n font-size: 14px;\n line-height: 17px;\n background-color: var(--md-sys-color-surface-container-high);\n &:hover {\n background-color: var(--md-sys-color-surface-container-high-hover);\n .icon.toggle-expand {\n visibility: visible;\n }\n }\n .icon {\n width: 20px;\n height: 20px;\n &.draggable {\n cursor: grab;\n }\n &.toggle-expand {\n visibility: hidden;\n }\n }\n &.collapsed {\n color: red;\n height: 0;\n }\n &.expanded {\n background-color: var(--md-sys-color-surface-container-highest);\n &:hover {\n background-color: var(--md-sys-color-surface-container-highest-hover);\n }\n .icon.toggle-expand {\n visibility: visible;\n }\n }\n .spacer {\n flex-grow: 1;\n }\n`\n\nexport const EnumItemBodyExpander = styled.div`\n display: grid;\n grid-template-rows: 0fr;\n overflow: hidden;\n transition: grid-template-rows 0.25s;\n &.expanded {\n grid-template-rows: 1fr;\n }\n`\n\nexport const EnumItemBody = styled.div`\n ${centeredContentFlexColumn}\n align-items: stretch;\n padding: 0 8px;\n min-height: 0;\n transition: padding 0.25s;\n &.expanded {\n padding: 8px;\n }\n`\n\nexport const Label = styled.div`\n user-select: none;\n min-width: 80px;\n`\n\nexport const Row = styled.div`\n ${centeredContentFlexRow}\n &.footer {\n justify-content: space-between;\n padding: 0 8px;\n }\n`\n\nexport const ActionWrapper = styled.div`\n ${centeredContentFlexRow}\n gap: 4px;\n`\n\nexport const LabelColor = styled.div`\n border-radius: 4px;\n width: 14px;\n height: 14px;\n`\n\nexport const IconSelect = styled(BaseIconSelect)`\n flex-grow: 1;\n width: 100%;\n button div {\n width: 100%;\n }\n`\n\nexport const Button = styled(BaseButton)`\n &:hover {\n background-color: var(--md-sys-color-surface-container-high-hover);\n }\n`\n\nexport const InputText = styled(BaseInputText)`\n background-color: var(--md-sys-color-surface-container-low);\n border-color: var(--md-sys-color-outline-variant);\n flex-grow: 1;\n padding: 4px 8px;\n`\n\nexport const PlaceholderWrapper = styled.div`\n display: flex;\n justify-content: start;\n flex-grow: 1;\n gap: var(--base-gap-small);\n width: 100%;\n`\nexport const Placeholder = styled.div`\n ${inputLikeColorsAndBorder}\n cursor: pointer;\n display: flex;\n justify-content: start;\n flex-grow: 1;\n align-items: center;\n width: 100%;\n padding-left: 8px;\n user-select: none;\n`\n\nexport const ColorPicker = styled(Placeholder)`\n ${inputLikeColorsAndBorder}\n position: relative;\n cursor: pointer;\n &.active:hover {\n filter: brightness(1.4);\n }\n input {\n position: absolute;\n visibility: hidden;\n }\n`\n"],"names":["centeredContentFlexColumn","css","centeredContentFlexRow","inputLikeColorsAndBorder","EnumListWrapper","styled","EnumItemWrapper","EnumItemHeader","EnumItemBodyExpander","EnumItemBody","Label","Row","ActionWrapper","LabelColor","IconSelect","BaseIconSelect","Button","BaseButton","InputText","BaseInputText","PlaceholderWrapper","Placeholder","ColorPicker"],"mappings":"+JAOMA,EAA4BC,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO5BC,EAAyBD,EAAA;AAAA;AAAA;AAAA;AAAA,EAKzBE,EAA2BF,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAapBG,EAAkBC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAOzBC,EAAkBD,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUzBE,EAAiBF,EAAO;AAAA,IACjCH,CAAsB;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,EA0CbM,EAAuBH,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAU9BI,EAAeJ,EAAO;AAAA,IAC/BL,CAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUhBU,EAAQL,EAAO;AAAA;AAAA;AAAA,EAKfM,EAAMN,EAAO;AAAA,IACtBH,CAAsB;AAAA;AAAA;AAAA;AAAA;AAAA,EAObU,EAAgBP,EAAO;AAAA,IAChCH,CAAsB;AAAA;AAAA,EAIbW,EAAaR,EAAO;AAAA;AAAA;AAAA;AAAA,EAMpBS,EAAaT,EAAOU,YAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQlCC,EAASX,EAAOY,QAAU;AAAA;AAAA;AAAA;AAAA,EAM1BC,EAAYb,EAAOc,WAAa;AAAA;AAAA;AAAA;AAAA;AAAA,EAOhCC,EAAqBf,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO5BgB,EAAchB,EAAO;AAAA,IAC9BF,CAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWfmB,EAAcjB,EAAOgB,CAAW;AAAA,IACzClB,CAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA"}