@ynput/ayon-frontend-shared 0.2.38 → 0.2.40

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 (651) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +72 -66
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +169 -167
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Views.cjs.js.map +1 -1
  8. package/dist/Views.es.js.map +1 -1
  9. package/dist/_virtual/index.cjs10.js +1 -1
  10. package/dist/_virtual/index.cjs11.js +1 -1
  11. package/dist/_virtual/index.cjs12.js +1 -1
  12. package/dist/_virtual/index.cjs2.js +1 -1
  13. package/dist/_virtual/index.cjs3.js +1 -1
  14. package/dist/_virtual/index.cjs4.js +1 -1
  15. package/dist/_virtual/index.es10.js +3 -3
  16. package/dist/_virtual/index.es11.js +5 -5
  17. package/dist/_virtual/index.es12.js +5 -5
  18. package/dist/_virtual/index.es2.js +5 -2
  19. package/dist/_virtual/index.es2.js.map +1 -1
  20. package/dist/_virtual/index.es3.js +2 -5
  21. package/dist/_virtual/index.es3.js.map +1 -1
  22. package/dist/_virtual/index.es4.js +2 -2
  23. package/dist/api.cjs.js +1 -1
  24. package/dist/api.es.js +22 -20
  25. package/dist/api.es.js.map +1 -1
  26. package/dist/components.cjs.js +1 -1
  27. package/dist/components.es.js +139 -133
  28. package/dist/components.es.js.map +1 -1
  29. package/dist/context.cjs.js +1 -1
  30. package/dist/context.es.js +45 -38
  31. package/dist/context.es.js.map +1 -1
  32. package/dist/index.cjs.js +1 -1
  33. package/dist/index.es.js +61 -55
  34. package/dist/index.es.js.map +1 -1
  35. package/dist/node_modules/react-use-websocket/dist/index.cjs.js +1 -1
  36. package/dist/node_modules/react-use-websocket/dist/index.es.js +1 -1
  37. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  38. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  39. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  40. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  41. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  42. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  43. package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
  44. package/dist/shared/node_modules/prop-types/index.es.js +1 -1
  45. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
  46. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
  47. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
  48. package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
  49. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
  50. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
  51. package/dist/shared/src/api/generated/graphql.cjs.js +4 -0
  52. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  53. package/dist/shared/src/api/generated/graphql.es.js +4 -0
  54. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  55. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  56. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  57. package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
  58. package/dist/shared/src/api/generated/views.es.js.map +1 -1
  59. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  60. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  61. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +8 -3
  62. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  63. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +1 -1
  64. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  65. package/dist/shared/src/api/queries/entities/updateEntity.es.js +4 -3
  66. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  67. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  68. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  69. package/dist/shared/src/api/queries/overview/updateOverview.es.js +70 -66
  70. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  71. package/dist/shared/src/api/queries/uris/getUris.cjs.js +2 -0
  72. package/dist/shared/src/api/queries/uris/getUris.cjs.js.map +1 -0
  73. package/dist/shared/src/api/queries/uris/getUris.es.js +47 -0
  74. package/dist/shared/src/api/queries/uris/getUris.es.js.map +1 -0
  75. package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -1
  76. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  77. package/dist/shared/src/api/queries/users/getUsers.es.js +19 -18
  78. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  79. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.cjs.js +28 -0
  80. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.cjs.js.map +1 -0
  81. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.es.js +54 -0
  82. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.es.js.map +1 -0
  83. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  84. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  85. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +3 -2
  86. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  87. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  88. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  89. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +5 -2
  90. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  91. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  92. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  93. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +5 -2
  94. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  95. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  96. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  97. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +5 -2
  98. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  99. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  100. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  101. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +5 -2
  102. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  103. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  104. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  105. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +75 -69
  106. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  107. package/dist/shared/src/components/EntityPath/EntityPath.cjs.js +1 -1
  108. package/dist/shared/src/components/EntityPath/EntityPath.cjs.js.map +1 -1
  109. package/dist/shared/src/components/EntityPath/EntityPath.es.js +51 -53
  110. package/dist/shared/src/components/EntityPath/EntityPath.es.js.map +1 -1
  111. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  112. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  113. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +4 -2
  114. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  115. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  116. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  117. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +7 -4
  118. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  119. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  120. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  121. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +60 -54
  122. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  123. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  124. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  125. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +3 -2
  126. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  127. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  128. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  129. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +66 -60
  130. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  131. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  132. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  133. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +5 -2
  134. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  135. package/dist/shared/src/components/Menu/Menu.cjs.js +2 -0
  136. package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -0
  137. package/dist/shared/src/components/Menu/Menu.es.js +92 -0
  138. package/dist/shared/src/components/Menu/Menu.es.js.map +1 -0
  139. package/dist/shared/src/components/Menu/Menu.styled.cjs.js.map +1 -0
  140. package/dist/shared/src/components/Menu/Menu.styled.es.js.map +1 -0
  141. package/dist/shared/src/components/Menu/MenuContainer.cjs.js +2 -0
  142. package/dist/shared/src/components/Menu/MenuContainer.cjs.js.map +1 -0
  143. package/dist/shared/src/components/Menu/MenuContainer.es.js +88 -0
  144. package/dist/shared/src/components/Menu/MenuContainer.es.js.map +1 -0
  145. package/dist/shared/src/components/Menu/MenuItem.cjs.js +2 -0
  146. package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -0
  147. package/dist/{src/components/Menu/MenuComponents → shared/src/components/Menu}/MenuItem.es.js +26 -24
  148. package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -0
  149. package/dist/shared/src/components/Menu/MenuList.cjs.js +2 -0
  150. package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -0
  151. package/dist/shared/src/components/Menu/MenuList.es.js +131 -0
  152. package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -0
  153. package/dist/shared/src/components/Menu/useMenuPosition.cjs.js +2 -0
  154. package/dist/shared/src/components/Menu/useMenuPosition.cjs.js.map +1 -0
  155. package/dist/shared/src/components/Menu/useMenuPosition.es.js +50 -0
  156. package/dist/shared/src/components/Menu/useMenuPosition.es.js.map +1 -0
  157. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
  158. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  159. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +7 -5
  160. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  161. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  162. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  163. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +49 -43
  164. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  165. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  166. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  167. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +46 -40
  168. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  169. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  170. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  171. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +48 -42
  172. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  173. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  174. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  175. package/dist/shared/src/components/RenameForm/RenameForm.es.js +66 -60
  176. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  177. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  178. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  179. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +3 -2
  180. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  181. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  182. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  183. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +64 -58
  184. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  185. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  186. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  187. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +54 -48
  188. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  189. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  190. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  191. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +53 -47
  192. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  193. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  194. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  195. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +3 -2
  196. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  197. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  198. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  199. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +219 -190
  200. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  201. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +2 -2
  202. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  203. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +20 -18
  204. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  205. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  206. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  207. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +52 -46
  208. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  209. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +2 -2
  210. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  211. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +13 -11
  212. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  213. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +2 -2
  214. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  215. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +56 -50
  216. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  217. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  218. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  219. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +5 -4
  220. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  221. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  222. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  223. package/dist/shared/src/components/Watchers/Watchers.es.js +3 -2
  224. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  225. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  226. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  227. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +53 -47
  228. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  229. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  230. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  231. package/dist/shared/src/containers/Actions/Actions.es.js +5 -2
  232. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  233. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  234. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  235. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +54 -48
  236. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  237. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  238. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  239. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +293 -229
  240. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  241. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js +10 -4
  242. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js.map +1 -1
  243. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js +13 -7
  244. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js.map +1 -1
  245. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  246. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  247. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +49 -43
  248. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  249. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  250. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  251. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +68 -62
  252. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  253. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  254. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  255. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +92 -86
  256. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  257. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  258. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  259. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +9 -5
  260. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  261. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
  262. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
  263. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +194 -5
  264. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
  265. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js +1 -1
  266. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js.map +1 -1
  267. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js +4 -2
  268. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js.map +1 -1
  269. package/dist/shared/src/containers/DetailsPanel/hooks/useDetailsPanelURLSync.cjs.js +2 -0
  270. package/dist/shared/src/containers/DetailsPanel/hooks/useDetailsPanelURLSync.cjs.js.map +1 -0
  271. package/dist/shared/src/containers/DetailsPanel/hooks/useDetailsPanelURLSync.es.js +21 -0
  272. package/dist/shared/src/containers/DetailsPanel/hooks/useDetailsPanelURLSync.es.js.map +1 -0
  273. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  274. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  275. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +20 -17
  276. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  277. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  278. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  279. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +49 -43
  280. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  281. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  282. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  283. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +53 -47
  284. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  285. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  286. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  287. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +53 -47
  288. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  289. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  290. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  291. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +53 -47
  292. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  293. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  294. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  295. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +5 -2
  296. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  297. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  298. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  299. package/dist/shared/src/containers/Feed/Feed.es.js +109 -99
  300. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  301. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  302. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  303. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +446 -212
  304. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  305. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js +20 -16
  306. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js.map +1 -1
  307. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.es.js +21 -17
  308. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.es.js.map +1 -1
  309. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +2 -0
  310. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -0
  311. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +288 -0
  312. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -0
  313. package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js +1 -1
  314. package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js.map +1 -1
  315. package/dist/shared/src/containers/Feed/components/ActivityItem.es.js +23 -11
  316. package/dist/shared/src/containers/Feed/components/ActivityItem.es.js.map +1 -1
  317. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  318. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  319. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +4 -2
  320. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  321. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  322. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  323. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +372 -183
  324. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  325. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  326. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  327. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +4 -2
  328. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  329. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  330. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  331. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +12 -10
  332. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  333. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  334. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  335. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +28 -26
  336. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  337. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  338. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  339. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +194 -5
  340. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  341. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  342. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  343. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +8 -5
  344. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  345. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  346. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  347. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +3 -2
  348. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  349. package/dist/shared/src/containers/Feed/hooks/useScrollToHighlighted.cjs.js +1 -1
  350. package/dist/shared/src/containers/Feed/hooks/useScrollToHighlighted.cjs.js.map +1 -1
  351. package/dist/shared/src/containers/Feed/hooks/useScrollToHighlighted.es.js +24 -26
  352. package/dist/shared/src/containers/Feed/hooks/useScrollToHighlighted.es.js.map +1 -1
  353. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  354. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  355. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +434 -435
  356. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  357. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  358. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  359. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +126 -120
  360. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  361. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +2 -2
  362. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  363. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +52 -46
  364. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  365. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  366. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  367. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +57 -51
  368. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  369. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  370. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  371. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +79 -72
  372. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  373. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  374. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  375. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +7 -4
  376. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  377. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  378. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  379. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
  380. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
  381. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +72 -65
  382. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
  383. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  384. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  385. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +47 -41
  386. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  387. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  388. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  389. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +12 -10
  390. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  391. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  392. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  393. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +8 -5
  394. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  395. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  396. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  397. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +5 -2
  398. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  399. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  400. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  401. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +55 -49
  402. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  403. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  404. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  405. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +81 -66
  406. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  407. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  408. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  409. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +51 -45
  410. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  411. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  412. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  413. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +106 -111
  414. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  415. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  416. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  417. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +51 -45
  418. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  419. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  420. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  421. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +51 -45
  422. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  423. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  424. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  425. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +54 -48
  426. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  427. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  428. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  429. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +122 -119
  430. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  431. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  432. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  433. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +61 -55
  434. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  435. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  436. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  437. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +45 -39
  438. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  439. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  440. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  441. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +98 -94
  442. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  443. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  444. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  445. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +62 -56
  446. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  447. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js +1 -1
  448. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
  449. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js +22 -20
  450. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
  451. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
  452. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  453. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +19 -17
  454. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  455. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  456. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  457. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +68 -62
  458. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  459. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  460. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  461. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +51 -45
  462. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  463. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js +1 -1
  464. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js.map +1 -1
  465. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js +45 -44
  466. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js.map +1 -1
  467. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  468. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  469. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +120 -114
  470. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  471. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  472. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  473. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +53 -47
  474. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  475. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  476. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  477. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +5 -2
  478. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  479. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +1 -1
  480. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  481. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +14 -12
  482. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  483. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  484. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  485. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +90 -91
  486. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  487. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  488. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  489. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +5 -2
  490. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  491. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
  492. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  493. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +5 -2
  494. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  495. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  496. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  497. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +3 -2
  498. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  499. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  500. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  501. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +3 -2
  502. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  503. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  504. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  505. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +3 -2
  506. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  507. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  508. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  509. package/dist/shared/src/context/AddonProjectContext.es.js +5 -4
  510. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  511. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  512. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  513. package/dist/shared/src/context/DetailsPanelContext.es.js +117 -75
  514. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  515. package/dist/shared/src/context/GlobalContext.cjs.js +1 -1
  516. package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -1
  517. package/dist/shared/src/context/GlobalContext.es.js +5 -4
  518. package/dist/shared/src/context/GlobalContext.es.js.map +1 -1
  519. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  520. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  521. package/dist/shared/src/context/PowerpackContext.es.js +18 -15
  522. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  523. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  524. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  525. package/dist/shared/src/context/ProjectContext.es.js +44 -40
  526. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  527. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +2 -0
  528. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -0
  529. package/dist/shared/src/context/ProjectFoldersContext.es.js +177 -0
  530. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -0
  531. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  532. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  533. package/dist/shared/src/context/RemoteModulesContext.es.js +5 -4
  534. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  535. package/dist/shared/src/context/UriContext.cjs.js +2 -0
  536. package/dist/shared/src/context/UriContext.cjs.js.map +1 -0
  537. package/dist/shared/src/context/UriContext.es.js +131 -0
  538. package/dist/shared/src/context/UriContext.es.js.map +1 -0
  539. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  540. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  541. package/dist/shared/src/context/WebsocketContext.es.js +51 -45
  542. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  543. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  544. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  545. package/dist/shared/src/hooks/useActionTriggers.es.js +3 -2
  546. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  547. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  548. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  549. package/dist/shared/src/hooks/useEntityUpdate.es.js +5 -2
  550. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  551. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
  552. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
  553. package/dist/shared/src/hooks/useGetEntityGroups.es.js +3 -2
  554. package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
  555. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  556. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  557. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +5 -2
  558. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  559. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  560. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  561. package/dist/shared/src/hooks/useHierarchyTable.es.js +43 -119
  562. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  563. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  564. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  565. package/dist/shared/src/hooks/useScopedStatuses.es.js +5 -4
  566. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  567. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  568. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  569. package/dist/shared/src/hooks/useUserProjectConfig.es.js +5 -2
  570. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  571. package/dist/shared/src/util/extractEntityHierarchyFromParents.cjs.js +2 -0
  572. package/dist/shared/src/util/extractEntityHierarchyFromParents.cjs.js.map +1 -0
  573. package/dist/shared/src/util/extractEntityHierarchyFromParents.es.js +25 -0
  574. package/dist/shared/src/util/extractEntityHierarchyFromParents.es.js.map +1 -0
  575. package/dist/shared/src/util/uriUtils.cjs.js +2 -0
  576. package/dist/shared/src/util/uriUtils.cjs.js.map +1 -0
  577. package/dist/shared/src/util/uriUtils.es.js +49 -0
  578. package/dist/shared/src/util/uriUtils.es.js.map +1 -0
  579. package/dist/types/api/generated/graphql.d.ts +55 -4
  580. package/dist/types/api/generated/graphqlLinks.d.ts +47 -0
  581. package/dist/types/api/generated/views.d.ts +15 -13
  582. package/dist/types/api/queries/entities/transformDetailsPanelData.d.ts +1 -0
  583. package/dist/types/api/queries/entityLists/getLists.d.ts +180 -180
  584. package/dist/types/api/queries/index.d.ts +1 -0
  585. package/dist/types/api/queries/uris/getUris.d.ts +161 -0
  586. package/dist/types/api/queries/uris/index.d.ts +1 -0
  587. package/dist/types/components/AddonLoadingScreen/AddonLoadingScreen.d.ts +25 -0
  588. package/dist/types/components/AddonLoadingScreen/index.d.ts +1 -0
  589. package/dist/types/components/Menu/Menu.d.ts +30 -0
  590. package/dist/types/components/Menu/Menu.styled.d.ts +8 -0
  591. package/dist/types/components/Menu/MenuContainer.d.ts +14 -0
  592. package/dist/types/components/Menu/MenuItem.d.ts +21 -0
  593. package/dist/types/components/Menu/MenuList.d.ts +21 -0
  594. package/dist/types/components/Menu/index.d.ts +4 -0
  595. package/dist/types/components/Menu/useMenuPosition.d.ts +12 -0
  596. package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +3 -1
  597. package/dist/types/components/index.d.ts +32 -31
  598. package/dist/types/containers/DetailsPanel/DetailsPanel.d.ts +6 -2
  599. package/dist/types/containers/DetailsPanel/FeedWrapper.d.ts +1 -0
  600. package/dist/types/containers/DetailsPanel/hooks/useDetailsPanelURLSync.d.ts +12 -0
  601. package/dist/types/containers/Feed/Feed.d.ts +2 -1
  602. package/dist/types/containers/Feed/components/ActivityComment/ActivityComment.d.ts +2 -1
  603. package/dist/types/containers/Feed/components/ActivityComment/ActivityCommentMenu.d.ts +9 -0
  604. package/dist/types/containers/Feed/components/ActivityItem.d.ts +1 -0
  605. package/dist/types/containers/Feed/hooks/useScrollToHighlighted.d.ts +2 -1
  606. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +2 -0
  607. package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +4 -1
  608. package/dist/types/containers/ProjectTreeTable/hooks/useUpdateTableData.d.ts +1 -0
  609. package/dist/types/containers/Views/index.d.ts +1 -1
  610. package/dist/types/context/AddonProjectContext.d.ts +12 -7
  611. package/dist/types/context/DetailsPanelContext.d.ts +1 -0
  612. package/dist/types/context/ProjectFoldersContext.d.ts +19 -0
  613. package/dist/types/context/UriContext.d.ts +40 -0
  614. package/dist/types/context/index.d.ts +2 -0
  615. package/dist/types/hooks/useGroupByRemoteModules.d.ts +1 -2
  616. package/dist/types/util/extractEntityHierarchyFromParents.d.ts +6 -0
  617. package/dist/types/util/index.d.ts +2 -0
  618. package/dist/types/util/uriUtils.d.ts +15 -0
  619. package/dist/util.cjs.js +1 -1
  620. package/dist/util.es.js +44 -37
  621. package/dist/util.es.js.map +1 -1
  622. package/package.json +1 -1
  623. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +0 -2
  624. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +0 -1
  625. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +0 -263
  626. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +0 -1
  627. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js +0 -2
  628. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js.map +0 -1
  629. package/dist/src/components/Menu/MenuComponents/Menu.es.js +0 -82
  630. package/dist/src/components/Menu/MenuComponents/Menu.es.js.map +0 -1
  631. package/dist/src/components/Menu/MenuComponents/Menu.styled.cjs.js.map +0 -1
  632. package/dist/src/components/Menu/MenuComponents/Menu.styled.es.js.map +0 -1
  633. package/dist/src/components/Menu/MenuComponents/MenuContainer2.cjs.js +0 -2
  634. package/dist/src/components/Menu/MenuComponents/MenuContainer2.cjs.js.map +0 -1
  635. package/dist/src/components/Menu/MenuComponents/MenuContainer2.es.js +0 -80
  636. package/dist/src/components/Menu/MenuComponents/MenuContainer2.es.js.map +0 -1
  637. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js +0 -2
  638. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js.map +0 -1
  639. package/dist/src/components/Menu/MenuComponents/MenuItem.es.js.map +0 -1
  640. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js +0 -2
  641. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js.map +0 -1
  642. package/dist/src/components/Menu/MenuComponents/MenuList.es.js +0 -135
  643. package/dist/src/components/Menu/MenuComponents/MenuList.es.js.map +0 -1
  644. package/dist/src/components/Menu/MenuComponents/useMenuPosition.cjs.js +0 -2
  645. package/dist/src/components/Menu/MenuComponents/useMenuPosition.cjs.js.map +0 -1
  646. package/dist/src/components/Menu/MenuComponents/useMenuPosition.es.js +0 -35
  647. package/dist/src/components/Menu/MenuComponents/useMenuPosition.es.js.map +0 -1
  648. package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +0 -29
  649. package/dist/types/components/RemotePage/index.d.ts +0 -1
  650. /package/dist/{src/components/Menu/MenuComponents → shared/src/components/Menu}/Menu.styled.cjs.js +0 -0
  651. /package/dist/{src/components/Menu/MenuComponents → shared/src/components/Menu}/Menu.styled.es.js +0 -0
