@ynput/ayon-frontend-shared 0.2.36 → 0.2.37

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 (486) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +23 -22
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/Views.cjs.js +1 -1
  5. package/dist/Views.cjs.js.map +1 -1
  6. package/dist/Views.es.js +25 -24
  7. package/dist/Views.es.js.map +1 -1
  8. package/dist/_virtual/index.cjs2.js +1 -1
  9. package/dist/_virtual/index.cjs3.js +1 -1
  10. package/dist/_virtual/index.cjs5.js +1 -1
  11. package/dist/_virtual/index.es2.js +2 -5
  12. package/dist/_virtual/index.es2.js.map +1 -1
  13. package/dist/_virtual/index.es3.js +5 -2
  14. package/dist/_virtual/index.es3.js.map +1 -1
  15. package/dist/_virtual/index.es4.js +2 -2
  16. package/dist/_virtual/index.es5.js +2 -2
  17. package/dist/context.cjs.js +1 -1
  18. package/dist/context.es.js +19 -16
  19. package/dist/context.es.js.map +1 -1
  20. package/dist/index.cjs.js +1 -1
  21. package/dist/index.es.js +10 -9
  22. package/dist/index.es.js.map +1 -1
  23. package/dist/node_modules/react-use-websocket/dist/index.cjs.js +1 -1
  24. package/dist/node_modules/react-use-websocket/dist/index.es.js +1 -1
  25. package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
  26. package/dist/shared/node_modules/prop-types/index.es.js +1 -1
  27. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  28. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  29. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
  30. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
  31. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
  32. package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
  33. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
  34. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
  35. package/dist/shared/src/api/generated/actions.cjs.js.map +1 -1
  36. package/dist/shared/src/api/generated/actions.es.js.map +1 -1
  37. package/dist/shared/src/api/generated/attributes.cjs.js.map +1 -1
  38. package/dist/shared/src/api/generated/attributes.es.js.map +1 -1
  39. package/dist/shared/src/api/generated/authentication.cjs.js.map +1 -1
  40. package/dist/shared/src/api/generated/authentication.es.js.map +1 -1
  41. package/dist/shared/src/api/generated/configuration.cjs.js.map +1 -1
  42. package/dist/shared/src/api/generated/configuration.es.js.map +1 -1
  43. package/dist/shared/src/api/generated/entityLists.cjs.js +1 -1
  44. package/dist/shared/src/api/generated/entityLists.cjs.js.map +1 -1
  45. package/dist/shared/src/api/generated/entityLists.es.js +88 -84
  46. package/dist/shared/src/api/generated/entityLists.es.js.map +1 -1
  47. package/dist/shared/src/api/generated/graphql.cjs.js +22 -20
  48. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  49. package/dist/shared/src/api/generated/graphql.es.js +34 -32
  50. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  51. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  52. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  53. package/dist/shared/src/api/generated/onboarding.cjs.js.map +1 -1
  54. package/dist/shared/src/api/generated/onboarding.es.js.map +1 -1
  55. package/dist/shared/src/api/generated/products.cjs.js.map +1 -1
  56. package/dist/shared/src/api/generated/products.es.js.map +1 -1
  57. package/dist/shared/src/api/generated/projects.cjs.js.map +1 -1
  58. package/dist/shared/src/api/generated/projects.es.js.map +1 -1
  59. package/dist/shared/src/api/generated/system.cjs.js +1 -1
  60. package/dist/shared/src/api/generated/system.cjs.js.map +1 -1
  61. package/dist/shared/src/api/generated/system.es.js +3 -0
  62. package/dist/shared/src/api/generated/system.es.js.map +1 -1
  63. package/dist/shared/src/api/generated/users.cjs.js.map +1 -1
  64. package/dist/shared/src/api/generated/users.es.js.map +1 -1
  65. package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
  66. package/dist/shared/src/api/generated/views.es.js.map +1 -1
  67. package/dist/shared/src/api/generated/ynputCloud.cjs.js +1 -1
  68. package/dist/shared/src/api/generated/ynputCloud.cjs.js.map +1 -1
  69. package/dist/shared/src/api/generated/ynputCloud.es.js +6 -1
  70. package/dist/shared/src/api/generated/ynputCloud.es.js.map +1 -1
  71. package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
  72. package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
  73. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  74. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  75. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +1 -1
  76. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
  77. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +129 -122
  78. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
  79. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  80. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  81. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +3 -2
  82. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  83. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  84. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  85. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +3 -2
  86. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  87. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js +1 -1
  88. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js.map +1 -1
  89. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js +23 -9
  90. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js.map +1 -1
  91. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  92. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  93. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +5 -4
  94. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  95. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  96. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  97. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +3 -2
  98. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  99. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  100. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  101. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +6 -5
  102. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  103. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  104. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  105. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +118 -112
  106. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  107. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  108. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  109. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +3 -2
  110. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  111. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  112. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  113. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +3 -2
  114. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  115. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
  116. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  117. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +8 -7
  118. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  119. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  120. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  121. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +3 -2
  122. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  123. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
  124. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  125. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +18 -17
  126. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  127. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  128. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  129. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +3 -2
  130. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  131. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  132. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  133. package/dist/shared/src/components/RenameForm/RenameForm.es.js +3 -2
  134. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  135. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  136. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  137. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +3 -2
  138. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  139. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  140. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  141. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +4 -3
  142. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  143. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  144. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  145. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +3 -2
  146. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  147. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  148. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  149. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +263 -210
  150. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  151. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +1 -1
  152. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  153. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +24 -23
  154. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  155. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  156. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  157. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +3 -2
  158. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  159. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
  160. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  161. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +3 -2
  162. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  163. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  164. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  165. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +3 -2
  166. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  167. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  168. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  169. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +3 -2
  170. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  171. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  172. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  173. package/dist/shared/src/containers/Actions/Actions.es.js +3 -2
  174. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  175. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  176. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  177. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +3 -2
  178. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  179. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  180. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  181. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +61 -57
  182. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  183. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  184. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  185. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +3 -2
  186. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  187. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  188. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  189. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +58 -55
  190. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  191. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  192. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  193. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +3 -2
  194. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  195. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  196. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  197. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +3 -2
  198. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  199. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
  200. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
  201. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +3 -2
  202. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
  203. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js +1 -1
  204. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js.map +1 -1
  205. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js +33 -30
  206. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js.map +1 -1
  207. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  208. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  209. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +16 -15
  210. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  211. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  212. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  213. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +3 -2
  214. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  215. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  216. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  217. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +3 -2
  218. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  219. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  220. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  221. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +3 -2
  222. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  223. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  224. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  225. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +3 -2
  226. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  227. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  228. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  229. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +3 -2
  230. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  231. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  232. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  233. package/dist/shared/src/containers/Feed/Feed.es.js +4 -3
  234. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  235. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  236. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  237. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +3 -2
  238. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  239. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  240. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  241. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +8 -7
  242. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  243. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  244. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  245. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +3 -2
  246. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  247. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  248. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  249. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +3 -2
  250. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  251. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  252. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  253. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +9 -8
  254. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  255. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  256. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  257. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +3 -2
  258. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  259. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  260. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  261. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +3 -2
  262. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  263. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  264. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  265. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +45 -42
  266. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  267. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  268. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  269. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +289 -283
  270. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  271. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  272. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  273. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +4 -3
  274. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  275. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  276. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  277. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +3 -2
  278. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  279. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  280. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  281. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +3 -2
  282. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  283. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  284. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  285. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +3 -2
  286. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  287. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  288. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  289. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +3 -2
  290. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  291. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  292. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  293. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +25 -90
  294. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  295. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  296. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  297. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +6 -5
  298. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  299. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  300. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  301. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +3 -2
  302. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  303. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  304. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  305. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +3 -2
  306. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  307. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  308. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  309. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +3 -2
  310. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  311. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  312. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  313. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +3 -2
  314. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  315. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  316. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  317. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +3 -2
  318. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  319. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  320. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  321. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +22 -21
  322. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  323. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  324. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  325. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +19 -16
  326. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  327. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  328. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  329. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +3 -2
  330. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  331. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  332. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  333. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +3 -2
  334. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  335. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  336. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  337. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +3 -2
  338. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  339. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  340. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  341. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +3 -2
  342. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  343. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  344. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  345. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +14 -13
  346. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  347. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
  348. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  349. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +38 -37
  350. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  351. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  352. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  353. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +5 -4
  354. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  355. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  356. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  357. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +3 -2
  358. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  359. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  360. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  361. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +3 -2
  362. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  363. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  364. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  365. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +3 -2
  366. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  367. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  368. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  369. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +3 -2
  370. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  371. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +2 -2
  372. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  373. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +7 -6
  374. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  375. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  376. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  377. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +26 -25
  378. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  379. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  380. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  381. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +3 -2
  382. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  383. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
  384. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  385. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +3 -2
  386. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  387. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  388. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  389. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +9 -9
  390. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  391. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  392. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  393. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +40 -35
  394. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  395. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  396. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  397. package/dist/shared/src/context/AddonProjectContext.es.js +8 -7
  398. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  399. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  400. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  401. package/dist/shared/src/context/DetailsPanelContext.es.js +77 -78
  402. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  403. package/dist/shared/src/context/GlobalContext.cjs.js +2 -0
  404. package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -0
  405. package/dist/shared/src/context/GlobalContext.es.js +123 -0
  406. package/dist/shared/src/context/GlobalContext.es.js.map +1 -0
  407. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  408. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  409. package/dist/shared/src/context/PowerpackContext.es.js +7 -6
  410. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  411. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  412. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  413. package/dist/shared/src/context/RemoteModulesContext.es.js +35 -34
  414. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  415. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  416. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  417. package/dist/shared/src/context/WebsocketContext.es.js +5 -4
  418. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  419. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  420. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  421. package/dist/shared/src/hooks/useEntityUpdate.es.js +3 -2
  422. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  423. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  424. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  425. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +3 -2
  426. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  427. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  428. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  429. package/dist/shared/src/hooks/useUserProjectConfig.es.js +26 -12
  430. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  431. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js +1 -1
  432. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js.map +1 -1
  433. package/dist/src/components/Menu/MenuComponents/Menu.es.js +3 -2
  434. package/dist/src/components/Menu/MenuComponents/Menu.es.js.map +1 -1
  435. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js +1 -1
  436. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js.map +1 -1
  437. package/dist/src/components/Menu/MenuComponents/MenuItem.es.js +1 -0
  438. package/dist/src/components/Menu/MenuComponents/MenuItem.es.js.map +1 -1
  439. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js +1 -1
  440. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js.map +1 -1
  441. package/dist/src/components/Menu/MenuComponents/MenuList.es.js +17 -16
  442. package/dist/src/components/Menu/MenuComponents/MenuList.es.js.map +1 -1
  443. package/dist/types/api/generated/actions.d.ts +2 -0
  444. package/dist/types/api/generated/attributes.d.ts +20 -5
  445. package/dist/types/api/generated/authentication.d.ts +2 -0
  446. package/dist/types/api/generated/configuration.d.ts +3 -1
  447. package/dist/types/api/generated/entityLists.d.ts +22 -5
  448. package/dist/types/api/generated/enums.d.ts +36 -0
  449. package/dist/types/api/generated/graphql.d.ts +9 -2
  450. package/dist/types/api/generated/graphqlLinks.d.ts +3 -0
  451. package/dist/types/api/generated/onboarding.d.ts +1 -0
  452. package/dist/types/api/generated/products.d.ts +9 -3
  453. package/dist/types/api/generated/projects.d.ts +4 -4
  454. package/dist/types/api/generated/system.d.ts +27 -5
  455. package/dist/types/api/generated/users.d.ts +2 -0
  456. package/dist/types/api/generated/views.d.ts +48 -5
  457. package/dist/types/api/generated/ynputCloud.d.ts +7 -20
  458. package/dist/types/api/queries/activities/getActivities.d.ts +2 -0
  459. package/dist/types/api/queries/activities/updateActivities.d.ts +4 -0
  460. package/dist/types/api/queries/cloud/cloud.d.ts +17 -17
  461. package/dist/types/api/queries/entities/getEntity.d.ts +2 -0
  462. package/dist/types/api/queries/entities/getEntityPanel.d.ts +2 -0
  463. package/dist/types/api/queries/entities/updateEntity.d.ts +2 -0
  464. package/dist/types/api/queries/entityLists/getLists.d.ts +2 -0
  465. package/dist/types/api/queries/overview/getOverview.d.ts +2 -0
  466. package/dist/types/api/queries/system/getSystem.d.ts +85 -75
  467. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +2 -0
  468. package/dist/types/api/queries/users/getUsers.d.ts +43 -37
  469. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +20 -0
  470. package/dist/types/components/DetailsPanelDetails/hooks/useEntityData.d.ts +1 -1
  471. package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +1 -1
  472. package/dist/types/containers/DetailsPanel/FeedWrapper.d.ts +3 -0
  473. package/dist/types/containers/Feed/context/FeedContext.d.ts +4 -3
  474. package/dist/types/containers/ProjectTreeTable/hooks/useGroupBySettings.d.ts +1 -1
  475. package/dist/types/containers/ProjectTreeTable/types/table.d.ts +2 -0
  476. package/dist/types/containers/Views/index.d.ts +1 -1
  477. package/dist/types/containers/Views/utils/viewUpdateHelper.d.ts +6 -10
  478. package/dist/types/context/DetailsPanelContext.d.ts +1 -2
  479. package/dist/types/context/GlobalContext.d.ts +25 -0
  480. package/dist/types/context/index.d.ts +1 -0
  481. package/package.json +1 -1
  482. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.cjs.js +0 -2
  483. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.cjs.js.map +0 -1
  484. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.es.js +0 -64
  485. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.es.js.map +0 -1
  486. package/dist/types/containers/Views/hooks/pages/useReportsViewSettings.d.ts +0 -11
