@ynput/ayon-frontend-shared 0.2.35 → 0.2.36

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 (832) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +32 -22
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +140 -126
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Views.cjs.js +1 -1
  8. package/dist/Views.cjs.js.map +1 -1
  9. package/dist/Views.es.js +10 -3
  10. package/dist/Views.es.js.map +1 -1
  11. package/dist/_virtual/index.cjs10.js +1 -1
  12. package/dist/_virtual/index.cjs11.js +1 -1
  13. package/dist/_virtual/index.cjs12.js +1 -1
  14. package/dist/_virtual/index.cjs2.js +1 -1
  15. package/dist/_virtual/index.cjs3.js +1 -1
  16. package/dist/_virtual/index.cjs5.js +1 -1
  17. package/dist/_virtual/index.es10.js +3 -3
  18. package/dist/_virtual/index.es11.js +5 -5
  19. package/dist/_virtual/index.es12.js +5 -5
  20. package/dist/_virtual/index.es2.js +5 -2
  21. package/dist/_virtual/index.es2.js.map +1 -1
  22. package/dist/_virtual/index.es3.js +2 -5
  23. package/dist/_virtual/index.es3.js.map +1 -1
  24. package/dist/_virtual/index.es4.js +2 -2
  25. package/dist/_virtual/index.es5.js +2 -2
  26. package/dist/api.cjs.js +1 -1
  27. package/dist/api.es.js +372 -340
  28. package/dist/api.es.js.map +1 -1
  29. package/dist/components.cjs.js +1 -1
  30. package/dist/components.es.js +111 -95
  31. package/dist/components.es.js.map +1 -1
  32. package/dist/hooks.cjs.js +1 -1
  33. package/dist/hooks.es.js +21 -17
  34. package/dist/hooks.es.js.map +1 -1
  35. package/dist/index.cjs.js +1 -1
  36. package/dist/index.es.js +19 -9
  37. package/dist/index.es.js.map +1 -1
  38. package/dist/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.modern.cjs.js +3 -3
  39. package/dist/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.modern.cjs.js.map +1 -1
  40. package/dist/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.modern.es.js +275 -302
  41. package/dist/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.modern.es.js.map +1 -1
  42. package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.cjs.js +5 -5
  43. package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.cjs.js.map +1 -1
  44. package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.es.js +1411 -1366
  45. package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.es.js.map +1 -1
  46. package/dist/node_modules/decode-named-character-reference/index.dom.cjs.js.map +1 -1
  47. package/dist/node_modules/decode-named-character-reference/index.dom.es.js.map +1 -1
  48. package/dist/node_modules/immer/dist/immer.cjs.js +1 -1
  49. package/dist/node_modules/immer/dist/immer.cjs.js.map +1 -1
  50. package/dist/node_modules/immer/dist/immer.es.js +185 -185
  51. package/dist/node_modules/immer/dist/immer.es.js.map +1 -1
  52. package/dist/node_modules/react-use-websocket/dist/index.cjs.js +1 -1
  53. package/dist/node_modules/react-use-websocket/dist/index.es.js +1 -1
  54. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  55. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  56. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  57. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  58. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  59. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  60. package/dist/node_modules/unist-util-is/lib/index.cjs.js.map +1 -1
  61. package/dist/node_modules/unist-util-is/lib/index.es.js +8 -1
  62. package/dist/node_modules/unist-util-is/lib/index.es.js.map +1 -1
  63. package/dist/node_modules/unist-util-visit-parents/lib/index.cjs.js.map +1 -1
  64. package/dist/node_modules/unist-util-visit-parents/lib/index.es.js.map +1 -1
  65. package/dist/shared/node_modules/primereact/hooks/hooks.esm.cjs.js +2 -2
  66. package/dist/shared/node_modules/primereact/hooks/hooks.esm.cjs.js.map +1 -1
  67. package/dist/shared/node_modules/primereact/hooks/hooks.esm.es.js +121 -98
  68. package/dist/shared/node_modules/primereact/hooks/hooks.esm.es.js.map +1 -1
  69. package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
  70. package/dist/shared/node_modules/prop-types/index.es.js +1 -1
  71. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  72. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  73. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
  74. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
  75. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
  76. package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
  77. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
  78. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
  79. package/dist/shared/src/api/base/client.cjs.js +1 -1
  80. package/dist/shared/src/api/base/client.cjs.js.map +1 -1
  81. package/dist/shared/src/api/base/client.es.js +10 -9
  82. package/dist/shared/src/api/base/client.es.js.map +1 -1
  83. package/dist/shared/src/api/generated/graphql.cjs.js +209 -47
  84. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  85. package/dist/shared/src/api/generated/graphql.es.js +296 -118
  86. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  87. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  88. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  89. package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
  90. package/dist/shared/src/api/generated/views.es.js.map +1 -1
  91. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
  92. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
  93. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +88 -122
  94. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
  95. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  96. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  97. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +6 -5
  98. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  99. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +1 -1
  100. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  101. package/dist/shared/src/api/queries/entities/updateEntity.es.js +4 -3
  102. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  103. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  104. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  105. package/dist/shared/src/api/queries/entityLists/getLists.es.js +27 -26
  106. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  107. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -1
  108. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
  109. package/dist/shared/src/api/queries/entityLists/updateLists.es.js +77 -71
  110. package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
  111. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
  112. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
  113. package/dist/shared/src/api/queries/links/getEntityLinks.es.js +111 -49
  114. package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
  115. package/dist/shared/src/api/queries/links/getLinks.cjs.js +1 -1
  116. package/dist/shared/src/api/queries/links/getLinks.cjs.js.map +1 -1
  117. package/dist/shared/src/api/queries/links/getLinks.es.js +97 -74
  118. package/dist/shared/src/api/queries/links/getLinks.es.js.map +1 -1
  119. package/dist/shared/src/api/queries/overview/filterRefetchUtils.cjs.js +2 -0
  120. package/dist/shared/src/api/queries/overview/filterRefetchUtils.cjs.js.map +1 -0
  121. package/dist/shared/src/api/queries/overview/filterRefetchUtils.es.js +5 -0
  122. package/dist/shared/src/api/queries/overview/filterRefetchUtils.es.js.map +1 -0
  123. package/dist/shared/src/api/queries/overview/patchProducts.cjs.js +2 -0
  124. package/dist/shared/src/api/queries/overview/patchProducts.cjs.js.map +1 -0
  125. package/dist/shared/src/api/queries/overview/patchProducts.es.js +41 -0
  126. package/dist/shared/src/api/queries/overview/patchProducts.es.js.map +1 -0
  127. package/dist/shared/src/api/queries/overview/patchVersions.cjs.js +2 -0
  128. package/dist/shared/src/api/queries/overview/patchVersions.cjs.js.map +1 -0
  129. package/dist/shared/src/api/queries/overview/patchVersions.es.js +76 -0
  130. package/dist/shared/src/api/queries/overview/patchVersions.es.js.map +1 -0
  131. package/dist/shared/src/api/queries/overview/refetchFilteredEntities.cjs.js +2 -0
  132. package/dist/shared/src/api/queries/overview/refetchFilteredEntities.cjs.js.map +1 -0
  133. package/dist/shared/src/api/queries/overview/refetchFilteredEntities.es.js +79 -0
  134. package/dist/shared/src/api/queries/overview/refetchFilteredEntities.es.js.map +1 -0
  135. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  136. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  137. package/dist/shared/src/api/queries/overview/updateOverview.es.js +198 -169
  138. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  139. package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -1
  140. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  141. package/dist/shared/src/api/queries/users/getUsers.es.js +19 -18
  142. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  143. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +2 -0
  144. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -0
  145. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +296 -0
  146. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -0
  147. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.cjs.js +2 -0
  148. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.cjs.js.map +1 -0
  149. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.es.js +116 -0
  150. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.es.js.map +1 -0
  151. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +1 -1
  152. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
  153. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +11 -10
  154. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
  155. package/dist/shared/src/components/Badge/Badge.cjs.js +15 -7
  156. package/dist/shared/src/components/Badge/Badge.cjs.js.map +1 -1
  157. package/dist/shared/src/components/Badge/Badge.es.js +34 -13
  158. package/dist/shared/src/components/Badge/Badge.es.js.map +1 -1
  159. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  160. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  161. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +3 -2
  162. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  163. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +1 -1
  164. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
  165. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +1 -1
  166. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
  167. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +3 -3
  168. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  169. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +13 -12
  170. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  171. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  172. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  173. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +4 -2
  174. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  175. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  176. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  177. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +3 -2
  178. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  179. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js +1 -1
  180. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js.map +1 -1
  181. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js +3 -2
  182. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js.map +1 -1
  183. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  184. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  185. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +16 -2
  186. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  187. package/dist/shared/src/components/EarlyPreview/EarlyPreview.cjs.js +18 -0
  188. package/dist/shared/src/components/EarlyPreview/EarlyPreview.cjs.js.map +1 -0
  189. package/dist/shared/src/components/EarlyPreview/EarlyPreview.es.js +26 -0
  190. package/dist/shared/src/components/EarlyPreview/EarlyPreview.es.js.map +1 -0
  191. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  192. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  193. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +12 -2
  194. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  195. package/dist/shared/src/components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js +58 -0
  196. package/dist/shared/src/components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js.map +1 -0
  197. package/dist/shared/src/components/FeaturedVersionOrder/FeaturedVersionOrder.es.js +158 -0
  198. package/dist/shared/src/components/FeaturedVersionOrder/FeaturedVersionOrder.es.js.map +1 -0
  199. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  200. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  201. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +5 -4
  202. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  203. package/dist/shared/src/components/LegacyBadge/LegacyBadge.cjs.js +2 -0
  204. package/dist/shared/src/components/LegacyBadge/LegacyBadge.cjs.js.map +1 -0
  205. package/dist/shared/src/components/LegacyBadge/LegacyBadge.es.js +10 -0
  206. package/dist/shared/src/components/LegacyBadge/LegacyBadge.es.js.map +1 -0
  207. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  208. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  209. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +12 -2
  210. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  211. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  212. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  213. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +3 -2
  214. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  215. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  216. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  217. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +12 -2
  218. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  219. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  220. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  221. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +59 -48
  222. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  223. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  224. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  225. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +12 -2
  226. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  227. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
  228. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  229. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +98 -42
  230. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  231. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  232. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  233. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +12 -2
  234. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  235. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  236. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  237. package/dist/shared/src/components/RenameForm/RenameForm.es.js +12 -2
  238. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  239. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  240. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  241. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +11 -10
  242. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  243. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  244. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  245. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +12 -2
  246. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  247. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  248. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  249. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +13 -3
  250. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  251. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  252. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  253. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +12 -2
  254. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  255. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  256. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  257. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +3 -2
  258. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  259. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  260. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  261. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +411 -243
  262. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  263. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +8 -7
  264. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  265. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +50 -47
  266. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  267. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +2 -2
  268. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  269. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +22 -12
  270. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  271. package/dist/shared/src/components/SizeSlider/SizeSlider.cjs.js +56 -0
  272. package/dist/shared/src/components/SizeSlider/SizeSlider.cjs.js.map +1 -0
  273. package/dist/shared/src/components/SizeSlider/SizeSlider.es.js +113 -0
  274. package/dist/shared/src/components/SizeSlider/SizeSlider.es.js.map +1 -0
  275. package/dist/shared/src/components/SortingSetting/SortingSetting.cjs.js +2 -0
  276. package/dist/shared/src/components/SortingSetting/SortingSetting.cjs.js.map +1 -0
  277. package/dist/shared/src/components/SortingSetting/SortingSetting.es.js +11 -0
  278. package/dist/shared/src/components/SortingSetting/SortingSetting.es.js.map +1 -0
  279. package/dist/shared/src/components/SortingSetting/SortingSetting.styled.cjs.js +43 -0
  280. package/dist/shared/src/components/SortingSetting/SortingSetting.styled.cjs.js.map +1 -0
  281. package/dist/shared/src/components/SortingSetting/SortingSetting.styled.es.js +51 -0
  282. package/dist/shared/src/components/SortingSetting/SortingSetting.styled.es.js.map +1 -0
  283. package/dist/shared/src/components/TableGridSwitch/TableGridSwitch.cjs.js +2 -0
  284. package/dist/shared/src/components/TableGridSwitch/TableGridSwitch.cjs.js.map +1 -0
  285. package/dist/shared/src/components/TableGridSwitch/TableGridSwitch.es.js +39 -0
  286. package/dist/shared/src/components/TableGridSwitch/TableGridSwitch.es.js.map +1 -0
  287. package/dist/shared/src/components/TableGridSwitch/TableGridSwitch.styled.cjs.js +15 -0
  288. package/dist/shared/src/components/TableGridSwitch/TableGridSwitch.styled.cjs.js.map +1 -0
  289. package/dist/shared/src/components/TableGridSwitch/TableGridSwitch.styled.es.js +21 -0
  290. package/dist/shared/src/components/TableGridSwitch/TableGridSwitch.styled.es.js.map +1 -0
  291. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  292. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  293. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +12 -2
  294. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  295. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  296. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  297. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +5 -4
  298. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  299. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  300. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  301. package/dist/shared/src/components/Watchers/Watchers.es.js +3 -2
  302. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  303. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  304. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  305. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +12 -2
  306. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  307. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  308. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  309. package/dist/shared/src/containers/Actions/Actions.es.js +4 -2
  310. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  311. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  312. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  313. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +12 -2
  314. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  315. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.cjs.js +1 -1
  316. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.cjs.js.map +1 -1
  317. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.es.js +6 -6
  318. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.es.js.map +1 -1
  319. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  320. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  321. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +174 -152
  322. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  323. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  324. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  325. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +12 -2
  326. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  327. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  328. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  329. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +57 -47
  330. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  331. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js +2 -7
  332. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js.map +1 -1
  333. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.es.js +0 -5
  334. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.es.js.map +1 -1
  335. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  336. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  337. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +117 -113
  338. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  339. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js +15 -15
  340. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js.map +1 -1
  341. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.es.js +30 -30
  342. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.es.js.map +1 -1
  343. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  344. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  345. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +3 -2
  346. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  347. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  348. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  349. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +44 -19
  350. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  351. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  352. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  353. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +12 -2
  354. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  355. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  356. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  357. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +12 -2
  358. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  359. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  360. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  361. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +12 -2
  362. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  363. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  364. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  365. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +12 -2
  366. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  367. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  368. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  369. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +4 -2
  370. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  371. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js +2 -2
  372. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js.map +1 -1
  373. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.es.js +18 -18
  374. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.es.js.map +1 -1
  375. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryTag.cjs.js +3 -3
  376. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryTag.cjs.js.map +1 -1
  377. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryTag.es.js +20 -13
  378. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryTag.es.js.map +1 -1
  379. package/dist/shared/src/containers/Feed/components/ActivityStatus/ActivityStatus.cjs.js +3 -3
  380. package/dist/shared/src/containers/Feed/components/ActivityStatus/ActivityStatus.cjs.js.map +1 -1
  381. package/dist/shared/src/containers/Feed/components/ActivityStatus/ActivityStatus.es.js +11 -11
  382. package/dist/shared/src/containers/Feed/components/ActivityStatus/ActivityStatus.es.js.map +1 -1
  383. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js +11 -9
  384. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js.map +1 -1
  385. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js +21 -18
  386. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js.map +1 -1
  387. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  388. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  389. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +6 -5
  390. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  391. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  392. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  393. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +3 -2
  394. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  395. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  396. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  397. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +646 -576
  398. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  399. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +51 -42
  400. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
  401. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +64 -54
  402. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
  403. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  404. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  405. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +382 -209
  406. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  407. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  408. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  409. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +12 -2
  410. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  411. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  412. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  413. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +12 -2
  414. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  415. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  416. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  417. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +12 -2
  418. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  419. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  420. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  421. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +158 -144
  422. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  423. package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js.map +1 -1
  424. package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.es.js.map +1 -1
  425. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  426. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +5 -4
  428. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  429. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  430. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  431. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
  432. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
  433. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +145 -132
  434. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
  435. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  436. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  437. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +13 -3
  438. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  439. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  440. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  441. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +3 -2
  442. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  443. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  444. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  445. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +123 -104
  446. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  447. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  448. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  449. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +83 -87
  450. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  451. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  452. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  453. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +108 -88
  454. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  455. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  456. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  457. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +12 -2
  458. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  459. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  460. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  461. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +12 -2
  462. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  463. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  464. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  465. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +204 -189
  466. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  467. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  468. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  469. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +59 -23
  470. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  471. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +2 -0
  472. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -0
  473. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +263 -0
  474. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -0
  475. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  476. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  477. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +18 -7
  478. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  479. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  480. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  481. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +12 -2
  482. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  483. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  484. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  485. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +12 -2
  486. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  487. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  488. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  489. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +12 -2
  490. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  491. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  492. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  493. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +173 -163
  494. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  495. package/dist/shared/src/containers/ProjectTreeTable/types/columnConfig.cjs.js +2 -0
  496. package/dist/shared/src/containers/ProjectTreeTable/types/columnConfig.cjs.js.map +1 -0
  497. package/dist/shared/src/containers/ProjectTreeTable/types/columnConfig.es.js +20 -0
  498. package/dist/shared/src/containers/ProjectTreeTable/types/columnConfig.es.js.map +1 -0
  499. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  500. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  501. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +23 -13
  502. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  503. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js +1 -1
  504. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js.map +1 -1
  505. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js +77 -37
  506. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js.map +1 -1
  507. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.cjs.js +1 -1
  508. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.cjs.js.map +1 -1
  509. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.es.js +24 -38
  510. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.es.js.map +1 -1
  511. package/dist/shared/src/containers/ProjectTreeTable/utils/metaRows.cjs.js +2 -0
  512. package/dist/shared/src/containers/ProjectTreeTable/utils/metaRows.cjs.js.map +1 -0
  513. package/dist/shared/src/containers/ProjectTreeTable/utils/metaRows.es.js +17 -0
  514. package/dist/shared/src/containers/ProjectTreeTable/utils/metaRows.es.js.map +1 -0
  515. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js +1 -1
  516. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
  517. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js +49 -44
  518. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
  519. package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.cjs.js +2 -0
  520. package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.cjs.js.map +1 -0
  521. package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.es.js +9 -0
  522. package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.es.js.map +1 -0
  523. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +3 -3
  524. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  525. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +8 -8
  526. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  527. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
  528. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  529. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +104 -91
  530. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  531. package/dist/shared/src/containers/ProjectTreeTable/widgets/CollapsedWidget.cjs.js +3 -3
  532. package/dist/shared/src/containers/ProjectTreeTable/widgets/CollapsedWidget.cjs.js.map +1 -1
  533. package/dist/shared/src/containers/ProjectTreeTable/widgets/CollapsedWidget.es.js +6 -6
  534. package/dist/shared/src/containers/ProjectTreeTable/widgets/CollapsedWidget.es.js.map +1 -1
  535. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.cjs.js +1 -1
  536. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.cjs.js.map +1 -1
  537. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.es.js +23 -13
  538. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.es.js.map +1 -1
  539. package/dist/shared/src/containers/ProjectTreeTable/widgets/EmptyWidget.cjs.js +11 -0
  540. package/dist/shared/src/containers/ProjectTreeTable/widgets/EmptyWidget.cjs.js.map +1 -0
  541. package/dist/shared/src/containers/ProjectTreeTable/widgets/EmptyWidget.es.js +16 -0
  542. package/dist/shared/src/containers/ProjectTreeTable/widgets/EmptyWidget.es.js.map +1 -0
  543. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js +11 -11
  544. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js.map +1 -1
  545. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js +38 -33
  546. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js.map +1 -1
  547. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js +25 -19
  548. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js.map +1 -1
  549. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js +75 -72
  550. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js.map +1 -1
  551. package/dist/shared/src/containers/ProjectTreeTable/widgets/ErrorWidget.cjs.js +11 -0
  552. package/dist/shared/src/containers/ProjectTreeTable/widgets/ErrorWidget.cjs.js.map +1 -0
  553. package/dist/shared/src/containers/ProjectTreeTable/widgets/ErrorWidget.es.js +16 -0
  554. package/dist/shared/src/containers/ProjectTreeTable/widgets/ErrorWidget.es.js.map +1 -0
  555. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  556. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  557. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +51 -40
  558. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  559. package/dist/shared/src/containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js +2 -2
  560. package/dist/shared/src/containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js.map +1 -1
  561. package/dist/shared/src/containers/ProjectTreeTable/widgets/LoadMoreWidget.es.js +8 -8
  562. package/dist/shared/src/containers/ProjectTreeTable/widgets/LoadMoreWidget.es.js.map +1 -1
  563. package/dist/shared/src/containers/ProjectTreeTable/widgets/MetaWidget.cjs.js +2 -0
  564. package/dist/shared/src/containers/ProjectTreeTable/widgets/MetaWidget.cjs.js.map +1 -0
  565. package/dist/shared/src/containers/ProjectTreeTable/widgets/MetaWidget.es.js +17 -0
  566. package/dist/shared/src/containers/ProjectTreeTable/widgets/MetaWidget.es.js.map +1 -0
  567. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  568. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  569. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +12 -2
  570. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  571. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +8 -4
  572. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
  573. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +79 -45
  574. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
  575. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  576. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  577. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +12 -2
  578. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  579. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  580. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  581. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +203 -163
  582. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  583. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js +34 -7
  584. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js.map +1 -1
  585. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js +34 -7
  586. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js.map +1 -1
  587. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js +1 -1
  588. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js.map +1 -1
  589. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js +98 -73
  590. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js.map +1 -1
  591. package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.cjs.js +1 -1
  592. package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.cjs.js.map +1 -1
  593. package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.es.js +13 -7
  594. package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.es.js.map +1 -1
  595. package/dist/shared/src/containers/Slicer/createFilterFromSlicer.cjs.js +1 -1
  596. package/dist/shared/src/containers/Slicer/createFilterFromSlicer.cjs.js.map +1 -1
  597. package/dist/shared/src/containers/Slicer/createFilterFromSlicer.es.js +9 -7
  598. package/dist/shared/src/containers/Slicer/createFilterFromSlicer.es.js.map +1 -1
  599. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js +1 -1
  600. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js.map +1 -1
  601. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js +69 -59
  602. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js.map +1 -1
  603. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  604. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  605. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +4 -2
  606. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  607. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  608. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  609. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +6 -4
  610. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  611. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  612. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  613. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +4 -2
  614. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  615. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
  616. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  617. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +4 -2
  618. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  619. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  620. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  621. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +3 -2
  622. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  623. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  624. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  625. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +3 -2
  626. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  627. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  628. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  629. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +3 -2
  630. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  631. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  632. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  633. package/dist/shared/src/context/AddonProjectContext.es.js +5 -4
  634. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  635. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  636. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  637. package/dist/shared/src/context/DetailsPanelContext.es.js +53 -48
  638. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  639. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  640. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  641. package/dist/shared/src/context/PowerpackContext.es.js +15 -13
  642. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  643. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  644. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  645. package/dist/shared/src/context/RemoteModulesContext.es.js +5 -4
  646. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  647. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  648. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  649. package/dist/shared/src/context/WebsocketContext.es.js +14 -4
  650. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  651. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  652. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  653. package/dist/shared/src/hooks/useActionTriggers.es.js +3 -2
  654. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  655. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  656. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  657. package/dist/shared/src/hooks/useEntityUpdate.es.js +3 -2
  658. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  659. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +2 -0
  660. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -0
  661. package/dist/shared/src/hooks/useGetEntityGroups.es.js +96 -0
  662. package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -0
  663. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +2 -0
  664. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -0
  665. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +133 -0
  666. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -0
  667. package/dist/shared/src/hooks/useGroupedPagination.cjs.js +2 -0
  668. package/dist/shared/src/hooks/useGroupedPagination.cjs.js.map +1 -0
  669. package/dist/shared/src/hooks/useGroupedPagination.es.js +23 -0
  670. package/dist/shared/src/hooks/useGroupedPagination.es.js.map +1 -0
  671. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  672. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  673. package/dist/shared/src/hooks/useHierarchyTable.es.js +39 -23
  674. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  675. package/dist/shared/src/hooks/useLoadModule.cjs.js +1 -1
  676. package/dist/shared/src/hooks/useLoadModule.cjs.js.map +1 -1
  677. package/dist/shared/src/hooks/useLoadModule.es.js +1 -1
  678. package/dist/shared/src/hooks/useLoadModule.es.js.map +1 -1
  679. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  680. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  681. package/dist/shared/src/hooks/useScopedStatuses.es.js +5 -4
  682. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  683. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  684. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  685. package/dist/shared/src/hooks/useUserProjectConfig.es.js +3 -2
  686. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  687. package/dist/shared/src/util/getAttributeIcon.cjs.js +1 -1
  688. package/dist/shared/src/util/getAttributeIcon.cjs.js.map +1 -1
  689. package/dist/shared/src/util/getAttributeIcon.es.js +6 -5
  690. package/dist/shared/src/util/getAttributeIcon.es.js.map +1 -1
  691. package/dist/shared/src/util/getGroupByDataType.cjs.js +2 -0
  692. package/dist/shared/src/util/getGroupByDataType.cjs.js.map +1 -0
  693. package/dist/shared/src/util/getGroupByDataType.es.js +16 -0
  694. package/dist/shared/src/util/getGroupByDataType.es.js.map +1 -0
  695. package/dist/shared/src/util/productTypes.cjs.js.map +1 -1
  696. package/dist/shared/src/util/productTypes.es.js.map +1 -1
  697. package/dist/types/api/generated/graphql.d.ts +378 -6
  698. package/dist/types/api/generated/graphqlLinks.d.ts +36 -1
  699. package/dist/types/api/generated/views.d.ts +52 -11
  700. package/dist/types/api/queries/actions/getActions.d.ts +192 -36
  701. package/dist/types/api/queries/activities/getActivities.d.ts +519 -88
  702. package/dist/types/api/queries/activities/getCategories.d.ts +64 -12
  703. package/dist/types/api/queries/activities/getMentions.d.ts +64 -12
  704. package/dist/types/api/queries/activities/updateActivities.d.ts +86 -0
  705. package/dist/types/api/queries/addons/getAddons.d.ts +526 -48
  706. package/dist/types/api/queries/attributes/getAttributes.d.ts +128 -24
  707. package/dist/types/api/queries/authentication/getAuthentication.d.ts +64 -12
  708. package/dist/types/api/queries/cloud/cloud.d.ts +128 -24
  709. package/dist/types/api/queries/entities/getEntity.d.ts +381 -60
  710. package/dist/types/api/queries/entities/getEntityPanel.d.ts +171 -24
  711. package/dist/types/api/queries/entities/updateEntity.d.ts +43 -0
  712. package/dist/types/api/queries/entityLists/getLists.d.ts +533 -168
  713. package/dist/types/api/queries/entityLists/getListsAttributes.d.ts +64 -12
  714. package/dist/types/api/queries/entityLists/listFolders.d.ts +64 -12
  715. package/dist/types/api/queries/folders/getFolders.d.ts +128 -24
  716. package/dist/types/api/queries/grouping/getGrouping.d.ts +64 -12
  717. package/dist/types/api/queries/links/getEntityLinks.d.ts +64 -12
  718. package/dist/types/api/queries/links/getLinks.d.ts +40 -40
  719. package/dist/types/api/queries/overview/filterRefetchUtils.d.ts +5 -0
  720. package/dist/types/api/queries/overview/getOverview.d.ts +529 -100
  721. package/dist/types/api/queries/overview/index.d.ts +2 -0
  722. package/dist/types/api/queries/overview/patchProducts.d.ts +13 -0
  723. package/dist/types/api/queries/overview/patchVersions.d.ts +13 -0
  724. package/dist/types/api/queries/overview/refetchFilteredEntities.d.ts +26 -0
  725. package/dist/types/api/queries/overview/updateOverview.d.ts +1 -10
  726. package/dist/types/api/queries/permissions/getPermissions.d.ts +128 -24
  727. package/dist/types/api/queries/project/getProject.d.ts +192 -36
  728. package/dist/types/api/queries/review/getReview.d.ts +192 -36
  729. package/dist/types/api/queries/share/share.d.ts +64 -12
  730. package/dist/types/api/queries/system/getSystem.d.ts +192 -36
  731. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +265 -36
  732. package/dist/types/api/queries/users/getUsers.d.ts +731 -120
  733. package/dist/types/api/queries/users/guests.d.ts +64 -12
  734. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +2931 -0
  735. package/dist/types/api/queries/versions/getVersionsProductsUtils.d.ts +31 -0
  736. package/dist/types/api/queries/versions/index.d.ts +2 -0
  737. package/dist/types/api/queries/versions/updateVersions.d.ts +262 -12
  738. package/dist/types/api/queries/views/getViews.d.ts +256 -48
  739. package/dist/types/api/queries/watchers/getWatchers.d.ts +64 -12
  740. package/dist/types/components/Badge/Badge.d.ts +5 -4
  741. package/dist/types/components/EarlyPreview/EarlyPreview.d.ts +5 -0
  742. package/dist/types/components/EarlyPreview/index.d.ts +1 -0
  743. package/dist/types/components/EnumEditor/EnumEditor.styled.d.ts +1 -1
  744. package/dist/types/components/FeaturedVersionOrder/FeaturedVersionOrder.d.ts +14 -0
  745. package/dist/types/components/FeaturedVersionOrder/index.d.ts +1 -0
  746. package/dist/types/components/LegacyBadge/LegacyBadge.d.ts +5 -0
  747. package/dist/types/components/LegacyBadge/index.d.ts +1 -0
  748. package/dist/types/components/ProjectTableSettings/ProjectTableSettings.d.ts +5 -0
  749. package/dist/types/components/ProjectTableSettings/index.d.ts +1 -0
  750. package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +45 -6
  751. package/dist/types/components/SettingsPanel/SettingsPanel.d.ts +2 -1
  752. package/dist/types/components/SizeSlider/SizeSlider.d.ts +13 -0
  753. package/dist/types/components/SizeSlider/index.d.ts +1 -0
  754. package/dist/types/components/SortingSetting/SortingSetting.d.ts +6 -0
  755. package/dist/types/components/SortingSetting/SortingSetting.styled.d.ts +3 -0
  756. package/dist/types/components/SortingSetting/index.d.ts +1 -0
  757. package/dist/types/components/TableGridSwitch/TableGridSwitch.d.ts +6 -0
  758. package/dist/types/components/TableGridSwitch/TableGridSwitch.styled.d.ts +4 -0
  759. package/dist/types/components/TableGridSwitch/index.d.ts +1 -0
  760. package/dist/types/components/index.d.ts +6 -0
  761. package/dist/types/containers/Actions/ActionsDropdown/ActionsDropdown.styled.d.ts +1 -1
  762. package/dist/types/containers/DetailsPanel/DetailsPanel.d.ts +2 -1
  763. package/dist/types/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.d.ts +10 -6
  764. package/dist/types/containers/Feed/hooks/useGetFeedActivitiesData.d.ts +2 -2
  765. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +10 -1
  766. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.styled.d.ts +1 -0
  767. package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +7 -2
  768. package/dist/types/containers/ProjectTreeTable/components/GroupSettingsFallback.d.ts +2 -1
  769. package/dist/types/containers/ProjectTreeTable/context/DetailsPanelEntityContext.d.ts +1 -1
  770. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +3 -1
  771. package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +5 -3
  772. package/dist/types/containers/ProjectTreeTable/hooks/index.d.ts +0 -2
  773. package/dist/types/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.d.ts +3 -2
  774. package/dist/types/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +5 -2
  775. package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +1 -1
  776. package/dist/types/containers/ProjectTreeTable/hooks/useGetGroupedFields.d.ts +12 -4
  777. package/dist/types/containers/ProjectTreeTable/hooks/useGroupBySettings.d.ts +11 -0
  778. package/dist/types/containers/ProjectTreeTable/types/columnConfig.d.ts +14 -0
  779. package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +3 -2
  780. package/dist/types/containers/ProjectTreeTable/types/table.d.ts +19 -4
  781. package/dist/types/containers/ProjectTreeTable/types/widgetDisplayConfig.d.ts +0 -0
  782. package/dist/types/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.d.ts +1 -0
  783. package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +2 -0
  784. package/dist/types/containers/ProjectTreeTable/utils/loadingUtils.d.ts +1 -6
  785. package/dist/types/containers/ProjectTreeTable/utils/metaRows.d.ts +33 -0
  786. package/dist/types/containers/ProjectTreeTable/utils/restrictedEntity.d.ts +13 -0
  787. package/dist/types/containers/ProjectTreeTable/widgets/CellWidget.d.ts +1 -0
  788. package/dist/types/containers/ProjectTreeTable/widgets/DateWidget.d.ts +1 -0
  789. package/dist/types/containers/ProjectTreeTable/widgets/EmptyWidget.d.ts +9 -0
  790. package/dist/types/containers/ProjectTreeTable/widgets/EntityNameWidget.d.ts +4 -2
  791. package/dist/types/containers/ProjectTreeTable/widgets/EnumCellValue.d.ts +1 -2
  792. package/dist/types/containers/ProjectTreeTable/widgets/ErrorWidget.d.ts +9 -0
  793. package/dist/types/containers/ProjectTreeTable/widgets/LoadMoreWidget.d.ts +1 -1
  794. package/dist/types/containers/ProjectTreeTable/widgets/MetaWidget.d.ts +10 -0
  795. package/dist/types/containers/ProjectTreeTable/widgets/index.d.ts +3 -0
  796. package/dist/types/containers/SimpleTable/SimpleTable.d.ts +4 -2
  797. package/dist/types/containers/SimpleTable/SimpleTableRowTemplate.d.ts +10 -0
  798. package/dist/types/containers/SimpleTable/hooks/useRowKeydown.d.ts +2 -1
  799. package/dist/types/containers/Slicer/types.d.ts +2 -0
  800. package/dist/types/containers/Views/ViewItem/ViewItem.d.ts +2 -2
  801. package/dist/types/containers/Views/index.d.ts +1 -1
  802. package/dist/types/context/DetailsPanelContext.d.ts +10 -0
  803. package/dist/types/hooks/index.d.ts +3 -1
  804. package/dist/types/hooks/useGetEntityGroups.d.ts +11 -0
  805. package/dist/types/{containers/ProjectTreeTable/hooks/useProjectTableModules.d.ts → hooks/useGroupByRemoteModules.d.ts} +6 -5
  806. package/dist/types/hooks/useGroupedPagination.d.ts +25 -0
  807. package/dist/types/util/getGroupByDataType.d.ts +20 -0
  808. package/dist/types/util/index.d.ts +1 -0
  809. package/dist/types/util/productTypes.d.ts +1 -1
  810. package/dist/util.cjs.js +1 -1
  811. package/dist/util.es.js +25 -23
  812. package/dist/util.es.js.map +1 -1
  813. package/package.json +1 -1
  814. package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.cjs.js +0 -60
  815. package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.cjs.js.map +0 -1
  816. package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.es.js +0 -343
  817. package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.es.js.map +0 -1
  818. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js +0 -2
  819. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js.map +0 -1
  820. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js +0 -95
  821. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js.map +0 -1
  822. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js +0 -2
  823. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js.map +0 -1
  824. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js +0 -132
  825. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js.map +0 -1
  826. package/dist/shared/src/hooks/useTagStyling.cjs.js +0 -2
  827. package/dist/shared/src/hooks/useTagStyling.cjs.js.map +0 -1
  828. package/dist/shared/src/hooks/useTagStyling.es.js +0 -33
  829. package/dist/shared/src/hooks/useTagStyling.es.js.map +0 -1
  830. package/dist/types/components/ProjectTableSettings/RowHeightSettings.d.ts +0 -3
  831. package/dist/types/containers/ProjectTreeTable/hooks/useGetTaskGroups.d.ts +0 -10
  832. package/dist/types/hooks/useTagStyling.d.ts +0 -17
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeEditor.cjs.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]\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: null },\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.cjs.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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"}
@@ -12,13 +12,14 @@ const U = [
12
12
  { value: "product", label: "Product" },
13
13
  { value: "version", label: "Version" },
14
14
  { value: "representation", label: "Representation" },
15
- { value: "user", label: "User" }
15
+ { value: "user", label: "User" },
16
+ { value: "list", label: "List" }
16
17
  ], W = [
17
18
  { value: "description", scope: null },
18
19
  { value: "example", scope: null },
19
20
  // @ts-expect-error - project is not a scope?
20
21
  { value: "default", scope: ["project"] },
21
- { value: "inherit", scope: null }
22
+ { value: "inherit", scope: ["project", "folder", "task", "product", "version", "representation", "user"] }
22
23
  ], C = {
23
24
  string: {
24
25
  value: "string",
@@ -95,7 +96,7 @@ const U = [
95
96
  onEdit: d,
96
97
  onDelete: E
97
98
  }) => {
98
- var L, k;
99
+ var O, k;
99
100
  const A = D(c, { position: u.length }), [t, f] = K(r || A);
100
101
  V(() => {
101
102
  r && f(r);
@@ -112,7 +113,7 @@ const U = [
112
113
  };
113
114
  let v = "";
114
115
  t && j && (u.includes(t.name) ? v = "This attribute already exists" : t.name.match("^[a-zA-Z_]{2,64}$") || (s = "Invalid attribute name"));
115
- const N = () => {
116
+ const L = () => {
116
117
  t && d(t);
117
118
  }, M = /* @__PURE__ */ i.jsxs("div", { style: { display: "flex", width: "100%", flexDirection: "row" }, children: [
118
119
  E && r && /* @__PURE__ */ i.jsx(
@@ -134,7 +135,7 @@ const U = [
134
135
  disabled: !!v || !t,
135
136
  active: !v && !!t,
136
137
  saving: b,
137
- onClick: N
138
+ onClick: L
138
139
  }
139
140
  )
140
141
  ] });
@@ -152,7 +153,7 @@ const U = [
152
153
  return !((n = e.exclude) != null && n.includes(a));
153
154
  });
154
155
  }
155
- const O = {
156
+ const N = {
156
157
  enum: (e = [], a) => /* @__PURE__ */ i.jsx(
157
158
  Q,
158
159
  {
@@ -183,14 +184,14 @@ const U = [
183
184
  return /* @__PURE__ */ i.jsx(
184
185
  z,
185
186
  {
186
- header: ((L = t == null ? void 0 : t.data) == null ? void 0 : L.title) || (t == null ? void 0 : t.name) || "New attribute",
187
+ header: ((O = t == null ? void 0 : t.data) == null ? void 0 : O.title) || (t == null ? void 0 : t.name) || "New attribute",
187
188
  footer: M,
188
189
  onClose: o,
189
190
  isOpen: !0,
190
191
  style: { width: 700, zIndex: 999 },
191
192
  size: "full",
192
193
  onKeyDown: (e) => {
193
- e.key === "Enter" && (e.metaKey || e.ctrlKey) && (e.preventDefault(), N());
194
+ e.key === "Enter" && (e.metaKey || e.ctrlKey) && (e.preventDefault(), L());
194
195
  },
195
196
  children: t && /* @__PURE__ */ i.jsxs(R, { children: [
196
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"),
@@ -230,10 +231,10 @@ const U = [
230
231
  if (c.includes(e)) return null;
231
232
  let a = null, n = Z(e);
232
233
  if (e === "enum" || e === "inherit") {
233
- const l = O[e];
234
+ const l = N[e];
234
235
  a = l(t == null ? void 0 : t.data[e], (g) => h(e, g));
235
236
  } else if (e === "default" && ((m = t == null ? void 0 : t.data) == null ? void 0 : m.type) === "boolean")
236
- a = O.booleanDefault(
237
+ a = N.booleanDefault(
237
238
  t == null ? void 0 : t.data[e],
238
239
  (l) => h(e, l)
239
240
  );
@@ -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]\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: null },\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 { 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,14 +1,22 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../../../../_virtual/jsx-runtime.cjs.js"),r=require("styled-components"),i=r.div`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("../../../../_virtual/jsx-runtime.cjs.js"),a=require("styled-components"),g=require("@ynput/ayon-react-components"),u=a.div`
2
2
  display: flex;
3
3
  align-items: center;
4
4
  justify-content: center;
5
5
  gap: var(--base-gap-small);
6
6
  padding: 0 4px;
7
7
  margin-left: 12px;
8
- `,p=r.span`
9
- font-size: 0.8rem;
10
- border-radius: 4px;
11
- color: #161616;
12
- padding: 0 4px;
13
- `,d=["studio","project","producttion","staging","development"],g=({children:e,hl:o,style:s,...a})=>{const t={...s};return o?t.backgroundColor=`var(--color-hl-${o})`:e&&typeof e=="string"&&d.includes(e.toLowerCase())&&(t.backgroundColor=`var(--color-hl-${e.toLowerCase()})`),n.jsxRuntimeExports.jsx(p,{style:t,...a,children:e})};exports.Badge=g;exports.BadgeWrapper=i;
8
+ `,f=a.span`
9
+ overflow: hidden;
10
+ white-space: nowrap;
11
+ text-overflow: ellipsis;
12
+ display: inline-flex;
13
+ align-items: center;
14
+ justify-content: center;
15
+ border-radius: var(--border-radius-m);
16
+ padding: 0px 4px;
17
+
18
+ &.placeholder {
19
+ color: var(--md-sys-color-outline);
20
+ }
21
+ `,s=["studio","project","production","staging","developer"],m=l=>{const{label:r,color:o,style:n,className:i,...c}=l,t={...n};let e;o?o.startsWith("#")||o.startsWith("rgb")?e=o:s.includes(o.toLowerCase())&&(e=`var(--color-hl-${o})`):r&&s.includes(r.toLowerCase())&&(e=`var(--color-hl-${r.toLowerCase()})`);const d=e?g.getTextColor(e):"#e0e0e0";return t.backgroundColor=e,t.color=d,e&&(t.fontSize="0.9rem"),p.jsxRuntimeExports.jsx(f,{style:t,className:i,"aria-label":r,...c,children:r})};exports.Badge=m;exports.BadgeWrapper=u;
14
22
  //# sourceMappingURL=Badge.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.cjs.js","sources":["../../../../../src/components/Badge/Badge.tsx"],"sourcesContent":["import styled from 'styled-components'\nimport { ReactNode, CSSProperties } from 'react'\n\nexport const BadgeWrapper = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--base-gap-small);\n padding: 0 4px;\n margin-left: 12px;\n`\n\nconst BaseBadge = styled.span`\n font-size: 0.8rem;\n border-radius: 4px;\n color: #161616;\n padding: 0 4px;\n`\n\nconst WELL_KNOWN_BADGES = ['studio', 'project', 'producttion', 'staging', 'development']\n\ninterface BadgeProps {\n children?: ReactNode\n hl?: string\n style?: CSSProperties\n [key: string]: any\n}\n\nexport const Badge = ({ children, hl, style, ...props }: BadgeProps) => {\n const nstyle: CSSProperties = { ...style }\n if (hl) {\n nstyle.backgroundColor = `var(--color-hl-${hl})`\n } else if (\n children &&\n typeof children === 'string' &&\n WELL_KNOWN_BADGES.includes(children.toLowerCase())\n ) {\n nstyle.backgroundColor = `var(--color-hl-${children.toLowerCase()})`\n }\n\n return (\n <BaseBadge style={nstyle} {...props}>\n {children}\n </BaseBadge>\n )\n}\n"],"names":["BadgeWrapper","styled","BaseBadge","WELL_KNOWN_BADGES","Badge","children","hl","style","props","nstyle"],"mappings":"0KAGaA,EAAeC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAS7BC,EAAYD,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAOnBE,EAAoB,CAAC,SAAU,UAAW,cAAe,UAAW,aAAa,EAS1EC,EAAQ,CAAC,CAAE,SAAAC,EAAU,GAAAC,EAAI,MAAAC,EAAO,GAAGC,KAAwB,CAChE,MAAAC,EAAwB,CAAE,GAAGF,CAAM,EACzC,OAAID,EACKG,EAAA,gBAAkB,kBAAkBH,CAAE,IAE7CD,GACA,OAAOA,GAAa,UACpBF,EAAkB,SAASE,EAAS,YAAY,CAAC,IAEjDI,EAAO,gBAAkB,kBAAkBJ,EAAS,YAAa,CAAA,6BAIhEH,EAAU,CAAA,MAAOO,EAAS,GAAGD,EAC3B,SAAAH,EACH,CAEJ"}
1
+ {"version":3,"file":"Badge.cjs.js","sources":["../../../../../src/components/Badge/Badge.tsx"],"sourcesContent":["import styled from 'styled-components'\nimport { CSSProperties } from 'react'\nimport { getTextColor } from '@ynput/ayon-react-components'\n\nexport const BadgeWrapper = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--base-gap-small);\n padding: 0 4px;\n margin-left: 12px;\n`\n\nconst BaseBadge = styled.span`\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: var(--border-radius-m);\n padding: 0px 4px;\n\n &.placeholder {\n color: var(--md-sys-color-outline);\n }\n`\n\nconst WELL_KNOWN_BADGES = ['studio', 'project', 'production', 'staging', 'developer']\n\ninterface BadgeProps {\n label?: string\n color?: string\n style?: CSSProperties\n className?: string\n [key: string]: any\n}\n\nexport const Badge = (props: BadgeProps) => {\n const { label, color, style, className, ...additionalProps } = props\n const nstyle: CSSProperties = { ...style }\n let backgroundColor = undefined\n\n if (color) {\n if (color.startsWith('#') || color.startsWith('rgb')) {\n backgroundColor = color\n } else if (WELL_KNOWN_BADGES.includes(color.toLowerCase())) {\n backgroundColor = `var(--color-hl-${color})`\n }\n } else if (label && WELL_KNOWN_BADGES.includes(label.toLowerCase())) {\n backgroundColor = `var(--color-hl-${label.toLowerCase()})`\n }\n const foregroundColor = backgroundColor ? getTextColor(backgroundColor) : '#e0e0e0'\n\n nstyle.backgroundColor = backgroundColor\n nstyle.color = foregroundColor\n\n if (backgroundColor) {\n nstyle.fontSize= '0.9rem';\n }\n\n return (\n <BaseBadge\n style={nstyle}\n className={className}\n aria-label={label}\n {...additionalProps}\n >\n {label}\n </BaseBadge>\n )\n}\n"],"names":["BadgeWrapper","styled","BaseBadge","WELL_KNOWN_BADGES","Badge","props","label","color","style","className","additionalProps","nstyle","backgroundColor","foregroundColor","getTextColor","jsx"],"mappings":"oNAIaA,EAAeC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAS7BC,EAAYD,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAenBE,EAAoB,CAAC,SAAU,UAAW,aAAc,UAAW,WAAW,EAUvEC,EAASC,GAAsB,CAC1C,KAAM,CAAE,MAAAC,EAAO,MAAAC,EAAO,MAAAC,EAAO,UAAAC,EAAW,GAAGC,GAAoBL,EACzDM,EAAwB,CAAE,GAAGH,CAAM,EACzC,IAAII,EAEAL,EACEA,EAAM,WAAW,GAAG,GAAKA,EAAM,WAAW,KAAK,EAC/BK,EAAAL,EACTJ,EAAkB,SAASI,EAAM,YAAa,CAAA,IACvDK,EAAkB,kBAAkBL,CAAK,KAElCD,GAASH,EAAkB,SAASG,EAAM,YAAA,CAAa,IAC9CM,EAAA,kBAAkBN,EAAM,YAAA,CAAa,KAEzD,MAAMO,EAAkBD,EAAkBE,eAAaF,CAAe,EAAI,UAE1E,OAAAD,EAAO,gBAAkBC,EACzBD,EAAO,MAAQE,EAEXD,IACFD,EAAO,SAAU,UAIjBI,EAAA,kBAAA,IAACb,EAAA,CACC,MAAOS,EACP,UAAAF,EACA,aAAYH,EACX,GAAGI,EAEH,SAAAJ,CAAA,CACH,CAEJ"}
@@ -1,23 +1,44 @@
1
- import { j as n } from "../../../../_virtual/jsx-runtime.es.js";
2
- import r from "styled-components";
3
- const l = r.div`
1
+ import { j as p } from "../../../../_virtual/jsx-runtime.es.js";
2
+ import l from "styled-components";
3
+ import { getTextColor as f } from "@ynput/ayon-react-components";
4
+ const v = l.div`
4
5
  display: flex;
5
6
  align-items: center;
6
7
  justify-content: center;
7
8
  gap: var(--base-gap-small);
8
9
  padding: 0 4px;
9
10
  margin-left: 12px;
10
- `, p = r.span`
11
- font-size: 0.8rem;
12
- border-radius: 4px;
13
- color: #161616;
14
- padding: 0 4px;
15
- `, i = ["studio", "project", "producttion", "staging", "development"], c = ({ children: o, hl: e, style: s, ...a }) => {
16
- const t = { ...s };
17
- return e ? t.backgroundColor = `var(--color-hl-${e})` : o && typeof o == "string" && i.includes(o.toLowerCase()) && (t.backgroundColor = `var(--color-hl-${o.toLowerCase()})`), /* @__PURE__ */ n.jsx(p, { style: t, ...a, children: o });
11
+ `, g = l.span`
12
+ overflow: hidden;
13
+ white-space: nowrap;
14
+ text-overflow: ellipsis;
15
+ display: inline-flex;
16
+ align-items: center;
17
+ justify-content: center;
18
+ border-radius: var(--border-radius-m);
19
+ padding: 0px 4px;
20
+
21
+ &.placeholder {
22
+ color: var(--md-sys-color-outline);
23
+ }
24
+ `, s = ["studio", "project", "production", "staging", "developer"], y = (a) => {
25
+ const { label: r, color: o, style: i, className: n, ...d } = a, t = { ...i };
26
+ let e;
27
+ o ? o.startsWith("#") || o.startsWith("rgb") ? e = o : s.includes(o.toLowerCase()) && (e = `var(--color-hl-${o})`) : r && s.includes(r.toLowerCase()) && (e = `var(--color-hl-${r.toLowerCase()})`);
28
+ const c = e ? f(e) : "#e0e0e0";
29
+ return t.backgroundColor = e, t.color = c, e && (t.fontSize = "0.9rem"), /* @__PURE__ */ p.jsx(
30
+ g,
31
+ {
32
+ style: t,
33
+ className: n,
34
+ "aria-label": r,
35
+ ...d,
36
+ children: r
37
+ }
38
+ );
18
39
  };
19
40
  export {
20
- c as Badge,
21
- l as BadgeWrapper
41
+ y as Badge,
42
+ v as BadgeWrapper
22
43
  };
23
44
  //# sourceMappingURL=Badge.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.es.js","sources":["../../../../../src/components/Badge/Badge.tsx"],"sourcesContent":["import styled from 'styled-components'\nimport { ReactNode, CSSProperties } from 'react'\n\nexport const BadgeWrapper = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--base-gap-small);\n padding: 0 4px;\n margin-left: 12px;\n`\n\nconst BaseBadge = styled.span`\n font-size: 0.8rem;\n border-radius: 4px;\n color: #161616;\n padding: 0 4px;\n`\n\nconst WELL_KNOWN_BADGES = ['studio', 'project', 'producttion', 'staging', 'development']\n\ninterface BadgeProps {\n children?: ReactNode\n hl?: string\n style?: CSSProperties\n [key: string]: any\n}\n\nexport const Badge = ({ children, hl, style, ...props }: BadgeProps) => {\n const nstyle: CSSProperties = { ...style }\n if (hl) {\n nstyle.backgroundColor = `var(--color-hl-${hl})`\n } else if (\n children &&\n typeof children === 'string' &&\n WELL_KNOWN_BADGES.includes(children.toLowerCase())\n ) {\n nstyle.backgroundColor = `var(--color-hl-${children.toLowerCase()})`\n }\n\n return (\n <BaseBadge style={nstyle} {...props}>\n {children}\n </BaseBadge>\n )\n}\n"],"names":["BadgeWrapper","styled","BaseBadge","WELL_KNOWN_BADGES","Badge","children","hl","style","props","nstyle"],"mappings":";;AAGO,MAAMA,IAAeC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAS7BC,IAAYD,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,GAOnBE,IAAoB,CAAC,UAAU,WAAW,eAAe,WAAW,aAAa,GAS1EC,IAAQ,CAAC,EAAE,UAAAC,GAAU,IAAAC,GAAI,OAAAC,GAAO,GAAGC,QAAwB;AAChE,QAAAC,IAAwB,EAAE,GAAGF,EAAM;AACzC,SAAID,IACKG,EAAA,kBAAkB,kBAAkBH,CAAE,MAE7CD,KACA,OAAOA,KAAa,YACpBF,EAAkB,SAASE,EAAS,YAAY,CAAC,MAEjDI,EAAO,kBAAkB,kBAAkBJ,EAAS,YAAa,CAAA,4BAIhEH,GAAU,EAAA,OAAOO,GAAS,GAAGD,GAC3B,UAAAH,GACH;AAEJ;"}
1
+ {"version":3,"file":"Badge.es.js","sources":["../../../../../src/components/Badge/Badge.tsx"],"sourcesContent":["import styled from 'styled-components'\nimport { CSSProperties } from 'react'\nimport { getTextColor } from '@ynput/ayon-react-components'\n\nexport const BadgeWrapper = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--base-gap-small);\n padding: 0 4px;\n margin-left: 12px;\n`\n\nconst BaseBadge = styled.span`\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: var(--border-radius-m);\n padding: 0px 4px;\n\n &.placeholder {\n color: var(--md-sys-color-outline);\n }\n`\n\nconst WELL_KNOWN_BADGES = ['studio', 'project', 'production', 'staging', 'developer']\n\ninterface BadgeProps {\n label?: string\n color?: string\n style?: CSSProperties\n className?: string\n [key: string]: any\n}\n\nexport const Badge = (props: BadgeProps) => {\n const { label, color, style, className, ...additionalProps } = props\n const nstyle: CSSProperties = { ...style }\n let backgroundColor = undefined\n\n if (color) {\n if (color.startsWith('#') || color.startsWith('rgb')) {\n backgroundColor = color\n } else if (WELL_KNOWN_BADGES.includes(color.toLowerCase())) {\n backgroundColor = `var(--color-hl-${color})`\n }\n } else if (label && WELL_KNOWN_BADGES.includes(label.toLowerCase())) {\n backgroundColor = `var(--color-hl-${label.toLowerCase()})`\n }\n const foregroundColor = backgroundColor ? getTextColor(backgroundColor) : '#e0e0e0'\n\n nstyle.backgroundColor = backgroundColor\n nstyle.color = foregroundColor\n\n if (backgroundColor) {\n nstyle.fontSize= '0.9rem';\n }\n\n return (\n <BaseBadge\n style={nstyle}\n className={className}\n aria-label={label}\n {...additionalProps}\n >\n {label}\n </BaseBadge>\n )\n}\n"],"names":["BadgeWrapper","styled","BaseBadge","WELL_KNOWN_BADGES","Badge","props","label","color","style","className","additionalProps","nstyle","backgroundColor","foregroundColor","getTextColor","jsx"],"mappings":";;;AAIO,MAAMA,IAAeC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAS7BC,IAAYD,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAenBE,IAAoB,CAAC,UAAU,WAAW,cAAc,WAAW,WAAW,GAUvEC,IAAQ,CAACC,MAAsB;AAC1C,QAAM,EAAE,OAAAC,GAAO,OAAAC,GAAO,OAAAC,GAAO,WAAAC,GAAW,GAAGC,MAAoBL,GACzDM,IAAwB,EAAE,GAAGH,EAAM;AACzC,MAAII;AAEJ,EAAIL,IACEA,EAAM,WAAW,GAAG,KAAKA,EAAM,WAAW,KAAK,IAC/BK,IAAAL,IACTJ,EAAkB,SAASI,EAAM,YAAa,CAAA,MACvDK,IAAkB,kBAAkBL,CAAK,OAElCD,KAASH,EAAkB,SAASG,EAAM,YAAA,CAAa,MAC9CM,IAAA,kBAAkBN,EAAM,YAAA,CAAa;AAEzD,QAAMO,IAAkBD,IAAkBE,EAAaF,CAAe,IAAI;AAE1E,SAAAD,EAAO,kBAAkBC,GACzBD,EAAO,QAAQE,GAEXD,MACFD,EAAO,WAAU,WAIjBI,gBAAAA,EAAA;AAAA,IAACb;AAAA,IAAA;AAAA,MACC,OAAOS;AAAA,MACP,WAAAF;AAAA,MACA,cAAYH;AAAA,MACX,GAAGI;AAAA,MAEH,UAAAJ;AAAA,IAAA;AAAA,EACH;AAEJ;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../../../_virtual/jsx-runtime.cjs.js"),a=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");const d=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/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");const c=require("@ynput/ayon-react-components"),g=({projectName:o,entityType:i,entityIds:n,visible:u,onHide:s})=>{const{data:q={},isLoading:e,isError:r,error:l}=d.useGetEntityQuery({projectName:o,entityType:i,entityId:n[0]},{skip:!u});return e&&r&&a.toast.error(`Unable to load detail. ${l}`),!u||q.length<1?null:t.jsxRuntimeExports.jsx(c.Dialog,{isOpen:!0,onClose:s,size:"lg",style:{width:"50vw"},header:`${i} detail`,children:t.jsxRuntimeExports.jsxs("pre",{children:[!e&&!r&&JSON.stringify(q,null,2),e&&"loading...",r&&"error..."]})})};exports.DetailsDialog=g;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../../../_virtual/jsx-runtime.cjs.js"),a=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");const d=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");const c=require("@ynput/ayon-react-components"),g=({projectName:o,entityType:i,entityIds:n,visible:u,onHide:s})=>{const{data:q={},isLoading:e,isError:r,error:l}=d.useGetEntityQuery({projectName:o,entityType:i,entityId:n[0]},{skip:!u});return e&&r&&a.toast.error(`Unable to load detail. ${l}`),!u||q.length<1?null:t.jsxRuntimeExports.jsx(c.Dialog,{isOpen:!0,onClose:s,size:"lg",style:{width:"50vw"},header:`${i} detail`,children:t.jsxRuntimeExports.jsxs("pre",{children:[!e&&!r&&JSON.stringify(q,null,2),e&&"loading...",r&&"error..."]})})};exports.DetailsDialog=g;
2
2
  //# sourceMappingURL=DetailsDialog.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DetailsDialog.cjs.js","sources":["../../../../../src/components/DetailsDialog/DetailsDialog.tsx"],"sourcesContent":["import { toast } from 'react-toastify'\nimport { useGetEntityQuery } from '@shared/api'\nimport { Dialog } from '@ynput/ayon-react-components'\n\nexport interface DetailsDialogProps {\n projectName?: string\n entityType: string\n entityIds: string[]\n visible: boolean\n onHide: () => void\n}\n\nexport const DetailsDialog = ({\n projectName,\n entityType,\n entityIds,\n visible,\n onHide,\n}: DetailsDialogProps) => {\n const {\n data = {},\n isLoading,\n isError,\n error,\n } = useGetEntityQuery(\n { projectName, entityType: entityType, entityId: entityIds[0] },\n { skip: !visible },\n )\n\n if (isLoading)\n if (isError) {\n toast.error(`Unable to load detail. ${error}`)\n }\n\n if (!visible || data.length < 1) return null\n\n return (\n <Dialog\n isOpen={true}\n onClose={onHide}\n size=\"lg\"\n style={{ width: '50vw' }}\n header={`${entityType} detail`}\n >\n <pre>\n {!isLoading && !isError && JSON.stringify(data, null, 2)}\n {isLoading && 'loading...'}\n {isError && 'error...'}\n </pre>\n </Dialog>\n )\n}\n"],"names":["DetailsDialog","projectName","entityType","entityIds","visible","onHide","data","isLoading","isError","error","useGetEntityQuery","toast","jsx","Dialog"],"mappings":"o4IAYaA,EAAgB,CAAC,CAC5B,YAAAC,EACA,WAAAC,EACA,UAAAC,EACA,QAAAC,EACA,OAAAC,CACF,IAA0B,CAClB,KAAA,CACJ,KAAAC,EAAO,CAAC,EACR,UAAAC,EACA,QAAAC,EACA,MAAAC,CAAA,EACEC,EAAA,kBACF,CAAE,YAAAT,EAAa,WAAAC,EAAwB,SAAUC,EAAU,CAAC,CAAE,EAC9D,CAAE,KAAM,CAACC,CAAQ,CACnB,EAOA,OALIG,GACEC,GACIG,EAAAA,MAAA,MAAM,0BAA0BF,CAAK,EAAE,EAG7C,CAACL,GAAWE,EAAK,OAAS,EAAU,KAGtCM,EAAA,kBAAA,IAACC,EAAA,OAAA,CACC,OAAQ,GACR,QAASR,EACT,KAAK,KACL,MAAO,CAAE,MAAO,MAAO,EACvB,OAAQ,GAAGH,CAAU,UAErB,kCAAC,MACE,CAAA,SAAA,CAAA,CAACK,GAAa,CAACC,GAAW,KAAK,UAAUF,EAAM,KAAM,CAAC,EACtDC,GAAa,aACbC,GAAW,UAAA,CACd,CAAA,CAAA,CACF,CAEJ"}
1
+ {"version":3,"file":"DetailsDialog.cjs.js","sources":["../../../../../src/components/DetailsDialog/DetailsDialog.tsx"],"sourcesContent":["import { toast } from 'react-toastify'\nimport { useGetEntityQuery } from '@shared/api'\nimport { Dialog } from '@ynput/ayon-react-components'\n\nexport interface DetailsDialogProps {\n projectName?: string\n entityType: string\n entityIds: string[]\n visible: boolean\n onHide: () => void\n}\n\nexport const DetailsDialog = ({\n projectName,\n entityType,\n entityIds,\n visible,\n onHide,\n}: DetailsDialogProps) => {\n const {\n data = {},\n isLoading,\n isError,\n error,\n } = useGetEntityQuery(\n { projectName, entityType: entityType, entityId: entityIds[0] },\n { skip: !visible },\n )\n\n if (isLoading)\n if (isError) {\n toast.error(`Unable to load detail. ${error}`)\n }\n\n if (!visible || data.length < 1) return null\n\n return (\n <Dialog\n isOpen={true}\n onClose={onHide}\n size=\"lg\"\n style={{ width: '50vw' }}\n header={`${entityType} detail`}\n >\n <pre>\n {!isLoading && !isError && JSON.stringify(data, null, 2)}\n {isLoading && 'loading...'}\n {isError && 'error...'}\n </pre>\n </Dialog>\n )\n}\n"],"names":["DetailsDialog","projectName","entityType","entityIds","visible","onHide","data","isLoading","isError","error","useGetEntityQuery","toast","jsx","Dialog"],"mappings":"q8IAYaA,EAAgB,CAAC,CAC5B,YAAAC,EACA,WAAAC,EACA,UAAAC,EACA,QAAAC,EACA,OAAAC,CACF,IAA0B,CAClB,KAAA,CACJ,KAAAC,EAAO,CAAC,EACR,UAAAC,EACA,QAAAC,EACA,MAAAC,CAAA,EACEC,EAAA,kBACF,CAAE,YAAAT,EAAa,WAAAC,EAAwB,SAAUC,EAAU,CAAC,CAAE,EAC9D,CAAE,KAAM,CAACC,CAAQ,CACnB,EAOA,OALIG,GACEC,GACIG,EAAAA,MAAA,MAAM,0BAA0BF,CAAK,EAAE,EAG7C,CAACL,GAAWE,EAAK,OAAS,EAAU,KAGtCM,EAAA,kBAAA,IAACC,EAAA,OAAA,CACC,OAAQ,GACR,QAASR,EACT,KAAK,KACL,MAAO,CAAE,MAAO,MAAO,EACvB,OAAQ,GAAGH,CAAU,UAErB,kCAAC,MACE,CAAA,SAAA,CAAA,CAACK,GAAa,CAACC,GAAW,KAAK,UAAUF,EAAM,KAAM,CAAC,EACtDC,GAAa,aACbC,GAAW,UAAA,CACd,CAAA,CAAA,CACF,CAEJ"}
@@ -65,6 +65,7 @@ import "../../api/queries/links/getLinks.es.js";
65
65
  import "../../api/queries/links/getEntityLinks.es.js";
66
66
  import "../../api/queries/overview/getOverview.es.js";
67
67
  import "../../api/queries/overview/updateOverview.es.js";
68
+ import "../../api/queries/versions/getVersionsProducts.es.js";
68
69
  import "../../api/queries/permissions/getPermissions.es.js";
69
70
  import "../../api/queries/products/createProduct.es.js";
70
71
  import "../../api/queries/project/getProject.es.js";
@@ -82,7 +83,7 @@ import "../../api/queries/views/getViews.es.js";
82
83
  import "../../api/queries/views/updateViews.es.js";
83
84
  import "../../api/queries/watchers/getWatchers.es.js";
84
85
  import { Dialog as f } from "@ynput/ayon-react-components";
85
- const Hr = ({
86
+ const Kr = ({
86
87
  projectName: e,
87
88
  entityType: o,
88
89
  entityIds: s,
@@ -115,6 +116,6 @@ const Hr = ({
115
116
  );
116
117
  };
117
118
  export {
118
- Hr as DetailsDialog
119
+ Kr as DetailsDialog
119
120
  };
120
121
  //# sourceMappingURL=DetailsDialog.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DetailsDialog.es.js","sources":["../../../../../src/components/DetailsDialog/DetailsDialog.tsx"],"sourcesContent":["import { toast } from 'react-toastify'\nimport { useGetEntityQuery } from '@shared/api'\nimport { Dialog } from '@ynput/ayon-react-components'\n\nexport interface DetailsDialogProps {\n projectName?: string\n entityType: string\n entityIds: string[]\n visible: boolean\n onHide: () => void\n}\n\nexport const DetailsDialog = ({\n projectName,\n entityType,\n entityIds,\n visible,\n onHide,\n}: DetailsDialogProps) => {\n const {\n data = {},\n isLoading,\n isError,\n error,\n } = useGetEntityQuery(\n { projectName, entityType: entityType, entityId: entityIds[0] },\n { skip: !visible },\n )\n\n if (isLoading)\n if (isError) {\n toast.error(`Unable to load detail. ${error}`)\n }\n\n if (!visible || data.length < 1) return null\n\n return (\n <Dialog\n isOpen={true}\n onClose={onHide}\n size=\"lg\"\n style={{ width: '50vw' }}\n header={`${entityType} detail`}\n >\n <pre>\n {!isLoading && !isError && JSON.stringify(data, null, 2)}\n {isLoading && 'loading...'}\n {isError && 'error...'}\n </pre>\n </Dialog>\n )\n}\n"],"names":["DetailsDialog","projectName","entityType","entityIds","visible","onHide","data","isLoading","isError","error","useGetEntityQuery","toast","jsx","Dialog"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYO,MAAMA,KAAgB,CAAC;AAAA,EAC5B,aAAAC;AAAA,EACA,YAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,QAAAC;AACF,MAA0B;AAClB,QAAA;AAAA,IACJ,MAAAC,IAAO,CAAC;AAAA,IACR,WAAAC;AAAA,IACA,SAAAC;AAAA,IACA,OAAAC;AAAA,EAAA,IACEC;AAAA,IACF,EAAE,aAAAT,GAAa,YAAAC,GAAwB,UAAUC,EAAU,CAAC,EAAE;AAAA,IAC9D,EAAE,MAAM,CAACC,EAAQ;AAAA,EACnB;AAOA,SALIG,KACEC,KACIG,EAAA,MAAM,0BAA0BF,CAAK,EAAE,GAG7C,CAACL,KAAWE,EAAK,SAAS,IAAU,OAGtCM,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,QAAQ;AAAA,MACR,SAASR;AAAA,MACT,MAAK;AAAA,MACL,OAAO,EAAE,OAAO,OAAO;AAAA,MACvB,QAAQ,GAAGH,CAAU;AAAA,MAErB,iCAAC,OACE,EAAA,UAAA;AAAA,QAAA,CAACK,KAAa,CAACC,KAAW,KAAK,UAAUF,GAAM,MAAM,CAAC;AAAA,QACtDC,KAAa;AAAA,QACbC,KAAW;AAAA,MAAA,EACd,CAAA;AAAA,IAAA;AAAA,EACF;AAEJ;"}
1
+ {"version":3,"file":"DetailsDialog.es.js","sources":["../../../../../src/components/DetailsDialog/DetailsDialog.tsx"],"sourcesContent":["import { toast } from 'react-toastify'\nimport { useGetEntityQuery } from '@shared/api'\nimport { Dialog } from '@ynput/ayon-react-components'\n\nexport interface DetailsDialogProps {\n projectName?: string\n entityType: string\n entityIds: string[]\n visible: boolean\n onHide: () => void\n}\n\nexport const DetailsDialog = ({\n projectName,\n entityType,\n entityIds,\n visible,\n onHide,\n}: DetailsDialogProps) => {\n const {\n data = {},\n isLoading,\n isError,\n error,\n } = useGetEntityQuery(\n { projectName, entityType: entityType, entityId: entityIds[0] },\n { skip: !visible },\n )\n\n if (isLoading)\n if (isError) {\n toast.error(`Unable to load detail. ${error}`)\n }\n\n if (!visible || data.length < 1) return null\n\n return (\n <Dialog\n isOpen={true}\n onClose={onHide}\n size=\"lg\"\n style={{ width: '50vw' }}\n header={`${entityType} detail`}\n >\n <pre>\n {!isLoading && !isError && JSON.stringify(data, null, 2)}\n {isLoading && 'loading...'}\n {isError && 'error...'}\n </pre>\n </Dialog>\n )\n}\n"],"names":["DetailsDialog","projectName","entityType","entityIds","visible","onHide","data","isLoading","isError","error","useGetEntityQuery","toast","jsx","Dialog"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYO,MAAMA,KAAgB,CAAC;AAAA,EAC5B,aAAAC;AAAA,EACA,YAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,QAAAC;AACF,MAA0B;AAClB,QAAA;AAAA,IACJ,MAAAC,IAAO,CAAC;AAAA,IACR,WAAAC;AAAA,IACA,SAAAC;AAAA,IACA,OAAAC;AAAA,EAAA,IACEC;AAAA,IACF,EAAE,aAAAT,GAAa,YAAAC,GAAwB,UAAUC,EAAU,CAAC,EAAE;AAAA,IAC9D,EAAE,MAAM,CAACC,EAAQ;AAAA,EACnB;AAOA,SALIG,KACEC,KACIG,EAAA,MAAM,0BAA0BF,CAAK,EAAE,GAG7C,CAACL,KAAWE,EAAK,SAAS,IAAU,OAGtCM,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,QAAQ;AAAA,MACR,SAASR;AAAA,MACT,MAAK;AAAA,MACL,OAAO,EAAE,OAAO,OAAO;AAAA,MACvB,QAAQ,GAAGH,CAAU;AAAA,MAErB,iCAAC,OACE,EAAA,UAAA;AAAA,QAAA,CAACK,KAAa,CAACC,KAAW,KAAK,UAAUF,GAAM,MAAM,CAAC;AAAA,QACtDC,KAAa;AAAA,QACbC,KAAW;AAAA,MAAA,EACd,CAAA;AAAA,IAAA;AAAA,EACF;AAEJ;"}
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../../../../_virtual/jsx-runtime.cjs.js");require("lodash");require("react-toastify");const S=require("../../util/copyToClipboard.cjs.js");require("uuid");require("../../util/pubsub.cjs.js");const p=require("react"),x=require("styled-components"),k=require("clsx"),P=require("@ynput/ayon-react-components"),D=require("./components/RenderFieldWidget.cjs.js"),m=require("../DetailsPanelDetails/BorderedSection.cjs.js"),A=require("../DetailsPanelDetails/FieldLabel.cjs.js"),g=x.div`
2
2
  display: grid;
3
- grid-template-columns: minmax(200px, 1fr) 1fr 32px;
3
+ grid-template-columns: minmax(150px, 1fr) 1fr 32px;
4
4
  row-gap: 2px;
5
5
  column-gap: 4px;
6
6
  align-items: center;