@ynput/ayon-frontend-shared 0.3.51 → 0.3.52

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 (786) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +33 -31
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/NewEntity.cjs.js +2 -0
  5. package/dist/NewEntity.cjs.js.map +1 -0
  6. package/dist/NewEntity.es.js +16 -0
  7. package/dist/NewEntity.es.js.map +1 -0
  8. package/dist/ProjectTreeTable.cjs.js +1 -1
  9. package/dist/ProjectTreeTable.es.js +236 -230
  10. package/dist/ProjectTreeTable.es.js.map +1 -1
  11. package/dist/Slicer.cjs.js +1 -1
  12. package/dist/Slicer.es.js +34 -30
  13. package/dist/Slicer.es.js.map +1 -1
  14. package/dist/_virtual/index.cjs5.js +1 -1
  15. package/dist/_virtual/index.cjs6.js +1 -1
  16. package/dist/_virtual/index.es5.js +2 -5
  17. package/dist/_virtual/index.es5.js.map +1 -1
  18. package/dist/_virtual/index.es6.js +5 -2
  19. package/dist/_virtual/index.es6.js.map +1 -1
  20. package/dist/context.cjs.js +1 -1
  21. package/dist/context.es.js +54 -56
  22. package/dist/context.es.js.map +1 -1
  23. package/dist/index.cjs.js +1 -1
  24. package/dist/index.es.js +20 -18
  25. package/dist/index.es.js.map +1 -1
  26. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  27. package/dist/node_modules/remove-accents/index.es.js +1 -1
  28. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
  29. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
  30. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
  31. package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
  32. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
  33. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
  34. package/dist/shared/src/api/queries/actions/refreshActiveAndPurgeOthers.cjs.js.map +1 -1
  35. package/dist/shared/src/api/queries/actions/refreshActiveAndPurgeOthers.es.js.map +1 -1
  36. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js +1 -1
  37. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js.map +1 -1
  38. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js +31 -21
  39. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js.map +1 -1
  40. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  41. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  42. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +55 -52
  43. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  44. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +1 -1
  45. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  46. package/dist/shared/src/api/queries/entities/updateEntity.es.js +129 -127
  47. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  48. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  49. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  50. package/dist/shared/src/api/queries/overview/updateOverview.es.js +96 -93
  51. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  52. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js +1 -1
  53. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js.map +1 -1
  54. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js +40 -38
  55. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
  56. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  57. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  58. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +13 -11
  59. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  60. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  61. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  62. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +40 -38
  63. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  64. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  65. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  66. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +40 -38
  67. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  68. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  69. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  70. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +40 -38
  71. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  72. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js +1 -1
  73. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js.map +1 -1
  74. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js +40 -38
  75. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js.map +1 -1
  76. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  77. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  78. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +40 -38
  79. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  80. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  81. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  82. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +13 -11
  83. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  84. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  85. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  86. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +40 -38
  87. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  88. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  89. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  90. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +44 -42
  91. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  92. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
  93. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
  94. package/dist/shared/src/components/LinksManager/LinksManager.es.js +40 -38
  95. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
  96. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  97. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  98. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +40 -38
  99. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  100. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  101. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  102. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +40 -38
  103. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  104. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
  105. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -1
  106. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +40 -38
  107. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -1
  108. package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
  109. package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -1
  110. package/dist/shared/src/components/Menu/Menu.es.js +40 -38
  111. package/dist/shared/src/components/Menu/Menu.es.js.map +1 -1
  112. package/dist/shared/src/components/Menu/MenuItem.cjs.js +1 -1
  113. package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -1
  114. package/dist/shared/src/components/Menu/MenuItem.es.js +38 -36
  115. package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -1
  116. package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
  117. package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
  118. package/dist/shared/src/components/Menu/MenuList.es.js +40 -38
  119. package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
  120. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
  121. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  122. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +40 -38
  123. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  124. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  125. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  126. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +40 -38
  127. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  128. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
  129. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  130. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +11 -9
  131. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  132. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  133. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  134. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +9 -7
  135. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  136. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  137. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  138. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +40 -38
  139. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  140. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  141. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  142. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +113 -111
  143. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  144. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  145. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  146. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +40 -38
  147. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  148. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  149. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  150. package/dist/shared/src/components/RenameForm/RenameForm.es.js +40 -38
  151. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  152. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  153. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  154. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +13 -11
  155. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  156. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  157. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  158. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +14 -12
  159. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  160. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  161. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  162. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +13 -11
  163. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  164. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  165. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  166. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +13 -11
  167. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  168. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  169. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  170. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +76 -74
  171. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  172. package/dist/shared/src/components/SearchFilter/useDateRangeFilter.cjs.js +1 -1
  173. package/dist/shared/src/components/SearchFilter/useDateRangeFilter.cjs.js.map +1 -1
  174. package/dist/shared/src/components/SearchFilter/useDateRangeFilter.es.js +43 -41
  175. package/dist/shared/src/components/SearchFilter/useDateRangeFilter.es.js.map +1 -1
  176. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +1 -1
  177. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  178. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +40 -38
  179. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  180. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
  181. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  182. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +15 -13
  183. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  184. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  185. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  186. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +13 -11
  187. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  188. package/dist/shared/src/components/SyncButton/SyncButton.cjs.js +1 -1
  189. package/dist/shared/src/components/SyncButton/SyncButton.cjs.js.map +1 -1
  190. package/dist/shared/src/components/SyncButton/SyncButton.es.js +2 -3
  191. package/dist/shared/src/components/SyncButton/SyncButton.es.js.map +1 -1
  192. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
  193. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  194. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +40 -38
  195. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  196. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  197. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  198. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +13 -11
  199. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  200. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  201. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  202. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +17 -15
  203. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  204. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  205. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  206. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +13 -11
  207. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  208. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  209. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  210. package/dist/shared/src/containers/Actions/Actions.es.js +40 -38
  211. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  212. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  213. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  214. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +13 -11
  215. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  216. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  217. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  218. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +13 -11
  219. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  220. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  221. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  222. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +13 -11
  223. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  224. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  225. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  226. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +13 -11
  227. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  228. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  229. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  230. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +118 -119
  231. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  232. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js +1 -1
  233. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js.map +1 -1
  234. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js +40 -38
  235. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js.map +1 -1
  236. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  237. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
  238. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +13 -11
  239. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
  240. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  241. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
  242. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +13 -11
  243. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
  244. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  245. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  246. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +40 -38
  247. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  248. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  249. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  250. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +21 -19
  251. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  252. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  253. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  254. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +13 -11
  255. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  256. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  257. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  258. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +7 -5
  259. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  260. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  261. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  262. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +5 -3
  263. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  264. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  265. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  266. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +40 -38
  267. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  268. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  269. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  270. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +12 -10
  271. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  272. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  273. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  274. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +13 -11
  275. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  276. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  277. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  278. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +13 -11
  279. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  280. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  281. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  282. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +13 -11
  283. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  284. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  285. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  286. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +40 -38
  287. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  288. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  289. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  290. package/dist/shared/src/containers/Feed/Feed.es.js +6 -4
  291. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  292. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  293. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  294. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +13 -11
  295. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  296. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  297. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  298. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +13 -11
  299. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  300. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  301. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  302. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +13 -11
  303. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  304. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/ActivityFieldChange.cjs.js +2 -0
  305. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/ActivityFieldChange.cjs.js.map +1 -0
  306. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/ActivityFieldChange.es.js +171 -0
  307. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/ActivityFieldChange.es.js.map +1 -0
  308. package/dist/shared/src/containers/Feed/components/{ActivityStatusChange/ActivityStatusChange.styled.cjs.js → ActivityFieldChange/ActivityFieldChange.styled.cjs.js} +5 -11
  309. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/ActivityFieldChange.styled.cjs.js.map +1 -0
  310. package/dist/shared/src/containers/Feed/components/{ActivityStatusChange/ActivityStatusChange.styled.es.js → ActivityFieldChange/ActivityFieldChange.styled.es.js} +8 -14
  311. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/ActivityFieldChange.styled.es.js.map +1 -0
  312. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/FieldValue.cjs.js +21 -0
  313. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/FieldValue.cjs.js.map +1 -0
  314. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/FieldValue.es.js +36 -0
  315. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/FieldValue.es.js.map +1 -0
  316. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/hooks/getContextParents.cjs.js +2 -0
  317. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/hooks/getContextParents.cjs.js.map +1 -0
  318. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/hooks/getContextParents.es.js +8 -0
  319. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/hooks/getContextParents.es.js.map +1 -0
  320. package/dist/shared/src/containers/Feed/components/ActivityGroup/ActivityGroup.cjs.js.map +1 -1
  321. package/dist/shared/src/containers/Feed/components/ActivityGroup/ActivityGroup.es.js.map +1 -1
  322. package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js +1 -1
  323. package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js.map +1 -1
  324. package/dist/shared/src/containers/Feed/components/ActivityItem.es.js +36 -25
  325. package/dist/shared/src/containers/Feed/components/ActivityItem.es.js.map +1 -1
  326. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +1 -1
  327. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js.map +1 -1
  328. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +15 -13
  329. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js.map +1 -1
  330. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  331. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  332. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +52 -57
  333. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  334. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  335. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  336. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +7 -5
  337. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  338. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  339. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  340. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +17 -15
  341. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  342. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  343. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  344. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +40 -38
  345. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  346. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  347. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  348. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +40 -38
  349. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  350. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +1 -1
  351. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js.map +1 -1
  352. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +37 -35
  353. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js.map +1 -1
  354. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  355. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  356. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +40 -38
  357. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  358. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  359. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  360. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +7 -5
  361. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  362. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  363. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  364. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +43 -41
  365. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  366. package/dist/shared/src/containers/Feed/helpers/getActivityUserName.cjs.js +1 -1
  367. package/dist/shared/src/containers/Feed/helpers/getActivityUserName.cjs.js.map +1 -1
  368. package/dist/shared/src/containers/Feed/helpers/getActivityUserName.es.js +1 -1
  369. package/dist/shared/src/containers/Feed/helpers/getActivityUserName.es.js.map +1 -1
  370. package/dist/shared/src/containers/Feed/helpers/mergeSimilarActivities.cjs.js +1 -1
  371. package/dist/shared/src/containers/Feed/helpers/mergeSimilarActivities.cjs.js.map +1 -1
  372. package/dist/shared/src/containers/Feed/helpers/mergeSimilarActivities.es.js +14 -17
  373. package/dist/shared/src/containers/Feed/helpers/mergeSimilarActivities.es.js.map +1 -1
  374. package/dist/shared/src/containers/Feed/hooks/useTransformActivities.cjs.js +1 -1
  375. package/dist/shared/src/containers/Feed/hooks/useTransformActivities.cjs.js.map +1 -1
  376. package/dist/shared/src/containers/Feed/hooks/useTransformActivities.es.js +36 -26
  377. package/dist/shared/src/containers/Feed/hooks/useTransformActivities.es.js.map +1 -1
  378. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  379. package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
  380. package/dist/shared/src/containers/ListTable/ListTable.es.js +13 -11
  381. package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
  382. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  383. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  384. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +7 -5
  385. package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
  386. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  387. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
  388. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +13 -11
  389. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
  390. package/dist/shared/src/containers/MoveEntityDialog/MoveEntityDialog.cjs.js +2 -0
  391. package/dist/shared/src/containers/MoveEntityDialog/MoveEntityDialog.cjs.js.map +1 -0
  392. package/dist/shared/src/containers/MoveEntityDialog/MoveEntityDialog.es.js +35 -0
  393. package/dist/shared/src/containers/MoveEntityDialog/MoveEntityDialog.es.js.map +1 -0
  394. package/dist/shared/src/containers/NewEntity/components/FolderSequence.cjs.js +2 -0
  395. package/dist/shared/src/containers/NewEntity/components/FolderSequence.cjs.js.map +1 -0
  396. package/dist/shared/src/containers/NewEntity/components/FolderSequence.es.js +309 -0
  397. package/dist/shared/src/containers/NewEntity/components/FolderSequence.es.js.map +1 -0
  398. package/dist/shared/src/containers/NewEntity/components/FolderSequence.styled.cjs.js +122 -0
  399. package/dist/shared/src/containers/NewEntity/components/FolderSequence.styled.cjs.js.map +1 -0
  400. package/dist/shared/src/containers/NewEntity/components/FolderSequence.styled.es.js +135 -0
  401. package/dist/shared/src/containers/NewEntity/components/FolderSequence.styled.es.js.map +1 -0
  402. package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js +47 -0
  403. package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js.map +1 -0
  404. package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js +661 -0
  405. package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js.map +1 -0
  406. package/dist/shared/src/containers/NewEntity/components/NewEntityForm.cjs.js +66 -0
  407. package/dist/shared/src/containers/NewEntity/components/NewEntityForm.cjs.js.map +1 -0
  408. package/dist/shared/src/containers/NewEntity/components/NewEntityForm.es.js +141 -0
  409. package/dist/shared/src/containers/NewEntity/components/NewEntityForm.es.js.map +1 -0
  410. package/dist/shared/src/containers/NewEntity/components/TypeEditor.cjs.js +2 -0
  411. package/dist/shared/src/containers/NewEntity/components/TypeEditor.cjs.js.map +1 -0
  412. package/dist/shared/src/containers/NewEntity/components/TypeEditor.es.js +43 -0
  413. package/dist/shared/src/containers/NewEntity/components/TypeEditor.es.js.map +1 -0
  414. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js +2 -0
  415. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js.map +1 -0
  416. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.es.js +554 -0
  417. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.es.js.map +1 -0
  418. package/dist/shared/src/containers/NewEntity/context/NewEntityContextInstance.cjs.js +2 -0
  419. package/dist/shared/src/containers/NewEntity/context/NewEntityContextInstance.cjs.js.map +1 -0
  420. package/dist/shared/src/containers/NewEntity/context/NewEntityContextInstance.es.js +6 -0
  421. package/dist/shared/src/containers/NewEntity/context/NewEntityContextInstance.es.js.map +1 -0
  422. package/dist/shared/src/containers/NewEntity/hooks/useCreateEntityShortcuts.cjs.js +2 -0
  423. package/dist/shared/src/containers/NewEntity/hooks/useCreateEntityShortcuts.cjs.js.map +1 -0
  424. package/dist/shared/src/containers/NewEntity/hooks/useCreateEntityShortcuts.es.js +26 -0
  425. package/dist/shared/src/containers/NewEntity/hooks/useCreateEntityShortcuts.es.js.map +1 -0
  426. package/dist/shared/src/containers/NewEntity/util/entityDefinitions.cjs.js +2 -0
  427. package/dist/shared/src/containers/NewEntity/util/entityDefinitions.cjs.js.map +1 -0
  428. package/dist/shared/src/containers/NewEntity/util/entityDefinitions.es.js +16 -0
  429. package/dist/shared/src/containers/NewEntity/util/entityDefinitions.es.js.map +1 -0
  430. package/dist/shared/src/containers/NewEntity/util/getSequence.cjs.js +2 -0
  431. package/dist/shared/src/containers/NewEntity/util/getSequence.cjs.js.map +1 -0
  432. package/dist/shared/src/containers/NewEntity/util/getSequence.es.js +16 -0
  433. package/dist/shared/src/containers/NewEntity/util/getSequence.es.js.map +1 -0
  434. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  435. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  436. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +642 -675
  437. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  438. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  439. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  440. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +13 -11
  441. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  442. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  443. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  444. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +41 -39
  445. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  446. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  447. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  448. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +44 -42
  449. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  450. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  451. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  452. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +13 -11
  453. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  454. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  455. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  456. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +11 -9
  457. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  458. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +1 -1
  459. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  460. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +44 -42
  461. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  462. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  463. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  464. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +13 -11
  465. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  466. package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js +1 -1
  467. package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js.map +1 -1
  468. package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.es.js +22 -16
  469. package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.es.js.map +1 -1
  470. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  471. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  472. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +42 -40
  473. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  474. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +1 -1
  475. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  476. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +156 -153
  477. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  478. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js +1 -1
  479. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js.map +1 -1
  480. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsContext.es.js +7 -6
  481. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsContext.es.js.map +1 -1
  482. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js +1 -1
  483. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js.map +1 -1
  484. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js +7 -6
  485. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js.map +1 -1
  486. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  487. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  488. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +8 -6
  489. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  490. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  491. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  492. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +40 -38
  493. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  494. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  495. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  496. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +16 -14
  497. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  498. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  499. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  500. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +13 -11
  501. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  502. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  503. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  504. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +233 -218
  505. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  506. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  507. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  508. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +11 -9
  509. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  510. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  511. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  512. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +13 -11
  513. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  514. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  515. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  516. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +40 -38
  517. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  518. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  519. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  520. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +43 -41
  521. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  522. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  523. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  524. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +13 -11
  525. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  526. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  527. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  528. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +13 -11
  529. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  530. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  531. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  532. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +11 -9
  533. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  534. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  535. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  536. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +121 -150
  537. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  538. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  539. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  540. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +39 -37
  541. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  542. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  543. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  544. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +13 -11
  545. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  546. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  547. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  548. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +13 -11
  549. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  550. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  551. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  552. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +38 -36
  553. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  554. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  555. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  556. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +24 -22
  557. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  558. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js +1 -1
  559. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js.map +1 -1
  560. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js +47 -30
  561. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js.map +1 -1
  562. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js +1 -1
  563. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
  564. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js +113 -91
  565. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
  566. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  567. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  568. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +13 -11
  569. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  570. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  571. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  572. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +33 -31
  573. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  574. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +1 -1
  575. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
  576. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +13 -11
  577. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
  578. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  579. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  580. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +15 -13
  581. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  582. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +1 -1
  583. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
  584. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +39 -37
  585. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js.map +1 -1
  586. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  587. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  588. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +13 -11
  589. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  590. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  591. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  592. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +13 -11
  593. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  594. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +1 -1
  595. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
  596. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +40 -38
  597. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
  598. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  599. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  600. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +13 -11
  601. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  602. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  603. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  604. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +256 -246
  605. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  606. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js +1 -1
  607. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js.map +1 -1
  608. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js +15 -15
  609. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js.map +1 -1
  610. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +2 -2
  611. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -1
  612. package/dist/shared/src/containers/Slicer/components/Slicer.es.js +206 -162
  613. package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -1
  614. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +1 -1
  615. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
  616. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +40 -38
  617. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -1
  618. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  619. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  620. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +13 -11
  621. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  622. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  623. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  624. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +82 -74
  625. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  626. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
  627. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
  628. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +40 -38
  629. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
  630. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js +2 -0
  631. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js.map +1 -0
  632. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.es.js +470 -0
  633. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.es.js.map +1 -0
  634. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +1 -1
  635. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -1
  636. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +40 -38
  637. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
  638. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +1 -1
  639. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -1
  640. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +40 -38
  641. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -1
  642. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js +1 -1
  643. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js.map +1 -1
  644. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js +42 -40
  645. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js.map +1 -1
  646. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js +1 -1
  647. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js.map +1 -1
  648. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js +40 -38
  649. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js.map +1 -1
  650. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js +1 -1
  651. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js.map +1 -1
  652. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js +40 -38
  653. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js.map +1 -1
  654. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js +1 -1
  655. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js.map +1 -1
  656. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js +40 -38
  657. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js.map +1 -1
  658. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  659. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  660. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +50 -48
  661. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  662. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  663. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  664. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +40 -38
  665. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  666. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  667. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  668. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +40 -38
  669. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  670. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +1 -1
  671. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  672. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +40 -38
  673. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  674. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  675. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  676. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +42 -40
  677. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  678. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  679. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  680. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +43 -41
  681. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  682. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  683. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  684. package/dist/shared/src/context/DetailsPanelContext.es.js +44 -42
  685. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  686. package/dist/shared/src/context/EntityUpdatesContext.cjs.js +1 -1
  687. package/dist/shared/src/context/EntityUpdatesContext.cjs.js.map +1 -1
  688. package/dist/shared/src/context/EntityUpdatesContext.es.js +46 -44
  689. package/dist/shared/src/context/EntityUpdatesContext.es.js.map +1 -1
  690. package/dist/shared/src/context/MenuContext.cjs.js +1 -1
  691. package/dist/shared/src/context/MenuContext.cjs.js.map +1 -1
  692. package/dist/shared/src/context/MenuContext.es.js +1 -0
  693. package/dist/shared/src/context/MenuContext.es.js.map +1 -1
  694. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  695. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  696. package/dist/shared/src/context/PowerpackContext.es.js +44 -42
  697. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  698. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  699. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  700. package/dist/shared/src/context/ProjectFoldersContext.es.js +126 -99
  701. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  702. package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
  703. package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
  704. package/dist/shared/src/context/SubtasksModulesContext.es.js +42 -40
  705. package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
  706. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  707. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  708. package/dist/shared/src/context/WebsocketContext.es.js +15 -13
  709. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  710. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  711. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  712. package/dist/shared/src/hooks/useEntityUpdate.es.js +40 -38
  713. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  714. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  715. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  716. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +40 -38
  717. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  718. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  719. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  720. package/dist/shared/src/hooks/useHierarchyTable.es.js +40 -38
  721. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  722. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  723. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  724. package/dist/shared/src/hooks/useUserProjectConfig.es.js +40 -38
  725. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  726. package/dist/types/NewEntity.d.ts +2 -0
  727. package/dist/types/containers/Feed/components/ActivityFieldChange/ActivityFieldChange.d.ts +36 -0
  728. package/dist/types/containers/Feed/components/{ActivityStatusChange/ActivityStatusChange.styled.d.ts → ActivityFieldChange/ActivityFieldChange.styled.d.ts} +1 -1
  729. package/dist/types/containers/Feed/components/ActivityFieldChange/FieldValue.d.ts +11 -0
  730. package/dist/types/containers/Feed/components/ActivityGroup/ActivityGroup.d.ts +1 -0
  731. package/dist/types/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.d.ts +1 -1
  732. package/dist/types/containers/MoveEntityDialog/MoveEntityDialog.d.ts +10 -0
  733. package/dist/types/containers/MoveEntityDialog/index.d.ts +2 -0
  734. package/dist/types/containers/MoveEntityDialog/types.d.ts +12 -0
  735. package/dist/types/containers/NewEntity/components/FolderSequence.d.ts +36 -0
  736. package/dist/types/containers/NewEntity/components/FolderSequence.styled.d.ts +20 -0
  737. package/dist/types/containers/NewEntity/components/NewEntity.d.ts +12 -0
  738. package/dist/types/containers/NewEntity/components/NewEntityForm.d.ts +15 -0
  739. package/dist/types/containers/NewEntity/components/TypeEditor.d.ts +18 -0
  740. package/dist/types/containers/NewEntity/context/NewEntityContext.d.ts +37 -0
  741. package/dist/types/containers/NewEntity/context/NewEntityContextInstance.d.ts +2 -0
  742. package/dist/types/containers/NewEntity/hooks/useCreateEntityShortcuts.d.ts +21 -0
  743. package/dist/types/containers/NewEntity/index.d.ts +4 -0
  744. package/dist/types/containers/NewEntity/util/entityDefinitions.d.ts +7 -0
  745. package/dist/types/containers/NewEntity/util/getSequence.d.ts +1 -0
  746. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +2 -1
  747. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +1 -0
  748. package/dist/types/containers/ProjectTreeTable/context/SelectedRowsContext.d.ts +1 -0
  749. package/dist/types/containers/ProjectTreeTable/context/SelectionCellsContext.d.ts +1 -0
  750. package/dist/types/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +2 -1
  751. package/dist/types/containers/ProjectTreeTable/hooks/useMoveEntities.d.ts +5 -7
  752. package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +3 -6
  753. package/dist/types/containers/ProjectTreeTable/utils/queryFilterToClientFilter.d.ts +6 -0
  754. package/dist/types/containers/SimpleTable/SimpleTable.types.d.ts +3 -0
  755. package/dist/types/containers/SimpleTable/SimpleTableRowTemplate.d.ts +1 -1
  756. package/dist/types/containers/Slicer/components/Slicer.d.ts +2 -1
  757. package/dist/types/containers/Slicer/context/SlicerContext.d.ts +6 -1
  758. package/dist/types/containers/Slicer/hooks/index.d.ts +1 -0
  759. package/dist/types/containers/Slicer/hooks/useHierarchyContextMenuItems.d.ts +15 -0
  760. package/dist/types/containers/index.d.ts +1 -0
  761. package/dist/types/context/MenuContext.d.ts +1 -0
  762. package/dist/types/context/ProjectFoldersContext.d.ts +1 -0
  763. package/dist/types/context/index.d.ts +0 -1
  764. package/package.json +13 -4
  765. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.cjs.js +0 -2
  766. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.cjs.js.map +0 -1
  767. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.es.js +0 -44
  768. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.es.js.map +0 -1
  769. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js.map +0 -1
  770. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.styled.es.js.map +0 -1
  771. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.cjs.js +0 -11
  772. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.cjs.js.map +0 -1
  773. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.es.js +0 -27
  774. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.es.js.map +0 -1
  775. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/hooks/getContextParents.cjs.js +0 -2
  776. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/hooks/getContextParents.cjs.js.map +0 -1
  777. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/hooks/getContextParents.es.js +0 -8
  778. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/hooks/getContextParents.es.js.map +0 -1
  779. package/dist/shared/src/context/MoveEntityContext.cjs.js +0 -2
  780. package/dist/shared/src/context/MoveEntityContext.cjs.js.map +0 -1
  781. package/dist/shared/src/context/MoveEntityContext.es.js +0 -34
  782. package/dist/shared/src/context/MoveEntityContext.es.js.map +0 -1
  783. package/dist/types/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.d.ts +0 -19
  784. package/dist/types/containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.d.ts +0 -7
  785. package/dist/types/context/MoveEntityContext.d.ts +0 -28
  786. /package/dist/types/containers/Feed/components/{ActivityStatusChange → ActivityFieldChange}/hooks/getContextParents.d.ts +0 -0