@@ -1,6 +1,6 @@
1
1
  import { j as i } from "../../../../_virtual/jsx-runtime.es.js";
2
- import { useState as K, useEffect as V } from "react";
3
- import { Dialog as z, FormLayout as R, FormRow as x, InputText as T, LockedInput as q, Dropdown as _, Button as J, Spacer as G, SaveButton as Y, InputSwitch as P } from "@ynput/ayon-react-components";
2
+ import { useState as K, useEffect as R } from "react";
3
+ import { Dialog as V, FormLayout as z, FormRow as f, InputText as T, LockedInput as q, Dropdown as _, Button as J, Spacer as G, SaveButton as Y, InputSwitch as P } from "@ynput/ayon-react-components";
4
4
  import { upperFirst as Z, camelCase as $ } from "lodash";
5
5
  import { MinMaxField as H } from "./components/MinMaxField.es.js";
6
6
  import { EnumEditor as Q } from "../EnumEditor/EnumEditor.es.js";
@@ -19,7 +19,10 @@ const U = [
19
19
  { value: "example", scope: null },
20
20
  // @ts-expect-error - project is not a scope?
21
21
  { value: "default", scope: ["project"] },
22
- { value: "inherit", scope: ["project", "folder", "task", "product", "version", "representation", "user"] }
22
+ {
23
+ value: "inherit",
24
+ scope: ["project", "folder", "task", "product", "version", "representation", "user"]
25
+ }
23
26
  ], C = {
24
27
  string: {
25
28
  value: "string",
@@ -74,228 +77,232 @@ const U = [
74
77
  le: void 0,
75
78
  lt: void 0
76
79
  }
77
- }, D = (r, u) => {
78
- const s = JSON.parse(JSON.stringify(X)), b = ["name"];
79
- Object.keys(s).forEach((o) => {
80
- !b.includes(o) && r.includes(o) && o !== "data" && delete s[o];
80
+ }, D = (r, c) => {
81
+ const l = JSON.parse(JSON.stringify(X)), j = ["name"];
82
+ Object.keys(l).forEach((o) => {
83
+ !j.includes(o) && r.includes(o) && o !== "data" && delete l[o];
81
84
  });
82
- const c = ["title"];
83
- return s.data && Object.keys(s.data).forEach((o) => {
84
- !c.includes(o) && r.includes(o) && delete s.data[o];
85
- }), u && Object.keys(u).forEach((o) => {
86
- const d = o;
87
- d !== "data" && r.includes(d) || (d === "data" && u.data && s.data ? s.data = { ...s.data, ...u.data } : u[d] !== void 0 && (s[d] = u[d]));
88
- }), s;
85
+ const d = ["title"];
86
+ return l.data && Object.keys(l.data).forEach((o) => {
87
+ !d.includes(o) && r.includes(o) && delete l.data[o];
88
+ }), c && Object.keys(c).forEach((o) => {
89
+ const p = o;
90
+ p !== "data" && r.includes(p) || (p === "data" && c.data && l.data ? l.data = { ...l.data, ...c.data } : c[p] !== void 0 && (l[p] = c[p]));
91
+ }), l;
89
92
  }, oe = ({
90
93
  attribute: r,
91
- existingNames: u,
92
- error: s = "",
93
- isUpdating: b,
94
- excludes: c = [],
94
+ existingNames: c,
95
+ error: l = "",
96
+ isUpdating: j,
97
+ excludes: d = [],
95
98
  onHide: o,
96
- onEdit: d,
97
- onDelete: E
99
+ onEdit: p,
100
+ onDelete: L
98
101
  }) => {
99
- var O, k;
100
- const A = D(c, { position: u.length }), [t, f] = K(r || A);
101
- V(() => {
102
- r && f(r);
102
+ var k, w;
103
+ const A = D(d, { position: c.length }), [e, y] = K(r || A);
104
+ R(() => {
105
+ r && y(r);
103
106
  }, [r]);
104
- const j = !r, S = (e, a) => {
105
- f((n) => n && { ...n, [e]: a });
106
- }, h = (e, a) => {
107
- f((n) => {
107
+ const v = !r, E = (t, s) => {
108
+ y((n) => n && { ...n, [t]: s });
109
+ }, h = (t, s) => {
110
+ y((n) => {
108
111
  if (!n || !n.data)
109
112
  return n;
110
- const m = { ...n.data, [e]: a };
111
- return { ...n, data: m };
113
+ const u = { ...n.data, [t]: s };
114
+ return { ...n, data: u };
112
115
  });
113
116
  };
114
- let v = "";
115
- t && j && (u.includes(t.name) ? v = "This attribute already exists" : t.name.match("^[a-zA-Z_]{2,64}$") || (s = "Invalid attribute name"));
116
- const L = () => {
117
- t && d(t);
117
+ let g = "";
118
+ e && v && (c.includes(e.name) ? g = "This attribute already exists" : e.name.match("^[a-zA-Z_]{2,64}$") || (l = "Invalid attribute name"));
119
+ const N = () => {
120
+ e && p(e);
118
121
  }, M = /* @__PURE__ */ i.jsxs("div", { style: { display: "flex", width: "100%", flexDirection: "row" }, children: [
119
- E && r && /* @__PURE__ */ i.jsx(
122
+ L && r && /* @__PURE__ */ i.jsx(
120
123
  J,
121
124
  {
122
125
  variant: "danger",
123
126
  label: "Delete attribute",
124
127
  icon: "delete",
125
- disabled: b,
126
- onClick: E
128
+ disabled: j,
129
+ onClick: L
127
130
  }
128
131
  ),
129
132
  /* @__PURE__ */ i.jsx(G, {}),
130
133
  /* @__PURE__ */ i.jsx(
131
134
  Y,
132
135
  {
133
- label: j ? "Create Attribute" : "Save Attribute",
136
+ label: v ? "Create Attribute" : "Save Attribute",
134
137
  icon: "check",
135
- disabled: !!v || !t,
136
- active: !v && !!t,
137
- saving: b,
138
- onClick: L
138
+ disabled: !!g || !e,
139
+ active: !g && !!e,
140
+ saving: j,
141
+ onClick: N
139
142
  }
140
143
  )
141
144
  ] });
142
- let y = [];
143
- if (W.forEach((e) => {
144
- var a;
145
- (!(e != null && e.scope) || (a = e == null ? void 0 : e.scope) != null && a.some((n) => {
146
- var m;
147
- return (m = t == null ? void 0 : t.scope) == null ? void 0 : m.includes(n);
148
- })) && y.push(e.value);
149
- }), t != null && t.data.type && C[t.data.type]) {
150
- const e = C[t.data.type];
151
- y = [...y, ...e.fields].filter((a) => {
145
+ let I = [];
146
+ if (W.forEach((t) => {
147
+ var s;
148
+ (!(t != null && t.scope) || (s = t == null ? void 0 : t.scope) != null && s.some((n) => {
149
+ var u;
150
+ return (u = e == null ? void 0 : e.scope) == null ? void 0 : u.includes(n);
151
+ })) && I.push(t.value);
152
+ }), e != null && e.data.type && C[e.data.type]) {
153
+ const t = C[e.data.type];
154
+ I = [...I, ...t.fields].filter((s) => {
152
155
  var n;
153
- return !((n = e.exclude) != null && n.includes(a));
156
+ return !((n = t.exclude) != null && n.includes(s));
154
157
  });
155
158
  }
156
- const N = {
157
- enum: (e = [], a) => /* @__PURE__ */ i.jsx(
159
+ const O = {
160
+ enum: (t = [], s) => /* @__PURE__ */ i.jsx(
158
161
  Q,
159
162
  {
160
- values: e,
163
+ values: t,
161
164
  onChange: (n) => {
162
- a(n != null && n.length ? n : void 0);
165
+ s(n != null && n.length ? n : void 0);
163
166
  }
164
167
  }
165
168
  ),
166
- inherit: (e, a) => /* @__PURE__ */ i.jsx(
169
+ inherit: (t, s) => /* @__PURE__ */ i.jsx(
167
170
  P,
168
171
  {
169
- checked: e,
170
- onChange: (n) => a(n.target.checked)
172
+ checked: t,
173
+ onChange: (n) => s(n.target.checked)
171
174
  }
172
175
  ),
173
- booleanDefault: (e, a) => /* @__PURE__ */ i.jsx(
176
+ booleanDefault: (t, s) => /* @__PURE__ */ i.jsx(
174
177
  P,
175
178
  {
176
- checked: e,
177
- onChange: (n) => a(n.target.checked)
179
+ checked: t,
180
+ onChange: (n) => s(n.target.checked)
178
181
  }
179
182
  )
180
- }, B = (e) => {
181
- const a = e.target.value;
182
- h("title", a), j && S("name", $(a));
183
+ }, B = (t) => {
184
+ const s = t.target.value;
185
+ h("title", s), v && E("name", $(s));
183
186
  };
184
187
  return /* @__PURE__ */ i.jsx(
185
- z,
188
+ V,
186
189
  {
187
- header: ((O = t == null ? void 0 : t.data) == null ? void 0 : O.title) || (t == null ? void 0 : t.name) || "New attribute",
190
+ header: ((k = e == null ? void 0 : e.data) == null ? void 0 : k.title) || (e == null ? void 0 : e.name) || "New attribute",
188
191
  footer: M,
189
192
  onClose: o,
190
193
  isOpen: !0,
191
194
  style: { width: 700, zIndex: 999 },
192
195
  size: "full",
193
- onKeyDown: (e) => {
194
- e.key === "Enter" && (e.metaKey || e.ctrlKey) && (e.preventDefault(), L());
196
+ onKeyDown: (t) => {
197
+ t.key === "Enter" && (t.metaKey || t.ctrlKey) && (t.preventDefault(), N());
195
198
  },
196
- children: t && /* @__PURE__ */ i.jsxs(R, { children: [
197
- !c.includes("title") && /* @__PURE__ */ i.jsx(x, { label: "Title", children: /* @__PURE__ */ i.jsx(T, { value: t == null ? void 0 : t.data.title, onChange: B, autoFocus: !0 }) }, "title"),
198
- !c.includes("name") && /* @__PURE__ */ i.jsx(x, { label: "Name", children: /* @__PURE__ */ i.jsx(
199
+ children: e && /* @__PURE__ */ i.jsxs(z, { children: [
200
+ !d.includes("title") && /* @__PURE__ */ i.jsx(f, { label: "Title", children: /* @__PURE__ */ i.jsx(T, { value: e == null ? void 0 : e.data.title, onChange: B, autoFocus: !0 }) }, "title"),
201
+ !d.includes("name") && /* @__PURE__ */ i.jsx(f, { label: "Name", children: /* @__PURE__ */ i.jsx(
199
202
  q,
200
203
  {
201
- value: t.name,
202
- disabled: !j,
203
- onSubmit: (e) => S("name", e),
204
+ value: e.name,
205
+ disabled: !v,
206
+ onSubmit: (t) => E("name", t),
204
207
  label: "name"
205
208
  }
206
209
  ) }, "name"),
207
- !c.includes("scope") && /* @__PURE__ */ i.jsx(x, { label: "Scope", children: /* @__PURE__ */ i.jsx(
210
+ !d.includes("scope") && /* @__PURE__ */ i.jsx(f, { label: "Scope", children: /* @__PURE__ */ i.jsx(
208
211
  _,
209
212
  {
210
213
  options: U,
211
- disabled: t.builtin,
212
- value: t.scope || [],
213
- onChange: (e) => S("scope", e),
214
+ disabled: e.builtin,
215
+ value: e.scope || [],
216
+ onChange: (t) => E("scope", t),
214
217
  multiSelect: !0,
215
218
  widthExpand: !0
216
219
  }
217
220
  ) }),
218
- !c.includes("type") && /* @__PURE__ */ i.jsx(x, { label: "Type", children: /* @__PURE__ */ i.jsx(
221
+ !d.includes("type") && /* @__PURE__ */ i.jsx(f, { label: "Type", children: /* @__PURE__ */ i.jsx(
219
222
  _,
220
223
  {
221
- value: [(k = t == null ? void 0 : t.data) == null ? void 0 : k.type],
222
- disabled: t.builtin,
224
+ value: [(w = e == null ? void 0 : e.data) == null ? void 0 : w.type],
225
+ disabled: e.builtin || !v,
223
226
  options: Object.values(C),
224
- onChange: (e) => h("type", e[0]),
227
+ onChange: (t) => {
228
+ var x, a;
229
+ const s = t[0], n = C[s], u = (x = n == null ? void 0 : n.fields) == null ? void 0 : x.includes("regex");
230
+ h("type", s), !u && ((a = e == null ? void 0 : e.data) != null && a.regex) && h("regex", "");
231
+ },
225
232
  minSelected: 1,
226
233
  widthExpand: !0
227
234
  }
228
235
  ) }),
229
- y.map((e) => {
230
- var m, w;
231
- if (c.includes(e)) return null;
232
- let a = null, n = Z(e);
233
- if (e === "enum" || e === "inherit") {
234
- const l = N[e];
235
- a = l(t == null ? void 0 : t.data[e], (g) => h(e, g));
236
- } else if (e === "default" && ((m = t == null ? void 0 : t.data) == null ? void 0 : m.type) === "boolean")
237
- a = N.booleanDefault(
238
- t == null ? void 0 : t.data[e],
239
- (l) => h(e, l)
236
+ I.map((t) => {
237
+ var u, x;
238
+ if (d.includes(t)) return null;
239
+ let s = null, n = Z(t);
240
+ if (t === "enum" || t === "inherit") {
241
+ const a = O[t];
242
+ s = a(e == null ? void 0 : e.data[t], (b) => h(t, b));
243
+ } else if (t === "default" && ((u = e == null ? void 0 : e.data) == null ? void 0 : u.type) === "boolean")
244
+ s = O.booleanDefault(
245
+ e == null ? void 0 : e.data[t],
246
+ (a) => h(t, a)
240
247
  );
241
- else if (["ge", "gt", "le", "lt"].includes(e)) {
242
- if (["gt", "lt"].includes(e)) return null;
243
- a = /* @__PURE__ */ i.jsx(
248
+ else if (["ge", "gt", "le", "lt"].includes(t)) {
249
+ if (["gt", "lt"].includes(t)) return null;
250
+ s = /* @__PURE__ */ i.jsx(
244
251
  H,
245
252
  {
246
- value: t == null ? void 0 : t.data,
247
- isMin: e === "ge",
248
- isFloat: ((w = t == null ? void 0 : t.data) == null ? void 0 : w.type) === "float",
249
- onChange: (l) => {
250
- const g = l.ge !== void 0 ? Number(l.ge) : void 0, I = l.le !== void 0 ? Number(l.le) : void 0;
253
+ value: e == null ? void 0 : e.data,
254
+ isMin: t === "ge",
255
+ isFloat: ((x = e == null ? void 0 : e.data) == null ? void 0 : x.type) === "float",
256
+ onChange: (a) => {
257
+ const b = a.ge !== void 0 ? Number(a.ge) : void 0, S = a.le !== void 0 ? Number(a.le) : void 0;
251
258
  // @ts-expect-error
252
- l.ge !== void 0 && isNaN(g) || // @ts-expect-error
253
- l.le !== void 0 && isNaN(I) || f((p) => {
254
- if (!p || !p.data) return p;
255
- const F = { ...p.data, ...l };
256
- return { ...p, data: F };
259
+ a.ge !== void 0 && isNaN(b) || // @ts-expect-error
260
+ a.le !== void 0 && isNaN(S) || y((m) => {
261
+ if (!m || !m.data) return m;
262
+ const F = { ...m.data, ...a };
263
+ return { ...m, data: F };
257
264
  });
258
265
  }
259
266
  }
260
- ), n = e === "ge" ? "Min" : "Max";
267
+ ), n = t === "ge" ? "Min" : "Max";
261
268
  } else {
262
- const l = (g) => {
263
- const I = g.target.value;
264
- switch (e) {
269
+ const a = (b) => {
270
+ const S = b.target.value;
271
+ switch (t) {
265
272
  case "minLength":
266
273
  case "maxLength":
267
274
  case "minItems":
268
275
  case "maxItems": {
269
- const p = parseInt(I, 10);
270
- h(e, isNaN(p) ? void 0 : p);
276
+ const m = parseInt(S, 10);
277
+ h(t, isNaN(m) ? void 0 : m);
271
278
  break;
272
279
  }
273
280
  default:
274
- h(e, I);
281
+ h(t, S);
275
282
  break;
276
283
  }
277
284
  };
278
- a = /* @__PURE__ */ i.jsx(
285
+ s = /* @__PURE__ */ i.jsx(
279
286
  T,
280
287
  {
281
- value: String((t == null ? void 0 : t.data[e]) ?? ""),
282
- onChange: l
288
+ value: String((e == null ? void 0 : e.data[t]) ?? ""),
289
+ onChange: a
283
290
  }
284
291
  );
285
292
  }
286
293
  return /* @__PURE__ */ i.jsx(
287
- x,
294
+ f,
288
295
  {
289
296
  label: n,
290
297
  style: {
291
298
  alignItems: "flex-start"
292
299
  },
293
- children: a
300
+ children: s
294
301
  },
295
- e
302
+ t
296
303
  );
297
304
  }),
298
- /* @__PURE__ */ i.jsx("span", { children: (v || s) && /* @__PURE__ */ i.jsx("span", { className: "form-error-text", children: v || s }) })
305
+ /* @__PURE__ */ i.jsx("span", { children: (g || l) && /* @__PURE__ */ i.jsx("span", { className: "form-error-text", children: g || l }) })
299
306
  ] })
300
307
  }
301
308
  );
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeEditor.es.js","sources":["../../../../../src/components/AttributeEditor/AttributeEditor.tsx"],"sourcesContent":["import { FC, useEffect, useState } from 'react'\nimport {\n SaveButton,\n Spacer,\n FormLayout,\n FormRow,\n InputText,\n InputSwitch,\n LockedInput,\n Dropdown,\n Dialog,\n Button,\n} from '@ynput/ayon-react-components'\nimport { camelCase, upperFirst } from 'lodash'\nimport { MinMaxField } from './components'\nimport { EnumEditor } from '@shared/components/EnumEditor'\nimport { AttributeData, AttributeModel, AttributeEnumItem } from '@shared/api'\n\nconst SCOPE_OPTIONS = [\n { value: 'project', label: 'Project' },\n { value: 'folder', label: 'Folder' },\n { value: 'task', label: 'Task' },\n { value: 'product', label: 'Product' },\n { value: 'version', label: 'Version' },\n { value: 'representation', label: 'Representation' },\n { value: 'user', label: 'User' },\n { value: 'list', label: 'List' },\n]\n\n// Define types for constants\ninterface GlobalFieldEntry {\n value: keyof AttributeData\n scope: (AttributeModel['scope'] | '')[] | null\n}\n\nconst GLOBAL_FIELDS: GlobalFieldEntry[] = [\n { value: 'description', scope: null },\n { value: 'example', scope: null },\n // @ts-expect-error - project is not a scope?\n { value: 'default', scope: ['project'] },\n { value: 'inherit', scope: ['project', 'folder', 'task', 'product', 'version', 'representation', 'user'] },\n]\n\ninterface TypeOptionDef {\n value: AttributeData['type']\n label: string\n fields: (keyof AttributeData)[]\n exclude?: (keyof AttributeData)[]\n}\n\ninterface TypeOptionsMap {\n [key: string]: TypeOptionDef\n}\n\nconst TYPE_OPTIONS: TypeOptionsMap = {\n string: {\n value: 'string',\n label: 'String',\n fields: ['minLength', 'maxLength', 'enum', 'regex'],\n },\n integer: {\n value: 'integer',\n label: 'Integer',\n fields: ['ge', 'gt', 'le', 'lt'],\n },\n float: {\n value: 'float',\n label: 'Decimal number',\n fields: ['ge', 'gt', 'le', 'lt'],\n },\n list_of_strings: {\n value: 'list_of_strings',\n label: 'List Of Strings',\n fields: ['minItems', 'maxItems', 'enum'],\n },\n boolean: {\n value: 'boolean',\n label: 'Boolean',\n fields: [],\n exclude: ['example'],\n },\n datetime:{\n value: 'datetime',\n label: 'Datetime',\n fields: [],\n }\n}\n\ntype Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>\ntype PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>\nexport type AttributeForm = PartialBy<AttributeModel, 'scope' | 'position'>\ntype Excludes = (keyof Omit<AttributeModel, 'data'> | keyof AttributeData)[]\n\nconst initFormData: AttributeForm = {\n name: '',\n scope: ['folder', 'task'],\n builtin: false,\n position: 0,\n data: {\n type: 'string',\n title: '',\n description: '',\n example: '',\n default: undefined,\n enum: undefined,\n minLength: undefined,\n maxLength: undefined,\n regex: '',\n minItems: undefined,\n maxItems: undefined,\n ge: undefined,\n gt: undefined,\n le: undefined,\n lt: undefined,\n },\n}\n\n// build the form data based on excludes and to update any data\nconst buildInitFormData = (excludes: Excludes, data?: Partial<AttributeForm>) => {\n // Create a deep clone of init form data\n const formData = JSON.parse(JSON.stringify(initFormData)) as AttributeForm\n\n // Filter out top-level excludes if not in required\n const required = ['name']\n Object.keys(formData).forEach((key) => {\n if (\n !required.includes(key) &&\n excludes.includes(key as keyof Omit<AttributeModel, 'data'>) &&\n key !== 'data'\n ) {\n delete formData[key as keyof AttributeForm]\n }\n })\n\n // Filter out data field excludes if not in in required\n const requiredData = ['title']\n if (formData.data) {\n Object.keys(formData.data).forEach((key) => {\n if (!requiredData.includes(key) && excludes.includes(key as keyof AttributeData)) {\n delete formData.data[key as keyof AttributeData]\n }\n })\n }\n\n // Merge with provided data if any\n if (data) {\n // Merge top-level fields\n Object.keys(data).forEach((key) => {\n const typedKey = key as keyof AttributeForm\n if (typedKey !== 'data' && excludes.includes(typedKey)) return\n\n if (typedKey === 'data' && data.data && formData.data) {\n // Deep merge of data fields\n formData.data = { ...formData.data, ...data.data }\n } else if (data[typedKey] !== undefined) {\n // @ts-ignore - We know these properties exist\n formData[typedKey] = data[typedKey]\n }\n })\n }\n\n return formData\n}\n\nexport interface AttributeEditorProps {\n attribute: AttributeForm | null\n existingNames: string[]\n error?: string\n isUpdating?: boolean\n excludes?: Excludes\n onHide: () => void\n onEdit: (attribute: AttributeForm) => void\n onDelete?: () => void\n}\n\nexport const AttributeEditor: FC<AttributeEditorProps> = ({\n attribute,\n existingNames,\n error = '',\n isUpdating,\n excludes = [],\n onHide,\n onEdit,\n onDelete,\n}) => {\n const initForm = buildInitFormData(excludes, { position: existingNames.length })\n const [formData, setFormData] = useState<AttributeForm | null>(attribute || initForm)\n\n useEffect(() => {\n if (!!attribute) setFormData(attribute)\n }, [attribute])\n\n const isNew = !attribute\n\n // const setTopLevelData = (key: string, value: string) => {\n const setTopLevelData = <K extends keyof Omit<AttributeModel, 'data'>>(\n key: K,\n value: AttributeModel[K],\n ) => {\n setFormData((d) => {\n if (!d) {\n return d\n }\n return { ...d, [key]: value }\n })\n }\n\n // const setData = (key, value) => {\n const setData = <K extends keyof AttributeData>(key: K, value: AttributeData[K]) => {\n setFormData((d) => {\n // Add a check for d and d.data\n if (!d || !d.data) {\n return d\n }\n const dt = { ...d.data, [key]: value }\n return { ...d, data: dt }\n })\n }\n\n let internalError = ''\n if (formData) {\n if (isNew) {\n if (existingNames.includes(formData.name)) internalError = 'This attribute already exists'\n else if (!formData.name.match('^[a-zA-Z_]{2,64}$')) error = 'Invalid attribute name'\n } // name validation\n }\n\n const handleSubmit = () => {\n if (formData) {\n onEdit(formData)\n }\n }\n\n const footer = (\n <div style={{ display: 'flex', width: '100%', flexDirection: 'row' }}>\n {onDelete && attribute && (\n <Button\n variant=\"danger\"\n label={'Delete attribute'}\n icon={'delete'}\n disabled={isUpdating}\n onClick={onDelete}\n />\n )}\n <Spacer />\n <SaveButton\n label={isNew ? 'Create Attribute' : 'Save Attribute'}\n icon={'check'}\n disabled={!!internalError || !formData}\n active={!internalError && !!formData}\n saving={isUpdating}\n onClick={handleSubmit}\n />\n </div>\n )\n\n let dataFields: (keyof AttributeData)[] = []\n\n // add global fields, only if scope are null (all) or the scope is included\n GLOBAL_FIELDS.forEach((globalField) => {\n // @ts-expect-error - project scope will never be found here?\n if (!globalField?.scope || globalField?.scope?.some((s) => formData?.scope?.includes(s))) {\n dataFields.push(globalField.value)\n }\n })\n\n if (formData?.data.type && TYPE_OPTIONS[formData.data.type]) {\n const typeOpt = TYPE_OPTIONS[formData.data.type]\n dataFields = [...dataFields, ...typeOpt.fields].filter((f) => !typeOpt.exclude?.includes(f))\n }\n\n type CustomFieldRenderer = (value: any, onChange: (newValue: any) => void) => JSX.Element | null\n const customFields: {\n enum: CustomFieldRenderer\n inherit: CustomFieldRenderer\n booleanDefault: CustomFieldRenderer\n } = {\n enum: (value = [], onChange) => (\n <EnumEditor\n values={value as AttributeEnumItem[]}\n onChange={(val) => {\n onChange(val?.length ? val : undefined)\n }}\n />\n ),\n inherit: (value, onChange) => (\n <InputSwitch\n checked={value}\n onChange={(e) => onChange((e.target as HTMLInputElement).checked)}\n />\n ),\n booleanDefault: (value, onChange) => (\n <InputSwitch\n checked={value}\n onChange={(e) => onChange((e.target as HTMLInputElement).checked)}\n />\n ),\n }\n\n const handleTitleChange = (e: React.ChangeEvent) => {\n const v = (e.target as HTMLInputElement).value\n setData('title', v)\n\n if (isNew) {\n setTopLevelData('name', camelCase(v))\n }\n }\n\n return (\n <Dialog\n header={formData?.data?.title || formData?.name || 'New attribute'}\n footer={footer}\n onClose={onHide}\n isOpen={true}\n style={{ width: 700, zIndex: 999 }}\n size=\"full\"\n onKeyDown={(e: React.KeyboardEvent<HTMLDivElement>) => {\n if (e.key === 'Enter' && (e.metaKey || e.ctrlKey)) {\n e.preventDefault()\n handleSubmit()\n }\n }}\n >\n {formData && (\n <FormLayout>\n {!excludes.includes('title') && (\n <FormRow label={'Title'} key={'title'}>\n <InputText value={formData?.data['title']} onChange={handleTitleChange} autoFocus />\n </FormRow>\n )}\n {!excludes.includes('name') && (\n <FormRow label={'Name'} key={'name'}>\n <LockedInput\n value={formData.name}\n disabled={!isNew}\n onSubmit={(v) => setTopLevelData('name', v)}\n label=\"name\"\n />\n </FormRow>\n )}\n {!excludes.includes('scope') && (\n <FormRow label=\"Scope\">\n <Dropdown\n options={SCOPE_OPTIONS}\n disabled={formData.builtin}\n value={formData.scope || []}\n onChange={(v) => setTopLevelData('scope', v as AttributeModel['scope'])}\n multiSelect\n widthExpand\n />\n </FormRow>\n )}\n {!excludes.includes('type') && (\n <FormRow label=\"Type\">\n <Dropdown\n value={[formData?.data?.type]}\n disabled={formData.builtin}\n options={Object.values(TYPE_OPTIONS)}\n onChange={(v) => setData('type', v[0] as AttributeData['type'])}\n minSelected={1}\n widthExpand\n />\n </FormRow>\n )}\n {dataFields.map((field) => {\n // skip if field is excluded\n if (excludes.includes(field)) return null\n\n let fieldComp = null\n let fieldLabel = upperFirst(field)\n\n if (field === 'enum' || field === 'inherit') {\n const renderer = customFields[field as 'enum' | 'inherit']\n fieldComp = renderer(formData?.data[field], (value) => setData(field, value))\n } else if (field === 'default' && formData?.data?.type === 'boolean') {\n fieldComp = customFields['booleanDefault'](\n formData?.data[field] as boolean,\n (value) => setData(field, value as AttributeData['default']),\n )\n } else if (['ge', 'gt', 'le', 'lt'].includes(field)) {\n // ignore gt and lt\n if (['gt', 'lt'].includes(field)) return null\n fieldComp = (\n <MinMaxField\n value={formData?.data}\n isMin={field === 'ge'}\n isFloat={formData?.data?.type === 'float'}\n onChange={(v) => {\n const geValue = v.ge !== undefined ? Number(v.ge) : undefined\n const leValue = v.le !== undefined ? Number(v.le) : undefined\n\n if (\n // @ts-expect-error\n (v.ge !== undefined && isNaN(geValue)) ||\n // @ts-expect-error\n (v.le !== undefined && isNaN(leValue))\n ) {\n // Do not update the form if the value is not a valid number\n return\n }\n\n setFormData((d) => {\n if (!d || !d.data) return d\n const dt = { ...d.data, ...v }\n return { ...d, data: dt }\n })\n }}\n />\n )\n\n // rewrite field to min or max for display label\n fieldLabel = field === 'ge' ? 'Min' : 'Max'\n } else {\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const strValue = e.target.value\n switch (field) {\n case 'minLength':\n case 'maxLength':\n case 'minItems':\n case 'maxItems': {\n const num = parseInt(strValue, 10)\n setData(field, isNaN(num) ? undefined : num)\n break\n }\n default:\n // For string fields ('description', 'regex') or 'any' type fields ('example', 'default')\n setData(field, strValue as AttributeData[typeof field])\n break\n }\n }\n\n fieldComp = (\n <InputText\n value={String(formData?.data[field] ?? '')}\n onChange={handleInputChange}\n />\n )\n }\n\n return (\n <FormRow\n label={fieldLabel}\n key={field}\n style={{\n alignItems: 'flex-start',\n }}\n >\n {fieldComp}\n </FormRow>\n )\n })}\n <span>\n {(internalError || error) && (\n <span className=\"form-error-text\">{internalError || error}</span>\n )}\n </span>\n </FormLayout>\n )}\n </Dialog>\n )\n}\n"],"names":["SCOPE_OPTIONS","GLOBAL_FIELDS","TYPE_OPTIONS","initFormData","buildInitFormData","excludes","data","formData","required","key","requiredData","typedKey","AttributeEditor","attribute","existingNames","error","isUpdating","onHide","onEdit","onDelete","initForm","setFormData","useState","useEffect","isNew","setTopLevelData","value","d","setData","dt","internalError","handleSubmit","footer","jsxs","jsx","Button","Spacer","SaveButton","dataFields","globalField","_a","s","typeOpt","f","customFields","onChange","EnumEditor","val","InputSwitch","e","handleTitleChange","v","camelCase","Dialog","FormLayout","FormRow","InputText","LockedInput","Dropdown","_b","field","fieldComp","fieldLabel","upperFirst","renderer","MinMaxField","geValue","leValue","handleInputChange","strValue","num"],"mappings":"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"}
1
+ {"version":3,"file":"AttributeEditor.es.js","sources":["../../../../../src/components/AttributeEditor/AttributeEditor.tsx"],"sourcesContent":["import { FC, useEffect, useState } from 'react'\nimport {\n SaveButton,\n Spacer,\n FormLayout,\n FormRow,\n InputText,\n InputSwitch,\n LockedInput,\n Dropdown,\n Dialog,\n Button,\n} from '@ynput/ayon-react-components'\nimport { camelCase, upperFirst } from 'lodash'\nimport { MinMaxField } from './components'\nimport { EnumEditor } from '@shared/components/EnumEditor'\nimport { AttributeData, AttributeModel, AttributeEnumItem } from '@shared/api'\n\nconst SCOPE_OPTIONS = [\n { value: 'project', label: 'Project' },\n { value: 'folder', label: 'Folder' },\n { value: 'task', label: 'Task' },\n { value: 'product', label: 'Product' },\n { value: 'version', label: 'Version' },\n { value: 'representation', label: 'Representation' },\n { value: 'user', label: 'User' },\n { value: 'list', label: 'List' },\n]\n\n// Define types for constants\ninterface GlobalFieldEntry {\n value: keyof AttributeData\n scope: (AttributeModel['scope'] | '')[] | null\n}\n\nconst GLOBAL_FIELDS: GlobalFieldEntry[] = [\n { value: 'description', scope: null },\n { value: 'example', scope: null },\n // @ts-expect-error - project is not a scope?\n { value: 'default', scope: ['project'] },\n {\n value: 'inherit',\n scope: ['project', 'folder', 'task', 'product', 'version', 'representation', 'user'],\n },\n]\n\ninterface TypeOptionDef {\n value: AttributeData['type']\n label: string\n fields: (keyof AttributeData)[]\n exclude?: (keyof AttributeData)[]\n}\n\ninterface TypeOptionsMap {\n [key: string]: TypeOptionDef\n}\n\nconst TYPE_OPTIONS: TypeOptionsMap = {\n string: {\n value: 'string',\n label: 'String',\n fields: ['minLength', 'maxLength', 'enum', 'regex'],\n },\n integer: {\n value: 'integer',\n label: 'Integer',\n fields: ['ge', 'gt', 'le', 'lt'],\n },\n float: {\n value: 'float',\n label: 'Decimal number',\n fields: ['ge', 'gt', 'le', 'lt'],\n },\n list_of_strings: {\n value: 'list_of_strings',\n label: 'List Of Strings',\n fields: ['minItems', 'maxItems', 'enum'],\n },\n boolean: {\n value: 'boolean',\n label: 'Boolean',\n fields: [],\n exclude: ['example'],\n },\n datetime: {\n value: 'datetime',\n label: 'Datetime',\n fields: [],\n },\n}\n\ntype Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>\ntype PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>\nexport type AttributeForm = PartialBy<AttributeModel, 'scope' | 'position'>\ntype Excludes = (keyof Omit<AttributeModel, 'data'> | keyof AttributeData)[]\n\nconst initFormData: AttributeForm = {\n name: '',\n scope: ['folder', 'task'],\n builtin: false,\n position: 0,\n data: {\n type: 'string',\n title: '',\n description: '',\n example: '',\n default: undefined,\n enum: undefined,\n minLength: undefined,\n maxLength: undefined,\n regex: '',\n minItems: undefined,\n maxItems: undefined,\n ge: undefined,\n gt: undefined,\n le: undefined,\n lt: undefined,\n },\n}\n\n// build the form data based on excludes and to update any data\nconst buildInitFormData = (excludes: Excludes, data?: Partial<AttributeForm>) => {\n // Create a deep clone of init form data\n const formData = JSON.parse(JSON.stringify(initFormData)) as AttributeForm\n\n // Filter out top-level excludes if not in required\n const required = ['name']\n Object.keys(formData).forEach((key) => {\n if (\n !required.includes(key) &&\n excludes.includes(key as keyof Omit<AttributeModel, 'data'>) &&\n key !== 'data'\n ) {\n delete formData[key as keyof AttributeForm]\n }\n })\n\n // Filter out data field excludes if not in in required\n const requiredData = ['title']\n if (formData.data) {\n Object.keys(formData.data).forEach((key) => {\n if (!requiredData.includes(key) && excludes.includes(key as keyof AttributeData)) {\n delete formData.data[key as keyof AttributeData]\n }\n })\n }\n\n // Merge with provided data if any\n if (data) {\n // Merge top-level fields\n Object.keys(data).forEach((key) => {\n const typedKey = key as keyof AttributeForm\n if (typedKey !== 'data' && excludes.includes(typedKey)) return\n\n if (typedKey === 'data' && data.data && formData.data) {\n // Deep merge of data fields\n formData.data = { ...formData.data, ...data.data }\n } else if (data[typedKey] !== undefined) {\n // @ts-ignore - We know these properties exist\n formData[typedKey] = data[typedKey]\n }\n })\n }\n\n return formData\n}\n\nexport interface AttributeEditorProps {\n attribute: AttributeForm | null\n existingNames: string[]\n error?: string\n isUpdating?: boolean\n excludes?: Excludes\n onHide: () => void\n onEdit: (attribute: AttributeForm) => void\n onDelete?: () => void\n}\n\nexport const AttributeEditor: FC<AttributeEditorProps> = ({\n attribute,\n existingNames,\n error = '',\n isUpdating,\n excludes = [],\n onHide,\n onEdit,\n onDelete,\n}) => {\n const initForm = buildInitFormData(excludes, { position: existingNames.length })\n const [formData, setFormData] = useState<AttributeForm | null>(attribute || initForm)\n\n useEffect(() => {\n if (!!attribute) setFormData(attribute)\n }, [attribute])\n\n const isNew = !attribute\n\n // const setTopLevelData = (key: string, value: string) => {\n const setTopLevelData = <K extends keyof Omit<AttributeModel, 'data'>>(\n key: K,\n value: AttributeModel[K],\n ) => {\n setFormData((d) => {\n if (!d) {\n return d\n }\n return { ...d, [key]: value }\n })\n }\n\n // const setData = (key, value) => {\n const setData = <K extends keyof AttributeData>(key: K, value: AttributeData[K]) => {\n setFormData((d) => {\n // Add a check for d and d.data\n if (!d || !d.data) {\n return d\n }\n const dt = { ...d.data, [key]: value }\n return { ...d, data: dt }\n })\n }\n\n let internalError = ''\n if (formData) {\n if (isNew) {\n if (existingNames.includes(formData.name)) internalError = 'This attribute already exists'\n else if (!formData.name.match('^[a-zA-Z_]{2,64}$')) error = 'Invalid attribute name'\n } // name validation\n }\n\n const handleSubmit = () => {\n if (formData) {\n onEdit(formData)\n }\n }\n\n const footer = (\n <div style={{ display: 'flex', width: '100%', flexDirection: 'row' }}>\n {onDelete && attribute && (\n <Button\n variant=\"danger\"\n label={'Delete attribute'}\n icon={'delete'}\n disabled={isUpdating}\n onClick={onDelete}\n />\n )}\n <Spacer />\n <SaveButton\n label={isNew ? 'Create Attribute' : 'Save Attribute'}\n icon={'check'}\n disabled={!!internalError || !formData}\n active={!internalError && !!formData}\n saving={isUpdating}\n onClick={handleSubmit}\n />\n </div>\n )\n\n let dataFields: (keyof AttributeData)[] = []\n\n // add global fields, only if scope are null (all) or the scope is included\n GLOBAL_FIELDS.forEach((globalField) => {\n // @ts-expect-error - project scope will never be found here?\n if (!globalField?.scope || globalField?.scope?.some((s) => formData?.scope?.includes(s))) {\n dataFields.push(globalField.value)\n }\n })\n\n if (formData?.data.type && TYPE_OPTIONS[formData.data.type]) {\n const typeOpt = TYPE_OPTIONS[formData.data.type]\n dataFields = [...dataFields, ...typeOpt.fields].filter((f) => !typeOpt.exclude?.includes(f))\n }\n\n type CustomFieldRenderer = (value: any, onChange: (newValue: any) => void) => JSX.Element | null\n const customFields: {\n enum: CustomFieldRenderer\n inherit: CustomFieldRenderer\n booleanDefault: CustomFieldRenderer\n } = {\n enum: (value = [], onChange) => (\n <EnumEditor\n values={value as AttributeEnumItem[]}\n onChange={(val) => {\n onChange(val?.length ? val : undefined)\n }}\n />\n ),\n inherit: (value, onChange) => (\n <InputSwitch\n checked={value}\n onChange={(e) => onChange((e.target as HTMLInputElement).checked)}\n />\n ),\n booleanDefault: (value, onChange) => (\n <InputSwitch\n checked={value}\n onChange={(e) => onChange((e.target as HTMLInputElement).checked)}\n />\n ),\n }\n\n const handleTitleChange = (e: React.ChangeEvent) => {\n const v = (e.target as HTMLInputElement).value\n setData('title', v)\n\n if (isNew) {\n setTopLevelData('name', camelCase(v))\n }\n }\n\n return (\n <Dialog\n header={formData?.data?.title || formData?.name || 'New attribute'}\n footer={footer}\n onClose={onHide}\n isOpen={true}\n style={{ width: 700, zIndex: 999 }}\n size=\"full\"\n onKeyDown={(e: React.KeyboardEvent<HTMLDivElement>) => {\n if (e.key === 'Enter' && (e.metaKey || e.ctrlKey)) {\n e.preventDefault()\n handleSubmit()\n }\n }}\n >\n {formData && (\n <FormLayout>\n {!excludes.includes('title') && (\n <FormRow label={'Title'} key={'title'}>\n <InputText value={formData?.data['title']} onChange={handleTitleChange} autoFocus />\n </FormRow>\n )}\n {!excludes.includes('name') && (\n <FormRow label={'Name'} key={'name'}>\n <LockedInput\n value={formData.name}\n disabled={!isNew}\n onSubmit={(v) => setTopLevelData('name', v)}\n label=\"name\"\n />\n </FormRow>\n )}\n {!excludes.includes('scope') && (\n <FormRow label=\"Scope\">\n <Dropdown\n options={SCOPE_OPTIONS}\n disabled={formData.builtin}\n value={formData.scope || []}\n onChange={(v) => setTopLevelData('scope', v as AttributeModel['scope'])}\n multiSelect\n widthExpand\n />\n </FormRow>\n )}\n {!excludes.includes('type') && (\n <FormRow label=\"Type\">\n <Dropdown\n value={[formData?.data?.type]}\n disabled={formData.builtin || !isNew}\n options={Object.values(TYPE_OPTIONS)}\n onChange={(v) => {\n const newType = v[0] as AttributeData['type']\n // Check if regex is supported for the new type\n const typeOpt = TYPE_OPTIONS[newType]\n const supportsRegex = typeOpt?.fields?.includes('regex')\n\n setData('type', newType)\n // Clear regex if not supported by the new type\n if (!supportsRegex && formData?.data?.regex) {\n setData('regex', '')\n }\n }}\n minSelected={1}\n widthExpand\n />\n </FormRow>\n )}\n {dataFields.map((field) => {\n // skip if field is excluded\n if (excludes.includes(field)) return null\n\n let fieldComp = null\n let fieldLabel = upperFirst(field)\n\n if (field === 'enum' || field === 'inherit') {\n const renderer = customFields[field as 'enum' | 'inherit']\n fieldComp = renderer(formData?.data[field], (value) => setData(field, value))\n } else if (field === 'default' && formData?.data?.type === 'boolean') {\n fieldComp = customFields['booleanDefault'](\n formData?.data[field] as boolean,\n (value) => setData(field, value as AttributeData['default']),\n )\n } else if (['ge', 'gt', 'le', 'lt'].includes(field)) {\n // ignore gt and lt\n if (['gt', 'lt'].includes(field)) return null\n fieldComp = (\n <MinMaxField\n value={formData?.data}\n isMin={field === 'ge'}\n isFloat={formData?.data?.type === 'float'}\n onChange={(v) => {\n const geValue = v.ge !== undefined ? Number(v.ge) : undefined\n const leValue = v.le !== undefined ? Number(v.le) : undefined\n\n if (\n // @ts-expect-error\n (v.ge !== undefined && isNaN(geValue)) ||\n // @ts-expect-error\n (v.le !== undefined && isNaN(leValue))\n ) {\n // Do not update the form if the value is not a valid number\n return\n }\n\n setFormData((d) => {\n if (!d || !d.data) return d\n const dt = { ...d.data, ...v }\n return { ...d, data: dt }\n })\n }}\n />\n )\n\n // rewrite field to min or max for display label\n fieldLabel = field === 'ge' ? 'Min' : 'Max'\n } else {\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const strValue = e.target.value\n switch (field) {\n case 'minLength':\n case 'maxLength':\n case 'minItems':\n case 'maxItems': {\n const num = parseInt(strValue, 10)\n setData(field, isNaN(num) ? undefined : num)\n break\n }\n default:\n // For string fields ('description', 'regex') or 'any' type fields ('example', 'default')\n setData(field, strValue as AttributeData[typeof field])\n break\n }\n }\n\n fieldComp = (\n <InputText\n value={String(formData?.data[field] ?? '')}\n onChange={handleInputChange}\n />\n )\n }\n\n return (\n <FormRow\n label={fieldLabel}\n key={field}\n style={{\n alignItems: 'flex-start',\n }}\n >\n {fieldComp}\n </FormRow>\n )\n })}\n <span>\n {(internalError || error) && (\n <span className=\"form-error-text\">{internalError || error}</span>\n )}\n </span>\n </FormLayout>\n )}\n </Dialog>\n )\n}\n"],"names":["SCOPE_OPTIONS","GLOBAL_FIELDS","TYPE_OPTIONS","initFormData","buildInitFormData","excludes","data","formData","required","key","requiredData","typedKey","AttributeEditor","attribute","existingNames","error","isUpdating","onHide","onEdit","onDelete","initForm","setFormData","useState","useEffect","isNew","setTopLevelData","value","d","setData","dt","internalError","handleSubmit","footer","jsxs","jsx","Button","Spacer","SaveButton","dataFields","globalField","_a","s","typeOpt","f","customFields","onChange","EnumEditor","val","InputSwitch","e","handleTitleChange","v","camelCase","Dialog","FormLayout","FormRow","InputText","LockedInput","Dropdown","_b","newType","supportsRegex","field","fieldComp","fieldLabel","upperFirst","renderer","MinMaxField","geValue","leValue","handleInputChange","strValue","num"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- "use strict";const s=require("../../../../../_virtual/jsx-runtime.cjs.js"),x=require("styled-components"),S=require("../../../containers/ProjectTreeTable/widgets/TextWidget.cjs.js"),W=require("../../../containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js"),b=require("../../../containers/ProjectTreeTable/widgets/DateWidget.cjs.js"),w=require("../../../containers/ProjectTreeTable/widgets/EnumWidget.cjs.js");require("react");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");const y=require("../../../hooks/useScopedStatuses.cjs.js");require("react-toastify");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../../../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");const E=x.div`
1
+ "use strict";const s=require("../../../../../_virtual/jsx-runtime.cjs.js"),x=require("styled-components"),S=require("../../../containers/ProjectTreeTable/widgets/TextWidget.cjs.js"),W=require("../../../containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js"),b=require("../../../containers/ProjectTreeTable/widgets/DateWidget.cjs.js"),w=require("../../../containers/ProjectTreeTable/widgets/EnumWidget.cjs.js");require("react");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");const y=require("../../../hooks/useScopedStatuses.cjs.js");require("react-toastify");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../../../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");const E=x.div`
2
2
  width: 100%;
3
3
  overflow: hidden;
4
4
  text-overflow: ellipsis;
@@ -1 +1 @@
1
- {"version":3,"file":"RenderFieldWidget.cjs.js","sources":["../../../../../../src/components/DetailsPanelAttributes/components/RenderFieldWidget.tsx"],"sourcesContent":["import { FC } from 'react'\nimport styled from 'styled-components'\nimport type { CellValue } from '@shared/containers/ProjectTreeTable/widgets/CellWidget'\nimport { TextWidget } from '@shared/containers/ProjectTreeTable/widgets/TextWidget'\nimport { BooleanWidget } from '@shared/containers/ProjectTreeTable/widgets/BooleanWidget'\nimport { DateWidget } from '@shared/containers/ProjectTreeTable/widgets/DateWidget'\nimport { EnumWidget } from '@shared/containers/ProjectTreeTable/widgets/EnumWidget'\nimport { useScopedStatuses } from '@shared/hooks'\n// Import AttributeField as a type to avoid runtime circular dependency with DetailsPanelAttributesEditor\nimport type { AttributeField } from '../DetailsPanelAttributesEditor'\nimport type { DetailsPanelEntityData } from '@shared/api'\n\nconst FieldValueText = styled.div`\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-align: right;\n\n input {\n text-align: left;\n }\n`\n\nconst StyledEnumWidget = styled(EnumWidget)`\n .enum,\n .edit-trigger {\n &:hover {\n background-color: unset;\n }\n }\n &:hover {\n background-color: unset;\n }\n`\n\ninterface RenderFieldWidgetProps {\n field: AttributeField\n value: any\n isEditing: boolean\n isReadOnly: boolean\n isMixed: boolean\n onChange: (fieldName: string, value: CellValue | CellValue[]) => void\n onCancelEdit: () => void\n entities?: DetailsPanelEntityData[]\n entityType?: string\n}\n\nconst RenderFieldWidget: FC<RenderFieldWidgetProps> = ({\n field,\n value,\n isEditing,\n isReadOnly,\n isMixed,\n onChange,\n onCancelEdit,\n entities = [],\n entityType = 'task',\n}) => {\n const { type } = field.data\n const widgetCommonProps = {\n isEditing: isEditing && !isReadOnly,\n isInherited: false,\n onChange: (newValue: CellValue | CellValue[]) => onChange(field.name, newValue),\n }\n\n // Format the value for display\n let displayValue = value === null || value === undefined ? '' : value\n const labelValue = field.data.title || field.name\n\n // Handle different field types\n switch (true) {\n case type === 'boolean':\n return (\n <BooleanWidget\n value={Boolean(displayValue)}\n {...widgetCommonProps}\n style={{ margin: 0 }}\n isReadOnly={isReadOnly}\n />\n )\n\n case type === 'datetime':\n return (\n <DateWidget\n value={displayValue}\n {...widgetCommonProps}\n isEditing\n onCancelEdit={onCancelEdit}\n style={{ width: 'fit-content' }}\n autoFocus={false}\n />\n )\n\n case !!field.data.enum: {\n const isListType = type?.includes('list')\n let valueArray = []\n\n if (isListType) {\n valueArray = Array.isArray(displayValue) ? displayValue : []\n } else if (isMixed) {\n valueArray = []\n } else {\n valueArray = [displayValue]\n }\n\n // Use scoped statuses if the field name is 'status'\n let enumOptions = field.data.enum || []\n if (field.name === 'status' && entities.length > 0) {\n const scopedStatuses = useScopedStatuses(\n entities.map((entity) => entity.projectName),\n [entityType],\n )\n if (scopedStatuses && scopedStatuses.length > 0) {\n enumOptions = scopedStatuses.map((status) => ({\n value: status.name,\n label: status.name,\n icon: status.icon,\n color: status.color,\n }))\n }\n }\n\n if (field.allowNone && !!valueArray.length && !isListType) {\n // Check if current field has a value (for single value fields)\n const hasCurrentValue = displayValue && displayValue !== ''\n if (hasCurrentValue) {\n enumOptions = [\n { value: '', label: `No ${field.data.title || field.name}` },\n ...enumOptions,\n ]\n }\n }\n\n return (\n <StyledEnumWidget\n value={valueArray}\n options={enumOptions}\n type={type}\n pt={{\n template: {\n style: { height: 32 },\n className: 'enum',\n },\n }}\n placeholder={isMixed ? `Mixed ${labelValue}` : `Select ${labelValue}...`}\n onCancelEdit={onCancelEdit}\n align=\"right\"\n isReadOnly={isReadOnly}\n enableCustomValues={field.enableCustomValues ?? false}\n search={field.enableSearch ?? false}\n sortBySelected={!enumOptions}\n {...widgetCommonProps}\n />\n )\n }\n\n case type === 'string' || type === 'integer' || type === 'float':\n default:\n return (\n <FieldValueText>\n <TextWidget\n value={displayValue.toString()}\n onCancelEdit={onCancelEdit}\n type={type as 'string' | 'integer' | 'float'}\n {...widgetCommonProps}\n />\n </FieldValueText>\n )\n }\n}\n\nexport default RenderFieldWidget\n"],"names":["FieldValueText","styled","StyledEnumWidget","EnumWidget","RenderFieldWidget","field","value","isEditing","isReadOnly","isMixed","onChange","onCancelEdit","entities","entityType","type","widgetCommonProps","newValue","displayValue","labelValue","jsx","BooleanWidget","DateWidget","isListType","valueArray","enumOptions","scopedStatuses","useScopedStatuses","entity","status","TextWidget"],"mappings":"k2LAYA,MAAMA,EAAiBC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYxBC,EAAmBD,EAAOE,YAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAwBpCC,EAAgD,CAAC,CACrD,MAAAC,EACA,MAAAC,EACA,UAAAC,EACA,WAAAC,EACA,QAAAC,EACA,SAAAC,EACA,aAAAC,EACA,SAAAC,EAAW,CAAC,EACZ,WAAAC,EAAa,MACf,IAAM,CACE,KAAA,CAAE,KAAAC,GAAST,EAAM,KACjBU,EAAoB,CACxB,UAAWR,GAAa,CAACC,EACzB,YAAa,GACb,SAAWQ,GAAsCN,EAASL,EAAM,KAAMW,CAAQ,CAChF,EAGA,IAAIC,EAAeX,GAAwC,GAC3D,MAAMY,EAAab,EAAM,KAAK,OAASA,EAAM,KAG7C,OAAQ,GAAM,CACZ,KAAKS,IAAS,UAEV,OAAAK,EAAA,kBAAA,IAACC,EAAA,cAAA,CACC,MAAO,EAAQH,EACd,GAAGF,EACJ,MAAO,CAAE,OAAQ,CAAE,EACnB,WAAAP,CAAA,CACF,EAGJ,KAAKM,IAAS,WAEV,OAAAK,EAAA,kBAAA,IAACE,EAAA,WAAA,CACC,MAAOJ,EACN,GAAGF,EACJ,UAAS,GACT,aAAAJ,EACA,MAAO,CAAE,MAAO,aAAc,EAC9B,UAAW,EAAA,CACb,EAGJ,IAAK,CAAC,CAACN,EAAM,KAAK,KAAM,CAChB,MAAAiB,EAAaR,GAAA,YAAAA,EAAM,SAAS,QAClC,IAAIS,EAAa,CAAC,EAEdD,EACFC,EAAa,MAAM,QAAQN,CAAY,EAAIA,EAAe,CAAC,EAClDR,EACTc,EAAa,CAAC,EAEdA,EAAa,CAACN,CAAY,EAI5B,IAAIO,EAAcnB,EAAM,KAAK,MAAQ,CAAC,EACtC,GAAIA,EAAM,OAAS,UAAYO,EAAS,OAAS,EAAG,CAClD,MAAMa,EAAiBC,EAAA,kBACrBd,EAAS,IAAKe,GAAWA,EAAO,WAAW,EAC3C,CAACd,CAAU,CACb,EACIY,GAAkBA,EAAe,OAAS,IAC9BD,EAAAC,EAAe,IAAKG,IAAY,CAC5C,MAAOA,EAAO,KACd,MAAOA,EAAO,KACd,KAAMA,EAAO,KACb,MAAOA,EAAO,KAAA,EACd,EACJ,CAGF,OAAIvB,EAAM,WAAekB,EAAW,QAAU,CAACD,GAErBL,GAAgBA,IAAiB,KAEzCO,EAAA,CACZ,CAAE,MAAO,GAAI,MAAO,MAAMnB,EAAM,KAAK,OAASA,EAAM,IAAI,EAAG,EAC3D,GAAGmB,CACL,GAKFL,EAAA,kBAAA,IAACjB,EAAA,CACC,MAAOqB,EACP,QAASC,EACT,KAAAV,EACA,GAAI,CACF,SAAU,CACR,MAAO,CAAE,OAAQ,EAAG,EACpB,UAAW,MAAA,CAEf,EACA,YAAaL,EAAU,SAASS,CAAU,GAAK,UAAUA,CAAU,MACnE,aAAAP,EACA,MAAM,QACN,WAAAH,EACA,mBAAoBH,EAAM,oBAAsB,GAChD,OAAQA,EAAM,cAAgB,GAC9B,eAAgB,CAACmB,EAChB,GAAGT,CAAA,CACN,CAAA,CAIJ,KAAKD,IAAS,UAAYA,IAAS,WAAaA,IAAS,SACzD,QACE,+BACGd,EACC,CAAA,SAAAmB,EAAA,kBAAA,IAACU,EAAA,WAAA,CACC,MAAOZ,EAAa,SAAS,EAC7B,aAAAN,EACA,KAAAG,EACC,GAAGC,CAAA,CAAA,EAER,CAAA,CAGR"}
1
+ {"version":3,"file":"RenderFieldWidget.cjs.js","sources":["../../../../../../src/components/DetailsPanelAttributes/components/RenderFieldWidget.tsx"],"sourcesContent":["import { FC } from 'react'\nimport styled from 'styled-components'\nimport type { CellValue } from '@shared/containers/ProjectTreeTable/widgets/CellWidget'\nimport { TextWidget } from '@shared/containers/ProjectTreeTable/widgets/TextWidget'\nimport { BooleanWidget } from '@shared/containers/ProjectTreeTable/widgets/BooleanWidget'\nimport { DateWidget } from '@shared/containers/ProjectTreeTable/widgets/DateWidget'\nimport { EnumWidget } from '@shared/containers/ProjectTreeTable/widgets/EnumWidget'\nimport { useScopedStatuses } from '@shared/hooks'\n// Import AttributeField as a type to avoid runtime circular dependency with DetailsPanelAttributesEditor\nimport type { AttributeField } from '../DetailsPanelAttributesEditor'\nimport type { DetailsPanelEntityData } from '@shared/api'\n\nconst FieldValueText = styled.div`\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-align: right;\n\n input {\n text-align: left;\n }\n`\n\nconst StyledEnumWidget = styled(EnumWidget)`\n .enum,\n .edit-trigger {\n &:hover {\n background-color: unset;\n }\n }\n &:hover {\n background-color: unset;\n }\n`\n\ninterface RenderFieldWidgetProps {\n field: AttributeField\n value: any\n isEditing: boolean\n isReadOnly: boolean\n isMixed: boolean\n onChange: (fieldName: string, value: CellValue | CellValue[]) => void\n onCancelEdit: () => void\n entities?: DetailsPanelEntityData[]\n entityType?: string\n}\n\nconst RenderFieldWidget: FC<RenderFieldWidgetProps> = ({\n field,\n value,\n isEditing,\n isReadOnly,\n isMixed,\n onChange,\n onCancelEdit,\n entities = [],\n entityType = 'task',\n}) => {\n const { type } = field.data\n const widgetCommonProps = {\n isEditing: isEditing && !isReadOnly,\n isInherited: false,\n onChange: (newValue: CellValue | CellValue[]) => onChange(field.name, newValue),\n }\n\n // Format the value for display\n let displayValue = value === null || value === undefined ? '' : value\n const labelValue = field.data.title || field.name\n\n // Handle different field types\n switch (true) {\n case type === 'boolean':\n return (\n <BooleanWidget\n value={Boolean(displayValue)}\n {...widgetCommonProps}\n style={{ margin: 0 }}\n isReadOnly={isReadOnly}\n />\n )\n\n case type === 'datetime':\n return (\n <DateWidget\n value={displayValue}\n {...widgetCommonProps}\n isEditing\n onCancelEdit={onCancelEdit}\n style={{ width: 'fit-content' }}\n autoFocus={false}\n />\n )\n\n case !!field.data.enum: {\n const isListType = type?.includes('list')\n let valueArray = []\n\n if (isListType) {\n valueArray = Array.isArray(displayValue) ? displayValue : []\n } else if (isMixed) {\n valueArray = []\n } else {\n valueArray = [displayValue]\n }\n\n // Use scoped statuses if the field name is 'status'\n let enumOptions = field.data.enum || []\n if (field.name === 'status' && entities.length > 0) {\n const scopedStatuses = useScopedStatuses(\n entities.map((entity) => entity.projectName),\n [entityType],\n )\n if (scopedStatuses && scopedStatuses.length > 0) {\n enumOptions = scopedStatuses.map((status) => ({\n value: status.name,\n label: status.name,\n icon: status.icon,\n color: status.color,\n }))\n }\n }\n\n if (field.allowNone && !!valueArray.length && !isListType) {\n // Check if current field has a value (for single value fields)\n const hasCurrentValue = displayValue && displayValue !== ''\n if (hasCurrentValue) {\n enumOptions = [\n { value: '', label: `No ${field.data.title || field.name}` },\n ...enumOptions,\n ]\n }\n }\n\n return (\n <StyledEnumWidget\n value={valueArray}\n options={enumOptions}\n type={type}\n pt={{\n template: {\n style: { height: 32 },\n className: 'enum',\n },\n }}\n placeholder={isMixed ? `Mixed ${labelValue}` : `Select ${labelValue}...`}\n onCancelEdit={onCancelEdit}\n align=\"right\"\n isReadOnly={isReadOnly}\n enableCustomValues={field.enableCustomValues ?? false}\n search={field.enableSearch ?? false}\n sortBySelected={!enumOptions}\n {...widgetCommonProps}\n />\n )\n }\n\n case type === 'string' || type === 'integer' || type === 'float':\n default:\n return (\n <FieldValueText>\n <TextWidget\n value={displayValue.toString()}\n onCancelEdit={onCancelEdit}\n type={type as 'string' | 'integer' | 'float'}\n {...widgetCommonProps}\n />\n </FieldValueText>\n )\n }\n}\n\nexport default RenderFieldWidget\n"],"names":["FieldValueText","styled","StyledEnumWidget","EnumWidget","RenderFieldWidget","field","value","isEditing","isReadOnly","isMixed","onChange","onCancelEdit","entities","entityType","type","widgetCommonProps","newValue","displayValue","labelValue","jsx","BooleanWidget","DateWidget","isListType","valueArray","enumOptions","scopedStatuses","useScopedStatuses","entity","status","TextWidget"],"mappings":"m5LAYA,MAAMA,EAAiBC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYxBC,EAAmBD,EAAOE,YAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAwBpCC,EAAgD,CAAC,CACrD,MAAAC,EACA,MAAAC,EACA,UAAAC,EACA,WAAAC,EACA,QAAAC,EACA,SAAAC,EACA,aAAAC,EACA,SAAAC,EAAW,CAAC,EACZ,WAAAC,EAAa,MACf,IAAM,CACE,KAAA,CAAE,KAAAC,GAAST,EAAM,KACjBU,EAAoB,CACxB,UAAWR,GAAa,CAACC,EACzB,YAAa,GACb,SAAWQ,GAAsCN,EAASL,EAAM,KAAMW,CAAQ,CAChF,EAGA,IAAIC,EAAeX,GAAwC,GAC3D,MAAMY,EAAab,EAAM,KAAK,OAASA,EAAM,KAG7C,OAAQ,GAAM,CACZ,KAAKS,IAAS,UAEV,OAAAK,EAAA,kBAAA,IAACC,EAAA,cAAA,CACC,MAAO,EAAQH,EACd,GAAGF,EACJ,MAAO,CAAE,OAAQ,CAAE,EACnB,WAAAP,CAAA,CACF,EAGJ,KAAKM,IAAS,WAEV,OAAAK,EAAA,kBAAA,IAACE,EAAA,WAAA,CACC,MAAOJ,EACN,GAAGF,EACJ,UAAS,GACT,aAAAJ,EACA,MAAO,CAAE,MAAO,aAAc,EAC9B,UAAW,EAAA,CACb,EAGJ,IAAK,CAAC,CAACN,EAAM,KAAK,KAAM,CAChB,MAAAiB,EAAaR,GAAA,YAAAA,EAAM,SAAS,QAClC,IAAIS,EAAa,CAAC,EAEdD,EACFC,EAAa,MAAM,QAAQN,CAAY,EAAIA,EAAe,CAAC,EAClDR,EACTc,EAAa,CAAC,EAEdA,EAAa,CAACN,CAAY,EAI5B,IAAIO,EAAcnB,EAAM,KAAK,MAAQ,CAAC,EACtC,GAAIA,EAAM,OAAS,UAAYO,EAAS,OAAS,EAAG,CAClD,MAAMa,EAAiBC,EAAA,kBACrBd,EAAS,IAAKe,GAAWA,EAAO,WAAW,EAC3C,CAACd,CAAU,CACb,EACIY,GAAkBA,EAAe,OAAS,IAC9BD,EAAAC,EAAe,IAAKG,IAAY,CAC5C,MAAOA,EAAO,KACd,MAAOA,EAAO,KACd,KAAMA,EAAO,KACb,MAAOA,EAAO,KAAA,EACd,EACJ,CAGF,OAAIvB,EAAM,WAAekB,EAAW,QAAU,CAACD,GAErBL,GAAgBA,IAAiB,KAEzCO,EAAA,CACZ,CAAE,MAAO,GAAI,MAAO,MAAMnB,EAAM,KAAK,OAASA,EAAM,IAAI,EAAG,EAC3D,GAAGmB,CACL,GAKFL,EAAA,kBAAA,IAACjB,EAAA,CACC,MAAOqB,EACP,QAASC,EACT,KAAAV,EACA,GAAI,CACF,SAAU,CACR,MAAO,CAAE,OAAQ,EAAG,EACpB,UAAW,MAAA,CAEf,EACA,YAAaL,EAAU,SAASS,CAAU,GAAK,UAAUA,CAAU,MACnE,aAAAP,EACA,MAAM,QACN,WAAAH,EACA,mBAAoBH,EAAM,oBAAsB,GAChD,OAAQA,EAAM,cAAgB,GAC9B,eAAgB,CAACmB,EAChB,GAAGT,CAAA,CACN,CAAA,CAIJ,KAAKD,IAAS,UAAYA,IAAS,WAAaA,IAAS,SACzD,QACE,+BACGd,EACC,CAAA,SAAAmB,EAAA,kBAAA,IAACU,EAAA,WAAA,CACC,MAAOZ,EAAa,SAAS,EAC7B,aAAAN,EACA,KAAAG,EACC,GAAGC,CAAA,CAAA,EAER,CAAA,CAGR"}
@@ -104,6 +104,7 @@ import "../../../context/PowerpackContext.es.js";
104
104
  import "../../../context/MoveEntityContext.es.js";
105
105
  import "../../../context/MenuContext.es.js";
106
106
  import "../../../context/WebsocketContext.es.js";
107
+ import "../../../context/GlobalContext.es.js";
107
108
  import "react-redux";
108
109
  import "custom-protocol-check";
109
110
  import "../../../containers/ProjectTreeTable/components/GroupSettingsFallback.es.js";
@@ -127,7 +128,7 @@ const W = f.div`
127
128
  &:hover {
128
129
  background-color: unset;
129
130
  }
130
- `, Ao = ({
131
+ `, Bo = ({
131
132
  field: t,
132
133
  value: l,
133
134
  isEditing: x,
@@ -225,6 +226,6 @@ const W = f.div`
225
226
  }
226
227
  };
227
228
  export {
228
- Ao as default
229
+ Bo as default
229
230
  };
230
231
  //# sourceMappingURL=RenderFieldWidget.es.js.map