@ynput/ayon-frontend-shared 0.3.30 → 0.3.32

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 (898) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +28 -26
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +217 -201
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Slicer.cjs.js +1 -1
  8. package/dist/Slicer.es.js +23 -22
  9. package/dist/Slicer.es.js.map +1 -1
  10. package/dist/_virtual/index.cjs14.js +1 -1
  11. package/dist/_virtual/index.cjs4.js +1 -1
  12. package/dist/_virtual/index.cjs5.js +1 -1
  13. package/dist/_virtual/index.cjs9.js +1 -1
  14. package/dist/_virtual/index.es10.js +2 -2
  15. package/dist/_virtual/index.es11.js +2 -2
  16. package/dist/_virtual/index.es13.js +2 -2
  17. package/dist/_virtual/index.es14.js +5 -2
  18. package/dist/_virtual/index.es14.js.map +1 -1
  19. package/dist/_virtual/index.es4.js +2 -5
  20. package/dist/_virtual/index.es4.js.map +1 -1
  21. package/dist/_virtual/index.es5.js +5 -2
  22. package/dist/_virtual/index.es5.js.map +1 -1
  23. package/dist/_virtual/index.es9.js +2 -5
  24. package/dist/_virtual/index.es9.js.map +1 -1
  25. package/dist/api.cjs.js +1 -1
  26. package/dist/api.es.js +453 -434
  27. package/dist/api.es.js.map +1 -1
  28. package/dist/index.cjs.js +1 -1
  29. package/dist/index.es.js +15 -13
  30. package/dist/index.es.js.map +1 -1
  31. package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
  32. package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
  33. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  34. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  35. package/dist/shared/node_modules/@module-federation/runtime/dist/index.cjs.js +1 -1
  36. package/dist/shared/node_modules/@module-federation/runtime/dist/index.es.js +1 -1
  37. package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.cjs.js +1 -1
  38. package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.es.js +1 -1
  39. package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.cjs.js +1 -1
  40. package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.es.js +1 -1
  41. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.cjs.js +1 -1
  42. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.es.js +1 -1
  43. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js +1 -1
  44. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js.map +1 -1
  45. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.es.js +1 -1
  46. package/dist/shared/node_modules/@module-federation/sdk/dist/index.cjs.js +1 -1
  47. package/dist/shared/node_modules/@module-federation/sdk/dist/index.es.js +1 -1
  48. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  49. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  50. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
  51. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js.map +1 -1
  52. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
  53. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
  54. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js.map +1 -1
  55. package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
  56. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
  57. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js.map +1 -1
  58. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
  59. package/dist/shared/src/api/base/client.cjs.js +1 -1
  60. package/dist/shared/src/api/base/client.cjs.js.map +1 -1
  61. package/dist/shared/src/api/base/client.es.js +21 -17
  62. package/dist/shared/src/api/base/client.es.js.map +1 -1
  63. package/dist/shared/src/api/generated/folders.cjs.js +1 -1
  64. package/dist/shared/src/api/generated/folders.cjs.js.map +1 -1
  65. package/dist/shared/src/api/generated/folders.es.js +2 -14
  66. package/dist/shared/src/api/generated/folders.es.js.map +1 -1
  67. package/dist/shared/src/api/generated/graphql.cjs.js +237 -55
  68. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  69. package/dist/shared/src/api/generated/graphql.es.js +361 -161
  70. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  71. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  72. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  73. package/dist/shared/src/api/queries/activities/activityQueries.cjs.js +1 -0
  74. package/dist/shared/src/api/queries/activities/activityQueries.cjs.js.map +1 -1
  75. package/dist/shared/src/api/queries/activities/activityQueries.es.js +1 -0
  76. package/dist/shared/src/api/queries/activities/activityQueries.es.js.map +1 -1
  77. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js +1 -1
  78. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js.map +1 -1
  79. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js +33 -21
  80. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js.map +1 -1
  81. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
  82. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
  83. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +74 -60
  84. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
  85. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js +2 -0
  86. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js.map +1 -0
  87. package/dist/shared/src/api/queries/columnStats/columnStats.es.js +96 -0
  88. package/dist/shared/src/api/queries/columnStats/columnStats.es.js.map +1 -0
  89. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js +2 -0
  90. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js.map +1 -0
  91. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js +88 -0
  92. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js.map +1 -0
  93. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
  94. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
  95. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +62 -48
  96. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  97. package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js +1 -1
  98. package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js.map +1 -1
  99. package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js +45 -97
  100. package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js.map +1 -1
  101. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  102. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  103. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +89 -174
  104. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  105. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  106. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  107. package/dist/shared/src/api/queries/entityLists/getLists.es.js +94 -79
  108. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  109. package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -1
  110. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  111. package/dist/shared/src/api/queries/folders/getFolders.es.js +104 -71
  112. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  113. package/dist/shared/src/api/queries/overview/filterRefetchUtils.cjs.js.map +1 -1
  114. package/dist/shared/src/api/queries/overview/filterRefetchUtils.es.js.map +1 -1
  115. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  116. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  117. package/dist/shared/src/api/queries/overview/getOverview.es.js +265 -216
  118. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  119. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  120. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  121. package/dist/shared/src/api/queries/overview/updateOverview.es.js +233 -261
  122. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  123. package/dist/shared/src/api/queries/tasks/updateTasks.cjs.js.map +1 -1
  124. package/dist/shared/src/api/queries/tasks/updateTasks.es.js.map +1 -1
  125. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
  126. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  127. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +138 -107
  128. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  129. package/dist/shared/src/api/queries/users/getUsers.cjs.js +5 -5
  130. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  131. package/dist/shared/src/api/queries/users/getUsers.es.js +58 -106
  132. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  133. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
  134. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
  135. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +332 -239
  136. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
  137. package/dist/shared/src/api/queries/views/updateViews.cjs.js +1 -1
  138. package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -1
  139. package/dist/shared/src/api/queries/views/updateViews.es.js +38 -38
  140. package/dist/shared/src/api/queries/views/updateViews.es.js.map +1 -1
  141. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js +1 -1
  142. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js.map +1 -1
  143. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js +7 -6
  144. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
  145. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  146. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  147. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +7 -6
  148. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  149. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  150. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  151. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +8 -6
  152. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  153. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  154. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  155. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +7 -6
  156. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  157. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  158. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  159. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +7 -6
  160. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  161. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  162. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  163. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +7 -6
  164. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  165. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js +1 -1
  166. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js.map +1 -1
  167. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js +7 -6
  168. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js.map +1 -1
  169. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  170. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  171. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +141 -162
  172. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  173. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  174. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  175. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +8 -6
  176. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  177. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  178. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  179. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +7 -6
  180. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  181. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  182. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  183. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +9 -8
  184. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  185. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  186. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  187. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +7 -6
  188. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  189. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  190. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  191. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +3 -2
  192. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  193. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
  194. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
  195. package/dist/shared/src/components/LinksManager/LinksManager.es.js +7 -6
  196. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
  197. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  198. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  199. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +8 -6
  200. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  201. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  202. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  203. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +7 -6
  204. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  205. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
  206. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -1
  207. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +7 -6
  208. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -1
  209. package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
  210. package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -1
  211. package/dist/shared/src/components/Menu/Menu.es.js +7 -6
  212. package/dist/shared/src/components/Menu/Menu.es.js.map +1 -1
  213. package/dist/shared/src/components/Menu/MenuItem.cjs.js +1 -1
  214. package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -1
  215. package/dist/shared/src/components/Menu/MenuItem.es.js +5 -4
  216. package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -1
  217. package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
  218. package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
  219. package/dist/shared/src/components/Menu/MenuList.es.js +7 -6
  220. package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
  221. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
  222. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  223. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +7 -6
  224. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  225. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  226. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  227. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +7 -6
  228. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  229. package/dist/shared/src/components/Powerpack/useFreeTrialLink.cjs.js +1 -1
  230. package/dist/shared/src/components/Powerpack/useFreeTrialLink.cjs.js.map +1 -1
  231. package/dist/shared/src/components/Powerpack/useFreeTrialLink.es.js +7 -6
  232. package/dist/shared/src/components/Powerpack/useFreeTrialLink.es.js.map +1 -1
  233. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
  234. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  235. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +83 -81
  236. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  237. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  238. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  239. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +10 -8
  240. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  241. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  242. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  243. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +7 -6
  244. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  245. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  246. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  247. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +8 -6
  248. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  249. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  250. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  251. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +8 -6
  252. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  253. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  254. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  255. package/dist/shared/src/components/RenameForm/RenameForm.es.js +8 -6
  256. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  257. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  258. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  259. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +7 -6
  260. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  261. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  262. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  263. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +8 -6
  264. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  265. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  266. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  267. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +9 -7
  268. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  269. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  270. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  271. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +8 -6
  272. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  273. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  274. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  275. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +7 -6
  276. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  277. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  278. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  279. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +8 -6
  280. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  281. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  282. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  283. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +11 -10
  284. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  285. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +1 -1
  286. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  287. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +7 -6
  288. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  289. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
  290. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  291. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +10 -8
  292. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  293. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  294. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  295. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +8 -6
  296. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  297. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js +1 -1
  298. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js.map +1 -1
  299. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js +7 -6
  300. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js.map +1 -1
  301. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +2 -2
  302. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  303. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +15 -14
  304. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  305. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js +1 -1
  306. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js.map +1 -1
  307. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js +49 -44
  308. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js.map +1 -1
  309. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js +3 -3
  310. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js.map +1 -1
  311. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js +32 -22
  312. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js.map +1 -1
  313. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  314. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  315. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +8 -6
  316. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  317. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  318. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  319. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +12 -10
  320. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  321. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  322. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  323. package/dist/shared/src/components/Watchers/Watchers.es.js +7 -6
  324. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  325. package/dist/shared/src/config/powerpackFeatures.cjs.js +1 -1
  326. package/dist/shared/src/config/powerpackFeatures.cjs.js.map +1 -1
  327. package/dist/shared/src/config/powerpackFeatures.es.js +7 -1
  328. package/dist/shared/src/config/powerpackFeatures.es.js.map +1 -1
  329. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  330. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  331. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +8 -6
  332. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  333. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  334. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  335. package/dist/shared/src/containers/Actions/Actions.es.js +7 -6
  336. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  337. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  338. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  339. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +8 -6
  340. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  341. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  342. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  343. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +4 -2
  344. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  345. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  346. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  347. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +8 -6
  348. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  349. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  350. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  351. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +45 -42
  352. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  353. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  354. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  355. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +8 -6
  356. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  357. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  358. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
  359. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +8 -6
  360. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
  361. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  362. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
  363. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +8 -6
  364. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
  365. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  366. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  367. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +7 -6
  368. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  369. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  370. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  371. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +22 -20
  372. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  373. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  374. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  375. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +8 -6
  376. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  377. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  378. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  379. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +8 -6
  380. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  381. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  382. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  383. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +17 -15
  384. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  385. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js +1 -1
  386. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js.map +1 -1
  387. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js +14 -14
  388. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js.map +1 -1
  389. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  390. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  391. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +17 -13
  392. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  393. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  394. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  395. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +8 -6
  396. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  397. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  398. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  399. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +8 -6
  400. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  401. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  402. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  403. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +8 -6
  404. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  405. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  406. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  407. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +8 -6
  408. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  409. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  410. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +7 -6
  412. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  413. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  414. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/Feed/Feed.es.js +9 -8
  416. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  417. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  418. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +8 -6
  420. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  421. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  422. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +8 -6
  424. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  425. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  426. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +8 -6
  428. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  429. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  430. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  431. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +32 -31
  432. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  433. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  434. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +8 -6
  436. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  437. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  438. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +12 -10
  440. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  441. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  442. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  443. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +7 -6
  444. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  445. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  446. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  447. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +7 -6
  448. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  449. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  450. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  451. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +7 -6
  452. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  453. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  454. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  455. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +41 -48
  456. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  457. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js +1 -1
  458. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js.map +1 -1
  459. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.es.js +7 -6
  460. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.es.js.map +1 -1
  461. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  462. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  463. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +10 -9
  464. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  465. package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.cjs.js +1 -1
  466. package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.cjs.js.map +1 -1
  467. package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.es.js +14 -13
  468. package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.es.js.map +1 -1
  469. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  470. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  471. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +7 -6
  472. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  473. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  474. package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
  475. package/dist/shared/src/containers/ListTable/ListTable.es.js +216 -208
  476. package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
  477. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  478. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  479. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +8 -6
  480. package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
  481. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  482. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
  483. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +8 -6
  484. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
  485. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  486. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  487. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +733 -679
  488. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  489. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +32 -10
  490. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
  491. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +42 -18
  492. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
  493. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  494. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  495. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +21 -18
  496. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  497. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  498. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  499. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +61 -47
  500. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  501. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  502. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  503. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +8 -6
  504. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  505. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  506. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  507. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +8 -6
  508. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  509. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js +48 -0
  510. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js.map +1 -0
  511. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js +103 -0
  512. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js.map +1 -0
  513. package/dist/shared/src/containers/ProjectTreeTable/constants.cjs.js +2 -0
  514. package/dist/shared/src/containers/ProjectTreeTable/constants.cjs.js.map +1 -0
  515. package/dist/shared/src/containers/ProjectTreeTable/constants.es.js +6 -0
  516. package/dist/shared/src/containers/ProjectTreeTable/constants.es.js.map +1 -0
  517. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  518. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  519. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +8 -6
  520. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  521. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +4 -4
  522. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  523. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +11 -9
  524. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  525. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js.map +1 -1
  526. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js.map +1 -1
  527. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  528. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  529. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +219 -185
  530. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  531. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  532. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  533. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +9 -8
  534. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  535. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
  536. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
  537. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +7 -6
  538. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
  539. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js +1 -1
  540. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js.map +1 -1
  541. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js +21 -17
  542. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js.map +1 -1
  543. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js +1 -1
  544. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js.map +1 -1
  545. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js +1 -2
  546. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js.map +1 -1
  547. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  548. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  549. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +21 -15
  550. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  551. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  552. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  553. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +7 -6
  554. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  555. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  556. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  557. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +87 -85
  558. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  559. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  560. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  561. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +120 -115
  562. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  563. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  564. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  565. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +10 -7
  566. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  567. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  568. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  569. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +8 -6
  570. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  571. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  572. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  573. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +8 -6
  574. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  575. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  576. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  577. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +8 -6
  578. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  579. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  580. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  581. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +7 -6
  582. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  583. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.cjs.js.map +1 -1
  584. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.es.js.map +1 -1
  585. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  586. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  587. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +8 -6
  588. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  589. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  590. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  591. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +8 -6
  592. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  593. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  594. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  595. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +8 -6
  596. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  597. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  598. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  599. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +8 -6
  600. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  601. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  602. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  603. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +8 -6
  604. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  605. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  606. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  607. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +84 -82
  608. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  609. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  610. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  611. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +8 -6
  612. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  613. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  614. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  615. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +49 -48
  616. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  617. package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.cjs.js +2 -0
  618. package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.cjs.js.map +1 -0
  619. package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.es.js +16 -0
  620. package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.es.js.map +1 -0
  621. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  622. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  623. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +19 -17
  624. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  625. package/dist/shared/src/containers/ProjectTreeTable/utils/checkColumnVisibility.cjs.js +1 -1
  626. package/dist/shared/src/containers/ProjectTreeTable/utils/checkColumnVisibility.cjs.js.map +1 -1
  627. package/dist/shared/src/containers/ProjectTreeTable/utils/checkColumnVisibility.es.js +29 -25
  628. package/dist/shared/src/containers/ProjectTreeTable/utils/checkColumnVisibility.es.js.map +1 -1
  629. package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.cjs.js +2 -0
  630. package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.cjs.js.map +1 -0
  631. package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.es.js +17 -0
  632. package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.es.js.map +1 -0
  633. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  634. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  635. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +8 -6
  636. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  637. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  638. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  639. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +16 -14
  640. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  641. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  642. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  643. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +10 -8
  644. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  645. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +1 -1
  646. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
  647. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +7 -6
  648. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js.map +1 -1
  649. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  650. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  651. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +8 -6
  652. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  653. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  654. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  655. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +8 -6
  656. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  657. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +1 -1
  658. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
  659. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +7 -6
  660. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
  661. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +4 -4
  662. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -1
  663. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +24 -19
  664. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js.map +1 -1
  665. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  666. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  667. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +8 -6
  668. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  669. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  670. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  671. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +8 -6
  672. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  673. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +1 -1
  674. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
  675. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +7 -6
  676. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -1
  677. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  678. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  679. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +8 -6
  680. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  681. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  682. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  683. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +9 -8
  684. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  685. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
  686. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
  687. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +7 -6
  688. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
  689. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +1 -1
  690. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -1
  691. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +7 -6
  692. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
  693. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
  694. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
  695. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +8 -6
  696. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
  697. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +1 -1
  698. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -1
  699. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +7 -6
  700. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -1
  701. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  702. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  703. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +16 -15
  704. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  705. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js +1 -1
  706. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -1
  707. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js +7 -6
  708. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -1
  709. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  710. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  711. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +7 -6
  712. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  713. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  714. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  715. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +8 -6
  716. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  717. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +1 -1
  718. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  719. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +7 -6
  720. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  721. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  722. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  723. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +123 -122
  724. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  725. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js +1 -1
  726. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js.map +1 -1
  727. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js +18 -16
  728. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js.map +1 -1
  729. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -1
  730. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
  731. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +79 -51
  732. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
  733. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.cjs.js +1 -1
  734. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.cjs.js.map +1 -1
  735. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.es.js +19 -17
  736. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.es.js.map +1 -1
  737. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js +1 -1
  738. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js.map +1 -1
  739. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js +7 -6
  740. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js.map +1 -1
  741. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  742. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  743. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +10 -9
  744. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  745. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  746. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  747. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +16 -15
  748. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  749. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  750. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  751. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +7 -6
  752. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  753. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  754. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  755. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +82 -69
  756. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  757. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  758. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  759. package/dist/shared/src/context/AddonProjectContext.es.js +9 -8
  760. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  761. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  762. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  763. package/dist/shared/src/context/DetailsPanelContext.es.js +9 -8
  764. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  765. package/dist/shared/src/context/GlobalContext.cjs.js +1 -1
  766. package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -1
  767. package/dist/shared/src/context/GlobalContext.es.js +9 -8
  768. package/dist/shared/src/context/GlobalContext.es.js.map +1 -1
  769. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  770. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  771. package/dist/shared/src/context/PowerpackContext.es.js +11 -10
  772. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  773. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  774. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  775. package/dist/shared/src/context/ProjectContext.es.js +9 -8
  776. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  777. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  778. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  779. package/dist/shared/src/context/ProjectFoldersContext.es.js +9 -8
  780. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  781. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  782. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  783. package/dist/shared/src/context/RemoteModulesContext.es.js +9 -8
  784. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  785. package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
  786. package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
  787. package/dist/shared/src/context/SubtasksModulesContext.es.js +9 -8
  788. package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
  789. package/dist/shared/src/context/UriContext.cjs.js +1 -1
  790. package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
  791. package/dist/shared/src/context/UriContext.es.js +10 -9
  792. package/dist/shared/src/context/UriContext.es.js.map +1 -1
  793. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  794. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  795. package/dist/shared/src/context/WebsocketContext.es.js +10 -8
  796. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  797. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  798. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  799. package/dist/shared/src/hooks/useActionTriggers.es.js +7 -6
  800. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  801. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  802. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  803. package/dist/shared/src/hooks/useEntityUpdate.es.js +7 -6
  804. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  805. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
  806. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
  807. package/dist/shared/src/hooks/useGetEntityGroups.es.js +7 -6
  808. package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
  809. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  810. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  811. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +7 -6
  812. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  813. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  814. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  815. package/dist/shared/src/hooks/useHierarchyTable.es.js +7 -6
  816. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  817. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  818. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  819. package/dist/shared/src/hooks/useScopedStatuses.es.js +9 -8
  820. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  821. package/dist/shared/src/hooks/useScopedTypes.cjs.js +1 -1
  822. package/dist/shared/src/hooks/useScopedTypes.cjs.js.map +1 -1
  823. package/dist/shared/src/hooks/useScopedTypes.es.js +7 -6
  824. package/dist/shared/src/hooks/useScopedTypes.es.js.map +1 -1
  825. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  826. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  827. package/dist/shared/src/hooks/useUserProjectConfig.es.js +7 -6
  828. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  829. package/dist/shared/src/util/columnConfigConverter.cjs.js +1 -1
  830. package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
  831. package/dist/shared/src/util/columnConfigConverter.es.js +86 -65
  832. package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
  833. package/dist/shared/src/util/getThumbnailUrl.cjs.js +2 -0
  834. package/dist/shared/src/util/getThumbnailUrl.cjs.js.map +1 -0
  835. package/dist/shared/src/util/getThumbnailUrl.es.js +23 -0
  836. package/dist/shared/src/util/getThumbnailUrl.es.js.map +1 -0
  837. package/dist/shared/src/util/thumbnailWebsocket.cjs.js +2 -0
  838. package/dist/shared/src/util/thumbnailWebsocket.cjs.js.map +1 -0
  839. package/dist/shared/src/util/thumbnailWebsocket.es.js +54 -0
  840. package/dist/shared/src/util/thumbnailWebsocket.es.js.map +1 -0
  841. package/dist/types/api/generated/folders.d.ts +1 -6
  842. package/dist/types/api/generated/graphql.d.ts +275 -6
  843. package/dist/types/api/generated/graphqlLinks.d.ts +7 -4
  844. package/dist/types/api/queries/activities/activityQueries.d.ts +1 -0
  845. package/dist/types/api/queries/activities/getActivities.d.ts +47 -0
  846. package/dist/types/api/queries/activities/types.d.ts +1 -1
  847. package/dist/types/api/queries/activities/updateActivities.d.ts +94 -0
  848. package/dist/types/api/queries/activities/util/activitiesHelpers.d.ts +2 -1
  849. package/dist/types/api/queries/columnStats/columnStats.d.ts +28 -0
  850. package/dist/types/api/queries/columnStats/index.d.ts +2 -0
  851. package/dist/types/api/queries/columnStats/metricTargets.d.ts +31 -0
  852. package/dist/types/api/queries/entities/getEntity.d.ts +47 -0
  853. package/dist/types/api/queries/entities/getEntityPanel.d.ts +47 -0
  854. package/dist/types/api/queries/entities/transformDetailsPanelData.d.ts +1 -0
  855. package/dist/types/api/queries/entities/updateEntity.d.ts +47 -0
  856. package/dist/types/api/queries/entityLists/getLists.d.ts +47 -0
  857. package/dist/types/api/queries/index.d.ts +1 -0
  858. package/dist/types/api/queries/overview/filterRefetchUtils.d.ts +1 -1
  859. package/dist/types/api/queries/overview/getOverview.d.ts +733 -1
  860. package/dist/types/api/queries/overview/updateOverview.d.ts +1 -1
  861. package/dist/types/api/queries/project/getProject.d.ts +47 -0
  862. package/dist/types/api/queries/tasks/updateTasks.d.ts +1 -1
  863. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +69 -0
  864. package/dist/types/api/queries/users/getUsers.d.ts +459 -413
  865. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +828 -1
  866. package/dist/types/components/EntityPanelUploader/EntityPanelUploader.d.ts +1 -11
  867. package/dist/types/components/Thumbnail/StackedThumbnails.d.ts +2 -2
  868. package/dist/types/components/Thumbnail/Thumbnail.d.ts +2 -2
  869. package/dist/types/components/ThumbnailSimple/ThumbnailSimple.d.ts +1 -1
  870. package/dist/types/config/powerpackFeatures.d.ts +1 -1
  871. package/dist/types/containers/DetailsPanel/containers/FeedWrapper.d.ts +1 -0
  872. package/dist/types/containers/DetailsPanel/helpers/getThumbnails.d.ts +2 -2
  873. package/dist/types/containers/Feed/components/ActivityVersions/ActivityVersions.d.ts +1 -0
  874. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +8 -3
  875. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.styled.d.ts +2 -0
  876. package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +1 -1
  877. package/dist/types/containers/ProjectTreeTable/components/TableFooterRow.d.ts +14 -0
  878. package/dist/types/containers/ProjectTreeTable/constants.d.ts +2 -0
  879. package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsContext.d.ts +10 -0
  880. package/dist/types/containers/ProjectTreeTable/context/SelectionCellsContext.d.ts +0 -1
  881. package/dist/types/containers/ProjectTreeTable/index.d.ts +1 -0
  882. package/dist/types/containers/ProjectTreeTable/types/index.d.ts +17 -1
  883. package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +2 -0
  884. package/dist/types/containers/ProjectTreeTable/types/summaryTypes.d.ts +50 -0
  885. package/dist/types/containers/ProjectTreeTable/types/table.d.ts +3 -0
  886. package/dist/types/containers/ProjectTreeTable/utils/checkColumnVisibility.d.ts +2 -0
  887. package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +1 -0
  888. package/dist/types/containers/ProjectTreeTable/utils/pinningUtils.d.ts +6 -0
  889. package/dist/types/containers/ProjectTreeTable/widgets/ThumbnailWidget.d.ts +1 -1
  890. package/dist/types/containers/Views/hooks/useSelectedView.d.ts +2 -1
  891. package/dist/types/containers/Views/utils/viewUpdateHelper.d.ts +7 -3
  892. package/dist/types/util/getThumbnailUrl.d.ts +18 -0
  893. package/dist/types/util/index.d.ts +2 -0
  894. package/dist/types/util/thumbnailWebsocket.d.ts +21 -0
  895. package/dist/util.cjs.js +1 -1
  896. package/dist/util.es.js +35 -30
  897. package/dist/util.es.js.map +1 -1
  898. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const C=require("../../../../_virtual/jsx-runtime.cjs.js"),I=require("react"),ne=require("./MenuItem.cjs.js"),ue=require("@ynput/ayon-react-components"),O=require("./Menu.styled.cjs.js");require("../../context/RemoteModulesContext.cjs.js");const oe=require("../../context/PowerpackContext.cjs.js");require("../../context/UriContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("../../api/base/client.cjs.js");require("../../api/generated/graphql.cjs.js");require("../../api/generated/graphqlLinks.cjs.js");require("../../api/generated/access.cjs.js");require("../../api/generated/actions.cjs.js");require("../../api/generated/activityFeed.cjs.js");require("../../api/generated/addons.cjs.js");require("../../api/generated/anatomy.cjs.js");require("../../api/generated/attributes.cjs.js");require("../../api/generated/authentication.cjs.js");require("../../api/generated/bundles.cjs.js");require("../../api/generated/configuration.cjs.js");require("../../api/generated/dataImport.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/projectFolders.cjs.js");require("../../api/generated/reviewables.cjs.js");require("../../api/generated/services.cjs.js");require("../../api/generated/system.cjs.js");require("../../api/generated/tasks.cjs.js");require("../../api/generated/teams.cjs.js");require("../../api/generated/thumbnails.cjs.js");require("../../api/generated/uRIs.cjs.js");require("../../api/generated/users.cjs.js");require("../../api/generated/versions.cjs.js");require("../../api/generated/workfiles.cjs.js");require("../../api/generated/ynputCloud.cjs.js");require("../../api/generated/grouping.cjs.js");require("../../api/generated/views.cjs.js");require("../../api/queries/actions/getActions.cjs.js");require("../../api/queries/activities/getActivities.cjs.js");require("../../api/queries/activities/updateActivities.cjs.js");require("../../api/queries/activities/updateReaction.cjs.js");require("../../api/queries/activities/getMentions.cjs.js");require("../../api/queries/activities/getCategories.cjs.js");require("../../api/queries/addons/getAddons.cjs.js");require("../../api/queries/addons/updateAddons.cjs.js");require("../../api/queries/attributes/getAttributes.cjs.js");require("../../api/queries/attributes/updateAttributes.cjs.js");require("../../api/queries/authentication/getAuthentication.cjs.js");require("../../api/queries/cloud/cloud.cjs.js");require("../../api/queries/config/getConfig.cjs.js");require("../../api/queries/config/updateConfig.cjs.js");require("../../api/queries/entities/getEntity.cjs.js");require("../../api/queries/entities/getEntityPanel.cjs.js");require("../../api/queries/entities/updateEntity.cjs.js");require("../../api/queries/entityLists/getLists.cjs.js");require("../../api/queries/entityLists/updateLists.cjs.js");require("../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../api/queries/entityLists/listFolders.cjs.js");require("../../api/queries/folders/getFolders.cjs.js");require("../../api/queries/folders/getFolderDeleteInfo.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/products/getFolderProducts.cjs.js");require("../../api/queries/project/getProject.cjs.js");require("../../api/queries/project/updateProject.cjs.js");require("../../api/queries/projectFolders/projectFolders.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/tasks/getTasks.cjs.js");require("../../api/queries/tasks/updateTasks.cjs.js");require("../../api/queries/teams/getTeams.cjs.js");require("../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../api/queries/users/getUsers.cjs.js");require("../../api/queries/users/updateUsers.cjs.js");require("../../api/queries/users/guests.cjs.js");require("../../api/queries/versions/updateVersions.cjs.js");require("../../api/queries/views/getViews.cjs.js");require("../../api/queries/views/updateViews.cjs.js");require("../../api/queries/watchers/getWatchers.cjs.js");require("../../api/queries/uris/getUris.cjs.js");require("lodash");require("react-toastify");require("react-redux");require("custom-protocol-check");require("../../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("uuid");require("../../util/pubsub.cjs.js");require("../../context/DetailsPanelContextInstance.cjs.js");require("../../context/SubtasksModulesContextInstance.cjs.js");require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");require("../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");require("../../context/MoveEntityContext.cjs.js");require("../../context/MenuContext.cjs.js");require("../../context/WebsocketContext.cjs.js");require("../../context/GlobalContext.cjs.js");require("../../context/ProjectContext.cjs.js");require("../../context/ProjectFoldersContext.cjs.js");const se=({items:V,handleClick:W,onSubMenu:H,onSubMenuLayout:T,subMenu:a,level:A,id:y="root-menu",parentRef:M,style:l,placement:k,onClose:K,onMenuClose:_,itemClassName:Y,itemStyle:z,setPowerpackDialog:G,...J})=>{const D=I.useRef({}),E=I.useRef(null),S=(r,p,d)=>{const g=D.current[p],h=E.current;if(!g||!h)return;const m=(h.offsetParent??document.body).getBoundingClientRect(),f=g.getBoundingClientRect(),t=(h.querySelector("menu")??h).getBoundingClientRect(),P=window.innerWidth,v=window.innerHeight,i=8,o=Math.max(240,t.width),L=Math.min(d.length*36+16,480),w=4,n=()=>Math.max(i,t.left-o-w),R=()=>t.right+w,x=R()+o<=P-i,e=n()>=i;let s,c;k==="left"&&e?(s="left",c=n()):x?(s="right",c=R()):e?(s="left",c=n()):(s="left",c=Math.max(i,P-o-i));let q=f.top-8;q+L>v-i&&(q=Math.max(i,v-L-i));const j=s==="left"?c-16:c;H?.(r,{id:p,style:{top:q-m.top,left:j-m.left},items:d,level:A,placement:s,parentEl:g})},Q=r=>{a&&H?.(r,{id:"parent",items:[]})};return I.useEffect(()=>{a&&E.current&&E.current.querySelectorAll("li, button")[0]?.focus()},[a]),I.useLayoutEffect(()=>{if(!a||!E.current||!M||!T||!y)return;const r=E.current,p=M,d=p.closest(".menu-list, .sub-menu");if(!d)return;const g=r.querySelector("menu")??r,h=d.querySelector("menu")??d,m=(r.offsetParent??document.body).getBoundingClientRect(),f=r.getBoundingClientRect(),u=g.getBoundingClientRect(),t=h.getBoundingClientRect(),P=p.getBoundingClientRect(),v=u.left-f.left,i=u.width,o=u.height,L=window.innerWidth,w=window.innerHeight,n=8,R=4,x=()=>Math.max(n,t.left-i-R),e=()=>t.right+R,s=e()+i<=L-n,c=x()>=n;let b,q;k==="left"&&c?(b="left",q=x()):s?(b="right",q=e()):c?(b="left",q=x()):(b="left",q=Math.max(n,L-i-n));const j=g.querySelector(":scope > li")?.getBoundingClientRect(),X=P.top,Z=j?j.top:f.top+8,ee=X-Z;let F=f.top+ee;F+o>w-n&&(F=Math.max(n,w-o-n));const re=b==="left"?q-v:q,$=F-m.top,N=re-m.left,te=typeof l?.top=="number"?l.top:parseFloat(String(l?.top)),ie=typeof l?.left=="number"?l.left:parseFloat(String(l?.left));(Math.abs($-te)>1||Math.abs(N-ie)>1)&&T(y,{top:$,left:N},b)},[a,V,M,y,k,l?.top,l?.left,T]),C.jsxRuntimeExports.jsx(O.MenuWrapper,{style:{paddingLeft:a?16:0,...l},className:a?"sub-menu":"menu-list",id:y,onMouseLeave:Q,...J,ref:E,children:C.jsxRuntimeExports.jsx(O.Menu,{children:V.filter(r=>!r.hidden).map((r,p)=>{if(r.node)return r.node;if(r?.id==="divider"||r?.separator)return C.jsxRuntimeExports.jsx("hr",{},p);const{label:d,icon:g,img:h,highlighted:B,onClick:m,link:f,items:u=[],id:t,disableClose:P,selected:v,disabled:i,powerFeature:o,active:L,...w}=r,{powerLicense:n}=oe.usePowerpack(),R=!n&&o,x=e=>{e.preventDefault(),e.stopPropagation(),o&&G?.(o),_?.()};return C.jsxRuntimeExports.jsx(ne,{tabIndex:0,label:d,icon:g,img:h,highlighted:B,items:u,selected:v,disabled:i,powerFeature:o,active:L,isLink:f,onClick:e=>R?x(e):u.length?S(e,t,u):W(e,m,f,P),onKeyDown:e=>{e.key==="Enter"&&(R?x(e):u.length?S(e,t,u):W(e,m,f));const s=!e.target.nextSibling;e.key==="Tab"&&s&&!e.shiftKey&&(e.preventDefault(),e.stopPropagation(),E.current?.querySelectorAll("li, button")[0]?.focus()),e.key==="Escape"&&a&&M&&(e.preventDefault(),e.stopPropagation(),M.focus(),K?.(t))},style:{paddingRight:u.length?"0":"16px",...z},ref:e=>D.current[t]=e,onMouseEnter:e=>S(e,t,u),onMouseLeave:e=>S(e,t,[]),className:`${Y} ${w.className||""}`,...w,children:!!u.length&&C.jsxRuntimeExports.jsx(ue.Icon,{icon:"arrow_right",style:{marginLeft:"auto"}})},`${t}-${p}`)})})})};exports.MenuList=se;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const C=require("../../../../_virtual/jsx-runtime.cjs.js"),I=require("react"),ne=require("./MenuItem.cjs.js"),ue=require("@ynput/ayon-react-components"),O=require("./Menu.styled.cjs.js");require("../../context/RemoteModulesContext.cjs.js");const oe=require("../../context/PowerpackContext.cjs.js");require("../../context/UriContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("../../api/base/client.cjs.js");require("../../api/generated/graphql.cjs.js");require("../../api/generated/graphqlLinks.cjs.js");require("../../api/generated/access.cjs.js");require("../../api/generated/actions.cjs.js");require("../../api/generated/activityFeed.cjs.js");require("../../api/generated/addons.cjs.js");require("../../api/generated/anatomy.cjs.js");require("../../api/generated/attributes.cjs.js");require("../../api/generated/authentication.cjs.js");require("../../api/generated/bundles.cjs.js");require("../../api/generated/configuration.cjs.js");require("../../api/generated/dataImport.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/projectFolders.cjs.js");require("../../api/generated/reviewables.cjs.js");require("../../api/generated/services.cjs.js");require("../../api/generated/system.cjs.js");require("../../api/generated/tasks.cjs.js");require("../../api/generated/teams.cjs.js");require("../../api/generated/thumbnails.cjs.js");require("../../api/generated/uRIs.cjs.js");require("../../api/generated/users.cjs.js");require("../../api/generated/versions.cjs.js");require("../../api/generated/workfiles.cjs.js");require("../../api/generated/ynputCloud.cjs.js");require("../../api/generated/grouping.cjs.js");require("../../api/generated/views.cjs.js");require("../../api/queries/actions/getActions.cjs.js");require("../../api/queries/activities/getActivities.cjs.js");require("../../api/queries/activities/updateActivities.cjs.js");require("../../api/queries/activities/updateReaction.cjs.js");require("../../api/queries/activities/getMentions.cjs.js");require("../../api/queries/activities/getCategories.cjs.js");require("../../api/queries/addons/getAddons.cjs.js");require("../../api/queries/addons/updateAddons.cjs.js");require("../../api/queries/attributes/getAttributes.cjs.js");require("../../api/queries/attributes/updateAttributes.cjs.js");require("../../api/queries/authentication/getAuthentication.cjs.js");require("../../api/queries/cloud/cloud.cjs.js");require("../../api/queries/columnStats/metricTargets.cjs.js");require("../../api/queries/config/getConfig.cjs.js");require("../../api/queries/config/updateConfig.cjs.js");require("../../api/queries/entities/getEntity.cjs.js");require("../../api/queries/entities/getEntityPanel.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/links/getEntityLinks.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/folders/getFolderDeleteInfo.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/permissions/getPermissions.cjs.js");require("../../api/queries/products/createProduct.cjs.js");require("../../api/queries/products/getFolderProducts.cjs.js");require("../../api/queries/project/getProject.cjs.js");require("../../api/queries/project/updateProject.cjs.js");require("../../api/queries/projectFolders/projectFolders.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/tasks/getTasks.cjs.js");require("../../api/queries/tasks/updateTasks.cjs.js");require("../../api/queries/teams/getTeams.cjs.js");require("../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../api/queries/users/getUsers.cjs.js");require("../../api/queries/users/updateUsers.cjs.js");require("../../api/queries/users/guests.cjs.js");require("../../api/queries/versions/updateVersions.cjs.js");require("../../api/queries/views/getViews.cjs.js");require("../../api/queries/views/updateViews.cjs.js");require("../../api/queries/watchers/getWatchers.cjs.js");require("../../api/queries/uris/getUris.cjs.js");require("lodash");require("react-toastify");require("react-redux");require("custom-protocol-check");require("../../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("uuid");require("../../util/pubsub.cjs.js");require("../../context/DetailsPanelContextInstance.cjs.js");require("../../context/SubtasksModulesContextInstance.cjs.js");require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");require("../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");require("../../context/MoveEntityContext.cjs.js");require("../../context/MenuContext.cjs.js");require("../../context/WebsocketContext.cjs.js");require("../../context/GlobalContext.cjs.js");require("../../context/ProjectContext.cjs.js");require("../../context/ProjectFoldersContext.cjs.js");const se=({items:V,handleClick:W,onSubMenu:H,onSubMenuLayout:T,subMenu:a,level:A,id:y="root-menu",parentRef:M,style:l,placement:k,onClose:K,onMenuClose:_,itemClassName:Y,itemStyle:z,setPowerpackDialog:G,...J})=>{const D=I.useRef({}),E=I.useRef(null),S=(r,p,d)=>{const g=D.current[p],h=E.current;if(!g||!h)return;const m=(h.offsetParent??document.body).getBoundingClientRect(),f=g.getBoundingClientRect(),t=(h.querySelector("menu")??h).getBoundingClientRect(),P=window.innerWidth,v=window.innerHeight,i=8,o=Math.max(240,t.width),L=Math.min(d.length*36+16,480),w=4,n=()=>Math.max(i,t.left-o-w),R=()=>t.right+w,x=R()+o<=P-i,e=n()>=i;let s,c;k==="left"&&e?(s="left",c=n()):x?(s="right",c=R()):e?(s="left",c=n()):(s="left",c=Math.max(i,P-o-i));let q=f.top-8;q+L>v-i&&(q=Math.max(i,v-L-i));const j=s==="left"?c-16:c;H?.(r,{id:p,style:{top:q-m.top,left:j-m.left},items:d,level:A,placement:s,parentEl:g})},Q=r=>{a&&H?.(r,{id:"parent",items:[]})};return I.useEffect(()=>{a&&E.current&&E.current.querySelectorAll("li, button")[0]?.focus()},[a]),I.useLayoutEffect(()=>{if(!a||!E.current||!M||!T||!y)return;const r=E.current,p=M,d=p.closest(".menu-list, .sub-menu");if(!d)return;const g=r.querySelector("menu")??r,h=d.querySelector("menu")??d,m=(r.offsetParent??document.body).getBoundingClientRect(),f=r.getBoundingClientRect(),u=g.getBoundingClientRect(),t=h.getBoundingClientRect(),P=p.getBoundingClientRect(),v=u.left-f.left,i=u.width,o=u.height,L=window.innerWidth,w=window.innerHeight,n=8,R=4,x=()=>Math.max(n,t.left-i-R),e=()=>t.right+R,s=e()+i<=L-n,c=x()>=n;let b,q;k==="left"&&c?(b="left",q=x()):s?(b="right",q=e()):c?(b="left",q=x()):(b="left",q=Math.max(n,L-i-n));const j=g.querySelector(":scope > li")?.getBoundingClientRect(),X=P.top,Z=j?j.top:f.top+8,ee=X-Z;let F=f.top+ee;F+o>w-n&&(F=Math.max(n,w-o-n));const re=b==="left"?q-v:q,$=F-m.top,N=re-m.left,te=typeof l?.top=="number"?l.top:parseFloat(String(l?.top)),ie=typeof l?.left=="number"?l.left:parseFloat(String(l?.left));(Math.abs($-te)>1||Math.abs(N-ie)>1)&&T(y,{top:$,left:N},b)},[a,V,M,y,k,l?.top,l?.left,T]),C.jsxRuntimeExports.jsx(O.MenuWrapper,{style:{paddingLeft:a?16:0,...l},className:a?"sub-menu":"menu-list",id:y,onMouseLeave:Q,...J,ref:E,children:C.jsxRuntimeExports.jsx(O.Menu,{children:V.filter(r=>!r.hidden).map((r,p)=>{if(r.node)return r.node;if(r?.id==="divider"||r?.separator)return C.jsxRuntimeExports.jsx("hr",{},p);const{label:d,icon:g,img:h,highlighted:B,onClick:m,link:f,items:u=[],id:t,disableClose:P,selected:v,disabled:i,powerFeature:o,active:L,...w}=r,{powerLicense:n}=oe.usePowerpack(),R=!n&&o,x=e=>{e.preventDefault(),e.stopPropagation(),o&&G?.(o),_?.()};return C.jsxRuntimeExports.jsx(ne,{tabIndex:0,label:d,icon:g,img:h,highlighted:B,items:u,selected:v,disabled:i,powerFeature:o,active:L,isLink:f,onClick:e=>R?x(e):u.length?S(e,t,u):W(e,m,f,P),onKeyDown:e=>{e.key==="Enter"&&(R?x(e):u.length?S(e,t,u):W(e,m,f));const s=!e.target.nextSibling;e.key==="Tab"&&s&&!e.shiftKey&&(e.preventDefault(),e.stopPropagation(),E.current?.querySelectorAll("li, button")[0]?.focus()),e.key==="Escape"&&a&&M&&(e.preventDefault(),e.stopPropagation(),M.focus(),K?.(t))},style:{paddingRight:u.length?"0":"16px",...z},ref:e=>D.current[t]=e,onMouseEnter:e=>S(e,t,u),onMouseLeave:e=>S(e,t,[]),className:`${Y} ${w.className||""}`,...w,children:!!u.length&&C.jsxRuntimeExports.jsx(ue.Icon,{icon:"arrow_right",style:{marginLeft:"auto"}})},`${t}-${p}`)})})})};exports.MenuList=se;
2
2
  //# sourceMappingURL=MenuList.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuList.cjs.js","sources":["../../../../../src/components/Menu/MenuList.tsx"],"sourcesContent":["import React, { useEffect, useLayoutEffect, useRef } from 'react'\nimport MenuItem from './MenuItem'\nimport { Icon } from '@ynput/ayon-react-components'\nimport * as Styled from './Menu.styled'\nimport { PowerpackFeature, usePowerpack } from '@shared/context'\nimport type { MenuItemType } from './Menu'\n\ninterface MenuListProps {\n items: MenuItemType[]\n handleClick: (\n e: React.MouseEvent,\n onClick?: (e: React.MouseEvent) => void,\n url?: string,\n disableClose?: boolean,\n ) => void\n onSubMenu?: (e: React.MouseEvent, menu: any) => void\n /** Called by a sub-menu after it mounts, with its real measured style. Lets the parent\n * refit using actual width/height instead of the open-time estimate. */\n onSubMenuLayout?: (id: string, style: React.CSSProperties, placement: 'left' | 'right') => void\n subMenu?: boolean\n level: number\n id?: string\n parentRef?: HTMLElement | null\n style?: React.CSSProperties\n /** Placement of THIS menu relative to its parent. Inherited by descendants so once\n * a chain flips to one side it stays there. */\n placement?: 'left' | 'right'\n onClose?: (id?: string) => void\n onMenuClose?: () => void\n itemClassName?: string\n itemStyle?: React.CSSProperties\n setPowerpackDialog?: (feature: PowerpackFeature) => void\n [key: string]: any\n}\n\nexport const MenuList: React.FC<MenuListProps> = ({\n items,\n handleClick,\n onSubMenu,\n onSubMenuLayout,\n subMenu,\n level,\n id = 'root-menu',\n parentRef,\n style,\n placement,\n onClose,\n onMenuClose,\n itemClassName,\n itemStyle,\n setPowerpackDialog,\n ...props\n}) => {\n const itemRefs = useRef<{ [key: string]: HTMLElement | null }>({})\n const menuRef = useRef<HTMLDivElement>(null)\n\n const handleSubMenu = (e: React.MouseEvent, id: string, items: MenuItemType[]) => {\n const itemEl = itemRefs.current[id]\n const parentMenuEl = menuRef.current\n if (!itemEl || !parentMenuEl) return\n\n // Sub-menus render absolute inside DialogContent. Compute viewport-anchored coords\n // from this item's bounding rect, then translate into the offsetParent's coord space.\n // Each level computes independently — no inherited offsets that drift across depth.\n const offsetParent = (parentMenuEl.offsetParent as HTMLElement | null) ?? document.body\n const offsetParentRect = offsetParent.getBoundingClientRect()\n const itemRect = itemEl.getBoundingClientRect()\n // Use the visible inner <menu> element if present — the wrapper has 16px paddingLeft\n // for sub-menus which would otherwise produce a phantom gap on flip-left chains.\n const parentVisibleEl = (parentMenuEl.querySelector('menu') as HTMLElement | null) ?? parentMenuEl\n const parentVisibleRect = parentVisibleEl.getBoundingClientRect()\n\n const viewportWidth = window.innerWidth\n const viewportHeight = window.innerHeight\n const padding = 8\n // Use the parent's visible width as the initial estimate — sub-menus tend to be\n // similar size or smaller. Falls back to 240 if parent is unusually narrow.\n const estimatedWidth = Math.max(240, parentVisibleRect.width)\n const estimatedHeight = Math.min(items.length * 36 + 16, 480)\n\n // Choose horizontal placement. If an ancestor sub-menu has already flipped to the\n // left, every descendant sub-menu also goes left — DetailsPanel scenarios put the\n // root menu near the right edge of the screen, so flipping flip-flop on each level\n // would push deep menus back into the panel content.\n const gap = 4\n const computeLeftSide = () => Math.max(padding, parentVisibleRect.left - estimatedWidth - gap)\n const computeRightSide = () => parentVisibleRect.right + gap\n const fitsRight = computeRightSide() + estimatedWidth <= viewportWidth - padding\n const fitsLeft = computeLeftSide() >= padding\n\n let nextPlacement: 'left' | 'right'\n let viewportLeft: number\n if (placement === 'left' && fitsLeft) {\n nextPlacement = 'left'\n viewportLeft = computeLeftSide()\n } else if (fitsRight) {\n nextPlacement = 'right'\n viewportLeft = computeRightSide()\n } else if (fitsLeft) {\n nextPlacement = 'left'\n viewportLeft = computeLeftSide()\n } else {\n // Neither side fits cleanly — clamp to viewport, prefer left.\n nextPlacement = 'left'\n viewportLeft = Math.max(padding, viewportWidth - estimatedWidth - padding)\n }\n\n // Align first sub-menu item with the hovered parent item. The visible <menu> has\n // 8px top padding, so the wrapper top sits 8px above the item top.\n const innerTopOffset = 8\n let viewportTop = itemRect.top - innerTopOffset\n if (viewportTop + estimatedHeight > viewportHeight - padding) {\n viewportTop = Math.max(padding, viewportHeight - estimatedHeight - padding)\n }\n\n // Sub-menu wrappers carry 16px paddingLeft (so their wrapper rect is wider than\n // the visible menu). When we anchor on the LEFT side, the visible menu sits 16px\n // inside the wrapper — pull the wrapper left so the visible right edge lines up\n // with parentVisibleRect.left.\n const subMenuPaddingLeft = 16\n const wrapperLeft = nextPlacement === 'left' ? viewportLeft - subMenuPaddingLeft : viewportLeft\n\n onSubMenu?.(e, {\n id,\n style: {\n top: viewportTop - offsetParentRect.top,\n left: wrapperLeft - offsetParentRect.left,\n },\n items,\n level: level,\n placement: nextPlacement,\n // Pass the actual menu-item element so sub-menu measurement uses the <li>\n // instead of whatever inner span the mouse event bubbled from.\n parentEl: itemEl,\n })\n }\n\n const handleMouseLeave = (e: React.MouseEvent) => {\n if (subMenu) {\n onSubMenu?.(e, { id: 'parent', items: [] })\n }\n }\n\n // when a subMenu open, set focus on the first item\n useEffect(() => {\n if (subMenu && menuRef.current) {\n const first = menuRef.current.querySelectorAll('li, button')[0] as HTMLElement\n first?.focus()\n }\n }, [subMenu])\n\n // Sub-menus open with an estimated width — once mounted, measure for real and refit.\n // Reuses the same flip/clamp rules as handleSubMenu but with the actual rendered size.\n useLayoutEffect(() => {\n if (!subMenu || !menuRef.current || !parentRef || !onSubMenuLayout || !id) return\n const wrapperEl = menuRef.current\n const parentItemEl = parentRef\n const parentMenuEl = parentItemEl.closest('.menu-list, .sub-menu') as HTMLElement | null\n if (!parentMenuEl) return\n // Measure visible boxes (the inner <menu> tag), not wrappers. Sub-menu wrappers\n // carry 16px paddingLeft which inflates the rect on the left side and would\n // otherwise produce phantom gaps when flipping left.\n const ownVisibleEl = (wrapperEl.querySelector('menu') as HTMLElement | null) ?? wrapperEl\n const parentVisibleEl = (parentMenuEl.querySelector('menu') as HTMLElement | null) ?? parentMenuEl\n\n const offsetParent = (wrapperEl.offsetParent as HTMLElement | null) ?? document.body\n const offsetParentRect = offsetParent.getBoundingClientRect()\n const wrapperRect = wrapperEl.getBoundingClientRect()\n const ownVisibleRect = ownVisibleEl.getBoundingClientRect()\n const parentVisibleRect = parentVisibleEl.getBoundingClientRect()\n const parentItemRect = parentItemEl.getBoundingClientRect()\n\n // Some wrappers have 16px left padding (sub-menus). Track it so we can place the\n // wrapper such that the visible-menu edge — not the wrapper edge — lines up.\n const subMenuPaddingLeft = ownVisibleRect.left - wrapperRect.left\n const visibleWidth = ownVisibleRect.width\n const visibleHeight = ownVisibleRect.height\n\n const viewportWidth = window.innerWidth\n const viewportHeight = window.innerHeight\n const padding = 8\n\n const gap = 4\n const computeLeftSide = () => Math.max(padding, parentVisibleRect.left - visibleWidth - gap)\n const computeRightSide = () => parentVisibleRect.right + gap\n const fitsRight = computeRightSide() + visibleWidth <= viewportWidth - padding\n const fitsLeft = computeLeftSide() >= padding\n\n let nextPlacement: 'left' | 'right'\n let viewportLeft: number\n if (placement === 'left' && fitsLeft) {\n nextPlacement = 'left'\n viewportLeft = computeLeftSide()\n } else if (fitsRight) {\n nextPlacement = 'right'\n viewportLeft = computeRightSide()\n } else if (fitsLeft) {\n nextPlacement = 'left'\n viewportLeft = computeLeftSide()\n } else {\n nextPlacement = 'left'\n viewportLeft = Math.max(padding, viewportWidth - visibleWidth - padding)\n }\n\n // Align this sub-menu's first <li> with the hovered parent item.\n // Direct DOM measurement is more robust than computed-style math across nested\n // levels — picks up any box-sizing / margin quirks that pure padding values miss.\n const firstItemEl = ownVisibleEl.querySelector(':scope > li') as HTMLElement | null\n const firstItemRect = firstItemEl?.getBoundingClientRect()\n // Move the wrapper by exactly the delta between where the first <li> currently is\n // and where we want it (parent item's top). Avoids any cascading offset arithmetic.\n const desiredFirstItemTop = parentItemRect.top\n const currentFirstItemTop = firstItemRect ? firstItemRect.top : wrapperRect.top + 8\n const deltaY = desiredFirstItemTop - currentFirstItemTop\n let viewportTop = wrapperRect.top + deltaY\n if (viewportTop + visibleHeight > viewportHeight - padding) {\n viewportTop = Math.max(padding, viewportHeight - visibleHeight - padding)\n }\n\n // Wrapper origin: visible target minus the wrapper's left padding when on the left.\n const wrapperLeft =\n nextPlacement === 'left' ? viewportLeft - subMenuPaddingLeft : viewportLeft\n\n const targetTop = viewportTop - offsetParentRect.top\n const targetLeft = wrapperLeft - offsetParentRect.left\n const currentTop = typeof style?.top === 'number' ? style.top : parseFloat(String(style?.top))\n const currentLeft =\n typeof style?.left === 'number' ? style.left : parseFloat(String(style?.left))\n\n // Idempotent guard: only emit a layout update when the target differs by >1px\n // from what's already applied. This makes the effect safe to re-run on every\n // dependency change — including `style`, which we update from inside this effect.\n // After a successful update, the new style flows back as props, the effect runs\n // once more, current ≈ target, and the guard is a no-op. No infinite loop.\n if (Math.abs(targetTop - currentTop) > 1 || Math.abs(targetLeft - currentLeft) > 1) {\n onSubMenuLayout(id, { top: targetTop, left: targetLeft }, nextPlacement)\n }\n }, [subMenu, items, parentRef, id, placement, style?.top, style?.left, onSubMenuLayout])\n\n return (\n <Styled.MenuWrapper\n style={{ paddingLeft: subMenu ? 16 : 0, ...style }}\n className={subMenu ? 'sub-menu' : 'menu-list'}\n id={id}\n onMouseLeave={handleMouseLeave}\n {...props}\n ref={menuRef}\n >\n <Styled.Menu>\n {items\n .filter((item) => !item.hidden)\n .map((item, i) => {\n // if item is a node, return it\n if (item.node) {\n return item.node\n }\n\n if (item?.id === 'divider' || item?.separator ) return <hr key={i} />\n\n const {\n label,\n icon,\n img,\n highlighted,\n onClick,\n link,\n items = [],\n id,\n disableClose,\n selected,\n disabled,\n powerFeature,\n active,\n ...props\n } = item\n\n const { powerLicense } = usePowerpack()\n const isPowerFeature = !powerLicense && powerFeature\n\n const handleClickPowerFeature = (e: React.MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n if (powerFeature) {\n setPowerpackDialog?.(powerFeature)\n }\n\n // close the menu\n onMenuClose?.()\n }\n\n return (\n <MenuItem\n tabIndex={0}\n key={`${id}-${i}`}\n {...{\n label,\n icon,\n img,\n highlighted,\n items,\n selected,\n disabled,\n powerFeature,\n active,\n }}\n isLink={link}\n onClick={(e) =>\n isPowerFeature\n ? handleClickPowerFeature(e)\n : items.length\n ? handleSubMenu(e, id, items)\n : handleClick(e, onClick, link, disableClose)\n }\n onKeyDown={(e: React.KeyboardEvent<HTMLElement>) => {\n if (e.key === 'Enter') {\n if (isPowerFeature) {\n handleClickPowerFeature(e as any)\n } else if (items.length) {\n handleSubMenu(e as any, id, items)\n } else {\n handleClick(e as any, onClick, link)\n }\n }\n const isLastChild = !(e.target as HTMLElement).nextSibling\n if (e.key === 'Tab' && isLastChild && !e.shiftKey) {\n e.preventDefault()\n e.stopPropagation()\n // when at bottom of list, tab goes to top\n const first = menuRef.current?.querySelectorAll('li, button')[0] as HTMLElement\n first?.focus()\n }\n // when a submenu is open, esc closes it and sets focus on the parent\n if (e.key === 'Escape' && subMenu && parentRef) {\n e.preventDefault()\n e.stopPropagation()\n parentRef.focus()\n onClose?.(id)\n }\n }}\n style={{ paddingRight: items.length ? '0' : '16px', ...itemStyle }}\n ref={(e) => (itemRefs.current[id] = e)}\n onMouseEnter={(e) => handleSubMenu(e, id, items)}\n onMouseLeave={(e) => handleSubMenu(e, id, [])}\n className={`${itemClassName} ${props.className || ''}`}\n {...props}\n >\n {!!items.length && <Icon icon=\"arrow_right\" style={{ marginLeft: 'auto' }} />}\n </MenuItem>\n )\n })}\n </Styled.Menu>\n </Styled.MenuWrapper>\n )\n}\n"],"names":["MenuList","items","handleClick","onSubMenu","onSubMenuLayout","subMenu","level","id","parentRef","style","placement","onClose","onMenuClose","itemClassName","itemStyle","setPowerpackDialog","props","itemRefs","useRef","menuRef","handleSubMenu","e","itemEl","parentMenuEl","offsetParentRect","itemRect","parentVisibleRect","viewportWidth","viewportHeight","padding","estimatedWidth","estimatedHeight","gap","computeLeftSide","computeRightSide","fitsRight","fitsLeft","nextPlacement","viewportLeft","viewportTop","wrapperLeft","handleMouseLeave","useEffect","useLayoutEffect","wrapperEl","parentItemEl","ownVisibleEl","parentVisibleEl","wrapperRect","ownVisibleRect","parentItemRect","subMenuPaddingLeft","visibleWidth","visibleHeight","firstItemRect","desiredFirstItemTop","currentFirstItemTop","deltaY","targetTop","targetLeft","currentTop","currentLeft","jsx","Styled.MenuWrapper","Styled.Menu","item","i","label","icon","img","highlighted","onClick","link","disableClose","selected","disabled","powerFeature","active","powerLicense","usePowerpack","isPowerFeature","handleClickPowerFeature","MenuItem","isLastChild","Icon"],"mappings":"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"}
1
+ {"version":3,"file":"MenuList.cjs.js","sources":["../../../../../src/components/Menu/MenuList.tsx"],"sourcesContent":["import React, { useEffect, useLayoutEffect, useRef } from 'react'\nimport MenuItem from './MenuItem'\nimport { Icon } from '@ynput/ayon-react-components'\nimport * as Styled from './Menu.styled'\nimport { PowerpackFeature, usePowerpack } from '@shared/context'\nimport type { MenuItemType } from './Menu'\n\ninterface MenuListProps {\n items: MenuItemType[]\n handleClick: (\n e: React.MouseEvent,\n onClick?: (e: React.MouseEvent) => void,\n url?: string,\n disableClose?: boolean,\n ) => void\n onSubMenu?: (e: React.MouseEvent, menu: any) => void\n /** Called by a sub-menu after it mounts, with its real measured style. Lets the parent\n * refit using actual width/height instead of the open-time estimate. */\n onSubMenuLayout?: (id: string, style: React.CSSProperties, placement: 'left' | 'right') => void\n subMenu?: boolean\n level: number\n id?: string\n parentRef?: HTMLElement | null\n style?: React.CSSProperties\n /** Placement of THIS menu relative to its parent. Inherited by descendants so once\n * a chain flips to one side it stays there. */\n placement?: 'left' | 'right'\n onClose?: (id?: string) => void\n onMenuClose?: () => void\n itemClassName?: string\n itemStyle?: React.CSSProperties\n setPowerpackDialog?: (feature: PowerpackFeature) => void\n [key: string]: any\n}\n\nexport const MenuList: React.FC<MenuListProps> = ({\n items,\n handleClick,\n onSubMenu,\n onSubMenuLayout,\n subMenu,\n level,\n id = 'root-menu',\n parentRef,\n style,\n placement,\n onClose,\n onMenuClose,\n itemClassName,\n itemStyle,\n setPowerpackDialog,\n ...props\n}) => {\n const itemRefs = useRef<{ [key: string]: HTMLElement | null }>({})\n const menuRef = useRef<HTMLDivElement>(null)\n\n const handleSubMenu = (e: React.MouseEvent, id: string, items: MenuItemType[]) => {\n const itemEl = itemRefs.current[id]\n const parentMenuEl = menuRef.current\n if (!itemEl || !parentMenuEl) return\n\n // Sub-menus render absolute inside DialogContent. Compute viewport-anchored coords\n // from this item's bounding rect, then translate into the offsetParent's coord space.\n // Each level computes independently — no inherited offsets that drift across depth.\n const offsetParent = (parentMenuEl.offsetParent as HTMLElement | null) ?? document.body\n const offsetParentRect = offsetParent.getBoundingClientRect()\n const itemRect = itemEl.getBoundingClientRect()\n // Use the visible inner <menu> element if present — the wrapper has 16px paddingLeft\n // for sub-menus which would otherwise produce a phantom gap on flip-left chains.\n const parentVisibleEl = (parentMenuEl.querySelector('menu') as HTMLElement | null) ?? parentMenuEl\n const parentVisibleRect = parentVisibleEl.getBoundingClientRect()\n\n const viewportWidth = window.innerWidth\n const viewportHeight = window.innerHeight\n const padding = 8\n // Use the parent's visible width as the initial estimate — sub-menus tend to be\n // similar size or smaller. Falls back to 240 if parent is unusually narrow.\n const estimatedWidth = Math.max(240, parentVisibleRect.width)\n const estimatedHeight = Math.min(items.length * 36 + 16, 480)\n\n // Choose horizontal placement. If an ancestor sub-menu has already flipped to the\n // left, every descendant sub-menu also goes left — DetailsPanel scenarios put the\n // root menu near the right edge of the screen, so flipping flip-flop on each level\n // would push deep menus back into the panel content.\n const gap = 4\n const computeLeftSide = () => Math.max(padding, parentVisibleRect.left - estimatedWidth - gap)\n const computeRightSide = () => parentVisibleRect.right + gap\n const fitsRight = computeRightSide() + estimatedWidth <= viewportWidth - padding\n const fitsLeft = computeLeftSide() >= padding\n\n let nextPlacement: 'left' | 'right'\n let viewportLeft: number\n if (placement === 'left' && fitsLeft) {\n nextPlacement = 'left'\n viewportLeft = computeLeftSide()\n } else if (fitsRight) {\n nextPlacement = 'right'\n viewportLeft = computeRightSide()\n } else if (fitsLeft) {\n nextPlacement = 'left'\n viewportLeft = computeLeftSide()\n } else {\n // Neither side fits cleanly — clamp to viewport, prefer left.\n nextPlacement = 'left'\n viewportLeft = Math.max(padding, viewportWidth - estimatedWidth - padding)\n }\n\n // Align first sub-menu item with the hovered parent item. The visible <menu> has\n // 8px top padding, so the wrapper top sits 8px above the item top.\n const innerTopOffset = 8\n let viewportTop = itemRect.top - innerTopOffset\n if (viewportTop + estimatedHeight > viewportHeight - padding) {\n viewportTop = Math.max(padding, viewportHeight - estimatedHeight - padding)\n }\n\n // Sub-menu wrappers carry 16px paddingLeft (so their wrapper rect is wider than\n // the visible menu). When we anchor on the LEFT side, the visible menu sits 16px\n // inside the wrapper — pull the wrapper left so the visible right edge lines up\n // with parentVisibleRect.left.\n const subMenuPaddingLeft = 16\n const wrapperLeft = nextPlacement === 'left' ? viewportLeft - subMenuPaddingLeft : viewportLeft\n\n onSubMenu?.(e, {\n id,\n style: {\n top: viewportTop - offsetParentRect.top,\n left: wrapperLeft - offsetParentRect.left,\n },\n items,\n level: level,\n placement: nextPlacement,\n // Pass the actual menu-item element so sub-menu measurement uses the <li>\n // instead of whatever inner span the mouse event bubbled from.\n parentEl: itemEl,\n })\n }\n\n const handleMouseLeave = (e: React.MouseEvent) => {\n if (subMenu) {\n onSubMenu?.(e, { id: 'parent', items: [] })\n }\n }\n\n // when a subMenu open, set focus on the first item\n useEffect(() => {\n if (subMenu && menuRef.current) {\n const first = menuRef.current.querySelectorAll('li, button')[0] as HTMLElement\n first?.focus()\n }\n }, [subMenu])\n\n // Sub-menus open with an estimated width — once mounted, measure for real and refit.\n // Reuses the same flip/clamp rules as handleSubMenu but with the actual rendered size.\n useLayoutEffect(() => {\n if (!subMenu || !menuRef.current || !parentRef || !onSubMenuLayout || !id) return\n const wrapperEl = menuRef.current\n const parentItemEl = parentRef\n const parentMenuEl = parentItemEl.closest('.menu-list, .sub-menu') as HTMLElement | null\n if (!parentMenuEl) return\n // Measure visible boxes (the inner <menu> tag), not wrappers. Sub-menu wrappers\n // carry 16px paddingLeft which inflates the rect on the left side and would\n // otherwise produce phantom gaps when flipping left.\n const ownVisibleEl = (wrapperEl.querySelector('menu') as HTMLElement | null) ?? wrapperEl\n const parentVisibleEl = (parentMenuEl.querySelector('menu') as HTMLElement | null) ?? parentMenuEl\n\n const offsetParent = (wrapperEl.offsetParent as HTMLElement | null) ?? document.body\n const offsetParentRect = offsetParent.getBoundingClientRect()\n const wrapperRect = wrapperEl.getBoundingClientRect()\n const ownVisibleRect = ownVisibleEl.getBoundingClientRect()\n const parentVisibleRect = parentVisibleEl.getBoundingClientRect()\n const parentItemRect = parentItemEl.getBoundingClientRect()\n\n // Some wrappers have 16px left padding (sub-menus). Track it so we can place the\n // wrapper such that the visible-menu edge — not the wrapper edge — lines up.\n const subMenuPaddingLeft = ownVisibleRect.left - wrapperRect.left\n const visibleWidth = ownVisibleRect.width\n const visibleHeight = ownVisibleRect.height\n\n const viewportWidth = window.innerWidth\n const viewportHeight = window.innerHeight\n const padding = 8\n\n const gap = 4\n const computeLeftSide = () => Math.max(padding, parentVisibleRect.left - visibleWidth - gap)\n const computeRightSide = () => parentVisibleRect.right + gap\n const fitsRight = computeRightSide() + visibleWidth <= viewportWidth - padding\n const fitsLeft = computeLeftSide() >= padding\n\n let nextPlacement: 'left' | 'right'\n let viewportLeft: number\n if (placement === 'left' && fitsLeft) {\n nextPlacement = 'left'\n viewportLeft = computeLeftSide()\n } else if (fitsRight) {\n nextPlacement = 'right'\n viewportLeft = computeRightSide()\n } else if (fitsLeft) {\n nextPlacement = 'left'\n viewportLeft = computeLeftSide()\n } else {\n nextPlacement = 'left'\n viewportLeft = Math.max(padding, viewportWidth - visibleWidth - padding)\n }\n\n // Align this sub-menu's first <li> with the hovered parent item.\n // Direct DOM measurement is more robust than computed-style math across nested\n // levels — picks up any box-sizing / margin quirks that pure padding values miss.\n const firstItemEl = ownVisibleEl.querySelector(':scope > li') as HTMLElement | null\n const firstItemRect = firstItemEl?.getBoundingClientRect()\n // Move the wrapper by exactly the delta between where the first <li> currently is\n // and where we want it (parent item's top). Avoids any cascading offset arithmetic.\n const desiredFirstItemTop = parentItemRect.top\n const currentFirstItemTop = firstItemRect ? firstItemRect.top : wrapperRect.top + 8\n const deltaY = desiredFirstItemTop - currentFirstItemTop\n let viewportTop = wrapperRect.top + deltaY\n if (viewportTop + visibleHeight > viewportHeight - padding) {\n viewportTop = Math.max(padding, viewportHeight - visibleHeight - padding)\n }\n\n // Wrapper origin: visible target minus the wrapper's left padding when on the left.\n const wrapperLeft =\n nextPlacement === 'left' ? viewportLeft - subMenuPaddingLeft : viewportLeft\n\n const targetTop = viewportTop - offsetParentRect.top\n const targetLeft = wrapperLeft - offsetParentRect.left\n const currentTop = typeof style?.top === 'number' ? style.top : parseFloat(String(style?.top))\n const currentLeft =\n typeof style?.left === 'number' ? style.left : parseFloat(String(style?.left))\n\n // Idempotent guard: only emit a layout update when the target differs by >1px\n // from what's already applied. This makes the effect safe to re-run on every\n // dependency change — including `style`, which we update from inside this effect.\n // After a successful update, the new style flows back as props, the effect runs\n // once more, current ≈ target, and the guard is a no-op. No infinite loop.\n if (Math.abs(targetTop - currentTop) > 1 || Math.abs(targetLeft - currentLeft) > 1) {\n onSubMenuLayout(id, { top: targetTop, left: targetLeft }, nextPlacement)\n }\n }, [subMenu, items, parentRef, id, placement, style?.top, style?.left, onSubMenuLayout])\n\n return (\n <Styled.MenuWrapper\n style={{ paddingLeft: subMenu ? 16 : 0, ...style }}\n className={subMenu ? 'sub-menu' : 'menu-list'}\n id={id}\n onMouseLeave={handleMouseLeave}\n {...props}\n ref={menuRef}\n >\n <Styled.Menu>\n {items\n .filter((item) => !item.hidden)\n .map((item, i) => {\n // if item is a node, return it\n if (item.node) {\n return item.node\n }\n\n if (item?.id === 'divider' || item?.separator ) return <hr key={i} />\n\n const {\n label,\n icon,\n img,\n highlighted,\n onClick,\n link,\n items = [],\n id,\n disableClose,\n selected,\n disabled,\n powerFeature,\n active,\n ...props\n } = item\n\n const { powerLicense } = usePowerpack()\n const isPowerFeature = !powerLicense && powerFeature\n\n const handleClickPowerFeature = (e: React.MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n if (powerFeature) {\n setPowerpackDialog?.(powerFeature)\n }\n\n // close the menu\n onMenuClose?.()\n }\n\n return (\n <MenuItem\n tabIndex={0}\n key={`${id}-${i}`}\n {...{\n label,\n icon,\n img,\n highlighted,\n items,\n selected,\n disabled,\n powerFeature,\n active,\n }}\n isLink={link}\n onClick={(e) =>\n isPowerFeature\n ? handleClickPowerFeature(e)\n : items.length\n ? handleSubMenu(e, id, items)\n : handleClick(e, onClick, link, disableClose)\n }\n onKeyDown={(e: React.KeyboardEvent<HTMLElement>) => {\n if (e.key === 'Enter') {\n if (isPowerFeature) {\n handleClickPowerFeature(e as any)\n } else if (items.length) {\n handleSubMenu(e as any, id, items)\n } else {\n handleClick(e as any, onClick, link)\n }\n }\n const isLastChild = !(e.target as HTMLElement).nextSibling\n if (e.key === 'Tab' && isLastChild && !e.shiftKey) {\n e.preventDefault()\n e.stopPropagation()\n // when at bottom of list, tab goes to top\n const first = menuRef.current?.querySelectorAll('li, button')[0] as HTMLElement\n first?.focus()\n }\n // when a submenu is open, esc closes it and sets focus on the parent\n if (e.key === 'Escape' && subMenu && parentRef) {\n e.preventDefault()\n e.stopPropagation()\n parentRef.focus()\n onClose?.(id)\n }\n }}\n style={{ paddingRight: items.length ? '0' : '16px', ...itemStyle }}\n ref={(e) => (itemRefs.current[id] = e)}\n onMouseEnter={(e) => handleSubMenu(e, id, items)}\n onMouseLeave={(e) => handleSubMenu(e, id, [])}\n className={`${itemClassName} ${props.className || ''}`}\n {...props}\n >\n {!!items.length && <Icon icon=\"arrow_right\" style={{ marginLeft: 'auto' }} />}\n </MenuItem>\n )\n })}\n </Styled.Menu>\n </Styled.MenuWrapper>\n )\n}\n"],"names":["MenuList","items","handleClick","onSubMenu","onSubMenuLayout","subMenu","level","id","parentRef","style","placement","onClose","onMenuClose","itemClassName","itemStyle","setPowerpackDialog","props","itemRefs","useRef","menuRef","handleSubMenu","e","itemEl","parentMenuEl","offsetParentRect","itemRect","parentVisibleRect","viewportWidth","viewportHeight","padding","estimatedWidth","estimatedHeight","gap","computeLeftSide","computeRightSide","fitsRight","fitsLeft","nextPlacement","viewportLeft","viewportTop","wrapperLeft","handleMouseLeave","useEffect","useLayoutEffect","wrapperEl","parentItemEl","ownVisibleEl","parentVisibleEl","wrapperRect","ownVisibleRect","parentItemRect","subMenuPaddingLeft","visibleWidth","visibleHeight","firstItemRect","desiredFirstItemTop","currentFirstItemTop","deltaY","targetTop","targetLeft","currentTop","currentLeft","jsx","Styled.MenuWrapper","Styled.Menu","item","i","label","icon","img","highlighted","onClick","link","disableClose","selected","disabled","powerFeature","active","powerLicense","usePowerpack","isPowerFeature","handleClickPowerFeature","MenuItem","isLastChild","Icon"],"mappings":"o1MAmCO,MAAMA,GAAoC,CAAC,CAChD,MAAAC,EACA,YAAAC,EACA,UAAAC,EACA,gBAAAC,EACA,QAAAC,EACA,MAAAC,EACA,GAAAC,EAAK,YACL,UAAAC,EACA,MAAAC,EACA,UAAAC,EACA,QAAAC,EACA,YAAAC,EACA,cAAAC,EACA,UAAAC,EACA,mBAAAC,EACA,GAAGC,CACL,IAAM,CACJ,MAAMC,EAAWC,EAAAA,OAA8C,EAAE,EAC3DC,EAAUD,EAAAA,OAAuB,IAAI,EAErCE,EAAgB,CAACC,EAAqBd,EAAYN,IAA0B,CAChF,MAAMqB,EAASL,EAAS,QAAQV,CAAE,EAC5BgB,EAAeJ,EAAQ,QAC7B,GAAI,CAACG,GAAU,CAACC,EAAc,OAM9B,MAAMC,GADgBD,EAAa,cAAuC,SAAS,MAC7C,sBAAA,EAChCE,EAAWH,EAAO,sBAAA,EAIlBI,GADmBH,EAAa,cAAc,MAAM,GAA4BA,GAC5C,sBAAA,EAEpCI,EAAgB,OAAO,WACvBC,EAAiB,OAAO,YACxBC,EAAU,EAGVC,EAAiB,KAAK,IAAI,IAAKJ,EAAkB,KAAK,EACtDK,EAAkB,KAAK,IAAI9B,EAAM,OAAS,GAAK,GAAI,GAAG,EAMtD+B,EAAM,EACNC,EAAkB,IAAM,KAAK,IAAIJ,EAASH,EAAkB,KAAOI,EAAiBE,CAAG,EACvFE,EAAmB,IAAMR,EAAkB,MAAQM,EACnDG,EAAYD,EAAA,EAAqBJ,GAAkBH,EAAgBE,EACnEO,EAAWH,KAAqBJ,EAEtC,IAAIQ,EACAC,EACA5B,IAAc,QAAU0B,GAC1BC,EAAgB,OAChBC,EAAeL,EAAA,GACNE,GACTE,EAAgB,QAChBC,EAAeJ,EAAA,GACNE,GACTC,EAAgB,OAChBC,EAAeL,EAAA,IAGfI,EAAgB,OAChBC,EAAe,KAAK,IAAIT,EAASF,EAAgBG,EAAiBD,CAAO,GAM3E,IAAIU,EAAcd,EAAS,IADJ,EAEnBc,EAAcR,EAAkBH,EAAiBC,IACnDU,EAAc,KAAK,IAAIV,EAASD,EAAiBG,EAAkBF,CAAO,GAQ5E,MAAMW,EAAcH,IAAkB,OAASC,EADpB,GACwDA,EAEnFnC,IAAYkB,EAAG,CACb,GAAAd,EACA,MAAO,CACL,IAAKgC,EAAcf,EAAiB,IACpC,KAAMgB,EAAchB,EAAiB,IAAA,EAEvC,MAAAvB,EACA,MAAAK,EACA,UAAW+B,EAGX,SAAUf,CAAA,CACX,CACH,EAEMmB,EAAoBpB,GAAwB,CAC5ChB,GACFF,IAAYkB,EAAG,CAAE,GAAI,SAAU,MAAO,CAAA,EAAI,CAE9C,EAGAqB,OAAAA,EAAAA,UAAU,IAAM,CACVrC,GAAWc,EAAQ,SACPA,EAAQ,QAAQ,iBAAiB,YAAY,EAAE,CAAC,GACvD,MAAA,CAEX,EAAG,CAACd,CAAO,CAAC,EAIZsC,EAAAA,gBAAgB,IAAM,CACpB,GAAI,CAACtC,GAAW,CAACc,EAAQ,SAAW,CAACX,GAAa,CAACJ,GAAmB,CAACG,EAAI,OAC3E,MAAMqC,EAAYzB,EAAQ,QACpB0B,EAAerC,EACfe,EAAesB,EAAa,QAAQ,uBAAuB,EACjE,GAAI,CAACtB,EAAc,OAInB,MAAMuB,EAAgBF,EAAU,cAAc,MAAM,GAA4BA,EAC1EG,EAAmBxB,EAAa,cAAc,MAAM,GAA4BA,EAGhFC,GADgBoB,EAAU,cAAuC,SAAS,MAC1C,sBAAA,EAChCI,EAAcJ,EAAU,sBAAA,EACxBK,EAAiBH,EAAa,sBAAA,EAC9BpB,EAAoBqB,EAAgB,sBAAA,EACpCG,EAAiBL,EAAa,sBAAA,EAI9BM,EAAqBF,EAAe,KAAOD,EAAY,KACvDI,EAAeH,EAAe,MAC9BI,EAAgBJ,EAAe,OAE/BtB,EAAgB,OAAO,WACvBC,EAAiB,OAAO,YACxBC,EAAU,EAEVG,EAAM,EACNC,EAAkB,IAAM,KAAK,IAAIJ,EAASH,EAAkB,KAAO0B,EAAepB,CAAG,EACrFE,EAAmB,IAAMR,EAAkB,MAAQM,EACnDG,EAAYD,EAAA,EAAqBkB,GAAgBzB,EAAgBE,EACjEO,EAAWH,KAAqBJ,EAEtC,IAAIQ,EACAC,EACA5B,IAAc,QAAU0B,GAC1BC,EAAgB,OAChBC,EAAeL,EAAA,GACNE,GACTE,EAAgB,QAChBC,EAAeJ,EAAA,GACNE,GACTC,EAAgB,OAChBC,EAAeL,EAAA,IAEfI,EAAgB,OAChBC,EAAe,KAAK,IAAIT,EAASF,EAAgByB,EAAevB,CAAO,GAOzE,MAAMyB,EADcR,EAAa,cAAc,aAAa,GACzB,sBAAA,EAG7BS,EAAsBL,EAAe,IACrCM,EAAsBF,EAAgBA,EAAc,IAAMN,EAAY,IAAM,EAC5ES,GAASF,EAAsBC,EACrC,IAAIjB,EAAcS,EAAY,IAAMS,GAChClB,EAAcc,EAAgBzB,EAAiBC,IACjDU,EAAc,KAAK,IAAIV,EAASD,EAAiByB,EAAgBxB,CAAO,GAI1E,MAAMW,GACJH,IAAkB,OAASC,EAAea,EAAqBb,EAE3DoB,EAAYnB,EAAcf,EAAiB,IAC3CmC,EAAanB,GAAchB,EAAiB,KAC5CoC,GAAa,OAAOnD,GAAO,KAAQ,SAAWA,EAAM,IAAM,WAAW,OAAOA,GAAO,GAAG,CAAC,EACvFoD,GACJ,OAAOpD,GAAO,MAAS,SAAWA,EAAM,KAAO,WAAW,OAAOA,GAAO,IAAI,CAAC,GAO3E,KAAK,IAAIiD,EAAYE,EAAU,EAAI,GAAK,KAAK,IAAID,EAAaE,EAAW,EAAI,IAC/EzD,EAAgBG,EAAI,CAAE,IAAKmD,EAAW,KAAMC,CAAA,EAActB,CAAa,CAE3E,EAAG,CAAChC,EAASJ,EAAOO,EAAWD,EAAIG,EAAWD,GAAO,IAAKA,GAAO,KAAML,CAAe,CAAC,EAGrF0D,EAAAA,kBAAAA,IAACC,EAAAA,YAAA,CACC,MAAO,CAAE,YAAa1D,EAAU,GAAK,EAAG,GAAGI,CAAA,EAC3C,UAAWJ,EAAU,WAAa,YAClC,GAAAE,EACA,aAAckC,EACb,GAAGzB,EACJ,IAAKG,EAEL,SAAA2C,EAAAA,kBAAAA,IAACE,EAAAA,KAAA,CACE,WACE,OAAQC,GAAS,CAACA,EAAK,MAAM,EAC7B,IAAI,CAACA,EAAMC,IAAM,CAEhB,GAAID,EAAK,KACP,OAAOA,EAAK,KAGd,GAAIA,GAAM,KAAO,WAAaA,GAAM,UAAY,OAAOH,wBAAC,QAAQI,CAAG,EAEnE,KAAM,CACJ,MAAAC,EACA,KAAAC,EACA,IAAAC,EACA,YAAAC,EACA,QAAAC,EACA,KAAAC,EACA,MAAAvE,EAAQ,CAAA,EACR,GAAAM,EACA,aAAAkE,EACA,SAAAC,EACA,SAAAC,EACA,aAAAC,EACA,OAAAC,EACA,GAAG7D,CAAA,EACDiD,EAEE,CAAE,aAAAa,CAAA,EAAiBC,gBAAA,EACnBC,EAAiB,CAACF,GAAgBF,EAElCK,EAA2B,GAAwB,CACvD,EAAE,eAAA,EACF,EAAE,gBAAA,EACEL,GACF7D,IAAqB6D,CAAY,EAInChE,IAAA,CACF,EAEA,OACEkD,EAAAA,kBAAAA,IAACoB,GAAA,CACC,SAAU,EAGR,MAAAf,EACA,KAAAC,EACA,IAAAC,EACA,YAAAC,EACA,MAAArE,EACA,SAAAyE,EACA,SAAAC,EACA,aAAAC,EACA,OAAAC,EAEF,OAAQL,EACR,QAAU,GACRQ,EACIC,EAAwB,CAAC,EACzBhF,EAAM,OACNmB,EAAc,EAAGb,EAAIN,CAAK,EAC1BC,EAAY,EAAGqE,EAASC,EAAMC,CAAY,EAEhD,UAAY,GAAwC,CAC9C,EAAE,MAAQ,UACRO,EACFC,EAAwB,CAAQ,EACvBhF,EAAM,OACfmB,EAAc,EAAUb,EAAIN,CAAK,EAEjCC,EAAY,EAAUqE,EAASC,CAAI,GAGvC,MAAMW,EAAc,CAAE,EAAE,OAAuB,YAC3C,EAAE,MAAQ,OAASA,GAAe,CAAC,EAAE,WACvC,EAAE,eAAA,EACF,EAAE,gBAAA,EAEYhE,EAAQ,SAAS,iBAAiB,YAAY,EAAE,CAAC,GACxD,MAAA,GAGL,EAAE,MAAQ,UAAYd,GAAWG,IACnC,EAAE,eAAA,EACF,EAAE,gBAAA,EACFA,EAAU,MAAA,EACVG,IAAUJ,CAAE,EAEhB,EACA,MAAO,CAAE,aAAcN,EAAM,OAAS,IAAM,OAAQ,GAAGa,CAAA,EACvD,IAAM,GAAOG,EAAS,QAAQV,CAAE,EAAI,EACpC,aAAe,GAAMa,EAAc,EAAGb,EAAIN,CAAK,EAC/C,aAAe,GAAMmB,EAAc,EAAGb,EAAI,CAAA,CAAE,EAC5C,UAAW,GAAGM,CAAa,IAAIG,EAAM,WAAa,EAAE,GACnD,GAAGA,EAEH,SAAA,CAAC,CAACf,EAAM,QAAU6D,EAAAA,kBAAAA,IAACsB,GAAAA,KAAA,CAAK,KAAK,cAAc,MAAO,CAAE,WAAY,MAAA,CAAO,CAAG,CAAA,EArDtE,GAAG7E,CAAE,IAAI2D,CAAC,EAAA,CAwDrB,CAAC,CAAA,CACL,CAAA,CAAA,CAGN"}
@@ -60,10 +60,15 @@ import "../../api/queries/attributes/getAttributes.es.js";
60
60
  import "../../api/queries/attributes/updateAttributes.es.js";
61
61
  import "../../api/queries/authentication/getAuthentication.es.js";
62
62
  import "../../api/queries/cloud/cloud.es.js";
63
+ import "../../api/queries/columnStats/metricTargets.es.js";
63
64
  import "../../api/queries/config/getConfig.es.js";
64
65
  import "../../api/queries/config/updateConfig.es.js";
65
66
  import "../../api/queries/entities/getEntity.es.js";
66
67
  import "../../api/queries/entities/getEntityPanel.es.js";
68
+ import "../../api/queries/overview/getOverview.es.js";
69
+ import "../../api/queries/overview/updateOverview.es.js";
70
+ import "../../api/queries/versions/getVersionsProducts.es.js";
71
+ import "../../api/queries/links/getEntityLinks.es.js";
67
72
  import "../../api/queries/entities/updateEntity.es.js";
68
73
  import "../../api/queries/entityLists/getLists.es.js";
69
74
  import "../../api/queries/entityLists/updateLists.es.js";
@@ -75,10 +80,6 @@ import "../../api/queries/folders/getFolderDeleteInfo.es.js";
75
80
  import "../../api/queries/grouping/getGrouping.es.js";
76
81
  import "../../api/queries/links/updateLinks.es.js";
77
82
  import "../../api/queries/links/getLinks.es.js";
78
- import "../../api/queries/links/getEntityLinks.es.js";
79
- import "../../api/queries/overview/getOverview.es.js";
80
- import "../../api/queries/overview/updateOverview.es.js";
81
- import "../../api/queries/versions/getVersionsProducts.es.js";
82
83
  import "../../api/queries/permissions/getPermissions.es.js";
83
84
  import "../../api/queries/products/createProduct.es.js";
84
85
  import "../../api/queries/products/getFolderProducts.es.js";
@@ -123,7 +124,7 @@ import "../../context/WebsocketContext.es.js";
123
124
  import "../../context/GlobalContext.es.js";
124
125
  import "../../context/ProjectContext.es.js";
125
126
  import "../../context/ProjectFoldersContext.es.js";
126
- const ye = ({
127
+ const Ie = ({
127
128
  items: V,
128
129
  handleClick: W,
129
130
  onSubMenu: q,
@@ -246,6 +247,6 @@ const ye = ({
246
247
  );
247
248
  };
248
249
  export {
249
- ye as MenuList
250
+ Ie as MenuList
250
251
  };
251
252
  //# sourceMappingURL=MenuList.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuList.es.js","sources":["../../../../../src/components/Menu/MenuList.tsx"],"sourcesContent":["import React, { useEffect, useLayoutEffect, useRef } from 'react'\nimport MenuItem from './MenuItem'\nimport { Icon } from '@ynput/ayon-react-components'\nimport * as Styled from './Menu.styled'\nimport { PowerpackFeature, usePowerpack } from '@shared/context'\nimport type { MenuItemType } from './Menu'\n\ninterface MenuListProps {\n items: MenuItemType[]\n handleClick: (\n e: React.MouseEvent,\n onClick?: (e: React.MouseEvent) => void,\n url?: string,\n disableClose?: boolean,\n ) => void\n onSubMenu?: (e: React.MouseEvent, menu: any) => void\n /** Called by a sub-menu after it mounts, with its real measured style. Lets the parent\n * refit using actual width/height instead of the open-time estimate. */\n onSubMenuLayout?: (id: string, style: React.CSSProperties, placement: 'left' | 'right') => void\n subMenu?: boolean\n level: number\n id?: string\n parentRef?: HTMLElement | null\n style?: React.CSSProperties\n /** Placement of THIS menu relative to its parent. Inherited by descendants so once\n * a chain flips to one side it stays there. */\n placement?: 'left' | 'right'\n onClose?: (id?: string) => void\n onMenuClose?: () => void\n itemClassName?: string\n itemStyle?: React.CSSProperties\n setPowerpackDialog?: (feature: PowerpackFeature) => void\n [key: string]: any\n}\n\nexport const MenuList: React.FC<MenuListProps> = ({\n items,\n handleClick,\n onSubMenu,\n onSubMenuLayout,\n subMenu,\n level,\n id = 'root-menu',\n parentRef,\n style,\n placement,\n onClose,\n onMenuClose,\n itemClassName,\n itemStyle,\n setPowerpackDialog,\n ...props\n}) => {\n const itemRefs = useRef<{ [key: string]: HTMLElement | null }>({})\n const menuRef = useRef<HTMLDivElement>(null)\n\n const handleSubMenu = (e: React.MouseEvent, id: string, items: MenuItemType[]) => {\n const itemEl = itemRefs.current[id]\n const parentMenuEl = menuRef.current\n if (!itemEl || !parentMenuEl) return\n\n // Sub-menus render absolute inside DialogContent. Compute viewport-anchored coords\n // from this item's bounding rect, then translate into the offsetParent's coord space.\n // Each level computes independently — no inherited offsets that drift across depth.\n const offsetParent = (parentMenuEl.offsetParent as HTMLElement | null) ?? document.body\n const offsetParentRect = offsetParent.getBoundingClientRect()\n const itemRect = itemEl.getBoundingClientRect()\n // Use the visible inner <menu> element if present — the wrapper has 16px paddingLeft\n // for sub-menus which would otherwise produce a phantom gap on flip-left chains.\n const parentVisibleEl = (parentMenuEl.querySelector('menu') as HTMLElement | null) ?? parentMenuEl\n const parentVisibleRect = parentVisibleEl.getBoundingClientRect()\n\n const viewportWidth = window.innerWidth\n const viewportHeight = window.innerHeight\n const padding = 8\n // Use the parent's visible width as the initial estimate — sub-menus tend to be\n // similar size or smaller. Falls back to 240 if parent is unusually narrow.\n const estimatedWidth = Math.max(240, parentVisibleRect.width)\n const estimatedHeight = Math.min(items.length * 36 + 16, 480)\n\n // Choose horizontal placement. If an ancestor sub-menu has already flipped to the\n // left, every descendant sub-menu also goes left — DetailsPanel scenarios put the\n // root menu near the right edge of the screen, so flipping flip-flop on each level\n // would push deep menus back into the panel content.\n const gap = 4\n const computeLeftSide = () => Math.max(padding, parentVisibleRect.left - estimatedWidth - gap)\n const computeRightSide = () => parentVisibleRect.right + gap\n const fitsRight = computeRightSide() + estimatedWidth <= viewportWidth - padding\n const fitsLeft = computeLeftSide() >= padding\n\n let nextPlacement: 'left' | 'right'\n let viewportLeft: number\n if (placement === 'left' && fitsLeft) {\n nextPlacement = 'left'\n viewportLeft = computeLeftSide()\n } else if (fitsRight) {\n nextPlacement = 'right'\n viewportLeft = computeRightSide()\n } else if (fitsLeft) {\n nextPlacement = 'left'\n viewportLeft = computeLeftSide()\n } else {\n // Neither side fits cleanly — clamp to viewport, prefer left.\n nextPlacement = 'left'\n viewportLeft = Math.max(padding, viewportWidth - estimatedWidth - padding)\n }\n\n // Align first sub-menu item with the hovered parent item. The visible <menu> has\n // 8px top padding, so the wrapper top sits 8px above the item top.\n const innerTopOffset = 8\n let viewportTop = itemRect.top - innerTopOffset\n if (viewportTop + estimatedHeight > viewportHeight - padding) {\n viewportTop = Math.max(padding, viewportHeight - estimatedHeight - padding)\n }\n\n // Sub-menu wrappers carry 16px paddingLeft (so their wrapper rect is wider than\n // the visible menu). When we anchor on the LEFT side, the visible menu sits 16px\n // inside the wrapper — pull the wrapper left so the visible right edge lines up\n // with parentVisibleRect.left.\n const subMenuPaddingLeft = 16\n const wrapperLeft = nextPlacement === 'left' ? viewportLeft - subMenuPaddingLeft : viewportLeft\n\n onSubMenu?.(e, {\n id,\n style: {\n top: viewportTop - offsetParentRect.top,\n left: wrapperLeft - offsetParentRect.left,\n },\n items,\n level: level,\n placement: nextPlacement,\n // Pass the actual menu-item element so sub-menu measurement uses the <li>\n // instead of whatever inner span the mouse event bubbled from.\n parentEl: itemEl,\n })\n }\n\n const handleMouseLeave = (e: React.MouseEvent) => {\n if (subMenu) {\n onSubMenu?.(e, { id: 'parent', items: [] })\n }\n }\n\n // when a subMenu open, set focus on the first item\n useEffect(() => {\n if (subMenu && menuRef.current) {\n const first = menuRef.current.querySelectorAll('li, button')[0] as HTMLElement\n first?.focus()\n }\n }, [subMenu])\n\n // Sub-menus open with an estimated width — once mounted, measure for real and refit.\n // Reuses the same flip/clamp rules as handleSubMenu but with the actual rendered size.\n useLayoutEffect(() => {\n if (!subMenu || !menuRef.current || !parentRef || !onSubMenuLayout || !id) return\n const wrapperEl = menuRef.current\n const parentItemEl = parentRef\n const parentMenuEl = parentItemEl.closest('.menu-list, .sub-menu') as HTMLElement | null\n if (!parentMenuEl) return\n // Measure visible boxes (the inner <menu> tag), not wrappers. Sub-menu wrappers\n // carry 16px paddingLeft which inflates the rect on the left side and would\n // otherwise produce phantom gaps when flipping left.\n const ownVisibleEl = (wrapperEl.querySelector('menu') as HTMLElement | null) ?? wrapperEl\n const parentVisibleEl = (parentMenuEl.querySelector('menu') as HTMLElement | null) ?? parentMenuEl\n\n const offsetParent = (wrapperEl.offsetParent as HTMLElement | null) ?? document.body\n const offsetParentRect = offsetParent.getBoundingClientRect()\n const wrapperRect = wrapperEl.getBoundingClientRect()\n const ownVisibleRect = ownVisibleEl.getBoundingClientRect()\n const parentVisibleRect = parentVisibleEl.getBoundingClientRect()\n const parentItemRect = parentItemEl.getBoundingClientRect()\n\n // Some wrappers have 16px left padding (sub-menus). Track it so we can place the\n // wrapper such that the visible-menu edge — not the wrapper edge — lines up.\n const subMenuPaddingLeft = ownVisibleRect.left - wrapperRect.left\n const visibleWidth = ownVisibleRect.width\n const visibleHeight = ownVisibleRect.height\n\n const viewportWidth = window.innerWidth\n const viewportHeight = window.innerHeight\n const padding = 8\n\n const gap = 4\n const computeLeftSide = () => Math.max(padding, parentVisibleRect.left - visibleWidth - gap)\n const computeRightSide = () => parentVisibleRect.right + gap\n const fitsRight = computeRightSide() + visibleWidth <= viewportWidth - padding\n const fitsLeft = computeLeftSide() >= padding\n\n let nextPlacement: 'left' | 'right'\n let viewportLeft: number\n if (placement === 'left' && fitsLeft) {\n nextPlacement = 'left'\n viewportLeft = computeLeftSide()\n } else if (fitsRight) {\n nextPlacement = 'right'\n viewportLeft = computeRightSide()\n } else if (fitsLeft) {\n nextPlacement = 'left'\n viewportLeft = computeLeftSide()\n } else {\n nextPlacement = 'left'\n viewportLeft = Math.max(padding, viewportWidth - visibleWidth - padding)\n }\n\n // Align this sub-menu's first <li> with the hovered parent item.\n // Direct DOM measurement is more robust than computed-style math across nested\n // levels — picks up any box-sizing / margin quirks that pure padding values miss.\n const firstItemEl = ownVisibleEl.querySelector(':scope > li') as HTMLElement | null\n const firstItemRect = firstItemEl?.getBoundingClientRect()\n // Move the wrapper by exactly the delta between where the first <li> currently is\n // and where we want it (parent item's top). Avoids any cascading offset arithmetic.\n const desiredFirstItemTop = parentItemRect.top\n const currentFirstItemTop = firstItemRect ? firstItemRect.top : wrapperRect.top + 8\n const deltaY = desiredFirstItemTop - currentFirstItemTop\n let viewportTop = wrapperRect.top + deltaY\n if (viewportTop + visibleHeight > viewportHeight - padding) {\n viewportTop = Math.max(padding, viewportHeight - visibleHeight - padding)\n }\n\n // Wrapper origin: visible target minus the wrapper's left padding when on the left.\n const wrapperLeft =\n nextPlacement === 'left' ? viewportLeft - subMenuPaddingLeft : viewportLeft\n\n const targetTop = viewportTop - offsetParentRect.top\n const targetLeft = wrapperLeft - offsetParentRect.left\n const currentTop = typeof style?.top === 'number' ? style.top : parseFloat(String(style?.top))\n const currentLeft =\n typeof style?.left === 'number' ? style.left : parseFloat(String(style?.left))\n\n // Idempotent guard: only emit a layout update when the target differs by >1px\n // from what's already applied. This makes the effect safe to re-run on every\n // dependency change — including `style`, which we update from inside this effect.\n // After a successful update, the new style flows back as props, the effect runs\n // once more, current ≈ target, and the guard is a no-op. No infinite loop.\n if (Math.abs(targetTop - currentTop) > 1 || Math.abs(targetLeft - currentLeft) > 1) {\n onSubMenuLayout(id, { top: targetTop, left: targetLeft }, nextPlacement)\n }\n }, [subMenu, items, parentRef, id, placement, style?.top, style?.left, onSubMenuLayout])\n\n return (\n <Styled.MenuWrapper\n style={{ paddingLeft: subMenu ? 16 : 0, ...style }}\n className={subMenu ? 'sub-menu' : 'menu-list'}\n id={id}\n onMouseLeave={handleMouseLeave}\n {...props}\n ref={menuRef}\n >\n <Styled.Menu>\n {items\n .filter((item) => !item.hidden)\n .map((item, i) => {\n // if item is a node, return it\n if (item.node) {\n return item.node\n }\n\n if (item?.id === 'divider' || item?.separator ) return <hr key={i} />\n\n const {\n label,\n icon,\n img,\n highlighted,\n onClick,\n link,\n items = [],\n id,\n disableClose,\n selected,\n disabled,\n powerFeature,\n active,\n ...props\n } = item\n\n const { powerLicense } = usePowerpack()\n const isPowerFeature = !powerLicense && powerFeature\n\n const handleClickPowerFeature = (e: React.MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n if (powerFeature) {\n setPowerpackDialog?.(powerFeature)\n }\n\n // close the menu\n onMenuClose?.()\n }\n\n return (\n <MenuItem\n tabIndex={0}\n key={`${id}-${i}`}\n {...{\n label,\n icon,\n img,\n highlighted,\n items,\n selected,\n disabled,\n powerFeature,\n active,\n }}\n isLink={link}\n onClick={(e) =>\n isPowerFeature\n ? handleClickPowerFeature(e)\n : items.length\n ? handleSubMenu(e, id, items)\n : handleClick(e, onClick, link, disableClose)\n }\n onKeyDown={(e: React.KeyboardEvent<HTMLElement>) => {\n if (e.key === 'Enter') {\n if (isPowerFeature) {\n handleClickPowerFeature(e as any)\n } else if (items.length) {\n handleSubMenu(e as any, id, items)\n } else {\n handleClick(e as any, onClick, link)\n }\n }\n const isLastChild = !(e.target as HTMLElement).nextSibling\n if (e.key === 'Tab' && isLastChild && !e.shiftKey) {\n e.preventDefault()\n e.stopPropagation()\n // when at bottom of list, tab goes to top\n const first = menuRef.current?.querySelectorAll('li, button')[0] as HTMLElement\n first?.focus()\n }\n // when a submenu is open, esc closes it and sets focus on the parent\n if (e.key === 'Escape' && subMenu && parentRef) {\n e.preventDefault()\n e.stopPropagation()\n parentRef.focus()\n onClose?.(id)\n }\n }}\n style={{ paddingRight: items.length ? '0' : '16px', ...itemStyle }}\n ref={(e) => (itemRefs.current[id] = e)}\n onMouseEnter={(e) => handleSubMenu(e, id, items)}\n onMouseLeave={(e) => handleSubMenu(e, id, [])}\n className={`${itemClassName} ${props.className || ''}`}\n {...props}\n >\n {!!items.length && <Icon icon=\"arrow_right\" style={{ marginLeft: 'auto' }} />}\n </MenuItem>\n )\n })}\n </Styled.Menu>\n </Styled.MenuWrapper>\n )\n}\n"],"names":["MenuList","items","handleClick","onSubMenu","onSubMenuLayout","subMenu","level","id","parentRef","style","placement","onClose","onMenuClose","itemClassName","itemStyle","setPowerpackDialog","props","itemRefs","useRef","menuRef","handleSubMenu","e","itemEl","parentMenuEl","offsetParentRect","itemRect","parentVisibleRect","viewportWidth","viewportHeight","padding","estimatedWidth","estimatedHeight","gap","computeLeftSide","computeRightSide","fitsRight","fitsLeft","nextPlacement","viewportLeft","viewportTop","wrapperLeft","handleMouseLeave","useEffect","useLayoutEffect","wrapperEl","parentItemEl","ownVisibleEl","parentVisibleEl","wrapperRect","ownVisibleRect","parentItemRect","subMenuPaddingLeft","visibleWidth","visibleHeight","firstItemRect","desiredFirstItemTop","currentFirstItemTop","deltaY","targetTop","targetLeft","currentTop","currentLeft","jsx","Styled.MenuWrapper","Styled.Menu","item","i","label","icon","img","highlighted","onClick","link","disableClose","selected","disabled","powerFeature","active","powerLicense","usePowerpack","isPowerFeature","handleClickPowerFeature","MenuItem","isLastChild","Icon"],"mappings":"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"}
1
+ {"version":3,"file":"MenuList.es.js","sources":["../../../../../src/components/Menu/MenuList.tsx"],"sourcesContent":["import React, { useEffect, useLayoutEffect, useRef } from 'react'\nimport MenuItem from './MenuItem'\nimport { Icon } from '@ynput/ayon-react-components'\nimport * as Styled from './Menu.styled'\nimport { PowerpackFeature, usePowerpack } from '@shared/context'\nimport type { MenuItemType } from './Menu'\n\ninterface MenuListProps {\n items: MenuItemType[]\n handleClick: (\n e: React.MouseEvent,\n onClick?: (e: React.MouseEvent) => void,\n url?: string,\n disableClose?: boolean,\n ) => void\n onSubMenu?: (e: React.MouseEvent, menu: any) => void\n /** Called by a sub-menu after it mounts, with its real measured style. Lets the parent\n * refit using actual width/height instead of the open-time estimate. */\n onSubMenuLayout?: (id: string, style: React.CSSProperties, placement: 'left' | 'right') => void\n subMenu?: boolean\n level: number\n id?: string\n parentRef?: HTMLElement | null\n style?: React.CSSProperties\n /** Placement of THIS menu relative to its parent. Inherited by descendants so once\n * a chain flips to one side it stays there. */\n placement?: 'left' | 'right'\n onClose?: (id?: string) => void\n onMenuClose?: () => void\n itemClassName?: string\n itemStyle?: React.CSSProperties\n setPowerpackDialog?: (feature: PowerpackFeature) => void\n [key: string]: any\n}\n\nexport const MenuList: React.FC<MenuListProps> = ({\n items,\n handleClick,\n onSubMenu,\n onSubMenuLayout,\n subMenu,\n level,\n id = 'root-menu',\n parentRef,\n style,\n placement,\n onClose,\n onMenuClose,\n itemClassName,\n itemStyle,\n setPowerpackDialog,\n ...props\n}) => {\n const itemRefs = useRef<{ [key: string]: HTMLElement | null }>({})\n const menuRef = useRef<HTMLDivElement>(null)\n\n const handleSubMenu = (e: React.MouseEvent, id: string, items: MenuItemType[]) => {\n const itemEl = itemRefs.current[id]\n const parentMenuEl = menuRef.current\n if (!itemEl || !parentMenuEl) return\n\n // Sub-menus render absolute inside DialogContent. Compute viewport-anchored coords\n // from this item's bounding rect, then translate into the offsetParent's coord space.\n // Each level computes independently — no inherited offsets that drift across depth.\n const offsetParent = (parentMenuEl.offsetParent as HTMLElement | null) ?? document.body\n const offsetParentRect = offsetParent.getBoundingClientRect()\n const itemRect = itemEl.getBoundingClientRect()\n // Use the visible inner <menu> element if present — the wrapper has 16px paddingLeft\n // for sub-menus which would otherwise produce a phantom gap on flip-left chains.\n const parentVisibleEl = (parentMenuEl.querySelector('menu') as HTMLElement | null) ?? parentMenuEl\n const parentVisibleRect = parentVisibleEl.getBoundingClientRect()\n\n const viewportWidth = window.innerWidth\n const viewportHeight = window.innerHeight\n const padding = 8\n // Use the parent's visible width as the initial estimate — sub-menus tend to be\n // similar size or smaller. Falls back to 240 if parent is unusually narrow.\n const estimatedWidth = Math.max(240, parentVisibleRect.width)\n const estimatedHeight = Math.min(items.length * 36 + 16, 480)\n\n // Choose horizontal placement. If an ancestor sub-menu has already flipped to the\n // left, every descendant sub-menu also goes left — DetailsPanel scenarios put the\n // root menu near the right edge of the screen, so flipping flip-flop on each level\n // would push deep menus back into the panel content.\n const gap = 4\n const computeLeftSide = () => Math.max(padding, parentVisibleRect.left - estimatedWidth - gap)\n const computeRightSide = () => parentVisibleRect.right + gap\n const fitsRight = computeRightSide() + estimatedWidth <= viewportWidth - padding\n const fitsLeft = computeLeftSide() >= padding\n\n let nextPlacement: 'left' | 'right'\n let viewportLeft: number\n if (placement === 'left' && fitsLeft) {\n nextPlacement = 'left'\n viewportLeft = computeLeftSide()\n } else if (fitsRight) {\n nextPlacement = 'right'\n viewportLeft = computeRightSide()\n } else if (fitsLeft) {\n nextPlacement = 'left'\n viewportLeft = computeLeftSide()\n } else {\n // Neither side fits cleanly — clamp to viewport, prefer left.\n nextPlacement = 'left'\n viewportLeft = Math.max(padding, viewportWidth - estimatedWidth - padding)\n }\n\n // Align first sub-menu item with the hovered parent item. The visible <menu> has\n // 8px top padding, so the wrapper top sits 8px above the item top.\n const innerTopOffset = 8\n let viewportTop = itemRect.top - innerTopOffset\n if (viewportTop + estimatedHeight > viewportHeight - padding) {\n viewportTop = Math.max(padding, viewportHeight - estimatedHeight - padding)\n }\n\n // Sub-menu wrappers carry 16px paddingLeft (so their wrapper rect is wider than\n // the visible menu). When we anchor on the LEFT side, the visible menu sits 16px\n // inside the wrapper — pull the wrapper left so the visible right edge lines up\n // with parentVisibleRect.left.\n const subMenuPaddingLeft = 16\n const wrapperLeft = nextPlacement === 'left' ? viewportLeft - subMenuPaddingLeft : viewportLeft\n\n onSubMenu?.(e, {\n id,\n style: {\n top: viewportTop - offsetParentRect.top,\n left: wrapperLeft - offsetParentRect.left,\n },\n items,\n level: level,\n placement: nextPlacement,\n // Pass the actual menu-item element so sub-menu measurement uses the <li>\n // instead of whatever inner span the mouse event bubbled from.\n parentEl: itemEl,\n })\n }\n\n const handleMouseLeave = (e: React.MouseEvent) => {\n if (subMenu) {\n onSubMenu?.(e, { id: 'parent', items: [] })\n }\n }\n\n // when a subMenu open, set focus on the first item\n useEffect(() => {\n if (subMenu && menuRef.current) {\n const first = menuRef.current.querySelectorAll('li, button')[0] as HTMLElement\n first?.focus()\n }\n }, [subMenu])\n\n // Sub-menus open with an estimated width — once mounted, measure for real and refit.\n // Reuses the same flip/clamp rules as handleSubMenu but with the actual rendered size.\n useLayoutEffect(() => {\n if (!subMenu || !menuRef.current || !parentRef || !onSubMenuLayout || !id) return\n const wrapperEl = menuRef.current\n const parentItemEl = parentRef\n const parentMenuEl = parentItemEl.closest('.menu-list, .sub-menu') as HTMLElement | null\n if (!parentMenuEl) return\n // Measure visible boxes (the inner <menu> tag), not wrappers. Sub-menu wrappers\n // carry 16px paddingLeft which inflates the rect on the left side and would\n // otherwise produce phantom gaps when flipping left.\n const ownVisibleEl = (wrapperEl.querySelector('menu') as HTMLElement | null) ?? wrapperEl\n const parentVisibleEl = (parentMenuEl.querySelector('menu') as HTMLElement | null) ?? parentMenuEl\n\n const offsetParent = (wrapperEl.offsetParent as HTMLElement | null) ?? document.body\n const offsetParentRect = offsetParent.getBoundingClientRect()\n const wrapperRect = wrapperEl.getBoundingClientRect()\n const ownVisibleRect = ownVisibleEl.getBoundingClientRect()\n const parentVisibleRect = parentVisibleEl.getBoundingClientRect()\n const parentItemRect = parentItemEl.getBoundingClientRect()\n\n // Some wrappers have 16px left padding (sub-menus). Track it so we can place the\n // wrapper such that the visible-menu edge — not the wrapper edge — lines up.\n const subMenuPaddingLeft = ownVisibleRect.left - wrapperRect.left\n const visibleWidth = ownVisibleRect.width\n const visibleHeight = ownVisibleRect.height\n\n const viewportWidth = window.innerWidth\n const viewportHeight = window.innerHeight\n const padding = 8\n\n const gap = 4\n const computeLeftSide = () => Math.max(padding, parentVisibleRect.left - visibleWidth - gap)\n const computeRightSide = () => parentVisibleRect.right + gap\n const fitsRight = computeRightSide() + visibleWidth <= viewportWidth - padding\n const fitsLeft = computeLeftSide() >= padding\n\n let nextPlacement: 'left' | 'right'\n let viewportLeft: number\n if (placement === 'left' && fitsLeft) {\n nextPlacement = 'left'\n viewportLeft = computeLeftSide()\n } else if (fitsRight) {\n nextPlacement = 'right'\n viewportLeft = computeRightSide()\n } else if (fitsLeft) {\n nextPlacement = 'left'\n viewportLeft = computeLeftSide()\n } else {\n nextPlacement = 'left'\n viewportLeft = Math.max(padding, viewportWidth - visibleWidth - padding)\n }\n\n // Align this sub-menu's first <li> with the hovered parent item.\n // Direct DOM measurement is more robust than computed-style math across nested\n // levels — picks up any box-sizing / margin quirks that pure padding values miss.\n const firstItemEl = ownVisibleEl.querySelector(':scope > li') as HTMLElement | null\n const firstItemRect = firstItemEl?.getBoundingClientRect()\n // Move the wrapper by exactly the delta between where the first <li> currently is\n // and where we want it (parent item's top). Avoids any cascading offset arithmetic.\n const desiredFirstItemTop = parentItemRect.top\n const currentFirstItemTop = firstItemRect ? firstItemRect.top : wrapperRect.top + 8\n const deltaY = desiredFirstItemTop - currentFirstItemTop\n let viewportTop = wrapperRect.top + deltaY\n if (viewportTop + visibleHeight > viewportHeight - padding) {\n viewportTop = Math.max(padding, viewportHeight - visibleHeight - padding)\n }\n\n // Wrapper origin: visible target minus the wrapper's left padding when on the left.\n const wrapperLeft =\n nextPlacement === 'left' ? viewportLeft - subMenuPaddingLeft : viewportLeft\n\n const targetTop = viewportTop - offsetParentRect.top\n const targetLeft = wrapperLeft - offsetParentRect.left\n const currentTop = typeof style?.top === 'number' ? style.top : parseFloat(String(style?.top))\n const currentLeft =\n typeof style?.left === 'number' ? style.left : parseFloat(String(style?.left))\n\n // Idempotent guard: only emit a layout update when the target differs by >1px\n // from what's already applied. This makes the effect safe to re-run on every\n // dependency change — including `style`, which we update from inside this effect.\n // After a successful update, the new style flows back as props, the effect runs\n // once more, current ≈ target, and the guard is a no-op. No infinite loop.\n if (Math.abs(targetTop - currentTop) > 1 || Math.abs(targetLeft - currentLeft) > 1) {\n onSubMenuLayout(id, { top: targetTop, left: targetLeft }, nextPlacement)\n }\n }, [subMenu, items, parentRef, id, placement, style?.top, style?.left, onSubMenuLayout])\n\n return (\n <Styled.MenuWrapper\n style={{ paddingLeft: subMenu ? 16 : 0, ...style }}\n className={subMenu ? 'sub-menu' : 'menu-list'}\n id={id}\n onMouseLeave={handleMouseLeave}\n {...props}\n ref={menuRef}\n >\n <Styled.Menu>\n {items\n .filter((item) => !item.hidden)\n .map((item, i) => {\n // if item is a node, return it\n if (item.node) {\n return item.node\n }\n\n if (item?.id === 'divider' || item?.separator ) return <hr key={i} />\n\n const {\n label,\n icon,\n img,\n highlighted,\n onClick,\n link,\n items = [],\n id,\n disableClose,\n selected,\n disabled,\n powerFeature,\n active,\n ...props\n } = item\n\n const { powerLicense } = usePowerpack()\n const isPowerFeature = !powerLicense && powerFeature\n\n const handleClickPowerFeature = (e: React.MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n if (powerFeature) {\n setPowerpackDialog?.(powerFeature)\n }\n\n // close the menu\n onMenuClose?.()\n }\n\n return (\n <MenuItem\n tabIndex={0}\n key={`${id}-${i}`}\n {...{\n label,\n icon,\n img,\n highlighted,\n items,\n selected,\n disabled,\n powerFeature,\n active,\n }}\n isLink={link}\n onClick={(e) =>\n isPowerFeature\n ? handleClickPowerFeature(e)\n : items.length\n ? handleSubMenu(e, id, items)\n : handleClick(e, onClick, link, disableClose)\n }\n onKeyDown={(e: React.KeyboardEvent<HTMLElement>) => {\n if (e.key === 'Enter') {\n if (isPowerFeature) {\n handleClickPowerFeature(e as any)\n } else if (items.length) {\n handleSubMenu(e as any, id, items)\n } else {\n handleClick(e as any, onClick, link)\n }\n }\n const isLastChild = !(e.target as HTMLElement).nextSibling\n if (e.key === 'Tab' && isLastChild && !e.shiftKey) {\n e.preventDefault()\n e.stopPropagation()\n // when at bottom of list, tab goes to top\n const first = menuRef.current?.querySelectorAll('li, button')[0] as HTMLElement\n first?.focus()\n }\n // when a submenu is open, esc closes it and sets focus on the parent\n if (e.key === 'Escape' && subMenu && parentRef) {\n e.preventDefault()\n e.stopPropagation()\n parentRef.focus()\n onClose?.(id)\n }\n }}\n style={{ paddingRight: items.length ? '0' : '16px', ...itemStyle }}\n ref={(e) => (itemRefs.current[id] = e)}\n onMouseEnter={(e) => handleSubMenu(e, id, items)}\n onMouseLeave={(e) => handleSubMenu(e, id, [])}\n className={`${itemClassName} ${props.className || ''}`}\n {...props}\n >\n {!!items.length && <Icon icon=\"arrow_right\" style={{ marginLeft: 'auto' }} />}\n </MenuItem>\n )\n })}\n </Styled.Menu>\n </Styled.MenuWrapper>\n )\n}\n"],"names":["MenuList","items","handleClick","onSubMenu","onSubMenuLayout","subMenu","level","id","parentRef","style","placement","onClose","onMenuClose","itemClassName","itemStyle","setPowerpackDialog","props","itemRefs","useRef","menuRef","handleSubMenu","e","itemEl","parentMenuEl","offsetParentRect","itemRect","parentVisibleRect","viewportWidth","viewportHeight","padding","estimatedWidth","estimatedHeight","gap","computeLeftSide","computeRightSide","fitsRight","fitsLeft","nextPlacement","viewportLeft","viewportTop","wrapperLeft","handleMouseLeave","useEffect","useLayoutEffect","wrapperEl","parentItemEl","ownVisibleEl","parentVisibleEl","wrapperRect","ownVisibleRect","parentItemRect","subMenuPaddingLeft","visibleWidth","visibleHeight","firstItemRect","desiredFirstItemTop","currentFirstItemTop","deltaY","targetTop","targetLeft","currentTop","currentLeft","jsx","Styled.MenuWrapper","Styled.Menu","item","i","label","icon","img","highlighted","onClick","link","disableClose","selected","disabled","powerFeature","active","powerLicense","usePowerpack","isPowerFeature","handleClickPowerFeature","MenuItem","isLastChild","Icon"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../_virtual/jsx-runtime.cjs.js");require("../../context/RemoteModulesContext.cjs.js");const n=require("react"),d=require("../../context/PowerpackContext.cjs.js");require("../../context/UriContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("../../api/base/client.cjs.js");require("../../api/generated/graphql.cjs.js");require("../../api/generated/graphqlLinks.cjs.js");require("../../api/generated/access.cjs.js");require("../../api/generated/actions.cjs.js");require("../../api/generated/activityFeed.cjs.js");require("../../api/generated/addons.cjs.js");require("../../api/generated/anatomy.cjs.js");require("../../api/generated/attributes.cjs.js");require("../../api/generated/authentication.cjs.js");require("../../api/generated/bundles.cjs.js");require("../../api/generated/configuration.cjs.js");require("../../api/generated/dataImport.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/projectFolders.cjs.js");require("../../api/generated/reviewables.cjs.js");require("../../api/generated/services.cjs.js");require("../../api/generated/system.cjs.js");require("../../api/generated/tasks.cjs.js");require("../../api/generated/teams.cjs.js");require("../../api/generated/thumbnails.cjs.js");require("../../api/generated/uRIs.cjs.js");require("../../api/generated/users.cjs.js");require("../../api/generated/versions.cjs.js");require("../../api/generated/workfiles.cjs.js");require("../../api/generated/ynputCloud.cjs.js");require("../../api/generated/grouping.cjs.js");require("../../api/generated/views.cjs.js");require("../../api/queries/actions/getActions.cjs.js");require("../../api/queries/activities/getActivities.cjs.js");require("../../api/queries/activities/updateActivities.cjs.js");require("../../api/queries/activities/updateReaction.cjs.js");require("../../api/queries/activities/getMentions.cjs.js");require("../../api/queries/activities/getCategories.cjs.js");require("../../api/queries/addons/getAddons.cjs.js");require("../../api/queries/addons/updateAddons.cjs.js");require("../../api/queries/attributes/getAttributes.cjs.js");require("../../api/queries/attributes/updateAttributes.cjs.js");require("../../api/queries/authentication/getAuthentication.cjs.js");require("../../api/queries/cloud/cloud.cjs.js");require("../../api/queries/config/getConfig.cjs.js");require("../../api/queries/config/updateConfig.cjs.js");require("../../api/queries/entities/getEntity.cjs.js");require("../../api/queries/entities/getEntityPanel.cjs.js");require("../../api/queries/entities/updateEntity.cjs.js");require("../../api/queries/entityLists/getLists.cjs.js");require("../../api/queries/entityLists/updateLists.cjs.js");require("../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../api/queries/entityLists/listFolders.cjs.js");require("../../api/queries/folders/getFolders.cjs.js");require("../../api/queries/folders/getFolderDeleteInfo.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/products/getFolderProducts.cjs.js");require("../../api/queries/project/getProject.cjs.js");require("../../api/queries/project/updateProject.cjs.js");require("../../api/queries/projectFolders/projectFolders.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/tasks/getTasks.cjs.js");require("../../api/queries/tasks/updateTasks.cjs.js");require("../../api/queries/teams/getTeams.cjs.js");require("../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../api/queries/users/getUsers.cjs.js");require("../../api/queries/users/updateUsers.cjs.js");require("../../api/queries/users/guests.cjs.js");require("../../api/queries/versions/updateVersions.cjs.js");require("../../api/queries/views/getViews.cjs.js");require("../../api/queries/views/updateViews.cjs.js");require("../../api/queries/watchers/getWatchers.cjs.js");require("../../api/queries/uris/getUris.cjs.js");require("lodash");require("react-toastify");require("react-redux");require("custom-protocol-check");require("../../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("uuid");require("../../util/pubsub.cjs.js");require("../../context/DetailsPanelContextInstance.cjs.js");require("../../context/SubtasksModulesContextInstance.cjs.js");require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");require("../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");require("../../context/MoveEntityContext.cjs.js");require("../../context/MenuContext.cjs.js");require("../../context/WebsocketContext.cjs.js");require("../../context/GlobalContext.cjs.js");require("../../context/ProjectContext.cjs.js");require("../../context/ProjectFoldersContext.cjs.js");const i=require("@ynput/ayon-react-components"),y=require("clsx"),m=require("styled-components"),b=m(i.Button)`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../_virtual/jsx-runtime.cjs.js");require("../../context/RemoteModulesContext.cjs.js");const n=require("react"),d=require("../../context/PowerpackContext.cjs.js");require("../../context/UriContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("../../api/base/client.cjs.js");require("../../api/generated/graphql.cjs.js");require("../../api/generated/graphqlLinks.cjs.js");require("../../api/generated/access.cjs.js");require("../../api/generated/actions.cjs.js");require("../../api/generated/activityFeed.cjs.js");require("../../api/generated/addons.cjs.js");require("../../api/generated/anatomy.cjs.js");require("../../api/generated/attributes.cjs.js");require("../../api/generated/authentication.cjs.js");require("../../api/generated/bundles.cjs.js");require("../../api/generated/configuration.cjs.js");require("../../api/generated/dataImport.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/projectFolders.cjs.js");require("../../api/generated/reviewables.cjs.js");require("../../api/generated/services.cjs.js");require("../../api/generated/system.cjs.js");require("../../api/generated/tasks.cjs.js");require("../../api/generated/teams.cjs.js");require("../../api/generated/thumbnails.cjs.js");require("../../api/generated/uRIs.cjs.js");require("../../api/generated/users.cjs.js");require("../../api/generated/versions.cjs.js");require("../../api/generated/workfiles.cjs.js");require("../../api/generated/ynputCloud.cjs.js");require("../../api/generated/grouping.cjs.js");require("../../api/generated/views.cjs.js");require("../../api/queries/actions/getActions.cjs.js");require("../../api/queries/activities/getActivities.cjs.js");require("../../api/queries/activities/updateActivities.cjs.js");require("../../api/queries/activities/updateReaction.cjs.js");require("../../api/queries/activities/getMentions.cjs.js");require("../../api/queries/activities/getCategories.cjs.js");require("../../api/queries/addons/getAddons.cjs.js");require("../../api/queries/addons/updateAddons.cjs.js");require("../../api/queries/attributes/getAttributes.cjs.js");require("../../api/queries/attributes/updateAttributes.cjs.js");require("../../api/queries/authentication/getAuthentication.cjs.js");require("../../api/queries/cloud/cloud.cjs.js");require("../../api/queries/columnStats/metricTargets.cjs.js");require("../../api/queries/config/getConfig.cjs.js");require("../../api/queries/config/updateConfig.cjs.js");require("../../api/queries/entities/getEntity.cjs.js");require("../../api/queries/entities/getEntityPanel.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/links/getEntityLinks.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/folders/getFolderDeleteInfo.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/permissions/getPermissions.cjs.js");require("../../api/queries/products/createProduct.cjs.js");require("../../api/queries/products/getFolderProducts.cjs.js");require("../../api/queries/project/getProject.cjs.js");require("../../api/queries/project/updateProject.cjs.js");require("../../api/queries/projectFolders/projectFolders.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/tasks/getTasks.cjs.js");require("../../api/queries/tasks/updateTasks.cjs.js");require("../../api/queries/teams/getTeams.cjs.js");require("../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../api/queries/users/getUsers.cjs.js");require("../../api/queries/users/updateUsers.cjs.js");require("../../api/queries/users/guests.cjs.js");require("../../api/queries/versions/updateVersions.cjs.js");require("../../api/queries/views/getViews.cjs.js");require("../../api/queries/views/updateViews.cjs.js");require("../../api/queries/watchers/getWatchers.cjs.js");require("../../api/queries/uris/getUris.cjs.js");require("lodash");require("react-toastify");require("react-redux");require("custom-protocol-check");require("../../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("uuid");require("../../util/pubsub.cjs.js");require("../../context/DetailsPanelContextInstance.cjs.js");require("../../context/SubtasksModulesContextInstance.cjs.js");require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");require("../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");require("../../context/MoveEntityContext.cjs.js");require("../../context/MenuContext.cjs.js");require("../../context/WebsocketContext.cjs.js");require("../../context/GlobalContext.cjs.js");require("../../context/ProjectContext.cjs.js");require("../../context/ProjectFoldersContext.cjs.js");const i=require("@ynput/ayon-react-components"),y=require("clsx"),m=require("styled-components"),b=m(i.Button)`
2
2
  transition: color 0.2s, background-color 0.2s, opacity 0.2s;
3
3
 
4
4
  .bolt {
@@ -1 +1 @@
1
- {"version":3,"file":"PowerpackButton.cjs.js","sources":["../../../../../src/components/Powerpack/PowerpackButton.tsx"],"sourcesContent":["import { PowerpackFeature, usePowerpack } from '@shared/context'\nimport { Button, ButtonProps, Icon } from '@ynput/ayon-react-components'\nimport clsx from 'clsx'\nimport { forwardRef, MouseEvent } from 'react'\nimport styled from 'styled-components'\n\nconst StyledButton = styled(Button)`\n transition: color 0.2s, background-color 0.2s, opacity 0.2s;\n\n .bolt {\n color: var(--md-sys-color-tertiary);\n }\n\n &.outline {\n color: var(--md-sys-color-tertiary);\n background-color: unset !important;\n border: 1px solid var(--md-sys-color-tertiary);\n &:hover {\n color: var(--md-sys-color-on-tertiary);\n }\n }\n\n &.filled {\n color: var(--md-sys-color-tertiary);\n background-color: var(--md-sys-color-tertiary) !important;\n color: var(--md-sys-color-on-tertiary);\n\n .bolt {\n color: var(--md-sys-color-on-tertiary);\n }\n\n &:hover {\n color: var(--md-sys-color-on-tertiary);\n }\n }\n\n &.rounded {\n border-radius: var(--border-radius-xl);\n }\n`\n\nexport interface PowerpackButtonProps extends Omit<ButtonProps, 'variant'> {\n feature: PowerpackFeature\n variant?: 'filled' | 'surface' | 'outline'\n rounded?: boolean\n bolt?: boolean\n}\n\nexport const PowerpackButton = forwardRef<HTMLButtonElement, PowerpackButtonProps>(\n ({ feature, variant = 'outline', rounded = true, bolt = false, ...props }, ref) => {\n const { setPowerpackDialog } = usePowerpack()\n\n const handleOnClick = (e: MouseEvent<HTMLButtonElement>) => {\n // open a dialog to subscribe to Ynput Cloud\n setPowerpackDialog(feature)\n // Call the original onClick handler\n props.onClick?.(e)\n }\n\n return (\n <StyledButton\n icon={props.icon || 'bolt'}\n {...props}\n ref={ref}\n onClick={handleOnClick}\n iconProps={{\n filled: variant === 'filled',\n }}\n className={clsx('cloud-button', props.className, { rounded })}\n data-tooltip={`Power feature`}\n data-tooltip-delay={0}\n >\n {props.children}\n {bolt && <Icon icon=\"bolt\" filled className=\"bolt\" />}\n </StyledButton>\n )\n },\n)\n"],"names":["StyledButton","styled","Button","PowerpackButton","forwardRef","feature","variant","rounded","bolt","props","ref","setPowerpackDialog","usePowerpack","handleOnClick","e","jsxs","clsx","Icon"],"mappings":"ywMAMMA,EAAeC,EAAOC,QAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA0CrBC,EAAkBC,EAAAA,WAC7B,CAAC,CAAE,QAAAC,EAAS,QAAAC,EAAU,UAAW,QAAAC,EAAU,GAAM,KAAAC,EAAO,GAAO,GAAGC,CAAA,EAASC,IAAQ,CACjF,KAAM,CAAE,mBAAAC,CAAA,EAAuBC,eAAA,EAEzBC,EAAiBC,GAAqC,CAE1DH,EAAmBN,CAAO,EAE1BI,EAAM,UAAUK,CAAC,CACnB,EAEA,OACEC,EAAAA,kBAAAA,KAACf,EAAA,CACC,KAAMS,EAAM,MAAQ,OACnB,GAAGA,EACJ,IAAAC,EACA,QAASG,EACT,UAAW,CACT,OAAQP,IAAY,QAAA,EAEtB,UAAWU,EAAK,eAAgBP,EAAM,UAAW,CAAE,QAAAF,EAAS,EAC5D,eAAc,gBACd,qBAAoB,EAEnB,SAAA,CAAAE,EAAM,SACND,2BAASS,EAAAA,KAAA,CAAK,KAAK,OAAO,OAAM,GAAC,UAAU,MAAA,CAAO,CAAA,CAAA,CAAA,CAGzD,CACF"}
1
+ {"version":3,"file":"PowerpackButton.cjs.js","sources":["../../../../../src/components/Powerpack/PowerpackButton.tsx"],"sourcesContent":["import { PowerpackFeature, usePowerpack } from '@shared/context'\nimport { Button, ButtonProps, Icon } from '@ynput/ayon-react-components'\nimport clsx from 'clsx'\nimport { forwardRef, MouseEvent } from 'react'\nimport styled from 'styled-components'\n\nconst StyledButton = styled(Button)`\n transition: color 0.2s, background-color 0.2s, opacity 0.2s;\n\n .bolt {\n color: var(--md-sys-color-tertiary);\n }\n\n &.outline {\n color: var(--md-sys-color-tertiary);\n background-color: unset !important;\n border: 1px solid var(--md-sys-color-tertiary);\n &:hover {\n color: var(--md-sys-color-on-tertiary);\n }\n }\n\n &.filled {\n color: var(--md-sys-color-tertiary);\n background-color: var(--md-sys-color-tertiary) !important;\n color: var(--md-sys-color-on-tertiary);\n\n .bolt {\n color: var(--md-sys-color-on-tertiary);\n }\n\n &:hover {\n color: var(--md-sys-color-on-tertiary);\n }\n }\n\n &.rounded {\n border-radius: var(--border-radius-xl);\n }\n`\n\nexport interface PowerpackButtonProps extends Omit<ButtonProps, 'variant'> {\n feature: PowerpackFeature\n variant?: 'filled' | 'surface' | 'outline'\n rounded?: boolean\n bolt?: boolean\n}\n\nexport const PowerpackButton = forwardRef<HTMLButtonElement, PowerpackButtonProps>(\n ({ feature, variant = 'outline', rounded = true, bolt = false, ...props }, ref) => {\n const { setPowerpackDialog } = usePowerpack()\n\n const handleOnClick = (e: MouseEvent<HTMLButtonElement>) => {\n // open a dialog to subscribe to Ynput Cloud\n setPowerpackDialog(feature)\n // Call the original onClick handler\n props.onClick?.(e)\n }\n\n return (\n <StyledButton\n icon={props.icon || 'bolt'}\n {...props}\n ref={ref}\n onClick={handleOnClick}\n iconProps={{\n filled: variant === 'filled',\n }}\n className={clsx('cloud-button', props.className, { rounded })}\n data-tooltip={`Power feature`}\n data-tooltip-delay={0}\n >\n {props.children}\n {bolt && <Icon icon=\"bolt\" filled className=\"bolt\" />}\n </StyledButton>\n )\n },\n)\n"],"names":["StyledButton","styled","Button","PowerpackButton","forwardRef","feature","variant","rounded","bolt","props","ref","setPowerpackDialog","usePowerpack","handleOnClick","e","jsxs","clsx","Icon"],"mappings":"u0MAMMA,EAAeC,EAAOC,QAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA0CrBC,EAAkBC,EAAAA,WAC7B,CAAC,CAAE,QAAAC,EAAS,QAAAC,EAAU,UAAW,QAAAC,EAAU,GAAM,KAAAC,EAAO,GAAO,GAAGC,CAAA,EAASC,IAAQ,CACjF,KAAM,CAAE,mBAAAC,CAAA,EAAuBC,eAAA,EAEzBC,EAAiBC,GAAqC,CAE1DH,EAAmBN,CAAO,EAE1BI,EAAM,UAAUK,CAAC,CACnB,EAEA,OACEC,EAAAA,kBAAAA,KAACf,EAAA,CACC,KAAMS,EAAM,MAAQ,OACnB,GAAGA,EACJ,IAAAC,EACA,QAASG,EACT,UAAW,CACT,OAAQP,IAAY,QAAA,EAEtB,UAAWU,EAAK,eAAgBP,EAAM,UAAW,CAAE,QAAAF,EAAS,EAC5D,eAAc,gBACd,qBAAoB,EAEnB,SAAA,CAAAE,EAAM,SACND,2BAASS,EAAAA,KAAA,CAAK,KAAK,OAAO,OAAM,GAAC,UAAU,MAAA,CAAO,CAAA,CAAA,CAAA,CAGzD,CACF"}
@@ -57,10 +57,15 @@ import "../../api/queries/attributes/getAttributes.es.js";
57
57
  import "../../api/queries/attributes/updateAttributes.es.js";
58
58
  import "../../api/queries/authentication/getAuthentication.es.js";
59
59
  import "../../api/queries/cloud/cloud.es.js";
60
+ import "../../api/queries/columnStats/metricTargets.es.js";
60
61
  import "../../api/queries/config/getConfig.es.js";
61
62
  import "../../api/queries/config/updateConfig.es.js";
62
63
  import "../../api/queries/entities/getEntity.es.js";
63
64
  import "../../api/queries/entities/getEntityPanel.es.js";
65
+ import "../../api/queries/overview/getOverview.es.js";
66
+ import "../../api/queries/overview/updateOverview.es.js";
67
+ import "../../api/queries/versions/getVersionsProducts.es.js";
68
+ import "../../api/queries/links/getEntityLinks.es.js";
64
69
  import "../../api/queries/entities/updateEntity.es.js";
65
70
  import "../../api/queries/entityLists/getLists.es.js";
66
71
  import "../../api/queries/entityLists/updateLists.es.js";
@@ -72,10 +77,6 @@ import "../../api/queries/folders/getFolderDeleteInfo.es.js";
72
77
  import "../../api/queries/grouping/getGrouping.es.js";
73
78
  import "../../api/queries/links/updateLinks.es.js";
74
79
  import "../../api/queries/links/getLinks.es.js";
75
- import "../../api/queries/links/getEntityLinks.es.js";
76
- import "../../api/queries/overview/getOverview.es.js";
77
- import "../../api/queries/overview/updateOverview.es.js";
78
- import "../../api/queries/versions/getVersionsProducts.es.js";
79
80
  import "../../api/queries/permissions/getPermissions.es.js";
80
81
  import "../../api/queries/products/createProduct.es.js";
81
82
  import "../../api/queries/products/getFolderProducts.es.js";
@@ -156,7 +157,7 @@ const b = f(d)`
156
157
  &.rounded {
157
158
  border-radius: var(--border-radius-xl);
158
159
  }
159
- `, zr = s(
160
+ `, Ar = s(
160
161
  ({ feature: t, variant: i = "outline", rounded: m = !0, bolt: p = !1, ...o }, l) => {
161
162
  const { setPowerpackDialog: a } = n(), c = (e) => {
162
163
  a(t), o.onClick?.(e);
@@ -183,6 +184,6 @@ const b = f(d)`
183
184
  }
184
185
  );
185
186
  export {
186
- zr as PowerpackButton
187
+ Ar as PowerpackButton
187
188
  };
188
189
  //# sourceMappingURL=PowerpackButton.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PowerpackButton.es.js","sources":["../../../../../src/components/Powerpack/PowerpackButton.tsx"],"sourcesContent":["import { PowerpackFeature, usePowerpack } from '@shared/context'\nimport { Button, ButtonProps, Icon } from '@ynput/ayon-react-components'\nimport clsx from 'clsx'\nimport { forwardRef, MouseEvent } from 'react'\nimport styled from 'styled-components'\n\nconst StyledButton = styled(Button)`\n transition: color 0.2s, background-color 0.2s, opacity 0.2s;\n\n .bolt {\n color: var(--md-sys-color-tertiary);\n }\n\n &.outline {\n color: var(--md-sys-color-tertiary);\n background-color: unset !important;\n border: 1px solid var(--md-sys-color-tertiary);\n &:hover {\n color: var(--md-sys-color-on-tertiary);\n }\n }\n\n &.filled {\n color: var(--md-sys-color-tertiary);\n background-color: var(--md-sys-color-tertiary) !important;\n color: var(--md-sys-color-on-tertiary);\n\n .bolt {\n color: var(--md-sys-color-on-tertiary);\n }\n\n &:hover {\n color: var(--md-sys-color-on-tertiary);\n }\n }\n\n &.rounded {\n border-radius: var(--border-radius-xl);\n }\n`\n\nexport interface PowerpackButtonProps extends Omit<ButtonProps, 'variant'> {\n feature: PowerpackFeature\n variant?: 'filled' | 'surface' | 'outline'\n rounded?: boolean\n bolt?: boolean\n}\n\nexport const PowerpackButton = forwardRef<HTMLButtonElement, PowerpackButtonProps>(\n ({ feature, variant = 'outline', rounded = true, bolt = false, ...props }, ref) => {\n const { setPowerpackDialog } = usePowerpack()\n\n const handleOnClick = (e: MouseEvent<HTMLButtonElement>) => {\n // open a dialog to subscribe to Ynput Cloud\n setPowerpackDialog(feature)\n // Call the original onClick handler\n props.onClick?.(e)\n }\n\n return (\n <StyledButton\n icon={props.icon || 'bolt'}\n {...props}\n ref={ref}\n onClick={handleOnClick}\n iconProps={{\n filled: variant === 'filled',\n }}\n className={clsx('cloud-button', props.className, { rounded })}\n data-tooltip={`Power feature`}\n data-tooltip-delay={0}\n >\n {props.children}\n {bolt && <Icon icon=\"bolt\" filled className=\"bolt\" />}\n </StyledButton>\n )\n },\n)\n"],"names":["StyledButton","styled","Button","PowerpackButton","forwardRef","feature","variant","rounded","bolt","props","ref","setPowerpackDialog","usePowerpack","handleOnClick","jsxs","clsx","Icon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAMA,IAAeC,EAAOC,CAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GA0CrBC,KAAkBC;AAAA,EAC7B,CAAC,EAAE,SAAAC,GAAS,SAAAC,IAAU,WAAW,SAAAC,IAAU,IAAM,MAAAC,IAAO,IAAO,GAAGC,EAAA,GAASC,MAAQ;AACjF,UAAM,EAAE,oBAAAC,EAAA,IAAuBC,EAAA,GAEzBC,IAAgB,CAAC,MAAqC;AAE1D,MAAAF,EAAmBN,CAAO,GAE1BI,EAAM,UAAU,CAAC;AAAA,IACnB;AAEA,WACEK,gBAAAA,EAAAA;AAAAA,MAACd;AAAA,MAAA;AAAA,QACC,MAAMS,EAAM,QAAQ;AAAA,QACnB,GAAGA;AAAA,QACJ,KAAAC;AAAA,QACA,SAASG;AAAA,QACT,WAAW;AAAA,UACT,QAAQP,MAAY;AAAA,QAAA;AAAA,QAEtB,WAAWS,EAAK,gBAAgBN,EAAM,WAAW,EAAE,SAAAF,GAAS;AAAA,QAC5D,gBAAc;AAAA,QACd,sBAAoB;AAAA,QAEnB,UAAA;AAAA,UAAAE,EAAM;AAAA,UACND,2BAASQ,GAAA,EAAK,MAAK,QAAO,QAAM,IAAC,WAAU,OAAA,CAAO;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGzD;AACF;"}
1
+ {"version":3,"file":"PowerpackButton.es.js","sources":["../../../../../src/components/Powerpack/PowerpackButton.tsx"],"sourcesContent":["import { PowerpackFeature, usePowerpack } from '@shared/context'\nimport { Button, ButtonProps, Icon } from '@ynput/ayon-react-components'\nimport clsx from 'clsx'\nimport { forwardRef, MouseEvent } from 'react'\nimport styled from 'styled-components'\n\nconst StyledButton = styled(Button)`\n transition: color 0.2s, background-color 0.2s, opacity 0.2s;\n\n .bolt {\n color: var(--md-sys-color-tertiary);\n }\n\n &.outline {\n color: var(--md-sys-color-tertiary);\n background-color: unset !important;\n border: 1px solid var(--md-sys-color-tertiary);\n &:hover {\n color: var(--md-sys-color-on-tertiary);\n }\n }\n\n &.filled {\n color: var(--md-sys-color-tertiary);\n background-color: var(--md-sys-color-tertiary) !important;\n color: var(--md-sys-color-on-tertiary);\n\n .bolt {\n color: var(--md-sys-color-on-tertiary);\n }\n\n &:hover {\n color: var(--md-sys-color-on-tertiary);\n }\n }\n\n &.rounded {\n border-radius: var(--border-radius-xl);\n }\n`\n\nexport interface PowerpackButtonProps extends Omit<ButtonProps, 'variant'> {\n feature: PowerpackFeature\n variant?: 'filled' | 'surface' | 'outline'\n rounded?: boolean\n bolt?: boolean\n}\n\nexport const PowerpackButton = forwardRef<HTMLButtonElement, PowerpackButtonProps>(\n ({ feature, variant = 'outline', rounded = true, bolt = false, ...props }, ref) => {\n const { setPowerpackDialog } = usePowerpack()\n\n const handleOnClick = (e: MouseEvent<HTMLButtonElement>) => {\n // open a dialog to subscribe to Ynput Cloud\n setPowerpackDialog(feature)\n // Call the original onClick handler\n props.onClick?.(e)\n }\n\n return (\n <StyledButton\n icon={props.icon || 'bolt'}\n {...props}\n ref={ref}\n onClick={handleOnClick}\n iconProps={{\n filled: variant === 'filled',\n }}\n className={clsx('cloud-button', props.className, { rounded })}\n data-tooltip={`Power feature`}\n data-tooltip-delay={0}\n >\n {props.children}\n {bolt && <Icon icon=\"bolt\" filled className=\"bolt\" />}\n </StyledButton>\n )\n },\n)\n"],"names":["StyledButton","styled","Button","PowerpackButton","forwardRef","feature","variant","rounded","bolt","props","ref","setPowerpackDialog","usePowerpack","handleOnClick","jsxs","clsx","Icon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAMA,IAAeC,EAAOC,CAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GA0CrBC,KAAkBC;AAAA,EAC7B,CAAC,EAAE,SAAAC,GAAS,SAAAC,IAAU,WAAW,SAAAC,IAAU,IAAM,MAAAC,IAAO,IAAO,GAAGC,EAAA,GAASC,MAAQ;AACjF,UAAM,EAAE,oBAAAC,EAAA,IAAuBC,EAAA,GAEzBC,IAAgB,CAAC,MAAqC;AAE1D,MAAAF,EAAmBN,CAAO,GAE1BI,EAAM,UAAU,CAAC;AAAA,IACnB;AAEA,WACEK,gBAAAA,EAAAA;AAAAA,MAACd;AAAA,MAAA;AAAA,QACC,MAAMS,EAAM,QAAQ;AAAA,QACnB,GAAGA;AAAA,QACJ,KAAAC;AAAA,QACA,SAASG;AAAA,QACT,WAAW;AAAA,UACT,QAAQP,MAAY;AAAA,QAAA;AAAA,QAEtB,WAAWS,EAAK,gBAAgBN,EAAM,WAAW,EAAE,SAAAF,GAAS;AAAA,QAC5D,gBAAc;AAAA,QACd,sBAAoB;AAAA,QAEnB,UAAA;AAAA,UAAAE,EAAM;AAAA,UACND,2BAASQ,GAAA,EAAK,MAAK,QAAO,QAAM,IAAC,WAAU,OAAA,CAAO;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGzD;AACF;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../_virtual/jsx-runtime.cjs.js"),s=require("./PowerpackDialog.styled.cjs.js"),O=require("react"),l=require("@ynput/ayon-react-components"),P=require("./FreeTrialLink.cjs.js");require("../../context/RemoteModulesContext.cjs.js");const b=require("../../context/PowerpackContext.cjs.js");require("../../context/UriContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("../../api/base/client.cjs.js");require("../../api/generated/graphql.cjs.js");require("../../api/generated/graphqlLinks.cjs.js");require("../../api/generated/access.cjs.js");require("../../api/generated/actions.cjs.js");require("../../api/generated/activityFeed.cjs.js");require("../../api/generated/addons.cjs.js");require("../../api/generated/anatomy.cjs.js");require("../../api/generated/attributes.cjs.js");require("../../api/generated/authentication.cjs.js");require("../../api/generated/bundles.cjs.js");require("../../api/generated/configuration.cjs.js");require("../../api/generated/dataImport.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/projectFolders.cjs.js");require("../../api/generated/reviewables.cjs.js");require("../../api/generated/services.cjs.js");require("../../api/generated/system.cjs.js");require("../../api/generated/tasks.cjs.js");require("../../api/generated/teams.cjs.js");require("../../api/generated/thumbnails.cjs.js");require("../../api/generated/uRIs.cjs.js");require("../../api/generated/users.cjs.js");require("../../api/generated/versions.cjs.js");require("../../api/generated/workfiles.cjs.js");require("../../api/generated/ynputCloud.cjs.js");require("../../api/generated/grouping.cjs.js");require("../../api/generated/views.cjs.js");require("../../api/queries/actions/getActions.cjs.js");require("../../api/queries/activities/getActivities.cjs.js");require("../../api/queries/activities/updateActivities.cjs.js");require("../../api/queries/activities/updateReaction.cjs.js");require("../../api/queries/activities/getMentions.cjs.js");require("../../api/queries/activities/getCategories.cjs.js");require("../../api/queries/addons/getAddons.cjs.js");require("../../api/queries/addons/updateAddons.cjs.js");require("../../api/queries/attributes/getAttributes.cjs.js");require("../../api/queries/attributes/updateAttributes.cjs.js");require("../../api/queries/authentication/getAuthentication.cjs.js");require("../../api/queries/cloud/cloud.cjs.js");require("../../api/queries/config/getConfig.cjs.js");require("../../api/queries/config/updateConfig.cjs.js");require("../../api/queries/entities/getEntity.cjs.js");require("../../api/queries/entities/getEntityPanel.cjs.js");require("../../api/queries/entities/updateEntity.cjs.js");require("../../api/queries/entityLists/getLists.cjs.js");require("../../api/queries/entityLists/updateLists.cjs.js");require("../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../api/queries/entityLists/listFolders.cjs.js");require("../../api/queries/folders/getFolders.cjs.js");require("../../api/queries/folders/getFolderDeleteInfo.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/products/getFolderProducts.cjs.js");require("../../api/queries/project/getProject.cjs.js");require("../../api/queries/project/updateProject.cjs.js");require("../../api/queries/projectFolders/projectFolders.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/tasks/getTasks.cjs.js");require("../../api/queries/tasks/updateTasks.cjs.js");require("../../api/queries/teams/getTeams.cjs.js");require("../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../api/queries/users/getUsers.cjs.js");require("../../api/queries/users/updateUsers.cjs.js");require("../../api/queries/users/guests.cjs.js");require("../../api/queries/versions/updateVersions.cjs.js");require("../../api/queries/views/getViews.cjs.js");require("../../api/queries/views/updateViews.cjs.js");require("../../api/queries/watchers/getWatchers.cjs.js");require("../../api/queries/uris/getUris.cjs.js");require("lodash");require("react-toastify");require("react-redux");require("custom-protocol-check");require("../../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("uuid");require("../../util/pubsub.cjs.js");require("../../context/DetailsPanelContextInstance.cjs.js");require("../../context/SubtasksModulesContextInstance.cjs.js");require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");require("../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");require("../../context/MoveEntityContext.cjs.js");require("../../context/MenuContext.cjs.js");require("../../context/WebsocketContext.cjs.js");require("../../context/GlobalContext.cjs.js");require("../../context/ProjectContext.cjs.js");require("../../context/ProjectFoldersContext.cjs.js");const A=require("./CTAButton.cjs.js"),a=require("../../config/powerpackFeatures.cjs.js"),v=({label:x,description:p,features:d,isCloseable:q=!0,addon:n})=>{const[j,h]=O.useState(!1),{setPowerpackDialog:R,selectedPowerPack:m,powerpackDialog:o,addonDialog:r}=b.usePowerpack(),w=!!n||!!r,E=x??o?.label??r?.label,k=p??o?.description??(r?r.features[r.selectedFeature??""]?.description??Object.values(r.features)[0]?.description:void 0),F=n?.icon??(r?r.icon:"bolt");if(!o&&!r&&(!x||!p))return null;const f=(()=>{if(d)return Object.entries(d);if(r){const u=r.featureOrder.filter(i=>i in r.features).map(i=>[i,r.features[i]]);if(r.selectedFeature){const i=u.findIndex(([t])=>t===r.selectedFeature);if(i>0){const[t]=u.splice(i,1);u.unshift(t)}}return u}return Object.entries(a.powerpackFeatures).sort(([u],[i])=>{if(u===m)return-1;if(i===m)return 1;const t=a.powerpackFeatureOrder.indexOf(u),c=a.powerpackFeatureOrder.indexOf(i);return t>-1&&c>-1?t-c:t>-1?-1:c>-1?1:0})})(),g=()=>{q&&(R(null),h(!1))};return e.jsxRuntimeExports.jsxs(s.PowerpackDialog,{isOpen:!0,onClose:g,size:"lg",hideCancelButton:!q,hideBackdrop:!q,children:[e.jsxRuntimeExports.jsxs(s.MainFeature,{children:[e.jsxRuntimeExports.jsxs("h1",{children:[e.jsxRuntimeExports.jsx(l.Icon,{icon:F}),E]}),e.jsxRuntimeExports.jsx("h2",{children:k})]}),e.jsxRuntimeExports.jsxs(s.FeaturesList,{children:[w?e.jsxRuntimeExports.jsxs("h3",{children:["Unlock all ",e.jsxRuntimeExports.jsx("span",{className:"green",children:"Premium Addons"})," with an AYON Studio subscription."]}):e.jsxRuntimeExports.jsxs("h3",{children:["Unlock all ",e.jsxRuntimeExports.jsx(l.Icon,{icon:"bolt"})," ",e.jsxRuntimeExports.jsx("span",{className:"green",children:"Power Features"})," with an AYON subscription."]}),e.jsxRuntimeExports.jsx("ul",{children:f.slice(0,j?void 0:5).map(([u,i])=>e.jsxRuntimeExports.jsxs("li",{children:[e.jsxRuntimeExports.jsx(l.Icon,{icon:i.icon??"check"}),e.jsxRuntimeExports.jsx("span",{children:i.bullet})]},u))}),!j&&f.length>5&&e.jsxRuntimeExports.jsx(s.ShowAll,{onClick:()=>h(!0),children:"Show all"})]}),e.jsxRuntimeExports.jsx(P.FreeTrialLink,{addon:n?.name,children:e.jsxRuntimeExports.jsx(A.CTAButton,{})})]})};exports.PowerpackDialog=v;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../_virtual/jsx-runtime.cjs.js"),s=require("./PowerpackDialog.styled.cjs.js"),O=require("react"),l=require("@ynput/ayon-react-components"),P=require("./FreeTrialLink.cjs.js");require("../../context/RemoteModulesContext.cjs.js");const b=require("../../context/PowerpackContext.cjs.js");require("../../context/UriContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("../../api/base/client.cjs.js");require("../../api/generated/graphql.cjs.js");require("../../api/generated/graphqlLinks.cjs.js");require("../../api/generated/access.cjs.js");require("../../api/generated/actions.cjs.js");require("../../api/generated/activityFeed.cjs.js");require("../../api/generated/addons.cjs.js");require("../../api/generated/anatomy.cjs.js");require("../../api/generated/attributes.cjs.js");require("../../api/generated/authentication.cjs.js");require("../../api/generated/bundles.cjs.js");require("../../api/generated/configuration.cjs.js");require("../../api/generated/dataImport.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/projectFolders.cjs.js");require("../../api/generated/reviewables.cjs.js");require("../../api/generated/services.cjs.js");require("../../api/generated/system.cjs.js");require("../../api/generated/tasks.cjs.js");require("../../api/generated/teams.cjs.js");require("../../api/generated/thumbnails.cjs.js");require("../../api/generated/uRIs.cjs.js");require("../../api/generated/users.cjs.js");require("../../api/generated/versions.cjs.js");require("../../api/generated/workfiles.cjs.js");require("../../api/generated/ynputCloud.cjs.js");require("../../api/generated/grouping.cjs.js");require("../../api/generated/views.cjs.js");require("../../api/queries/actions/getActions.cjs.js");require("../../api/queries/activities/getActivities.cjs.js");require("../../api/queries/activities/updateActivities.cjs.js");require("../../api/queries/activities/updateReaction.cjs.js");require("../../api/queries/activities/getMentions.cjs.js");require("../../api/queries/activities/getCategories.cjs.js");require("../../api/queries/addons/getAddons.cjs.js");require("../../api/queries/addons/updateAddons.cjs.js");require("../../api/queries/attributes/getAttributes.cjs.js");require("../../api/queries/attributes/updateAttributes.cjs.js");require("../../api/queries/authentication/getAuthentication.cjs.js");require("../../api/queries/cloud/cloud.cjs.js");require("../../api/queries/columnStats/metricTargets.cjs.js");require("../../api/queries/config/getConfig.cjs.js");require("../../api/queries/config/updateConfig.cjs.js");require("../../api/queries/entities/getEntity.cjs.js");require("../../api/queries/entities/getEntityPanel.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/links/getEntityLinks.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/folders/getFolderDeleteInfo.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/permissions/getPermissions.cjs.js");require("../../api/queries/products/createProduct.cjs.js");require("../../api/queries/products/getFolderProducts.cjs.js");require("../../api/queries/project/getProject.cjs.js");require("../../api/queries/project/updateProject.cjs.js");require("../../api/queries/projectFolders/projectFolders.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/tasks/getTasks.cjs.js");require("../../api/queries/tasks/updateTasks.cjs.js");require("../../api/queries/teams/getTeams.cjs.js");require("../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../api/queries/users/getUsers.cjs.js");require("../../api/queries/users/updateUsers.cjs.js");require("../../api/queries/users/guests.cjs.js");require("../../api/queries/versions/updateVersions.cjs.js");require("../../api/queries/views/getViews.cjs.js");require("../../api/queries/views/updateViews.cjs.js");require("../../api/queries/watchers/getWatchers.cjs.js");require("../../api/queries/uris/getUris.cjs.js");require("lodash");require("react-toastify");require("react-redux");require("custom-protocol-check");require("../../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("uuid");require("../../util/pubsub.cjs.js");require("../../context/DetailsPanelContextInstance.cjs.js");require("../../context/SubtasksModulesContextInstance.cjs.js");require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");require("../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");require("../../context/MoveEntityContext.cjs.js");require("../../context/MenuContext.cjs.js");require("../../context/WebsocketContext.cjs.js");require("../../context/GlobalContext.cjs.js");require("../../context/ProjectContext.cjs.js");require("../../context/ProjectFoldersContext.cjs.js");const A=require("./CTAButton.cjs.js"),a=require("../../config/powerpackFeatures.cjs.js"),v=({label:x,description:p,features:d,isCloseable:q=!0,addon:n})=>{const[j,h]=O.useState(!1),{setPowerpackDialog:R,selectedPowerPack:m,powerpackDialog:o,addonDialog:r}=b.usePowerpack(),w=!!n||!!r,E=x??o?.label??r?.label,k=p??o?.description??(r?r.features[r.selectedFeature??""]?.description??Object.values(r.features)[0]?.description:void 0),F=n?.icon??(r?r.icon:"bolt");if(!o&&!r&&(!x||!p))return null;const f=(()=>{if(d)return Object.entries(d);if(r){const u=r.featureOrder.filter(i=>i in r.features).map(i=>[i,r.features[i]]);if(r.selectedFeature){const i=u.findIndex(([t])=>t===r.selectedFeature);if(i>0){const[t]=u.splice(i,1);u.unshift(t)}}return u}return Object.entries(a.powerpackFeatures).sort(([u],[i])=>{if(u===m)return-1;if(i===m)return 1;const t=a.powerpackFeatureOrder.indexOf(u),c=a.powerpackFeatureOrder.indexOf(i);return t>-1&&c>-1?t-c:t>-1?-1:c>-1?1:0})})(),g=()=>{q&&(R(null),h(!1))};return e.jsxRuntimeExports.jsxs(s.PowerpackDialog,{isOpen:!0,onClose:g,size:"lg",hideCancelButton:!q,hideBackdrop:!q,children:[e.jsxRuntimeExports.jsxs(s.MainFeature,{children:[e.jsxRuntimeExports.jsxs("h1",{children:[e.jsxRuntimeExports.jsx(l.Icon,{icon:F}),E]}),e.jsxRuntimeExports.jsx("h2",{children:k})]}),e.jsxRuntimeExports.jsxs(s.FeaturesList,{children:[w?e.jsxRuntimeExports.jsxs("h3",{children:["Unlock all ",e.jsxRuntimeExports.jsx("span",{className:"green",children:"Premium Addons"})," with an AYON Studio subscription."]}):e.jsxRuntimeExports.jsxs("h3",{children:["Unlock all ",e.jsxRuntimeExports.jsx(l.Icon,{icon:"bolt"})," ",e.jsxRuntimeExports.jsx("span",{className:"green",children:"Power Features"})," with an AYON subscription."]}),e.jsxRuntimeExports.jsx("ul",{children:f.slice(0,j?void 0:5).map(([u,i])=>e.jsxRuntimeExports.jsxs("li",{children:[e.jsxRuntimeExports.jsx(l.Icon,{icon:i.icon??"check"}),e.jsxRuntimeExports.jsx("span",{children:i.bullet})]},u))}),!j&&f.length>5&&e.jsxRuntimeExports.jsx(s.ShowAll,{onClick:()=>h(!0),children:"Show all"})]}),e.jsxRuntimeExports.jsx(P.FreeTrialLink,{addon:n?.name,children:e.jsxRuntimeExports.jsx(A.CTAButton,{})})]})};exports.PowerpackDialog=v;
2
2
  //# sourceMappingURL=PowerpackDialog.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PowerpackDialog.cjs.js","sources":["../../../../../src/components/Powerpack/PowerpackDialog.tsx"],"sourcesContent":["import * as Styled from './PowerpackDialog.styled'\nimport { FC, useState } from 'react'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { FreeTrialLink } from './FreeTrialLink'\nimport { powerpackFeatureOrder, powerpackFeatures, usePowerpack } from '@shared/context'\nimport type { PowerpackDialogType } from '@shared/context/PowerpackContext'\nimport { CTAButton } from './CTAButton'\n\nexport interface PowerpackDialogProps {\n label?: string\n description?: string\n features?: Record<string, Pick<PowerpackDialogType, 'bullet' | 'icon'>>\n isCloseable?: boolean\n addon?: {\n name: string\n icon: string\n }\n}\n\nexport const PowerpackDialog: FC<PowerpackDialogProps> = ({\n label,\n description,\n features,\n isCloseable = true,\n addon,\n}) => {\n const [showAll, setShowAll] = useState(false)\n const { setPowerpackDialog, selectedPowerPack, powerpackDialog, addonDialog } = usePowerpack()\n\n // Determine if we're showing an addon dialog (from context or props)\n const isAddon = !!addon || !!addonDialog\n\n // Resolve the active dialog values: props override context, addon context provides its own data\n const activeLabel = label ?? powerpackDialog?.label ?? addonDialog?.label\n const activeDescription =\n description ??\n powerpackDialog?.description ??\n (addonDialog\n ? addonDialog.features[addonDialog.selectedFeature ?? '']?.description ??\n Object.values(addonDialog.features)[0]?.description\n : undefined)\n const activeIcon = addon?.icon ?? (addonDialog ? addonDialog.icon : 'bolt')\n\n if (!powerpackDialog && !addonDialog && (!label || !description)) return null\n\n // Resolve the features list and sort it\n const resolveFeatures = (): [string, Pick<PowerpackDialogType, 'bullet' | 'icon'>][] => {\n // Explicit features prop takes highest priority\n if (features) {\n return Object.entries(features)\n }\n\n // Addon dialog from context\n if (addonDialog) {\n const ordered = addonDialog.featureOrder\n .filter((key) => key in addonDialog.features)\n .map(\n (key) =>\n [key, addonDialog.features[key]] as [\n string,\n Pick<PowerpackDialogType, 'bullet' | 'icon'>,\n ],\n )\n\n // Move selected feature to top\n if (addonDialog.selectedFeature) {\n const idx = ordered.findIndex(([key]) => key === addonDialog.selectedFeature)\n if (idx > 0) {\n const [item] = ordered.splice(idx, 1)\n ordered.unshift(item)\n }\n }\n\n return ordered\n }\n\n // Default: powerpack features\n return Object.entries(powerpackFeatures).sort(([keyA], [keyB]) => {\n if (keyA === selectedPowerPack) return -1\n if (keyB === selectedPowerPack) return 1\n\n const indexA = powerpackFeatureOrder.indexOf(keyA as any)\n const indexB = powerpackFeatureOrder.indexOf(keyB as any)\n\n if (indexA > -1 && indexB > -1) {\n return indexA - indexB\n }\n if (indexA > -1) return -1\n if (indexB > -1) return 1\n return 0\n })\n }\n\n const sortedFeatures = resolveFeatures()\n\n const handleClose = () => {\n if (!isCloseable) return\n setPowerpackDialog(null)\n setShowAll(false)\n }\n\n return (\n <Styled.PowerpackDialog\n isOpen\n onClose={handleClose}\n size=\"lg\"\n hideCancelButton={!isCloseable}\n hideBackdrop={!isCloseable}\n >\n <Styled.MainFeature>\n <h1>\n <Icon icon={activeIcon} />\n {activeLabel}\n </h1>\n <h2>{activeDescription}</h2>\n </Styled.MainFeature>\n\n <Styled.FeaturesList>\n {isAddon ? (\n <h3>\n Unlock all <span className=\"green\">Premium Addons</span> with an AYON Studio\n subscription.\n </h3>\n ) : (\n <h3>\n Unlock all <Icon icon=\"bolt\" /> <span className=\"green\">Power Features</span> with an\n AYON subscription.\n </h3>\n )}\n <ul>\n {sortedFeatures.slice(0, showAll ? undefined : 5).map(([key, value]) => (\n <li key={key}>\n <Icon icon={value.icon ?? 'check'} />\n <span>{value.bullet}</span>\n </li>\n ))}\n </ul>\n {!showAll && sortedFeatures.length > 5 && (\n <Styled.ShowAll onClick={() => setShowAll(true)}>Show all</Styled.ShowAll>\n )}\n </Styled.FeaturesList>\n <FreeTrialLink addon={addon?.name}>\n <CTAButton />\n </FreeTrialLink>\n </Styled.PowerpackDialog>\n )\n}\n"],"names":["PowerpackDialog","label","description","features","isCloseable","addon","showAll","setShowAll","useState","setPowerpackDialog","selectedPowerPack","powerpackDialog","addonDialog","usePowerpack","isAddon","activeLabel","activeDescription","activeIcon","sortedFeatures","ordered","key","idx","item","powerpackFeatures","keyA","keyB","indexA","powerpackFeatureOrder","indexB","handleClose","jsxs","Styled.PowerpackDialog","Styled.MainFeature","jsx","Icon","Styled.FeaturesList","value","Styled.ShowAll","FreeTrialLink","CTAButton"],"mappings":"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"}
1
+ {"version":3,"file":"PowerpackDialog.cjs.js","sources":["../../../../../src/components/Powerpack/PowerpackDialog.tsx"],"sourcesContent":["import * as Styled from './PowerpackDialog.styled'\nimport { FC, useState } from 'react'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { FreeTrialLink } from './FreeTrialLink'\nimport { powerpackFeatureOrder, powerpackFeatures, usePowerpack } from '@shared/context'\nimport type { PowerpackDialogType } from '@shared/context/PowerpackContext'\nimport { CTAButton } from './CTAButton'\n\nexport interface PowerpackDialogProps {\n label?: string\n description?: string\n features?: Record<string, Pick<PowerpackDialogType, 'bullet' | 'icon'>>\n isCloseable?: boolean\n addon?: {\n name: string\n icon: string\n }\n}\n\nexport const PowerpackDialog: FC<PowerpackDialogProps> = ({\n label,\n description,\n features,\n isCloseable = true,\n addon,\n}) => {\n const [showAll, setShowAll] = useState(false)\n const { setPowerpackDialog, selectedPowerPack, powerpackDialog, addonDialog } = usePowerpack()\n\n // Determine if we're showing an addon dialog (from context or props)\n const isAddon = !!addon || !!addonDialog\n\n // Resolve the active dialog values: props override context, addon context provides its own data\n const activeLabel = label ?? powerpackDialog?.label ?? addonDialog?.label\n const activeDescription =\n description ??\n powerpackDialog?.description ??\n (addonDialog\n ? addonDialog.features[addonDialog.selectedFeature ?? '']?.description ??\n Object.values(addonDialog.features)[0]?.description\n : undefined)\n const activeIcon = addon?.icon ?? (addonDialog ? addonDialog.icon : 'bolt')\n\n if (!powerpackDialog && !addonDialog && (!label || !description)) return null\n\n // Resolve the features list and sort it\n const resolveFeatures = (): [string, Pick<PowerpackDialogType, 'bullet' | 'icon'>][] => {\n // Explicit features prop takes highest priority\n if (features) {\n return Object.entries(features)\n }\n\n // Addon dialog from context\n if (addonDialog) {\n const ordered = addonDialog.featureOrder\n .filter((key) => key in addonDialog.features)\n .map(\n (key) =>\n [key, addonDialog.features[key]] as [\n string,\n Pick<PowerpackDialogType, 'bullet' | 'icon'>,\n ],\n )\n\n // Move selected feature to top\n if (addonDialog.selectedFeature) {\n const idx = ordered.findIndex(([key]) => key === addonDialog.selectedFeature)\n if (idx > 0) {\n const [item] = ordered.splice(idx, 1)\n ordered.unshift(item)\n }\n }\n\n return ordered\n }\n\n // Default: powerpack features\n return Object.entries(powerpackFeatures).sort(([keyA], [keyB]) => {\n if (keyA === selectedPowerPack) return -1\n if (keyB === selectedPowerPack) return 1\n\n const indexA = powerpackFeatureOrder.indexOf(keyA as any)\n const indexB = powerpackFeatureOrder.indexOf(keyB as any)\n\n if (indexA > -1 && indexB > -1) {\n return indexA - indexB\n }\n if (indexA > -1) return -1\n if (indexB > -1) return 1\n return 0\n })\n }\n\n const sortedFeatures = resolveFeatures()\n\n const handleClose = () => {\n if (!isCloseable) return\n setPowerpackDialog(null)\n setShowAll(false)\n }\n\n return (\n <Styled.PowerpackDialog\n isOpen\n onClose={handleClose}\n size=\"lg\"\n hideCancelButton={!isCloseable}\n hideBackdrop={!isCloseable}\n >\n <Styled.MainFeature>\n <h1>\n <Icon icon={activeIcon} />\n {activeLabel}\n </h1>\n <h2>{activeDescription}</h2>\n </Styled.MainFeature>\n\n <Styled.FeaturesList>\n {isAddon ? (\n <h3>\n Unlock all <span className=\"green\">Premium Addons</span> with an AYON Studio\n subscription.\n </h3>\n ) : (\n <h3>\n Unlock all <Icon icon=\"bolt\" /> <span className=\"green\">Power Features</span> with an\n AYON subscription.\n </h3>\n )}\n <ul>\n {sortedFeatures.slice(0, showAll ? undefined : 5).map(([key, value]) => (\n <li key={key}>\n <Icon icon={value.icon ?? 'check'} />\n <span>{value.bullet}</span>\n </li>\n ))}\n </ul>\n {!showAll && sortedFeatures.length > 5 && (\n <Styled.ShowAll onClick={() => setShowAll(true)}>Show all</Styled.ShowAll>\n )}\n </Styled.FeaturesList>\n <FreeTrialLink addon={addon?.name}>\n <CTAButton />\n </FreeTrialLink>\n </Styled.PowerpackDialog>\n )\n}\n"],"names":["PowerpackDialog","label","description","features","isCloseable","addon","showAll","setShowAll","useState","setPowerpackDialog","selectedPowerPack","powerpackDialog","addonDialog","usePowerpack","isAddon","activeLabel","activeDescription","activeIcon","sortedFeatures","ordered","key","idx","item","powerpackFeatures","keyA","keyB","indexA","powerpackFeatureOrder","indexB","handleClose","jsxs","Styled.PowerpackDialog","Styled.MainFeature","jsx","Icon","Styled.FeaturesList","value","Styled.ShowAll","FreeTrialLink","CTAButton"],"mappings":"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"}