@@ -0,0 +1,92 @@
1
+ import { j as o } from "../../../../_virtual/jsx-runtime.es.js";
2
+ import { useState as j } from "react";
3
+ import { Section as S, Footer as h } from "./Menu.styled.es.js";
4
+ import { MenuList as g } from "./MenuList.es.js";
5
+ import "lodash";
6
+ import "react-toastify";
7
+ import { copyToClipboard as T } from "../../util/copyToClipboard.es.js";
8
+ import "uuid";
9
+ import "../../util/pubsub.es.js";
10
+ import { Button as R } from "@ynput/ayon-react-components";
11
+ import "../../context/RemoteModulesContext.es.js";
12
+ import "../../context/DetailsPanelContext.es.js";
13
+ import "../../context/ThumbnailUploaderContext.es.js";
14
+ import "../../context/SettingsPanelContext.es.js";
15
+ import "../../context/pip/PiPProvider.es.js";
16
+ import "react-dom";
17
+ import "../../context/pip/PiPWrapper.es.js";
18
+ import "../../context/AddonProjectContext.es.js";
19
+ import "../../context/AddonContext.es.js";
20
+ import { usePowerpack as w } from "../../context/PowerpackContext.es.js";
21
+ import "../../context/MoveEntityContext.es.js";
22
+ import { useMenuContext as L } from "../../context/MenuContext.es.js";
23
+ import "../../context/WebsocketContext.es.js";
24
+ import "../../context/GlobalContext.es.js";
25
+ import "../../context/ProjectContext.es.js";
26
+ import "../../context/ProjectFoldersContext.es.js";
27
+ import "../../context/UriContext.es.js";
28
+ const te = ({ menu: y = [], onClose: n, header: a, footer: s = "" }) => {
29
+ const { setPowerpackDialog: f } = w(), { setMenuOpen: u } = L(), [i, p] = j([]), d = (t, e, r, l) => {
30
+ if (r) return n == null ? void 0 : n();
31
+ e == null || e(t), !l && n && n();
32
+ }, c = (t, e) => {
33
+ e.items.length ? i.find((r) => r.id === e.id) || p([
34
+ ...i.filter((r) => r.level < (e.level || 0) + 1),
35
+ {
36
+ ...e,
37
+ id: e.id,
38
+ level: (e.level || 0) + 1,
39
+ parentRef: t.target
40
+ }
41
+ ]) : p(i.filter((r) => r.level <= (e.level || 0)));
42
+ }, b = (t, e = {}) => {
43
+ var v, x;
44
+ const r = (v = t.relatedTarget) == null ? void 0 : v.id, l = i.find((m) => m.id === r);
45
+ if (((x = t.relatedTarget) == null ? void 0 : x.tagName) === "DIALOG") return p([]);
46
+ l || p(i.filter((m) => m.level <= (e.level || 0) + 1));
47
+ }, M = (t, e) => {
48
+ t.type === "mouseenter" || t.type === "keydown" ? c(t, e) : t.type === "mouseleave" && b(t, e);
49
+ };
50
+ return /* @__PURE__ */ o.jsxs(o.Fragment, { children: [
51
+ /* @__PURE__ */ o.jsxs(S, { children: [
52
+ a && a,
53
+ /* @__PURE__ */ o.jsx(
54
+ g,
55
+ {
56
+ items: y,
57
+ handleClick: d,
58
+ onSubMenu: M,
59
+ level: 0,
60
+ setPowerpackDialog: f,
61
+ onMenuClose: () => u(!1)
62
+ }
63
+ ),
64
+ s && /* @__PURE__ */ o.jsxs(h, { children: [
65
+ s,
66
+ /* @__PURE__ */ o.jsx(R, { icon: "content_copy", variant: "text", onClick: () => T(s) })
67
+ ] })
68
+ ] }),
69
+ i.map((t, e) => /* @__PURE__ */ o.jsx(
70
+ g,
71
+ {
72
+ ...t,
73
+ parentRef: t.parentRef || null,
74
+ style: t.style || {},
75
+ handleClick: d,
76
+ subMenu: !0,
77
+ onSubMenu: M,
78
+ onClose: () => p(i.filter((r) => r.id !== t.id)),
79
+ onMenuClose: () => u(!1),
80
+ onChange: c,
81
+ setPowerpackDialog: f,
82
+ itemClassName: void 0,
83
+ itemStyle: void 0
84
+ },
85
+ e
86
+ ))
87
+ ] });
88
+ };
89
+ export {
90
+ te as Menu
91
+ };
92
+ //# sourceMappingURL=Menu.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Menu.es.js","sources":["../../../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import React, { useState, ReactNode } from 'react'\nimport * as Styled from './Menu.styled'\nimport { MenuList } from './MenuList'\nimport { copyToClipboard } from '@shared/util'\nimport { Button } from '@ynput/ayon-react-components'\nimport { PowerpackFeature, useMenuContext, usePowerpack } from '@shared/context'\n\nexport interface MenuItemType {\n id: string\n label?: string | string[]\n icon?: string\n img?: string\n highlighted?: boolean\n notification?: boolean\n selected?: boolean\n danger?: boolean\n items?: MenuItemType[]\n onClick?: (e: React.MouseEvent) => void\n link?: string\n disableClose?: boolean\n disabled?: boolean\n powerFeature?: PowerpackFeature\n active?: boolean\n hidden?: boolean\n node?: ReactNode\n [key: string]: any\n}\n\ninterface SubMenu {\n id: string\n items: MenuItemType[]\n level: number\n parentRef?: HTMLElement\n style?: React.CSSProperties\n}\n\ninterface MenuProps {\n menu?: MenuItemType[]\n onClose?: () => void\n header?: ReactNode\n footer?: string\n}\n\nexport const Menu: React.FC<MenuProps> = ({ menu = [], onClose, header, footer = '' }) => {\n const { setPowerpackDialog } = usePowerpack()\n const { setMenuOpen } = useMenuContext()\n\n const [subMenus, setSubMenus] = useState<SubMenu[]>([])\n // When a menu item is clicked, the following happens:\n const handleClick = (\n e: React.MouseEvent,\n onClick?: (e: React.MouseEvent) => void,\n url?: string,\n disableClose?: boolean,\n ) => {\n // this is handled by Link component inside the MenuItem\n if (url) return onClose?.()\n\n onClick?.(e)\n\n if (!disableClose && onClose) onClose()\n }\n\n const onMenuEnter = (e: React.MouseEvent, menu: Partial<SubMenu> & { items: MenuItemType[] }) => {\n // check to see if we need to open a submenu\n if (menu.items.length) {\n // yes, there is a submenu\n // open it if it is not already open\n if (!subMenus.find((m) => m.id === menu.id)) {\n // also close any other submenus on the same level\n setSubMenus([\n ...subMenus.filter((m) => m.level < (menu.level || 0) + 1),\n {\n ...menu,\n id: menu.id!,\n level: (menu.level || 0) + 1,\n parentRef: e.target as HTMLElement,\n } as SubMenu,\n ])\n }\n } else {\n // no items for this menu, so close all submenus on the higher levels\n setSubMenus(subMenus.filter((m) => m.level <= (menu.level || 0)))\n }\n }\n\n const onMenuLeave = (e: React.MouseEvent, menu: Partial<SubMenu> = {}) => {\n // target where we are going\n const relatedTargetId = (e.relatedTarget as HTMLElement)?.id\n const relatedTargetSubMenu = subMenus.find((m) => m.id === relatedTargetId)\n\n if ((e.relatedTarget as HTMLElement)?.tagName === 'DIALOG') return setSubMenus([])\n\n if (!relatedTargetSubMenu) {\n setSubMenus(subMenus.filter((m) => m.level <= (menu.level || 0) + 1))\n }\n // if (menu.items.length) {\n }\n\n const handleSubMenu = (\n e: React.MouseEvent,\n menu: Partial<SubMenu> & { items: MenuItemType[] },\n ) => {\n if (e.type === 'mouseenter' || e.type === 'keydown') onMenuEnter(e, menu)\n else if (e.type === 'mouseleave') onMenuLeave(e, menu)\n }\n\n return (\n <>\n <Styled.Section>\n {header && header}\n <MenuList\n items={menu}\n handleClick={handleClick}\n onSubMenu={handleSubMenu}\n level={0}\n setPowerpackDialog={setPowerpackDialog}\n onMenuClose={() => setMenuOpen(false)}\n />\n {footer && (\n <Styled.Footer>\n {footer}\n <Button icon=\"content_copy\" variant=\"text\" onClick={() => copyToClipboard(footer)} />\n </Styled.Footer>\n )}\n </Styled.Section>\n {subMenus.map((menu, i) => (\n <MenuList\n key={i}\n {...menu}\n parentRef={menu.parentRef || null}\n style={menu.style || {}}\n handleClick={handleClick}\n subMenu\n onSubMenu={handleSubMenu}\n onClose={() => setSubMenus(subMenus.filter((m) => m.id !== menu.id))}\n onMenuClose={() => setMenuOpen(false)}\n onChange={onMenuEnter}\n setPowerpackDialog={setPowerpackDialog}\n itemClassName={undefined}\n itemStyle={undefined}\n />\n ))}\n </>\n )\n}\n"],"names":["Menu","menu","onClose","header","footer","setPowerpackDialog","usePowerpack","setMenuOpen","useMenuContext","subMenus","setSubMenus","useState","handleClick","e","onClick","url","disableClose","onMenuEnter","m","onMenuLeave","relatedTargetId","_a","relatedTargetSubMenu","_b","handleSubMenu","jsxs","Fragment","Styled.Section","jsx","MenuList","Styled.Footer","Button","copyToClipboard","i"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Menu.styled.cjs.js","sources":["../../../../../src/components/Menu/Menu.styled.ts"],"sourcesContent":["import styled, { keyframes } from 'styled-components'\n\n// DIALOG (CONTAINER)\nexport const Dialog = styled.dialog`\n position: fixed;\n margin: 0;\n inset: 0;\n top: 42px;\n width: auto;\n height: auto;\n z-index: 1000;\n border: none;\n background-color: unset;\n padding: 0;\n\n user-select: none;\n\n overflow: auto;\n /* remove scroll bar */\n scrollbar-width: none;\n -ms-overflow-style: none;\n &::-webkit-scrollbar {\n display: none;\n }\n padding-bottom: 60px;\n`\n\nconst DialogOpenAnimation = keyframes`\n from {\n scale: 0.95;\n opacity: 0.6;\n }\n to {\n scale: 1;\n opacity: 1;\n }\n`\n\nexport const DialogContent = styled.div`\n display: flex;\n flex-direction: column;\n gap: var(--base-gap-large);\n\n /* position */\n position: absolute;\n right: 0;\n top: 0;\n width: fit-content;\n z-index: 30;\n\n /* animate */\n animation: ${DialogOpenAnimation} 0.03s ease-in forwards;\n\n /* transform origin based on alignment */\n &.right {\n transform-origin: top right;\n }\n &.left {\n transform-origin: top left;\n }\n\n /* add shadow to each item */\n & > *:not(.sub-menu),\n .sub-menu menu {\n box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.15);\n }\n\n /* theme support */\n &.dark {\n color: var(--md-sys-color-on-surface, #fff);\n /* override children backgrounds if needed */\n & > * {\n color: var(--md-sys-color-on-surface, #fff) !important;\n }\n }\n`\n\n// MENULIST\nexport const Section = styled.section`\n position: relative;\n display: flex;\n flex-direction: column;\n\n padding: 0px;\n border-radius: 8px;\n /* colors */\n background-color: var(--md-sys-color-surface-container-high);\n color: var(--md-sys-color-on-surface);\n z-index: 10;\n overflow: hidden;\n`\nexport const MenuWrapper = styled.div`\n position: relative;\n border-radius: 8px;\n\n /* sub menu */\n &.sub-menu {\n position: absolute;\n bottom: 0;\n\n border-radius: 8px;\n width: max-content;\n z-index: 30;\n\n & > * {\n border-radius: 8px;\n overflow: hidden;\n }\n }\n`\n\nexport const Menu = styled.menu`\n /* reset defaults */\n display: flex;\n list-style-type: none;\n margin-block-start: 0;\n margin-block-end: 0;\n margin-inline-start: 0px;\n margin-inline-end: 0px;\n padding-inline-start: 0;\n\n /* custom */\n flex-direction: column;\n gap: var(--base-gap-large);\n padding: 8px;\n\n /* shrink the padding when compact */\n &.compact {\n padding: 4px;\n gap: var(--base-gap-small);\n }\n\n /* colors */\n background-color: var(--md-sys-color-surface-container-high);\n\n /* divider */\n hr {\n margin: 0;\n width: 100%;\n border-style: solid;\n opacity: 0.5;\n border-color: var(--md-sys-color-surface-container-highest);\n }\n`\n\nexport const Item = styled.li`\n display: flex;\n padding: 6px 16px 6px 12px;\n justify-content: flex-start;\n align-items: center;\n gap: var(--base-gap-large);\n align-self: stretch;\n border-radius: 4px;\n cursor: pointer;\n position: relative;\n user-select: none;\n\n span {\n display: inline-block;\n }\n\n &:hover {\n background-color: var(--md-sys-color-surface-container-highest);\n }\n\n .more {\n margin-left: auto;\n }\n\n /* highlighted item */\n &.highlighted {\n background-color: var(--md-sys-color-secondary-container);\n &:hover {\n background-color: var(--md-sys-color-secondary-container-hover);\n }\n }\n\n /* selected item */\n &.selected {\n background-color: var(--md-sys-color-primary-container);\n color: var(--md-sys-color-on-primary-container);\n &:hover {\n background-color: var(--md-sys-color-primary-container-hover);\n }\n }\n\n &.notification::after {\n content: '';\n position: absolute;\n right: 0;\n top: 0;\n transform: translate(25%, -25%);\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background-color: var(--md-sys-color-error);\n }\n\n &.danger {\n &,\n .icon {\n color: var(--md-sys-color-error);\n }\n\n &:hover {\n background-color: var(--md-sys-color-error-container);\n\n &,\n .icon {\n color: var(--md-sys-color-on-error-container);\n }\n }\n }\n\n &.dev {\n &,\n .icon {\n color: var(--color-hl-developer);\n }\n\n &:hover {\n background-color: var(--color-hl-developer-container-hover);\n }\n }\n\n &.power {\n &,\n .icon {\n color: var(--md-sys-color-tertiary);\n }\n [icon='bolt'] {\n font-variation-settings: 'FILL' 1, 'wght' 200, 'GRAD' 200, 'opsz' 20;\n }\n .shortcut {\n color: var(--md-sys-color-on-surface);\n }\n }\n\n &.disabled {\n user-select: none;\n pointer-events: none;\n &,\n .icon {\n color: var(--md-sys-color-outline);\n }\n background-color: unset;\n }\n`\n\nexport const Img = styled.img`\n width: 18px;\n height: 18px;\n object-fit: contain;\n`\n\nexport const Footer = styled.footer`\n position: relative;\n display: flex;\n padding: 8px;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n align-self: stretch;\n background-color: var(--md-sys-color-surface-container-lowest);\n\n user-select: text;\n\n button {\n display: none;\n\n position: absolute;\n right: 2px;\n border-radius: 8px;\n top: 50%;\n transform: translateY(-50%);\n cursor: pointer;\n }\n\n /* hover show button */\n &:hover {\n button {\n display: flex;\n }\n }\n`\n"],"names":["Dialog","styled","DialogOpenAnimation","keyframes","DialogContent","Section","MenuWrapper","Menu","Item","Img","Footer"],"mappings":"qHAGaA,EAASC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAwBvBC,EAAsBC,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWfC,EAAgBH,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAarBC,CAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA2BrBG,EAAUJ,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAajBK,EAAcL,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBrBM,EAAON,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkCdO,EAAOP,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAwGdQ,EAAMR,EAAO;AAAA;AAAA;AAAA;AAAA,EAMbS,EAAST,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Menu.styled.es.js","sources":["../../../../../src/components/Menu/Menu.styled.ts"],"sourcesContent":["import styled, { keyframes } from 'styled-components'\n\n// DIALOG (CONTAINER)\nexport const Dialog = styled.dialog`\n position: fixed;\n margin: 0;\n inset: 0;\n top: 42px;\n width: auto;\n height: auto;\n z-index: 1000;\n border: none;\n background-color: unset;\n padding: 0;\n\n user-select: none;\n\n overflow: auto;\n /* remove scroll bar */\n scrollbar-width: none;\n -ms-overflow-style: none;\n &::-webkit-scrollbar {\n display: none;\n }\n padding-bottom: 60px;\n`\n\nconst DialogOpenAnimation = keyframes`\n from {\n scale: 0.95;\n opacity: 0.6;\n }\n to {\n scale: 1;\n opacity: 1;\n }\n`\n\nexport const DialogContent = styled.div`\n display: flex;\n flex-direction: column;\n gap: var(--base-gap-large);\n\n /* position */\n position: absolute;\n right: 0;\n top: 0;\n width: fit-content;\n z-index: 30;\n\n /* animate */\n animation: ${DialogOpenAnimation} 0.03s ease-in forwards;\n\n /* transform origin based on alignment */\n &.right {\n transform-origin: top right;\n }\n &.left {\n transform-origin: top left;\n }\n\n /* add shadow to each item */\n & > *:not(.sub-menu),\n .sub-menu menu {\n box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.15);\n }\n\n /* theme support */\n &.dark {\n color: var(--md-sys-color-on-surface, #fff);\n /* override children backgrounds if needed */\n & > * {\n color: var(--md-sys-color-on-surface, #fff) !important;\n }\n }\n`\n\n// MENULIST\nexport const Section = styled.section`\n position: relative;\n display: flex;\n flex-direction: column;\n\n padding: 0px;\n border-radius: 8px;\n /* colors */\n background-color: var(--md-sys-color-surface-container-high);\n color: var(--md-sys-color-on-surface);\n z-index: 10;\n overflow: hidden;\n`\nexport const MenuWrapper = styled.div`\n position: relative;\n border-radius: 8px;\n\n /* sub menu */\n &.sub-menu {\n position: absolute;\n bottom: 0;\n\n border-radius: 8px;\n width: max-content;\n z-index: 30;\n\n & > * {\n border-radius: 8px;\n overflow: hidden;\n }\n }\n`\n\nexport const Menu = styled.menu`\n /* reset defaults */\n display: flex;\n list-style-type: none;\n margin-block-start: 0;\n margin-block-end: 0;\n margin-inline-start: 0px;\n margin-inline-end: 0px;\n padding-inline-start: 0;\n\n /* custom */\n flex-direction: column;\n gap: var(--base-gap-large);\n padding: 8px;\n\n /* shrink the padding when compact */\n &.compact {\n padding: 4px;\n gap: var(--base-gap-small);\n }\n\n /* colors */\n background-color: var(--md-sys-color-surface-container-high);\n\n /* divider */\n hr {\n margin: 0;\n width: 100%;\n border-style: solid;\n opacity: 0.5;\n border-color: var(--md-sys-color-surface-container-highest);\n }\n`\n\nexport const Item = styled.li`\n display: flex;\n padding: 6px 16px 6px 12px;\n justify-content: flex-start;\n align-items: center;\n gap: var(--base-gap-large);\n align-self: stretch;\n border-radius: 4px;\n cursor: pointer;\n position: relative;\n user-select: none;\n\n span {\n display: inline-block;\n }\n\n &:hover {\n background-color: var(--md-sys-color-surface-container-highest);\n }\n\n .more {\n margin-left: auto;\n }\n\n /* highlighted item */\n &.highlighted {\n background-color: var(--md-sys-color-secondary-container);\n &:hover {\n background-color: var(--md-sys-color-secondary-container-hover);\n }\n }\n\n /* selected item */\n &.selected {\n background-color: var(--md-sys-color-primary-container);\n color: var(--md-sys-color-on-primary-container);\n &:hover {\n background-color: var(--md-sys-color-primary-container-hover);\n }\n }\n\n &.notification::after {\n content: '';\n position: absolute;\n right: 0;\n top: 0;\n transform: translate(25%, -25%);\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background-color: var(--md-sys-color-error);\n }\n\n &.danger {\n &,\n .icon {\n color: var(--md-sys-color-error);\n }\n\n &:hover {\n background-color: var(--md-sys-color-error-container);\n\n &,\n .icon {\n color: var(--md-sys-color-on-error-container);\n }\n }\n }\n\n &.dev {\n &,\n .icon {\n color: var(--color-hl-developer);\n }\n\n &:hover {\n background-color: var(--color-hl-developer-container-hover);\n }\n }\n\n &.power {\n &,\n .icon {\n color: var(--md-sys-color-tertiary);\n }\n [icon='bolt'] {\n font-variation-settings: 'FILL' 1, 'wght' 200, 'GRAD' 200, 'opsz' 20;\n }\n .shortcut {\n color: var(--md-sys-color-on-surface);\n }\n }\n\n &.disabled {\n user-select: none;\n pointer-events: none;\n &,\n .icon {\n color: var(--md-sys-color-outline);\n }\n background-color: unset;\n }\n`\n\nexport const Img = styled.img`\n width: 18px;\n height: 18px;\n object-fit: contain;\n`\n\nexport const Footer = styled.footer`\n position: relative;\n display: flex;\n padding: 8px;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n align-self: stretch;\n background-color: var(--md-sys-color-surface-container-lowest);\n\n user-select: text;\n\n button {\n display: none;\n\n position: absolute;\n right: 2px;\n border-radius: 8px;\n top: 50%;\n transform: translateY(-50%);\n cursor: pointer;\n }\n\n /* hover show button */\n &:hover {\n button {\n display: flex;\n }\n }\n`\n"],"names":["Dialog","styled","DialogOpenAnimation","keyframes","DialogContent","Section","MenuWrapper","Menu","Item","Img","Footer"],"mappings":";AAGO,MAAMA,IAASC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAwBvBC,IAAsBC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAWfC,IAAgBH,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAarBC,CAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GA2BrBG,IAAUJ,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAajBK,IAAcL,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAoBrBM,IAAON,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAkCdO,IAAOP,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAwGdQ,IAAMR,EAAO;AAAA;AAAA;AAAA;AAAA,GAMbS,IAAST,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("../../../../_virtual/jsx-runtime.cjs.js"),r=require("react"),M=require("../../context/MenuContext.cjs.js"),q=require("react-router-dom"),h=require("react-dom"),j=require("clsx"),p=require("./Menu.styled.cjs.js"),C=require("./useMenuPosition.cjs.js"),R=({id:n,target:u,targetId:c="",align:l="right",theme:i="light",children:a,...d})=>{const t=q.useNavigate(),{menuOpen:o,setMenuOpen:g}=M.useMenuContext(),m=o===n,s=()=>{g(!1)},x=e=>{console.log("navigate and close"),s(),e&&t(e)};return m?f.jsxRuntimeExports.jsx(v,{handleClose:s,handleNavigate:x,target:u,targetId:c,align:l,theme:i,children:a,...d}):null},v=({handleClose:n,handleNavigate:u,target:c,targetId:l,align:i="right",children:a,...d})=>{const{position:t,menuRef:o}=C.useMenuPosition(c??null,l??"",i);r.useEffect(()=>{if(t&&o.current){const e=o.current.querySelectorAll("li, button")[0];e==null||e.focus()}},[t]);const g=e=>{e.key==="Escape"&&n()},m=e=>{e.target.id==="dialog"&&n()},s=r.Children.map(a,(e,y)=>r.isValidElement(e)?r.cloneElement(e,{onClose:n,index:y,navigate:u}):e),x=t||{top:0,left:0,opacity:0,visibility:"hidden"};return h.createPortal(f.jsxRuntimeExports.jsx(p.Dialog,{open:!0,onClick:m,onKeyDown:g,...d,id:"dialog",children:f.jsxRuntimeExports.jsx(p.DialogContent,{id:"content",style:x,className:j(i),ref:o,children:s})}),document.body)};exports.MenuContainer=R;
2
+ //# sourceMappingURL=MenuContainer.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuContainer.cjs.js","sources":["../../../../../src/components/Menu/MenuContainer.tsx"],"sourcesContent":["import React, { useEffect, ReactNode } from 'react'\nimport { useMenuContext } from '@shared/context/MenuContext'\nimport { useNavigate } from 'react-router-dom'\nimport { createPortal } from 'react-dom'\nimport clsx from 'clsx'\nimport * as Styled from './Menu.styled'\nimport { useMenuPosition } from './useMenuPosition'\n\ntype AlignType = 'left' | 'right'\ntype ThemeType = 'light' | 'dark'\n\ninterface MenuContainerProps {\n id: string | undefined\n target?: HTMLElement | null\n targetId?: string\n align?: AlignType\n theme?: ThemeType\n children: ReactNode\n [key: string]: any\n}\n\nexport const MenuContainer: React.FC<MenuContainerProps> = ({\n id,\n target,\n targetId = '',\n align = 'right',\n theme = 'light',\n children,\n ...props\n}) => {\n const navigate = useNavigate()\n const { menuOpen, setMenuOpen } = useMenuContext()\n const isOpen = menuOpen === id\n\n const handleClose = () => {\n setMenuOpen(false)\n }\n\n const handleNavigate = (path?: string) => {\n console.log('navigate and close')\n handleClose()\n if (path) navigate(path)\n }\n\n if (!isOpen) return null\n\n return (\n <MenuInner\n {...{\n handleClose,\n handleNavigate,\n target,\n targetId,\n align,\n theme,\n children,\n ...props,\n }}\n />\n )\n}\n\ninterface MenuInnerProps {\n handleClose: () => void\n handleNavigate: (path?: string) => void\n target?: HTMLElement | null\n targetId?: string\n align?: AlignType\n children: ReactNode\n [key: string]: any\n}\n\nconst MenuInner: React.FC<MenuInnerProps> = ({\n handleClose,\n handleNavigate,\n target,\n targetId,\n align = 'right',\n children,\n ...props\n}) => {\n const { position, menuRef } = useMenuPosition(target ?? null, targetId ?? '', align)\n\n // Focus management\n useEffect(() => {\n if (position && menuRef.current) {\n const first = menuRef.current.querySelectorAll('li, button')[0] as HTMLElement\n first?.focus()\n }\n }, [position])\n\n // Keyboard handling\n const handleKeyDown = (e: React.KeyboardEvent) => {\n if (e.key === 'Escape') handleClose()\n }\n\n // Click outside handling\n const handleOnClick = (e: React.MouseEvent<HTMLDialogElement>) => {\n if ((e.target as HTMLElement).id === 'dialog') handleClose()\n }\n\n // Attach props to children\n const childrenWithProps = React.Children.map(children, (child, i) => {\n if (React.isValidElement(child)) {\n return React.cloneElement(child, {\n onClose: handleClose,\n index: i,\n navigate: handleNavigate,\n } as any)\n }\n return child\n })\n\n const menuPosition = position || { top: 0, left: 0, opacity: 0, visibility: 'hidden' as const }\n\n return createPortal(\n <Styled.Dialog\n open={true}\n onClick={handleOnClick}\n onKeyDown={handleKeyDown}\n {...props}\n id=\"dialog\"\n >\n <Styled.DialogContent\n id=\"content\"\n style={menuPosition}\n className={clsx(align)}\n ref={menuRef as any}\n >\n {childrenWithProps}\n </Styled.DialogContent>\n </Styled.Dialog>,\n document.body,\n )\n}\n"],"names":["MenuContainer","id","target","targetId","align","theme","children","props","navigate","useNavigate","menuOpen","setMenuOpen","useMenuContext","isOpen","handleClose","handleNavigate","path","jsx","MenuInner","position","menuRef","useMenuPosition","useEffect","first","handleKeyDown","handleOnClick","childrenWithProps","React","child","i","menuPosition","createPortal","Styled.Dialog","Styled.DialogContent","clsx"],"mappings":"2VAqBaA,EAA8C,CAAC,CAC1D,GAAAC,EACA,OAAAC,EACA,SAAAC,EAAW,GACX,MAAAC,EAAQ,QACR,MAAAC,EAAQ,QACR,SAAAC,EACA,GAAGC,CACL,IAAM,CACJ,MAAMC,EAAWC,EAAAA,YAAY,EACvB,CAAE,SAAAC,EAAU,YAAAC,CAAY,EAAIC,iBAAe,EAC3CC,EAASH,IAAaT,EAEtBa,EAAc,IAAM,CACxBH,EAAY,EAAK,CACnB,EAEMI,EAAkBC,GAAkB,CACxC,QAAQ,IAAI,oBAAoB,EACpBF,EAAA,EACRE,KAAeA,CAAI,CACzB,EAEI,OAACH,EAGHI,EAAA,kBAAA,IAACC,EAAA,CAEG,YAAAJ,EACA,eAAAC,EACA,OAAAb,EACA,SAAAC,EACA,MAAAC,EACA,MAAAC,EACA,SAAAC,EACA,GAAGC,CACL,CACF,EAdkB,IAgBtB,EAYMW,EAAsC,CAAC,CAC3C,YAAAJ,EACA,eAAAC,EACA,OAAAb,EACA,SAAAC,EACA,MAAAC,EAAQ,QACR,SAAAE,EACA,GAAGC,CACL,IAAM,CACE,KAAA,CAAE,SAAAY,EAAU,QAAAC,CAAQ,EAAIC,kBAAgBnB,GAAU,KAAMC,GAAY,GAAIC,CAAK,EAGnFkB,EAAAA,UAAU,IAAM,CACV,GAAAH,GAAYC,EAAQ,QAAS,CAC/B,MAAMG,EAAQH,EAAQ,QAAQ,iBAAiB,YAAY,EAAE,CAAC,EAC9DG,GAAA,MAAAA,EAAO,OAAM,CACf,EACC,CAACJ,CAAQ,CAAC,EAGP,MAAAK,EAAiB,GAA2B,CAC5C,EAAE,MAAQ,UAAsBV,EAAA,CACtC,EAGMW,EAAiB,GAA2C,CAC3D,EAAE,OAAuB,KAAO,UAAsBX,EAAA,CAC7D,EAGMY,EAAoBC,EAAM,SAAS,IAAIrB,EAAU,CAACsB,EAAOC,IACzDF,EAAM,eAAeC,CAAK,EACrBD,EAAM,aAAaC,EAAO,CAC/B,QAASd,EACT,MAAOe,EACP,SAAUd,CAAA,CACJ,EAEHa,CACR,EAEKE,EAAeX,GAAY,CAAE,IAAK,EAAG,KAAM,EAAG,QAAS,EAAG,WAAY,QAAkB,EAEvF,OAAAY,EAAA,aACLd,EAAA,kBAAA,IAACe,EAAO,OAAP,CACC,KAAM,GACN,QAASP,EACT,UAAWD,EACV,GAAGjB,EACJ,GAAG,SAEH,SAAAU,EAAA,kBAAA,IAACgB,EAAO,cAAP,CACC,GAAG,UACH,MAAOH,EACP,UAAWI,EAAK9B,CAAK,EACrB,IAAKgB,EAEJ,SAAAM,CAAA,CAAA,CACH,CACF,EACA,SAAS,IACX,CACF"}
@@ -0,0 +1,88 @@
1
+ import { j as g } from "../../../../_virtual/jsx-runtime.es.js";
2
+ import d, { useEffect as h } from "react";
3
+ import { useMenuContext as y } from "../../context/MenuContext.es.js";
4
+ import { useNavigate as v } from "react-router-dom";
5
+ import { createPortal as C } from "react-dom";
6
+ import j from "clsx";
7
+ import { Dialog as E, DialogContent as M } from "./Menu.styled.es.js";
8
+ import { useMenuPosition as D } from "./useMenuPosition.es.js";
9
+ const q = ({
10
+ id: n,
11
+ target: s,
12
+ targetId: l = "",
13
+ align: c = "right",
14
+ theme: i = "light",
15
+ children: a,
16
+ ...u
17
+ }) => {
18
+ const t = v(), { menuOpen: o, setMenuOpen: m } = y(), f = o === n, r = () => {
19
+ m(!1);
20
+ }, p = (e) => {
21
+ console.log("navigate and close"), r(), e && t(e);
22
+ };
23
+ return f ? /* @__PURE__ */ g.jsx(
24
+ O,
25
+ {
26
+ handleClose: r,
27
+ handleNavigate: p,
28
+ target: s,
29
+ targetId: l,
30
+ align: c,
31
+ theme: i,
32
+ children: a,
33
+ ...u
34
+ }
35
+ ) : null;
36
+ }, O = ({
37
+ handleClose: n,
38
+ handleNavigate: s,
39
+ target: l,
40
+ targetId: c,
41
+ align: i = "right",
42
+ children: a,
43
+ ...u
44
+ }) => {
45
+ const { position: t, menuRef: o } = D(l ?? null, c ?? "", i);
46
+ h(() => {
47
+ if (t && o.current) {
48
+ const e = o.current.querySelectorAll("li, button")[0];
49
+ e == null || e.focus();
50
+ }
51
+ }, [t]);
52
+ const m = (e) => {
53
+ e.key === "Escape" && n();
54
+ }, f = (e) => {
55
+ e.target.id === "dialog" && n();
56
+ }, r = d.Children.map(a, (e, x) => d.isValidElement(e) ? d.cloneElement(e, {
57
+ onClose: n,
58
+ index: x,
59
+ navigate: s
60
+ }) : e), p = t || { top: 0, left: 0, opacity: 0, visibility: "hidden" };
61
+ return C(
62
+ /* @__PURE__ */ g.jsx(
63
+ E,
64
+ {
65
+ open: !0,
66
+ onClick: f,
67
+ onKeyDown: m,
68
+ ...u,
69
+ id: "dialog",
70
+ children: /* @__PURE__ */ g.jsx(
71
+ M,
72
+ {
73
+ id: "content",
74
+ style: p,
75
+ className: j(i),
76
+ ref: o,
77
+ children: r
78
+ }
79
+ )
80
+ }
81
+ ),
82
+ document.body
83
+ );
84
+ };
85
+ export {
86
+ q as MenuContainer
87
+ };
88
+ //# sourceMappingURL=MenuContainer.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuContainer.es.js","sources":["../../../../../src/components/Menu/MenuContainer.tsx"],"sourcesContent":["import React, { useEffect, ReactNode } from 'react'\nimport { useMenuContext } from '@shared/context/MenuContext'\nimport { useNavigate } from 'react-router-dom'\nimport { createPortal } from 'react-dom'\nimport clsx from 'clsx'\nimport * as Styled from './Menu.styled'\nimport { useMenuPosition } from './useMenuPosition'\n\ntype AlignType = 'left' | 'right'\ntype ThemeType = 'light' | 'dark'\n\ninterface MenuContainerProps {\n id: string | undefined\n target?: HTMLElement | null\n targetId?: string\n align?: AlignType\n theme?: ThemeType\n children: ReactNode\n [key: string]: any\n}\n\nexport const MenuContainer: React.FC<MenuContainerProps> = ({\n id,\n target,\n targetId = '',\n align = 'right',\n theme = 'light',\n children,\n ...props\n}) => {\n const navigate = useNavigate()\n const { menuOpen, setMenuOpen } = useMenuContext()\n const isOpen = menuOpen === id\n\n const handleClose = () => {\n setMenuOpen(false)\n }\n\n const handleNavigate = (path?: string) => {\n console.log('navigate and close')\n handleClose()\n if (path) navigate(path)\n }\n\n if (!isOpen) return null\n\n return (\n <MenuInner\n {...{\n handleClose,\n handleNavigate,\n target,\n targetId,\n align,\n theme,\n children,\n ...props,\n }}\n />\n )\n}\n\ninterface MenuInnerProps {\n handleClose: () => void\n handleNavigate: (path?: string) => void\n target?: HTMLElement | null\n targetId?: string\n align?: AlignType\n children: ReactNode\n [key: string]: any\n}\n\nconst MenuInner: React.FC<MenuInnerProps> = ({\n handleClose,\n handleNavigate,\n target,\n targetId,\n align = 'right',\n children,\n ...props\n}) => {\n const { position, menuRef } = useMenuPosition(target ?? null, targetId ?? '', align)\n\n // Focus management\n useEffect(() => {\n if (position && menuRef.current) {\n const first = menuRef.current.querySelectorAll('li, button')[0] as HTMLElement\n first?.focus()\n }\n }, [position])\n\n // Keyboard handling\n const handleKeyDown = (e: React.KeyboardEvent) => {\n if (e.key === 'Escape') handleClose()\n }\n\n // Click outside handling\n const handleOnClick = (e: React.MouseEvent<HTMLDialogElement>) => {\n if ((e.target as HTMLElement).id === 'dialog') handleClose()\n }\n\n // Attach props to children\n const childrenWithProps = React.Children.map(children, (child, i) => {\n if (React.isValidElement(child)) {\n return React.cloneElement(child, {\n onClose: handleClose,\n index: i,\n navigate: handleNavigate,\n } as any)\n }\n return child\n })\n\n const menuPosition = position || { top: 0, left: 0, opacity: 0, visibility: 'hidden' as const }\n\n return createPortal(\n <Styled.Dialog\n open={true}\n onClick={handleOnClick}\n onKeyDown={handleKeyDown}\n {...props}\n id=\"dialog\"\n >\n <Styled.DialogContent\n id=\"content\"\n style={menuPosition}\n className={clsx(align)}\n ref={menuRef as any}\n >\n {childrenWithProps}\n </Styled.DialogContent>\n </Styled.Dialog>,\n document.body,\n )\n}\n"],"names":["MenuContainer","id","target","targetId","align","theme","children","props","navigate","useNavigate","menuOpen","setMenuOpen","useMenuContext","isOpen","handleClose","handleNavigate","path","jsx","MenuInner","position","menuRef","useMenuPosition","useEffect","first","handleKeyDown","handleOnClick","childrenWithProps","React","child","i","menuPosition","createPortal","Styled.Dialog","Styled.DialogContent","clsx"],"mappings":";;;;;;;;AAqBO,MAAMA,IAA8C,CAAC;AAAA,EAC1D,IAAAC;AAAA,EACA,QAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,OAAAC,IAAQ;AAAA,EACR,OAAAC,IAAQ;AAAA,EACR,UAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAMC,IAAWC,EAAY,GACvB,EAAE,UAAAC,GAAU,aAAAC,EAAY,IAAIC,EAAe,GAC3CC,IAASH,MAAaT,GAEtBa,IAAc,MAAM;AACxB,IAAAH,EAAY,EAAK;AAAA,EACnB,GAEMI,IAAiB,CAACC,MAAkB;AACxC,YAAQ,IAAI,oBAAoB,GACpBF,EAAA,GACRE,OAAeA,CAAI;AAAA,EACzB;AAEI,SAACH,IAGHI,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MAEG,aAAAJ;AAAA,MACA,gBAAAC;AAAA,MACA,QAAAb;AAAA,MACA,UAAAC;AAAA,MACA,OAAAC;AAAA,MACA,OAAAC;AAAA,MACA,UAAAC;AAAA,MACA,GAAGC;AAAA,IACL;AAAA,EACF,IAdkB;AAgBtB,GAYMW,IAAsC,CAAC;AAAA,EAC3C,aAAAJ;AAAA,EACA,gBAAAC;AAAA,EACA,QAAAb;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC,IAAQ;AAAA,EACR,UAAAE;AAAA,EACA,GAAGC;AACL,MAAM;AACE,QAAA,EAAE,UAAAY,GAAU,SAAAC,EAAQ,IAAIC,EAAgBnB,KAAU,MAAMC,KAAY,IAAIC,CAAK;AAGnF,EAAAkB,EAAU,MAAM;AACV,QAAAH,KAAYC,EAAQ,SAAS;AAC/B,YAAMG,IAAQH,EAAQ,QAAQ,iBAAiB,YAAY,EAAE,CAAC;AAC9D,MAAAG,KAAA,QAAAA,EAAO;AAAA,IAAM;AAAA,EACf,GACC,CAACJ,CAAQ,CAAC;AAGP,QAAAK,IAAgB,CAAC,MAA2B;AAC5C,IAAA,EAAE,QAAQ,YAAsBV,EAAA;AAAA,EACtC,GAGMW,IAAgB,CAAC,MAA2C;AAChE,IAAK,EAAE,OAAuB,OAAO,YAAsBX,EAAA;AAAA,EAC7D,GAGMY,IAAoBC,EAAM,SAAS,IAAIrB,GAAU,CAACsB,GAAOC,MACzDF,EAAM,eAAeC,CAAK,IACrBD,EAAM,aAAaC,GAAO;AAAA,IAC/B,SAASd;AAAA,IACT,OAAOe;AAAA,IACP,UAAUd;AAAA,EAAA,CACJ,IAEHa,CACR,GAEKE,IAAeX,KAAY,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,YAAY,SAAkB;AAEvF,SAAAY;AAAA,IACLd,gBAAAA,EAAA;AAAA,MAACe;AAAAA,MAAA;AAAA,QACC,MAAM;AAAA,QACN,SAASP;AAAA,QACT,WAAWD;AAAA,QACV,GAAGjB;AAAA,QACJ,IAAG;AAAA,QAEH,UAAAU,gBAAAA,EAAA;AAAA,UAACgB;AAAAA,UAAA;AAAA,YACC,IAAG;AAAA,YACH,OAAOH;AAAA,YACP,WAAWI,EAAK9B,CAAK;AAAA,YACrB,KAAKgB;AAAA,YAEJ,UAAAM;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IACF;AAAA,IACA,SAAS;AAAA,EACX;AACF;"}
@@ -0,0 +1,2 @@
1
+ "use strict";const e=require("../../../../_virtual/jsx-runtime.cjs.js"),t=require("@ynput/ayon-react-components"),M=require("react"),m=require("./Menu.styled.cjs.js"),N=require("lodash"),P=require("react-router-dom"),C=require("clsx");require("../../context/RemoteModulesContext.cjs.js");require("../../context/DetailsPanelContext.cjs.js");require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");require("../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");const _=require("../../context/PowerpackContext.cjs.js");require("../../context/MoveEntityContext.cjs.js");require("../../context/MenuContext.cjs.js");require("../../context/WebsocketContext.cjs.js");require("../../context/GlobalContext.cjs.js");require("../../context/ProjectContext.cjs.js");require("../../context/ProjectFoldersContext.cjs.js");require("../../context/UriContext.cjs.js");const q=M.forwardRef(({label:r,icon:i,img:n,highlighted:j,notification:l,selected:p,danger:d,items:R=[],className:g,isLink:o,isDev:h,shortcut:u,disabled:E,powerFeature:I,active:w,...c},y)=>{const a=N.isArray(r)?r:[r],{powerLicense:f,isLoading:k}=_.usePowerpack(),s=!f&&I,x=e.jsxRuntimeExports.jsxs(m.Item,{ref:y,className:C("menu-item",{highlighted:j,selected:p,notification:l,danger:d,dev:h,disabled:E||k,power:s},g),...c,"aria-label":a.join(", "),children:[(i||s)&&e.jsxRuntimeExports.jsx(t.Icon,{icon:s?"bolt":i}),n&&e.jsxRuntimeExports.jsx(m.Img,{src:n,alt:`${r} icon`}),a.map((A,L)=>e.jsxRuntimeExports.jsx("span",{children:A},L)),u&&e.jsxRuntimeExports.jsx(t.ShortcutTag,{style:{minWidth:22,textAlign:"center"},align:"right",children:u}),w&&e.jsxRuntimeExports.jsx(t.Icon,{icon:"check",style:{marginLeft:"auto"}}),!!R.length&&e.jsxRuntimeExports.jsx(t.Icon,{icon:"arrow_right",className:"more"})]});return o?e.jsxRuntimeExports.jsx(P.Link,{to:o,target:c.target,children:x}):x});q.displayName="MenuItem";module.exports=q;
2
+ //# sourceMappingURL=MenuItem.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuItem.cjs.js","sources":["../../../../../src/components/Menu/MenuItem.tsx"],"sourcesContent":["import { Icon, ShortcutTag } from '@ynput/ayon-react-components'\nimport React, { forwardRef } from 'react'\nimport * as Styled from './Menu.styled'\nimport { isArray } from 'lodash'\nimport { Link } from 'react-router-dom'\nimport clsx from 'clsx'\nimport { usePowerpack } from '@shared/context'\nimport { MenuItemType } from './Menu'\n\nexport interface MenuItemProps extends Omit<React.HTMLAttributes<HTMLElement>, 'label'> {\n label?: string | string[]\n icon?: string\n img?: string\n highlighted?: boolean\n notification?: boolean\n selected?: boolean\n danger?: boolean\n items?: MenuItemType[]\n isLink?: string\n isDev?: boolean\n shortcut?: string\n disabled?: boolean\n powerFeature?: string\n active?: boolean\n target?: string\n}\n\nconst MenuItem = forwardRef<HTMLLIElement, MenuItemProps>(\n (\n {\n label,\n icon,\n img,\n highlighted,\n notification,\n selected,\n danger,\n items = [],\n className,\n isLink,\n isDev,\n shortcut,\n disabled,\n powerFeature,\n active,\n ...props\n },\n ref,\n ) => {\n const labelsArray = isArray(label) ? label : [label]\n const { powerLicense, isLoading } = usePowerpack()\n const isPowerFeature = !powerLicense && powerFeature\n\n const Item = (\n <Styled.Item\n ref={ref}\n className={clsx(\n 'menu-item',\n {\n highlighted: highlighted,\n selected: selected,\n notification: notification,\n danger: danger,\n dev: isDev,\n disabled: disabled || isLoading,\n power: isPowerFeature,\n },\n className,\n )}\n {...props}\n aria-label={labelsArray.join(', ')}\n >\n {(icon || isPowerFeature) && <Icon icon={isPowerFeature ? 'bolt' : icon!} />}\n {img && <Styled.Img src={img} alt={`${label} icon`} />}\n {labelsArray.map((label, index) => (\n <span key={index}>{label}</span>\n ))}\n {shortcut && (\n <ShortcutTag style={{ minWidth: 22, textAlign: 'center' }} align={'right'}>\n {shortcut}\n </ShortcutTag>\n )}\n {active && <Icon icon=\"check\" style={{ marginLeft: 'auto' }} />}\n\n {!!items.length && <Icon icon=\"arrow_right\" className=\"more\" />}\n </Styled.Item>\n )\n\n if (isLink) {\n return (\n <Link to={isLink} target={props.target}>\n {Item}\n </Link>\n )\n } else {\n return Item\n }\n },\n)\n\nMenuItem.displayName = 'MenuItem'\n\nexport default MenuItem\n"],"names":["MenuItem","forwardRef","label","icon","img","highlighted","notification","selected","danger","items","className","isLink","isDev","shortcut","disabled","powerFeature","active","props","ref","labelsArray","isArray","powerLicense","isLoading","usePowerpack","isPowerFeature","Item","jsxs","Styled.Item","clsx","jsx","Icon","Styled.Img","index","ShortcutTag","Link"],"mappings":"6hCA2BA,MAAMA,EAAWC,EAAA,WACf,CACE,CACE,MAAAC,EACA,KAAAC,EACA,IAAAC,EACA,YAAAC,EACA,aAAAC,EACA,SAAAC,EACA,OAAAC,EACA,MAAAC,EAAQ,CAAC,EACT,UAAAC,EACA,OAAAC,EACA,MAAAC,EACA,SAAAC,EACA,SAAAC,EACA,aAAAC,EACA,OAAAC,EACA,GAAGC,GAELC,IACG,CACH,MAAMC,EAAcC,EAAAA,QAAQlB,CAAK,EAAIA,EAAQ,CAACA,CAAK,EAC7C,CAAE,aAAAmB,EAAc,UAAAC,CAAU,EAAIC,eAAa,EAC3CC,EAAiB,CAACH,GAAgBN,EAElCU,EACJC,EAAA,kBAAA,KAACC,EAAO,KAAP,CACC,IAAAT,EACA,UAAWU,EACT,YACA,CACE,YAAAvB,EACA,SAAAE,EACA,aAAAD,EACA,OAAAE,EACA,IAAKI,EACL,SAAUE,GAAYQ,EACtB,MAAOE,CACT,EACAd,CACF,EACC,GAAGO,EACJ,aAAYE,EAAY,KAAK,IAAI,EAE/B,SAAA,EAAAhB,GAAQqB,IAAoBK,EAAAA,kBAAAA,IAAAC,EAAA,KAAA,CAAK,KAAMN,EAAiB,OAASrB,EAAO,EACzEC,GAAQyB,EAAA,kBAAA,IAAAE,MAAA,CAAW,IAAK3B,EAAK,IAAK,GAAGF,CAAK,QAAS,EACnDiB,EAAY,IAAI,CAACjB,EAAO8B,4BACtB,OAAkB,CAAA,SAAA9B,CAAR,EAAA8B,CAAc,CAC1B,EACAnB,GACCgB,EAAAA,kBAAAA,IAACI,EAAAA,YAAY,CAAA,MAAO,CAAE,SAAU,GAAI,UAAW,QAAS,EAAG,MAAO,QAC/D,SACHpB,CAAA,CAAA,EAEDG,2BAAWc,EAAK,KAAA,CAAA,KAAK,QAAQ,MAAO,CAAE,WAAY,MAAA,EAAU,EAE5D,CAAC,CAACrB,EAAM,gCAAWqB,EAAAA,KAAK,CAAA,KAAK,cAAc,UAAU,MAAO,CAAA,CAAA,CAAA,CAC/D,EAGF,OAAInB,0BAECuB,EAAAA,KAAK,CAAA,GAAIvB,EAAQ,OAAQM,EAAM,OAC7B,SACHQ,EAAA,EAGKA,CACT,CAEJ,EAEAzB,EAAS,YAAc"}
@@ -5,26 +5,28 @@ import { Item as R, Img as $ } from "./Menu.styled.es.js";
5
5
  import { isArray as b } from "lodash";