@@ -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"),te=require("./MenuItem.cjs.js"),qe=require("@ynput/ayon-react-components"),O=require("./Menu.styled.cjs.js");require("../../context/RemoteModulesContext.cjs.js");const ne=require("../../context/PowerpackContext.cjs.js");require("../../context/UriContext.cjs.js");require("../../../node_modules/@module-federation/runtime/dist/index.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/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/bundles/getBundles.cjs.js");require("../../api/queries/bundles/updateBundles.cjs.js");require("../../api/queries/cloud/cloud.cjs.js");require("../../api/queries/columnStats/metricTargets.cjs.js");require("../../api/queries/columnStats/groupCounts.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/listItemsColumnStats.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/ProjectFoldersContextInstance.cjs.js");require("../../context/EntityUpdatesContextInstance.cjs.js");require("../../containers/ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("clsx");require("../../containers/Feed/context/FeedContext.cjs.js");require("../../containers/Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../containers/Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../../containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../containers/Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../containers/Feed/components/CommentInput/CommentInput.cjs.js");require("../../containers/Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../containers/Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../containers/Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../containers/Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../containers/Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../AccessUser/AccessUser.cjs.js");require("../AttributeEditor/AttributeEditor.cjs.js");require("../AttributeEditor/attributeTypeMap.cjs.js");require("../Badge/Badge.cjs.js");require("../Chips/Chips.cjs.js");require("date-fns");require("../DateRangePicker/DateRangePicker.styled.cjs.js");require("../LinksManager/CellEditingDialog.cjs.js");require("../DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js");require("../../../../_virtual/index.cjs.js");require("../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("../DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../DetailsPanelDetails/BorderedSection.cjs.js");require("../QuillListStyles/QuillListStyles.cjs.js");require("../DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("rehype-raw");require("../DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../containers/Feed/components/CommentInput/modules/index.cjs.js");require("../DetailsPanelDetails/DetailsSection.cjs.js");require("../DetailsPanelDetails/FieldLabel.cjs.js");require("../DoneCheckbox/DoneCheckbox.cjs.js");require("../EarlyPreview/EarlyPreview.cjs.js");require("../EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../InfoMessage/InfoMessage.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../EnumEditor/EnumEditor.styled.cjs.js");require("../EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../ReviewablesList/ReviewablesList.styled.cjs.js");require("../ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../EntityPath/EntityPath.styled.cjs.js");require("../EntityPath/SegmentProvider.cjs.js");require("../FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../Feedback/FeedbackContextInstance.cjs.js");require("../Feedback/SupportBubble.cjs.js");require("../FileThumbnail/FileThumbnail.cjs.js");require("../LegacyBadge/LegacyBadge.cjs.js");require("../LinksManager/LinksManager.styled.cjs.js");require("../../containers/EntityPickerDialog/EntityPickerDialog.cjs.js");require("../Powerpack/PowerpackButton.cjs.js");require("../Powerpack/FreeTrialLink.cjs.js");require("../Powerpack/PowerpackDialog.styled.cjs.js");require("../Powerpack/CTAButton.cjs.js");require("../Powerpack/RequiredAddonVersion.cjs.js");require("../ProjectTableSettings/ProjectTableSettings.cjs.js");require("../SizeSlider/SizeSlider.cjs.js");require("react-router-dom");require("../../containers/Slicer/components/Slicer.cjs.js");require("../../containers/Slicer/context/SlicerContextInstance.cjs.js");require("../../containers/Slicer/components/SlicerDropdownFallback.cjs.js");require("../../containers/Slicer/hooks/useTableDataBySlice.cjs.js");require("../ReviewableCard/ReviewableCard.cjs.js");require("../ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../SearchFilter/filterDates.cjs.js");require("../SearchFilter/CustomDateRangeDialog.cjs.js");require("../SettingsPanel/SettingsPanel.cjs.js");require("../SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../ShareOptionIcon/ShareOptionIcon.cjs.js");require("../SimpleFormDialog/SimpleFormDialog.cjs.js");require("../StyledLink/StyledLink.cjs.js");require("../SyncButton/SyncButton.cjs.js");require("../TableGridSwitch/TableGridSwitch.cjs.js");require("../Thumbnail/Thumbnail.styled.cjs.js");require("../Thumbnail/StackedThumbnails.cjs.js");require("../ThumbnailSimple/ThumbnailSimple.cjs.js");require("../VersionUploader/components/UploadVersionDialog.cjs.js");require("../VersionUploader/context/VersionUploadContextInstance.cjs.js");require("../Watchers/Watchers.cjs.js");require("../ReviewablesSelector/ReviewablesSelector.cjs.js");require("../ColumnHeaderMenuUI.cjs.js");require("../../containers/Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("../../containers/Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../containers/Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../containers/Feed/components/ActivityDate.cjs.js");require("../../containers/Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../containers/Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.cjs.js");require("../../containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../containers/Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../containers/Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../../containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../../containers/Feed/Feed.styled.cjs.js");require("../../containers/Feed/components/FeedSearchFilter.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../../containers/ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/DateWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js");require("../../containers/ProjectTreeTable/widgets/TextWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/CellWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/LinksWidget.cjs.js");require("short-uuid");require("../../containers/ProjectTreeTable/context/CellEditingContext.cjs.js");require("../../containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../../containers/ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../../containers/ProjectTreeTable/context/ClipboardContext.cjs.js");require("../../containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../../containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../../containers/ProjectTreeTable/context/ProjectDataContextInstance.cjs.js");require("../../containers/ProjectTreeTable/context/ProjectTableContextInstance.cjs.js");require("../../containers/ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../../containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../../containers/ProjectTreeTable/components/SelectionCell.cjs.js");require("../../containers/ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../../containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../../containers/ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../../containers/ProjectTreeTable/components/TableFooterRow.cjs.js");require("../../containers/DetailsPanel/DetailsPanel.styled.cjs.js");require("../../containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.cjs.js");require("../../containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../PlayableIcon/PlayableIcon.cjs.js");require("../../containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../../containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../../containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../containers/Actions/Actions.styled.cjs.js");require("../../containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../containers/Actions/ActionIcon.cjs.js");require("../../containers/Views/ViewsMenu/ViewsMenu.cjs.js");require("../../containers/Views/context/ViewsContextInstance.cjs.js");require("../../containers/Views/Views.styled.cjs.js");require("../../containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../containers/ListTable/ListTableRow.cjs.js");require("../../containers/ListTable/ListTable.styled.cjs.js");require("../../context/DeleteEntitiesContext.cjs.js");const oe=({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(),i=(h.querySelector("menu")??h).getBoundingClientRect(),P=window.innerWidth,v=window.innerHeight,u=8,n=Math.max(240,i.width),L=Math.min(d.length*36+16,480),w=4,t=()=>Math.max(u,i.left-n-w),R=()=>i.right+w,x=R()+n<=P-u,e=t()>=u;let o,s;k==="left"&&e?(o="left",s=t()):x?(o="right",s=R()):e?(o="left",s=t()):(o="left",s=Math.max(u,P-n-u));let c=f.top-8;c+L>v-u&&(c=Math.max(u,v-L-u));const j=o==="left"?s-16:s;H?.(r,{id:p,style:{top:c-m.top,left:j-m.left},items:d,level:A,placement:o,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(),q=g.getBoundingClientRect(),i=h.getBoundingClientRect(),P=p.getBoundingClientRect(),v=q.left-f.left,u=q.width,n=q.height,L=window.innerWidth,w=window.innerHeight,t=8,R=4,x=()=>Math.max(t,i.left-u-R),e=()=>i.right+R,o=e()+u<=L-t,s=x()>=t;let b,c;k==="left"&&s?(b="left",c=x()):o?(b="right",c=e()):s?(b="left",c=x()):(b="left",c=Math.max(t,L-u-t));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+n>w-t&&(F=Math.max(t,w-n-t));const re=b==="left"?c-v:c,$=F-m.top,N=re-m.left,ie=typeof l?.top=="number"?l.top:parseFloat(String(l?.top)),ue=typeof l?.left=="number"?l.left:parseFloat(String(l?.left));(Math.abs($-ie)>1||Math.abs(N-ue)>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:q=[],id:i,disableClose:P,selected:v,disabled:u,powerFeature:n,active:L,...w}=r,{powerLicense:t}=ne.usePowerpack(),R=!t&&n,x=e=>{e.preventDefault(),e.stopPropagation(),n&&G?.(n),_?.()};return C.jsxRuntimeExports.jsx(te,{tabIndex:0,label:d,icon:g,img:h,highlighted:B,items:q,selected:v,disabled:u,powerFeature:n,active:L,isLink:f,onClick:e=>R?x(e):q.length?S(e,i,q):W(e,m,f,P),onKeyDown:e=>{e.key==="Enter"&&(R?x(e):q.length?S(e,i,q):W(e,m,f));const o=!e.target.nextSibling;e.key==="Tab"&&o&&!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?.(i))},style:{paddingRight:q.length?"0":"16px",...z},ref:e=>D.current[i]=e,onMouseEnter:e=>S(e,i,q),onMouseLeave:e=>S(e,i,[]),className:`${Y} ${w.className||""}`,...w,children:!!q.length&&C.jsxRuntimeExports.jsx(qe.Icon,{icon:"arrow_right",style:{marginLeft:"auto"}})},`${i}-${p}`)})})})};exports.MenuList=oe;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const C=require("../../../../_virtual/jsx-runtime.cjs.js"),I=require("react"),te=require("./MenuItem.cjs.js"),qe=require("@ynput/ayon-react-components"),O=require("./Menu.styled.cjs.js");require("../../context/RemoteModulesContext.cjs.js");const ne=require("../../context/PowerpackContext.cjs.js");require("../../context/UriContext.cjs.js");require("../../../node_modules/@module-federation/runtime/dist/index.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/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/bundles/getBundles.cjs.js");require("../../api/queries/bundles/updateBundles.cjs.js");require("../../api/queries/cloud/cloud.cjs.js");require("../../api/queries/columnStats/metricTargets.cjs.js");require("../../api/queries/columnStats/groupCounts.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/listItemsColumnStats.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/MenuContext.cjs.js");require("../../context/WebsocketContext.cjs.js");require("../../context/GlobalContext.cjs.js");require("../../context/ProjectContext.cjs.js");require("../../context/ProjectFoldersContextInstance.cjs.js");require("../../context/EntityUpdatesContextInstance.cjs.js");require("../../containers/ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("clsx");require("../../containers/Feed/context/FeedContext.cjs.js");require("../../containers/Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../containers/Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../../containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../containers/Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../containers/Feed/components/CommentInput/CommentInput.cjs.js");require("../../containers/Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../containers/Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../containers/Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../containers/Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../containers/Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../AccessUser/AccessUser.cjs.js");require("../AttributeEditor/AttributeEditor.cjs.js");require("../AttributeEditor/attributeTypeMap.cjs.js");require("../Badge/Badge.cjs.js");require("../Chips/Chips.cjs.js");require("date-fns");require("../DateRangePicker/DateRangePicker.styled.cjs.js");require("../LinksManager/CellEditingDialog.cjs.js");require("../DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js");require("../../../../_virtual/index.cjs.js");require("../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("../DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../DetailsPanelDetails/BorderedSection.cjs.js");require("../QuillListStyles/QuillListStyles.cjs.js");require("../DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("rehype-raw");require("../DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../containers/Feed/components/CommentInput/modules/index.cjs.js");require("../DetailsPanelDetails/DetailsSection.cjs.js");require("../DetailsPanelDetails/FieldLabel.cjs.js");require("../DoneCheckbox/DoneCheckbox.cjs.js");require("../EarlyPreview/EarlyPreview.cjs.js");require("../EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../InfoMessage/InfoMessage.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../EnumEditor/EnumEditor.styled.cjs.js");require("../EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../ReviewablesList/ReviewablesList.styled.cjs.js");require("../ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../EntityPath/EntityPath.styled.cjs.js");require("../EntityPath/SegmentProvider.cjs.js");require("../FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../Feedback/FeedbackContextInstance.cjs.js");require("../Feedback/SupportBubble.cjs.js");require("../FileThumbnail/FileThumbnail.cjs.js");require("../LegacyBadge/LegacyBadge.cjs.js");require("../LinksManager/LinksManager.styled.cjs.js");require("../../containers/EntityPickerDialog/EntityPickerDialog.cjs.js");require("../Powerpack/PowerpackButton.cjs.js");require("../Powerpack/FreeTrialLink.cjs.js");require("../Powerpack/PowerpackDialog.styled.cjs.js");require("../Powerpack/CTAButton.cjs.js");require("../Powerpack/RequiredAddonVersion.cjs.js");require("../ProjectTableSettings/ProjectTableSettings.cjs.js");require("../SizeSlider/SizeSlider.cjs.js");require("react-router-dom");require("../../containers/Slicer/components/Slicer.cjs.js");require("../../containers/Slicer/context/SlicerContextInstance.cjs.js");require("../../containers/Slicer/components/SlicerDropdownFallback.cjs.js");require("../../containers/NewEntity/components/NewEntity.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../../containers/ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/DateWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js");require("../../containers/ProjectTreeTable/widgets/TextWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/CellWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/LinksWidget.cjs.js");require("short-uuid");require("../SearchFilter/filterDates.cjs.js");require("../../containers/ProjectTreeTable/context/CellEditingContext.cjs.js");require("../../containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../../containers/ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../../containers/ProjectTreeTable/context/ClipboardContext.cjs.js");require("../../containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../../containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../../containers/ProjectTreeTable/context/ProjectDataContextInstance.cjs.js");require("../../containers/ProjectTreeTable/context/ProjectTableContextInstance.cjs.js");require("../../containers/ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../../containers/ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../../containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../../containers/ProjectTreeTable/components/SelectionCell.cjs.js");require("../../containers/ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../../containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../../containers/ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../../containers/ProjectTreeTable/components/TableFooterRow.cjs.js");require("../../containers/NewEntity/context/NewEntityContextInstance.cjs.js");require("../../containers/NewEntity/components/NewEntityForm.cjs.js");require("../../containers/Slicer/hooks/useTableDataBySlice.cjs.js");require("../ReviewableCard/ReviewableCard.cjs.js");require("../ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../SearchFilter/CustomDateRangeDialog.cjs.js");require("../SettingsPanel/SettingsPanel.cjs.js");require("../SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../ShareOptionIcon/ShareOptionIcon.cjs.js");require("../SimpleFormDialog/SimpleFormDialog.cjs.js");require("../StyledLink/StyledLink.cjs.js");require("../SyncButton/SyncButton.cjs.js");require("../TableGridSwitch/TableGridSwitch.cjs.js");require("../Thumbnail/Thumbnail.styled.cjs.js");require("../Thumbnail/StackedThumbnails.cjs.js");require("../ThumbnailSimple/ThumbnailSimple.cjs.js");require("../VersionUploader/components/UploadVersionDialog.cjs.js");require("../VersionUploader/context/VersionUploadContextInstance.cjs.js");require("../Watchers/Watchers.cjs.js");require("../ReviewablesSelector/ReviewablesSelector.cjs.js");require("../ColumnHeaderMenuUI.cjs.js");require("../../containers/Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("../../containers/Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../containers/Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../containers/Feed/components/ActivityDate.cjs.js");require("../../containers/Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../containers/Feed/components/ActivityFieldChange/ActivityFieldChange.styled.cjs.js");require("../../containers/Feed/components/ActivityFieldChange/FieldValue.cjs.js");require("../../containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../containers/Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../containers/Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../../containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../../containers/Feed/Feed.styled.cjs.js");require("../../containers/Feed/components/FeedSearchFilter.cjs.js");require("../../containers/DetailsPanel/DetailsPanel.styled.cjs.js");require("../../containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.cjs.js");require("../../containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../PlayableIcon/PlayableIcon.cjs.js");require("../../containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../../containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../../containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../containers/Actions/Actions.styled.cjs.js");require("../../containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../containers/Actions/ActionIcon.cjs.js");require("../../containers/Views/ViewsMenu/ViewsMenu.cjs.js");require("../../containers/Views/context/ViewsContextInstance.cjs.js");require("../../containers/Views/Views.styled.cjs.js");require("../../containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../containers/ListTable/ListTableRow.cjs.js");require("../../containers/ListTable/ListTable.styled.cjs.js");require("../../context/DeleteEntitiesContext.cjs.js");const oe=({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(),i=(h.querySelector("menu")??h).getBoundingClientRect(),P=window.innerWidth,v=window.innerHeight,u=8,n=Math.max(240,i.width),L=Math.min(d.length*36+16,480),w=4,t=()=>Math.max(u,i.left-n-w),R=()=>i.right+w,x=R()+n<=P-u,e=t()>=u;let o,s;k==="left"&&e?(o="left",s=t()):x?(o="right",s=R()):e?(o="left",s=t()):(o="left",s=Math.max(u,P-n-u));let c=f.top-8;c+L>v-u&&(c=Math.max(u,v-L-u));const j=o==="left"?s-16:s;H?.(r,{id:p,style:{top:c-m.top,left:j-m.left},items:d,level:A,placement:o,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(),q=g.getBoundingClientRect(),i=h.getBoundingClientRect(),P=p.getBoundingClientRect(),v=q.left-f.left,u=q.width,n=q.height,L=window.innerWidth,w=window.innerHeight,t=8,R=4,x=()=>Math.max(t,i.left-u-R),e=()=>i.right+R,o=e()+u<=L-t,s=x()>=t;let b,c;k==="left"&&s?(b="left",c=x()):o?(b="right",c=e()):s?(b="left",c=x()):(b="left",c=Math.max(t,L-u-t));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+n>w-t&&(F=Math.max(t,w-n-t));const re=b==="left"?c-v:c,$=F-m.top,N=re-m.left,ie=typeof l?.top=="number"?l.top:parseFloat(String(l?.top)),ue=typeof l?.left=="number"?l.left:parseFloat(String(l?.left));(Math.abs($-ie)>1||Math.abs(N-ue)>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:q=[],id:i,disableClose:P,selected:v,disabled:u,powerFeature:n,active:L,...w}=r,{powerLicense:t}=ne.usePowerpack(),R=!t&&n,x=e=>{e.preventDefault(),e.stopPropagation(),n&&G?.(n),_?.()};return C.jsxRuntimeExports.jsx(te,{tabIndex:0,label:d,icon:g,img:h,highlighted:B,items:q,selected:v,disabled:u,powerFeature:n,active:L,isLink:f,onClick:e=>R?x(e):q.length?S(e,i,q):W(e,m,f,P),onKeyDown:e=>{e.key==="Enter"&&(R?x(e):q.length?S(e,i,q):W(e,m,f));const o=!e.target.nextSibling;e.key==="Tab"&&o&&!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?.(i))},style:{paddingRight:q.length?"0":"16px",...z},ref:e=>D.current[i]=e,onMouseEnter:e=>S(e,i,q),onMouseLeave:e=>S(e,i,[]),className:`${Y} ${w.className||""}`,...w,children:!!q.length&&C.jsxRuntimeExports.jsx(qe.Icon,{icon:"arrow_right",style:{marginLeft:"auto"}})},`${i}-${p}`)})})})};exports.MenuList=oe;
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":"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"}
@@ -121,7 +121,6 @@ import "react-dom";
121
121
  import "../../context/pip/PiPWrapper.es.js";
122
122
  import "../../context/AddonProjectContext.es.js";
123
123
  import "../../context/AddonContext.es.js";
124
- import "../../context/MoveEntityContext.es.js";
125
124
  import "../../context/MenuContext.es.js";
126
125
  import "../../context/WebsocketContext.es.js";
127
126
  import "../../context/GlobalContext.es.js";
@@ -209,41 +208,7 @@ import "react-router-dom";
209
208
  import "../../containers/Slicer/components/Slicer.es.js";
210
209
  import "../../containers/Slicer/context/SlicerContextInstance.es.js";
211
210
  import "../../containers/Slicer/components/SlicerDropdownFallback.es.js";
212
- import "../../containers/Slicer/hooks/useTableDataBySlice.es.js";
213
- import "../ReviewableCard/ReviewableCard.es.js";
214
- import "../ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
215
- import "../SearchFilter/filterDates.es.js";
216
- import "../SearchFilter/CustomDateRangeDialog.es.js";
217
- import "../SettingsPanel/SettingsPanel.es.js";
218
- import "../SettingsPanel/SettingsPanelItemTemplate.es.js";
219
- import "../ShareOptionIcon/ShareOptionIcon.es.js";
220
- import "../SimpleFormDialog/SimpleFormDialog.es.js";
221
- import "../StyledLink/StyledLink.es.js";
222
- import "../SyncButton/SyncButton.es.js";
223
- import "../TableGridSwitch/TableGridSwitch.es.js";
224
- import "../Thumbnail/Thumbnail.styled.es.js";
225
- import "../Thumbnail/StackedThumbnails.es.js";
226
- import "../ThumbnailSimple/ThumbnailSimple.es.js";
227
- import "../VersionUploader/components/UploadVersionDialog.es.js";
228
- import "../VersionUploader/context/VersionUploadContextInstance.es.js";
229
- import "../Watchers/Watchers.es.js";
230
- import "../ReviewablesSelector/ReviewablesSelector.es.js";
231
- import "../ColumnHeaderMenuUI.es.js";
232
- import "../../containers/Feed/components/ActivityReference/ActivityReference.styled.es.js";
233
- import "../../containers/Feed/components/ActivityStatus/ActivityStatus.es.js";
234
- import "../../containers/Feed/components/ActivityHeader/ActivityHeader.styled.es.js";
235
- import "../../containers/Feed/components/ActivityDate.es.js";
236
- import "../../containers/Feed/components/ActivityCategorySelect/CategoryTag.es.js";
237
- import "../../containers/Feed/components/ActivityStatusChange/ActivityStatusChange.styled.es.js";
238
- import "../../containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.es.js";
239
- import "../../containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.es.js";
240
- import "../../containers/Feed/components/ActivityVersions/ActivityVersions.styled.es.js";
241
- import "../../containers/Feed/components/ActivityGroup/ActivityGroup.styled.es.js";
242
- import "../../containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.es.js";
243
- import "../../containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.es.js";
244
- import "../../containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.es.js";
245
- import "../../containers/Feed/Feed.styled.es.js";
246
- import "../../containers/Feed/components/FeedSearchFilter.es.js";
211
+ import "../../containers/NewEntity/components/NewEntity.es.js";
247
212
  import "@tanstack/react-virtual";
248
213
  import "@tanstack/react-table";
249
214
  import "../../containers/ProjectTreeTable/widgets/CollapsedWidget.es.js";
@@ -259,6 +224,7 @@ import "../../containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js";
259
224
  import "../../containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js";
260
225
  import "../../containers/ProjectTreeTable/widgets/LinksWidget.es.js";
261
226
  import "short-uuid";
227
+ import "../SearchFilter/filterDates.es.js";
262
228
  import "../../containers/ProjectTreeTable/context/CellEditingContext.es.js";
263
229
  import "../../containers/ProjectTreeTable/context/SelectionCellsContext.es.js";
264
230
  import "../../containers/ProjectTreeTable/context/ProjectTableQueriesContext.es.js";
@@ -276,6 +242,42 @@ import "../../containers/ProjectTreeTable/components/RowSelectionHeader.es.js";
276
242
  import "../../containers/ProjectTreeTable/widgets/LoadMoreWidget.es.js";
277
243
  import "../../containers/ProjectTreeTable/components/HeaderActionButton.es.js";
278
244
  import "../../containers/ProjectTreeTable/components/TableFooterRow.es.js";
245
+ import "../../containers/NewEntity/context/NewEntityContextInstance.es.js";
246
+ import "../../containers/NewEntity/components/NewEntityForm.es.js";
247
+ import "../../containers/Slicer/hooks/useTableDataBySlice.es.js";
248
+ import "../ReviewableCard/ReviewableCard.es.js";
249
+ import "../ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
250
+ import "../SearchFilter/CustomDateRangeDialog.es.js";
251
+ import "../SettingsPanel/SettingsPanel.es.js";
252
+ import "../SettingsPanel/SettingsPanelItemTemplate.es.js";
253
+ import "../ShareOptionIcon/ShareOptionIcon.es.js";
254
+ import "../SimpleFormDialog/SimpleFormDialog.es.js";
255
+ import "../StyledLink/StyledLink.es.js";
256
+ import "../SyncButton/SyncButton.es.js";
257
+ import "../TableGridSwitch/TableGridSwitch.es.js";
258
+ import "../Thumbnail/Thumbnail.styled.es.js";
259
+ import "../Thumbnail/StackedThumbnails.es.js";
260
+ import "../ThumbnailSimple/ThumbnailSimple.es.js";
261
+ import "../VersionUploader/components/UploadVersionDialog.es.js";
262
+ import "../VersionUploader/context/VersionUploadContextInstance.es.js";
263
+ import "../Watchers/Watchers.es.js";
264
+ import "../ReviewablesSelector/ReviewablesSelector.es.js";
265
+ import "../ColumnHeaderMenuUI.es.js";
266
+ import "../../containers/Feed/components/ActivityReference/ActivityReference.styled.es.js";
267
+ import "../../containers/Feed/components/ActivityStatus/ActivityStatus.es.js";
268
+ import "../../containers/Feed/components/ActivityHeader/ActivityHeader.styled.es.js";
269
+ import "../../containers/Feed/components/ActivityDate.es.js";
270
+ import "../../containers/Feed/components/ActivityCategorySelect/CategoryTag.es.js";
271
+ import "../../containers/Feed/components/ActivityFieldChange/ActivityFieldChange.styled.es.js";
272
+ import "../../containers/Feed/components/ActivityFieldChange/FieldValue.es.js";
273
+ import "../../containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.es.js";
274
+ import "../../containers/Feed/components/ActivityVersions/ActivityVersions.styled.es.js";
275
+ import "../../containers/Feed/components/ActivityGroup/ActivityGroup.styled.es.js";
276
+ import "../../containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.es.js";
277
+ import "../../containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.es.js";
278
+ import "../../containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.es.js";
279
+ import "../../containers/Feed/Feed.styled.es.js";
280
+ import "../../containers/Feed/components/FeedSearchFilter.es.js";
279
281
  import "../../containers/DetailsPanel/DetailsPanel.styled.es.js";
280
282
  import "../../containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.es.js";
281
283
  import "../../containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.es.js";
@@ -297,7 +299,7 @@ import "../../containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js";
297
299
  import "../../containers/ListTable/ListTableRow.es.js";
298
300
  import "../../containers/ListTable/ListTable.styled.es.js";
299
301
  import "../../context/DeleteEntitiesContext.es.js";
300
- const $m = ({
302
+ const Am = ({
301
303
  items: V,
302
304
  handleClick: W,
303
305
  onSubMenu: q,
@@ -420,6 +422,6 @@ const $m = ({
420
422
  );
421
423
  };
422
424
  export {
423
- $m as MenuList
425
+ Am as MenuList
424
426
  };
425
427
  //# 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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"}