6
6
  import { Link as v } from "react-router-dom";
7
7
  import E from "clsx";
8
- import "../../../../shared/src/context/RemoteModulesContext.es.js";
9
- import "../../../../shared/src/context/DetailsPanelContext.es.js";
10
- import "../../../../shared/src/context/ThumbnailUploaderContext.es.js";
11
- import "../../../../shared/src/context/SettingsPanelContext.es.js";
12
- import "../../../../shared/src/context/pip/PiPProvider.es.js";
8
+ import "../../context/RemoteModulesContext.es.js";
9
+ import "../../context/DetailsPanelContext.es.js";
10
+ import "../../context/ThumbnailUploaderContext.es.js";
11
+ import "../../context/SettingsPanelContext.es.js";
12
+ import "../../context/pip/PiPProvider.es.js";
13
13
  import "react-dom";
14
- import "../../../../shared/src/context/pip/PiPWrapper.es.js";
15
- import "../../../../shared/src/context/AddonProjectContext.es.js";
16
- import "../../../../shared/src/context/AddonContext.es.js";
17
- import { usePowerpack as F } from "../../../../shared/src/context/PowerpackContext.es.js";
18
- import "../../../../shared/src/context/MoveEntityContext.es.js";
19
- import "../../../../shared/src/context/MenuContext.es.js";
20
- import "../../../../shared/src/context/WebsocketContext.es.js";
21
- import "../../../../shared/src/context/GlobalContext.es.js";
22
- import "../../../../shared/src/context/ProjectContext.es.js";
14
+ import "../../context/pip/PiPWrapper.es.js";
15
+ import "../../context/AddonProjectContext.es.js";
16
+ import "../../context/AddonContext.es.js";
17
+ import { usePowerpack as F } from "../../context/PowerpackContext.es.js";
18
+ import "../../context/MoveEntityContext.es.js";
19
+ import "../../context/MenuContext.es.js";
20
+ import "../../context/WebsocketContext.es.js";
21
+ import "../../context/GlobalContext.es.js";
22
+ import "../../context/ProjectContext.es.js";
23
+ import "../../context/ProjectFoldersContext.es.js";
24
+ import "../../context/UriContext.es.js";
23
25
  const S = P(
24
26
  ({
25
27
  label: t,
26
- icon: e,
27
- img: m,
28
+ icon: m,
29
+ img: e,
28
30
  highlighted: l,
29
31
  notification: f,
30
32
  selected: x,
@@ -33,11 +35,11 @@ const S = P(
33
35
  className: g,
34
36
  isLink: s,
35
37
  isDev: u,
36
- shortcut: n,
38
+ shortcut: p,
37
39
  disabled: h,
38
40
  powerFeature: w,
39
41
  active: I,
40
- ...p
42
+ ...n
41
43
  }, y) => {
42
44
  const a = b(t) ? t : [t], { powerLicense: A, isLoading: L } = F(), o = !A && w, c = /* @__PURE__ */ r.jsxs(
43
45
  R,
@@ -56,19 +58,19 @@ const S = P(
56
58
  },
57
59
  g
58
60
  ),
59
- ...p,
60
- label: a.join(", "),
61
+ ...n,
62
+ "aria-label": a.join(", "),
61
63
  children: [
62
- (e || o) && /* @__PURE__ */ r.jsx(i, { icon: o ? "bolt" : e }),
63
- m && /* @__PURE__ */ r.jsx($, { src: m, alt: `${t} icon` }),
64
+ (m || o) && /* @__PURE__ */ r.jsx(i, { icon: o ? "bolt" : m }),
65
+ e && /* @__PURE__ */ r.jsx($, { src: e, alt: `${t} icon` }),
64
66
  a.map((N, k) => /* @__PURE__ */ r.jsx("span", { children: N }, k)),
65
- n && /* @__PURE__ */ r.jsx(M, { style: { minWidth: 22, textAlign: "center" }, align: "right", children: n }),
67
+ p && /* @__PURE__ */ r.jsx(M, { style: { minWidth: 22, textAlign: "center" }, align: "right", children: p }),
66
68
  I && /* @__PURE__ */ r.jsx(i, { icon: "check", style: { marginLeft: "auto" } }),
67
69
  !!j.length && /* @__PURE__ */ r.jsx(i, { icon: "arrow_right", className: "more" })
68
70
  ]
69
71
  }
70
72
  );
71
- return s ? /* @__PURE__ */ r.jsx(v, { to: s, target: p.target, children: c }) : c;
73
+ return s ? /* @__PURE__ */ r.jsx(v, { to: s, target: n.target, children: c }) : c;
72
74
  }
73
75
  );
74
76
  S.displayName = "MenuItem";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuItem.es.js","sources":["../../../../../src/components/Menu/MenuItem.tsx"],"sourcesContent":["import { Icon, ShortcutTag } from '@ynput/ayon-react-components'\nimport React, { forwardRef } from 'react'\nimport * as Styled from './Menu.styled'\nimport { isArray } from 'lodash'\nimport { Link } from 'react-router-dom'\nimport clsx from 'clsx'\nimport { usePowerpack } from '@shared/context'\nimport { MenuItemType } from './Menu'\n\nexport interface MenuItemProps extends Omit<React.HTMLAttributes<HTMLElement>, 'label'> {\n label?: string | string[]\n icon?: string\n img?: string\n highlighted?: boolean\n notification?: boolean\n selected?: boolean\n danger?: boolean\n items?: MenuItemType[]\n isLink?: string\n isDev?: boolean\n shortcut?: string\n disabled?: boolean\n powerFeature?: string\n active?: boolean\n target?: string\n}\n\nconst MenuItem = forwardRef<HTMLLIElement, MenuItemProps>(\n (\n {\n label,\n icon,\n img,\n highlighted,\n notification,\n selected,\n danger,\n items = [],\n className,\n isLink,\n isDev,\n shortcut,\n disabled,\n powerFeature,\n active,\n ...props\n },\n ref,\n ) => {\n const labelsArray = isArray(label) ? label : [label]\n const { powerLicense, isLoading } = usePowerpack()\n const isPowerFeature = !powerLicense && powerFeature\n\n const Item = (\n <Styled.Item\n ref={ref}\n className={clsx(\n 'menu-item',\n {\n highlighted: highlighted,\n selected: selected,\n notification: notification,\n danger: danger,\n dev: isDev,\n disabled: disabled || isLoading,\n power: isPowerFeature,\n },\n className,\n )}\n {...props}\n aria-label={labelsArray.join(', ')}\n >\n {(icon || isPowerFeature) && <Icon icon={isPowerFeature ? 'bolt' : icon!} />}\n {img && <Styled.Img src={img} alt={`${label} icon`} />}\n {labelsArray.map((label, index) => (\n <span key={index}>{label}</span>\n ))}\n {shortcut && (\n <ShortcutTag style={{ minWidth: 22, textAlign: 'center' }} align={'right'}>\n {shortcut}\n </ShortcutTag>\n )}\n {active && <Icon icon=\"check\" style={{ marginLeft: 'auto' }} />}\n\n {!!items.length && <Icon icon=\"arrow_right\" className=\"more\" />}\n </Styled.Item>\n )\n\n if (isLink) {\n return (\n <Link to={isLink} target={props.target}>\n {Item}\n </Link>\n )\n } else {\n return Item\n }\n },\n)\n\nMenuItem.displayName = 'MenuItem'\n\nexport default MenuItem\n"],"names":["MenuItem","forwardRef","label","icon","img","highlighted","notification","selected","danger","items","className","isLink","isDev","shortcut","disabled","powerFeature","active","props","ref","labelsArray","isArray","powerLicense","isLoading","usePowerpack","isPowerFeature","Item","jsxs","Styled.Item","clsx","jsx","Icon","Styled.Img","index","ShortcutTag","Link"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA2BA,MAAMA,IAAWC;AAAA,EACf,CACE;AAAA,IACE,OAAAC;AAAA,IACA,MAAAC;AAAA,IACA,KAAAC;AAAA,IACA,aAAAC;AAAA,IACA,cAAAC;AAAA,IACA,UAAAC;AAAA,IACA,QAAAC;AAAA,IACA,OAAAC,IAAQ,CAAC;AAAA,IACT,WAAAC;AAAA,IACA,QAAAC;AAAA,IACA,OAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,cAAAC;AAAA,IACA,QAAAC;AAAA,IACA,GAAGC;AAAA,KAELC,MACG;AACH,UAAMC,IAAcC,EAAQlB,CAAK,IAAIA,IAAQ,CAACA,CAAK,GAC7C,EAAE,cAAAmB,GAAc,WAAAC,EAAU,IAAIC,EAAa,GAC3CC,IAAiB,CAACH,KAAgBN,GAElCU,IACJC,gBAAAA,EAAA;AAAA,MAACC;AAAAA,MAAA;AAAA,QACC,KAAAT;AAAA,QACA,WAAWU;AAAA,UACT;AAAA,UACA;AAAA,YACE,aAAAvB;AAAA,YACA,UAAAE;AAAA,YACA,cAAAD;AAAA,YACA,QAAAE;AAAA,YACA,KAAKI;AAAA,YACL,UAAUE,KAAYQ;AAAA,YACtB,OAAOE;AAAA,UACT;AAAA,UACAd;AAAA,QACF;AAAA,QACC,GAAGO;AAAA,QACJ,cAAYE,EAAY,KAAK,IAAI;AAAA,QAE/B,UAAA;AAAA,WAAAhB,KAAQqB,MAAoBK,gBAAAA,EAAAA,IAAAC,GAAA,EAAK,MAAMN,IAAiB,SAASrB,GAAO;AAAA,UACzEC,KAAQyB,gBAAAA,EAAA,IAAAE,GAAA,EAAW,KAAK3B,GAAK,KAAK,GAAGF,CAAK,SAAS;AAAA,UACnDiB,EAAY,IAAI,CAACjB,GAAO8B,4BACtB,QAAkB,EAAA,UAAA9B,EAAR,GAAA8B,CAAc,CAC1B;AAAA,UACAnB,KACCgB,gBAAAA,EAAAA,IAACI,GAAY,EAAA,OAAO,EAAE,UAAU,IAAI,WAAW,SAAS,GAAG,OAAO,SAC/D,UACHpB,EAAA,CAAA;AAAA,UAEDG,2BAAWc,GAAK,EAAA,MAAK,SAAQ,OAAO,EAAE,YAAY,OAAA,GAAU;AAAA,UAE5D,CAAC,CAACrB,EAAM,gCAAWqB,GAAK,EAAA,MAAK,eAAc,WAAU,OAAO,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAC/D;AAGF,WAAInB,0BAECuB,GAAK,EAAA,IAAIvB,GAAQ,QAAQM,EAAM,QAC7B,UACHQ,GAAA,IAGKA;AAAAA,EACT;AAEJ;AAEAzB,EAAS,cAAc;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../../../../_virtual/jsx-runtime.cjs.js"),R=require("react"),Q=require("./MenuItem.cjs.js"),U=require("@ynput/ayon-react-components"),P=require("./Menu.styled.cjs.js");require("../../context/RemoteModulesContext.cjs.js");require("../../context/DetailsPanelContext.cjs.js");require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");require("../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");const V=require("../../context/PowerpackContext.cjs.js");require("../../context/MoveEntityContext.cjs.js");require("../../context/MenuContext.cjs.js");require("../../context/WebsocketContext.cjs.js");require("../../context/GlobalContext.cjs.js");require("../../context/ProjectContext.cjs.js");require("../../context/ProjectFoldersContext.cjs.js");require("../../context/UriContext.cjs.js");const X=({items:$,handleClick:j,onSubMenu:s,subMenu:c,level:F,id:I="root-menu",parentRef:v,style:i,onClose:l,onMenuClose:p,itemClassName:N,itemStyle:T,setPowerpackDialog:q,...A})=>{const h=R.useRef({}),u=R.useRef(null),d=(r,o,g)=>{!h.current[o]||!u.current||s==null||s(r,{id:o,style:{top:h.current[o].offsetTop+((i==null?void 0:i.top)||0)-4,right:u.current.getBoundingClientRect().width+((i==null?void 0:i.right)||0)-12},items:g,level:F})},K=r=>{c&&(s==null||s(r,{id:"parent",items:[]}))};return R.useEffect(()=>{if(c&&u.current){const r=u.current.querySelectorAll("li, button")[0];r==null||r.focus()}},[c]),a.jsxRuntimeExports.jsx(P.MenuWrapper,{style:{paddingRight:c?16:0,...i},className:c?"sub-menu":"menu-list",id:I,onMouseLeave:K,...A,ref:u,children:a.jsxRuntimeExports.jsx(P.Menu,{children:$.filter(r=>!r.hidden).map((r,o)=>{if(r.node)return r.node;if((r==null?void 0:r.id)==="divider")return a.jsxRuntimeExports.jsx("hr",{},o);const{label:g,icon:_,img:B,highlighted:O,onClick:E,link:x,items:t=[],id:n,disableClose:W,selected:z,disabled:D,powerFeature:f,active:G,...L}=r,{powerLicense:H}=V.usePowerpack(),k=!H&&f,w=e=>{e.preventDefault(),e.stopPropagation(),f&&(q==null||q(f)),p==null||p()};return a.jsxRuntimeExports.jsx(Q,{tabIndex:0,label:g,icon:_,img:B,highlighted:O,items:t,selected:z,disabled:D,powerFeature:f,active:G,isLink:x,onClick:e=>k?w(e):t.length?d(e,n,t):j(e,E,x,W),onKeyDown:e=>{var y;e.key==="Enter"&&(k?w(e):t.length?d(e,n,t):j(e,E,x));const J=!e.target.nextSibling;if(e.key==="Tab"&&J&&!e.shiftKey){e.preventDefault(),e.stopPropagation();const m=(y=u.current)==null?void 0:y.querySelectorAll("li, button")[0];m==null||m.focus()}e.key==="Escape"&&c&&v&&(e.preventDefault(),e.stopPropagation(),v.focus(),l==null||l(n))},style:{paddingRight:t.length?"0":"16px",...T},ref:e=>h.current[n]=e,onMouseEnter:e=>d(e,n,t),onMouseLeave:e=>d(e,n,[]),className:`${N} ${L.className||""}`,...L,children:!!t.length&&a.jsxRuntimeExports.jsx(U.Icon,{icon:"arrow_right",style:{marginLeft:"auto"}})},`${n}-${o}`)})})})};exports.MenuList=X;
2
+ //# sourceMappingURL=MenuList.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuList.cjs.js","sources":["../../../../../src/components/Menu/MenuList.tsx"],"sourcesContent":["import React, { useEffect, 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 subMenu?: boolean\n level: number\n id?: string\n parentRef?: HTMLElement | null\n style?: React.CSSProperties\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 subMenu,\n level,\n id = 'root-menu',\n parentRef,\n style,\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 if (!itemRefs.current[id] || !menuRef.current) return\n onSubMenu?.(e, {\n id,\n style: {\n top: itemRefs.current[id]!.offsetTop + ((style?.top as number) || 0) - 4,\n right: menuRef.current.getBoundingClientRect().width + ((style?.right as number) || 0) - 12,\n },\n items,\n level: level,\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 return (\n <Styled.MenuWrapper\n style={{ paddingRight: 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') 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","subMenu","level","id","parentRef","style","onClose","onMenuClose","itemClassName","itemStyle","setPowerpackDialog","props","itemRefs","useRef","menuRef","handleSubMenu","e","handleMouseLeave","useEffect","first","jsx","Styled.MenuWrapper","Styled.Menu","item","i","label","icon","img","highlighted","onClick","link","disableClose","selected","disabled","powerFeature","active","powerLicense","usePowerpack","isPowerFeature","handleClickPowerFeature","MenuItem","isLastChild","_a","Icon"],"mappings":"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"}
@@ -0,0 +1,131 @@
1
+ import { j as s } from "../../../../_virtual/jsx-runtime.es.js";
2
+ import { useRef as F, useEffect as O } from "react";
3
+ import Q from "./MenuItem.es.js";
4
+ import { Icon as U } from "@ynput/ayon-react-components";
5
+ import { MenuWrapper as V, Menu as X } from "./Menu.styled.es.js";
6
+ import "../../context/RemoteModulesContext.es.js";
7
+ import "../../context/DetailsPanelContext.es.js";
8
+ import "../../context/ThumbnailUploaderContext.es.js";
9
+ import "../../context/SettingsPanelContext.es.js";
10
+ import "../../context/pip/PiPProvider.es.js";
11
+ import "react-dom";
12
+ import "../../context/pip/PiPWrapper.es.js";
13
+ import "../../context/AddonProjectContext.es.js";
14
+ import "../../context/AddonContext.es.js";
15
+ import { usePowerpack as Y } from "../../context/PowerpackContext.es.js";
16
+ import "../../context/MoveEntityContext.es.js";
17
+ import "../../context/MenuContext.es.js";
18
+ import "../../context/WebsocketContext.es.js";
19
+ import "../../context/GlobalContext.es.js";
20
+ import "../../context/ProjectContext.es.js";
21
+ import "../../context/ProjectFoldersContext.es.js";
22
+ import "../../context/UriContext.es.js";
23
+ const xt = ({
24
+ items: I,
25
+ handleClick: L,
26
+ onSubMenu: n,
27
+ subMenu: p,
28
+ level: N,
29
+ id: q = "root-menu",
30
+ parentRef: j,
31
+ style: e,
32
+ onClose: d,
33
+ onMenuClose: l,
34
+ itemClassName: A,
35
+ itemStyle: K,
36
+ setPowerpackDialog: h,
37
+ ...P
38
+ }) => {
39
+ const g = F({}), c = F(null), a = (r, m, u) => {
40
+ !g.current[m] || !c.current || n == null || n(r, {
41
+ id: m,
42
+ style: {
43
+ top: g.current[m].offsetTop + ((e == null ? void 0 : e.top) || 0) - 4,
44
+ right: c.current.getBoundingClientRect().width + ((e == null ? void 0 : e.right) || 0) - 12
45
+ },
46
+ items: u,
47
+ level: N
48
+ });
49
+ }, T = (r) => {
50
+ p && (n == null || n(r, { id: "parent", items: [] }));
51
+ };
52
+ return O(() => {
53
+ if (p && c.current) {
54
+ const r = c.current.querySelectorAll("li, button")[0];
55
+ r == null || r.focus();
56
+ }
57
+ }, [p]), /* @__PURE__ */ s.jsx(
58
+ V,
59
+ {
60
+ style: { paddingRight: p ? 16 : 0, ...e },
61
+ className: p ? "sub-menu" : "menu-list",
62
+ id: q,
63
+ onMouseLeave: T,
64
+ ...P,
65
+ ref: c,
66
+ children: /* @__PURE__ */ s.jsx(X, { children: I.filter((r) => !r.hidden).map((r, m) => {
67
+ if (r.node)
68
+ return r.node;
69
+ if ((r == null ? void 0 : r.id) === "divider") return /* @__PURE__ */ s.jsx("hr", {}, m);
70
+ const {
71
+ label: u,
72
+ icon: y,
73
+ img: B,
74
+ highlighted: W,
75
+ onClick: R,
76
+ link: x,
77
+ items: i = [],
78
+ id: o,
79
+ disableClose: _,
80
+ selected: z,
81
+ disabled: D,
82
+ powerFeature: f,
83
+ active: G,
84
+ ...E
85
+ } = r, { powerLicense: H } = Y(), k = !H && f, w = (t) => {
86
+ t.preventDefault(), t.stopPropagation(), f && (h == null || h(f)), l == null || l();
87
+ };
88
+ return /* @__PURE__ */ s.jsx(
89
+ Q,
90
+ {
91
+ tabIndex: 0,
92
+ label: u,
93
+ icon: y,
94
+ img: B,
95
+ highlighted: W,
96
+ items: i,
97
+ selected: z,
98
+ disabled: D,
99
+ powerFeature: f,
100
+ active: G,
101
+ isLink: x,
102
+ onClick: (t) => k ? w(t) : i.length ? a(t, o, i) : L(t, R, x, _),
103
+ onKeyDown: (t) => {
104
+ var $;
105
+ t.key === "Enter" && (k ? w(t) : i.length ? a(t, o, i) : L(t, R, x));
106
+ const J = !t.target.nextSibling;
107
+ if (t.key === "Tab" && J && !t.shiftKey) {
108
+ t.preventDefault(), t.stopPropagation();
109
+ const v = ($ = c.current) == null ? void 0 : $.querySelectorAll("li, button")[0];
110
+ v == null || v.focus();
111
+ }
112
+ t.key === "Escape" && p && j && (t.preventDefault(), t.stopPropagation(), j.focus(), d == null || d(o));
113
+ },
114
+ style: { paddingRight: i.length ? "0" : "16px", ...K },
115
+ ref: (t) => g.current[o] = t,
116
+ onMouseEnter: (t) => a(t, o, i),
117
+ onMouseLeave: (t) => a(t, o, []),
118
+ className: `${A} ${E.className || ""}`,
119
+ ...E,
120
+ children: !!i.length && /* @__PURE__ */ s.jsx(U, { icon: "arrow_right", style: { marginLeft: "auto" } })
121
+ },
122
+ `${o}-${m}`
123
+ );
124
+ }) })
125
+ }
126
+ );
127
+ };
128
+ export {
129
+ xt as MenuList
130
+ };
131
+ //# sourceMappingURL=MenuList.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuList.es.js","sources":["../../../../../src/components/Menu/MenuList.tsx"],"sourcesContent":["import React, { useEffect, 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 subMenu?: boolean\n level: number\n id?: string\n parentRef?: HTMLElement | null\n style?: React.CSSProperties\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 subMenu,\n level,\n id = 'root-menu',\n parentRef,\n style,\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 if (!itemRefs.current[id] || !menuRef.current) return\n onSubMenu?.(e, {\n id,\n style: {\n top: itemRefs.current[id]!.offsetTop + ((style?.top as number) || 0) - 4,\n right: menuRef.current.getBoundingClientRect().width + ((style?.right as number) || 0) - 12,\n },\n items,\n level: level,\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 return (\n <Styled.MenuWrapper\n style={{ paddingRight: 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') 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","subMenu","level","id","parentRef","style","onClose","onMenuClose","itemClassName","itemStyle","setPowerpackDialog","props","itemRefs","useRef","menuRef","handleSubMenu","e","handleMouseLeave","useEffect","first","jsx","Styled.MenuWrapper","Styled.Menu","item","i","label","icon","img","highlighted","onClick","link","disableClose","selected","disabled","powerFeature","active","powerLicense","usePowerpack","isPowerFeature","handleClickPowerFeature","MenuItem","isLastChild","_a","Icon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AA6BO,MAAMA,KAAoC,CAAC;AAAA,EAChD,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,OAAAC;AAAA,EACA,IAAAC,IAAK;AAAA,EACL,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,SAAAC;AAAA,EACA,aAAAC;AAAA,EACA,eAAAC;AAAA,EACA,WAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACE,QAAAC,IAAWC,EAA8C,EAAE,GAC3DC,IAAUD,EAAuB,IAAI,GAErCE,IAAgB,CAACC,GAAqBb,GAAYL,MAA0B;AAChF,IAAI,CAACc,EAAS,QAAQT,CAAE,KAAK,CAACW,EAAQ,WACtCd,KAAA,QAAAA,EAAYgB,GAAG;AAAA,MACb,IAAAb;AAAAA,MACA,OAAO;AAAA,QACL,KAAKS,EAAS,QAAQT,CAAE,EAAG,cAAcE,KAAA,gBAAAA,EAAO,QAAkB,KAAK;AAAA,QACvE,OAAOS,EAAQ,QAAQ,sBAAA,EAAwB,UAAUT,KAAA,gBAAAA,EAAO,UAAoB,KAAK;AAAA,MAC3F;AAAA,MACA,OAAAP;AAAAA,MACA,OAAAI;AAAA,IAAA;AAAA,EAEJ,GAEMe,IAAmB,CAACD,MAAwB;AAChD,IAAIf,MACFD,KAAA,QAAAA,EAAYgB,GAAG,EAAE,IAAI,UAAU,OAAO,CAAA;EAE1C;AAGA,SAAAE,EAAU,MAAM;AACV,QAAAjB,KAAWa,EAAQ,SAAS;AAC9B,YAAMK,IAAQL,EAAQ,QAAQ,iBAAiB,YAAY,EAAE,CAAC;AAC9D,MAAAK,KAAA,QAAAA,EAAO;AAAA,IAAM;AAAA,EACf,GACC,CAAClB,CAAO,CAAC,GAGVmB,gBAAAA,EAAA;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,OAAO,EAAE,cAAcpB,IAAU,KAAK,GAAG,GAAGI,EAAM;AAAA,MAClD,WAAWJ,IAAU,aAAa;AAAA,MAClC,IAAAE;AAAA,MACA,cAAcc;AAAA,MACb,GAAGN;AAAA,MACJ,KAAKG;AAAA,MAEL,UAACM,gBAAAA,EAAA,IAAAE,GAAA,EACE,YACE,OAAO,CAACC,MAAS,CAACA,EAAK,MAAM,EAC7B,IAAI,CAACA,GAAMC,MAAM;AAEhB,YAAID,EAAK;AACP,iBAAOA,EAAK;AAGd,aAAIA,KAAA,gBAAAA,EAAM,QAAO,UAAkB,QAAAH,gBAAAA,EAAAA,IAAC,UAAQI,CAAG;AAEzC,cAAA;AAAA,UACJ,OAAAC;AAAA,UACA,MAAAC;AAAA,UACA,KAAAC;AAAA,UACA,aAAAC;AAAA,UACA,SAAAC;AAAA,UACA,MAAAC;AAAA,UACA,OAAAhC,IAAQ,CAAC;AAAA,UACT,IAAAK;AAAAA,UACA,cAAA4B;AAAA,UACA,UAAAC;AAAA,UACA,UAAAC;AAAA,UACA,cAAAC;AAAA,UACA,QAAAC;AAAA,UACA,GAAGxB;AAAAA,QAAA,IACDY,GAEE,EAAE,cAAAa,EAAa,IAAIC,EAAa,GAChCC,IAAiB,CAACF,KAAgBF,GAElCK,IAA0B,CAACvB,MAAwB;AACvD,UAAAA,EAAE,eAAe,GACjBA,EAAE,gBAAgB,GACdkB,MACFxB,KAAA,QAAAA,EAAqBwB,KAIT3B,KAAA,QAAAA;AAAA,QAChB;AAGE,eAAAa,gBAAAA,EAAA;AAAA,UAACoB;AAAA,UAAA;AAAA,YACC,UAAU;AAAA,YAGR,OAAAf;AAAA,YACA,MAAAC;AAAA,YACA,KAAAC;AAAA,YACA,aAAAC;AAAA,YACA,OAAA9B;AAAAA,YACA,UAAAkC;AAAA,YACA,UAAAC;AAAA,YACA,cAAAC;AAAA,YACA,QAAAC;AAAA,YAEF,QAAQL;AAAA,YACR,SAAS,CAACd,MACRsB,IACIC,EAAwBvB,CAAC,IACzBlB,EAAM,SACNiB,EAAcC,GAAGb,GAAIL,CAAK,IAC1BC,EAAYiB,GAAGa,GAASC,GAAMC,CAAY;AAAA,YAEhD,WAAW,CAACf,MAAwC;;AAC9C,cAAAA,EAAE,QAAQ,YACRsB,IACFC,EAAwBvB,CAAQ,IACvBlB,EAAM,SACDiB,EAAAC,GAAUb,GAAIL,CAAK,IAErBC,EAAAiB,GAAUa,GAASC,CAAI;AAGjC,oBAAAW,IAAc,CAAEzB,EAAE,OAAuB;AAC/C,kBAAIA,EAAE,QAAQ,SAASyB,KAAe,CAACzB,EAAE,UAAU;AACjD,gBAAAA,EAAE,eAAe,GACjBA,EAAE,gBAAgB;AAElB,sBAAMG,KAAQuB,IAAA5B,EAAQ,YAAR,gBAAA4B,EAAiB,iBAAiB,cAAc;AAC9D,gBAAAvB,KAAA,QAAAA,EAAO;AAAA,cAAM;AAGf,cAAIH,EAAE,QAAQ,YAAYf,KAAWG,MACnCY,EAAE,eAAe,GACjBA,EAAE,gBAAgB,GAClBZ,EAAU,MAAM,GAChBE,KAAA,QAAAA,EAAUH;AAAAA,YAEd;AAAA,YACA,OAAO,EAAE,cAAcL,EAAM,SAAS,MAAM,QAAQ,GAAGW,EAAU;AAAA,YACjE,KAAK,CAACO,MAAOJ,EAAS,QAAQT,CAAE,IAAIa;AAAA,YACpC,cAAc,CAACA,MAAMD,EAAcC,GAAGb,GAAIL,CAAK;AAAA,YAC/C,cAAc,CAACkB,MAAMD,EAAcC,GAAGb,GAAI,CAAA,CAAE;AAAA,YAC5C,WAAW,GAAGK,CAAa,IAAIG,EAAM,aAAa,EAAE;AAAA,YACnD,GAAGA;AAAAA,YAEH,UAAC,CAAA,CAACb,EAAM,UAAWsB,gBAAAA,EAAA,IAAAuB,GAAA,EAAK,MAAK,eAAc,OAAO,EAAE,YAAY,OAAA,EAAU,CAAA;AAAA,UAAA;AAAA,UArDtE,GAAGxC,CAAE,IAAIqB,CAAC;AAAA,QAsDjB;AAAA,MAAA,CAEH,EACL,CAAA;AAAA,IAAA;AAAA,EACF;AAEJ;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react");function w(f,i,a="right"){if(!f)return null;const o=f.getBoundingClientRect(),s=i==null?void 0:i.getBoundingClientRect(),t=(s==null?void 0:s.width)||200,n=(s==null?void 0:s.height)||300,e=8,l=window.innerWidth,h=window.innerHeight;let d=o.bottom+8-42,r;if(d+n>h-e){const c=o.top-8-n;c>=e?d=c:d=Math.min(d,h-n-e)}if(a==="right"){const c=o.right-t;c>=e?r=c:r=o.left}else{const c=o.left;c+t<=l-e?r=c:r=o.right-t}return r!==void 0&&(r=Math.max(e,Math.min(r,l-t-e))),{top:d,left:r}}function v(f,i,a="right"){const[o,s]=u.useState(null),t=u.useRef(null),n=u.useCallback(()=>{let e=f;if(!e&&i&&(e=document.getElementById(i)),!e){i&&console.warn(`Target element with id '${i}' not found`);return}if(!t.current)return;const l=w(e,t.current,a);l&&s(l)},[f,i,a]);return u.useLayoutEffect(()=>{n()},[n]),u.useEffect(()=>{const e=()=>requestAnimationFrame(n);return window.addEventListener("resize",e,{passive:!0}),window.addEventListener("scroll",e,{passive:!0}),()=>{window.removeEventListener("resize",e),window.removeEventListener("scroll",e)}},[n]),u.useEffect(()=>{if(!t.current)return;const e=new ResizeObserver(()=>{n()});return e.observe(t.current),()=>{e.disconnect()}},[n]),{position:o,menuRef:t}}exports.useMenuPosition=v;
2
+ //# sourceMappingURL=useMenuPosition.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMenuPosition.cjs.js","sources":["../../../../../src/components/Menu/useMenuPosition.ts"],"sourcesContent":["import { useEffect, useRef, useState, useCallback, useLayoutEffect } from 'react'\n\ninterface MenuPosition {\n top: number\n left?: number\n right?: number\n bottom?: number\n}\n\nfunction calculateMenuPosition(\n targetElement: HTMLElement | null,\n menuElement: HTMLElement | null,\n align: 'left' | 'right' = 'right',\n): MenuPosition | null {\n if (!targetElement) return null\n\n const targetRect = targetElement.getBoundingClientRect()\n const menuRect = menuElement?.getBoundingClientRect()\n const menuWidth = menuRect?.width || 200\n const menuHeight = menuRect?.height || 300\n const padding = 8 // Minimum distance from screen edges\n const viewportWidth = window.innerWidth\n const viewportHeight = window.innerHeight\n\n // Default position (below the target)\n let top = targetRect.bottom + 8 - 42\n let left: number | undefined\n let right: number | undefined\n let bottom: number | undefined\n\n // Check if menu fits below, otherwise flip to above\n if (top + menuHeight > viewportHeight - padding) {\n // If it doesn't fit below, check if it fits above\n const topAbove = targetRect.top - 8 - menuHeight\n if (topAbove >= padding) {\n top = topAbove\n } else {\n // If it fits neither, prefer the side with more space or clamp\n // For now, let's clamp to bottom of viewport\n top = Math.min(top, viewportHeight - menuHeight - padding)\n // Or if we want to stick to bottom edge:\n // bottom = padding\n // top = undefined\n }\n }\n\n // Horizontal positioning\n if (align === 'right') {\n // Align right edge of menu with right edge of target\n // left position would be: targetRect.right - menuWidth\n const potentialLeft = targetRect.right - menuWidth\n\n if (potentialLeft >= padding) {\n // Fits on the left side\n left = potentialLeft\n } else {\n // Doesn't fit, try aligning left edge with target left\n left = targetRect.left\n }\n } else {\n // Align left edge of menu with left edge of target\n const potentialLeft = targetRect.left\n if (potentialLeft + menuWidth <= viewportWidth - padding) {\n left = potentialLeft\n } else {\n // Doesn't fit, try aligning right edge with target right\n left = targetRect.right - menuWidth\n }\n }\n\n // Final clamp for horizontal to ensure it doesn't overflow viewport\n if (left !== undefined) {\n left = Math.max(padding, Math.min(left, viewportWidth - menuWidth - padding))\n }\n\n // Convert to CSS properties.\n // Note: We are using fixed positioning relative to viewport usually,\n // but if the dialog is in a portal, top/left are relative to the window.\n // If we want to support 'right' CSS property for better resizing behavior:\n if (align === 'right' && left !== undefined) {\n // If we aligned to right, maybe we want to set 'right' property instead of 'left'?\n // But 'left' is easier to clamp. Let's stick to 'left' and 'top' for simplicity unless 'right' is explicitly needed.\n }\n\n return { top, left }\n}\n\ninterface UseMenuPositionReturn {\n position: MenuPosition | null\n menuRef: React.RefObject<HTMLDivElement>\n}\n\nexport function useMenuPosition(\n target: HTMLElement | null,\n targetId: string,\n align: 'left' | 'right' = 'right',\n): UseMenuPositionReturn {\n const [position, setPosition] = useState<MenuPosition | null>(null)\n const menuRef = useRef<HTMLDivElement>(null)\n\n const updatePosition = useCallback(() => {\n let targetElement: HTMLElement | null = target\n\n if (!targetElement && targetId) {\n targetElement = document.getElementById(targetId)\n }\n\n if (!targetElement) {\n // Only warn if we expected a target but didn't find one\n if (targetId) console.warn(`Target element with id '${targetId}' not found`)\n return\n }\n\n // We need the menu element to calculate its dimensions\n if (!menuRef.current) return\n\n const newPosition = calculateMenuPosition(targetElement, menuRef.current, align)\n if (newPosition) {\n setPosition(newPosition)\n }\n }, [target, targetId, align])\n\n // Initial position update\n useLayoutEffect(() => {\n updatePosition()\n }, [updatePosition])\n\n // Update on resize and scroll\n useEffect(() => {\n const handleEvent = () => requestAnimationFrame(updatePosition)\n\n window.addEventListener('resize', handleEvent, { passive: true })\n window.addEventListener('scroll', handleEvent, { passive: true })\n\n return () => {\n window.removeEventListener('resize', handleEvent)\n window.removeEventListener('scroll', handleEvent)\n }\n }, [updatePosition])\n\n // Observe menu size changes\n useEffect(() => {\n if (!menuRef.current) return\n\n const resizeObserver = new ResizeObserver(() => {\n updatePosition()\n })\n\n resizeObserver.observe(menuRef.current)\n\n return () => {\n resizeObserver.disconnect()\n }\n }, [updatePosition])\n\n return { position, menuRef }\n}\n"],"names":["calculateMenuPosition","targetElement","menuElement","align","targetRect","menuRect","menuWidth","menuHeight","padding","viewportWidth","viewportHeight","top","left","topAbove","potentialLeft","useMenuPosition","target","targetId","position","setPosition","useState","menuRef","useRef","updatePosition","useCallback","newPosition","useLayoutEffect","useEffect","handleEvent","resizeObserver"],"mappings":"yGASA,SAASA,EACPC,EACAC,EACAC,EAA0B,QACL,CACjB,GAAA,CAACF,EAAsB,OAAA,KAErB,MAAAG,EAAaH,EAAc,sBAAsB,EACjDI,EAAWH,GAAA,YAAAA,EAAa,wBACxBI,GAAYD,GAAA,YAAAA,EAAU,QAAS,IAC/BE,GAAaF,GAAA,YAAAA,EAAU,SAAU,IACjCG,EAAU,EACVC,EAAgB,OAAO,WACvBC,EAAiB,OAAO,YAG1B,IAAAC,EAAMP,EAAW,OAAS,EAAI,GAC9BQ,EAKA,GAAAD,EAAMJ,EAAaG,EAAiBF,EAAS,CAEzC,MAAAK,EAAWT,EAAW,IAAM,EAAIG,EAClCM,GAAYL,EACRG,EAAAE,EAINF,EAAM,KAAK,IAAIA,EAAKD,EAAiBH,EAAaC,CAAO,CAI3D,CAIF,GAAIL,IAAU,QAAS,CAGf,MAAAW,EAAgBV,EAAW,MAAQE,EAErCQ,GAAiBN,EAEZI,EAAAE,EAGPF,EAAOR,EAAW,IACpB,KACK,CAEL,MAAMU,EAAgBV,EAAW,KAC7BU,EAAgBR,GAAaG,EAAgBD,EACxCI,EAAAE,EAGPF,EAAOR,EAAW,MAAQE,CAC5B,CAIF,OAAIM,IAAS,SACJA,EAAA,KAAK,IAAIJ,EAAS,KAAK,IAAII,EAAMH,EAAgBH,EAAYE,CAAO,CAAC,GAYvE,CAAE,IAAAG,EAAK,KAAAC,CAAK,CACrB,CAOO,SAASG,EACdC,EACAC,EACAd,EAA0B,QACH,CACvB,KAAM,CAACe,EAAUC,CAAW,EAAIC,EAAAA,SAA8B,IAAI,EAC5DC,EAAUC,SAAuB,IAAI,EAErCC,EAAiBC,EAAAA,YAAY,IAAM,CACvC,IAAIvB,EAAoCe,EAMxC,GAJI,CAACf,GAAiBgB,IACJhB,EAAA,SAAS,eAAegB,CAAQ,GAG9C,CAAChB,EAAe,CAEdgB,GAAU,QAAQ,KAAK,2BAA2BA,CAAQ,aAAa,EAC3E,MAAA,CAIE,GAAA,CAACI,EAAQ,QAAS,OAEtB,MAAMI,EAAczB,EAAsBC,EAAeoB,EAAQ,QAASlB,CAAK,EAC3EsB,GACFN,EAAYM,CAAW,CAExB,EAAA,CAACT,EAAQC,EAAUd,CAAK,CAAC,EAG5BuB,OAAAA,EAAAA,gBAAgB,IAAM,CACLH,EAAA,CAAA,EACd,CAACA,CAAc,CAAC,EAGnBI,EAAAA,UAAU,IAAM,CACR,MAAAC,EAAc,IAAM,sBAAsBL,CAAc,EAE9D,cAAO,iBAAiB,SAAUK,EAAa,CAAE,QAAS,GAAM,EAChE,OAAO,iBAAiB,SAAUA,EAAa,CAAE,QAAS,GAAM,EAEzD,IAAM,CACJ,OAAA,oBAAoB,SAAUA,CAAW,EACzC,OAAA,oBAAoB,SAAUA,CAAW,CAClD,CAAA,EACC,CAACL,CAAc,CAAC,EAGnBI,EAAAA,UAAU,IAAM,CACV,GAAA,CAACN,EAAQ,QAAS,OAEhB,MAAAQ,EAAiB,IAAI,eAAe,IAAM,CAC/BN,EAAA,CAAA,CAChB,EAEc,OAAAM,EAAA,QAAQR,EAAQ,OAAO,EAE/B,IAAM,CACXQ,EAAe,WAAW,CAC5B,CAAA,EACC,CAACN,CAAc,CAAC,EAEZ,CAAE,SAAAL,EAAU,QAAAG,CAAQ,CAC7B"}